更多“1、以下选项中正确的定义语句是”相关问题
  • 第1题:

    若以下选项中的变量已正确定义,则不正确的赋值语句是()。

    A、int

    B、x=3*x+x

    C、x3=0x12

    D、x4=1+2=3;


    参考答案:A,D

  • 第2题:

    设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是( )。

    A.p=1;

    B.*q=2;

    C.q=p;

    D.*p=5;


    正确答案:D
    解析:本题中首先定义了整型变量n,其初值为0,接着定义一个指针变量p并让它指向n,然后定义了一个指向指针的指针变量q,并让它指向p。选项A中将常量1赋给指针p,而p的值应为地址,所以不正确。选项B中*p的值也应为地址,故将常量 2复制给*p不正确。选项C中将p的值赋给q,使q也指向p所指向的存储单元,该存储单元中存放的是常量0,而q被定义为一个指向指针的指针变量,它所指向的存储单元中应该存放的是地址值,故不正确。所以,4个选项中选项D符合题意。

  • 第3题:

    若下列选项中的变量已正确定义并赋值,则哪个是合法的赋值语句?

    A.a==1;

    B.++i;

    C.a=a+1=5

    D.! (++a! =b--)


    正确答案:B
    解析:赋值运算符分为赋值运算符(=)和扩展运算符。其中“=”赋值运算符必须满足在赋值运算符的左边是一变量,右边是一表达式;扩展运算符是在赋值运算符“=”前加上其他运算符,如:+=,*=,%=等,特殊的一个表达式是++和--,如选项B)++i;中的意思是i=i+1;它其实是个合法的赋值语句。选项A)a==1和选项D)!(++a!=b--)都是布尔逻辑表达式,不属于赋值表达式的范畴。

  • 第4题:

    有以下程序中若有如下说明和定义语句; char fun(char*); main() { char * s="one",a[5]={0},(*f1)()=fun,ch; … } 以下选项中对函数fun的正确调用语句是 ______。

    A.(*f1)(a);

    B.*f1(*s);

    C.fun(&a);

    D.ch=*f1(s);


    正确答案:A
    解析:(*f1)()=fun可以理解为将fun函数的函数名称用(*f1)()来代替了,因此高调用fun时就可以用(*f1)()来代替,因此只有A是正确的。

  • 第5题:

    若在定义语句int a ,b,c,* P=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。

    A.

    B.

    C.

    D.


    正确答案:D
    seartf函数中的输入项必须是指针,只有选项D)符合这个要求。

  • 第6题:

    下列选项中,能正确定义数组的语句是( )。

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    数组定义的长度必须为常量,所以A)选项正确。

  • 第7题:

    以下选项中正确的定义语句是( )。

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    B)选项,定义变量不能连等,C)选项b前没有类型名,D)选项类型名与变量名之间不能有逗号,所以A)正确,其余错误。

  • 第8题:

    以下选项中与if(a—1)a :else a=b:语句功能不同的语句是( )


    正确答案:B

  • 第9题:

    下列选项中,能正确定义数组的语句是( )。

    A.

    B.

    C.

    D.


    正确答案:D
    选项A)不符合c语言的语法要求;选项B)中没有指定数组的大小;选项c)中数组大小不能用变量来指定。

  • 第10题:

    若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )。

    A.scanf(“%d”,a,b,

    B.scanf(“%d%d%d”,a,b,

    C.scanf(“%d”,p);

    D.scanf(“%d”,&p);


    正确答案:C

  • 第11题:

    有以下函数定义voidfun(intn){…};若以下选项中的变量都已经正确定义且赋值则对函数fun的正确调用语句是()

    • A、fun(inty);
    • B、k=fun(10);
    • C、fun(x);
    • D、voidfun(n);

    正确答案:C

  • 第12题:

    单选题
    有定义语句: int *p[4]; 以下选项中与此语句等价的是(  )。
    A

    int p[4];

    B

    int **p;

    C

    int*(p[4]);

    D

    int(*p)[4];


    正确答案: D
    解析:
    题目中定义语句的含义是定义了一个包含4个整数指针元素的数组p。A项,仅定义了一个含有4个整数元素的数组;B项,定义了一个指向整数指针的指针;D项,声明了一个指针变量,它指向的是一个含4个元素的一维数组。答案选择C选项。

  • 第13题:

    程序中若有如下说明和定义语句:char fun(char *);main(){ char *s="one",a[5]={0},(*f1)()=fun,ch; ...}以下选项中对函数fun的正确调用语句是( )。A.(*f1)(a) B.*f1(*s) C.fun(&a) D.ch=*f1(s)


    正确答案:A
    函数fun的参数为一个字符指针,所以B错误,a为一个数组名,代表数组的首地址,可当指针用,所以C错误,D项应该为(*f1)(s).

  • 第14题:

    若以下选项中的变量已正确定义,则正确的赋值语句是______。

    A.x1=26.8%3;

    B.1+2=x2;

    C.x3=0x12;

    D.x4=1+2=3;


    正确答案:C
    解析:%运算符的两个运算分量必须是整数,选项A错误;不能对常量进行赋值,选项B和D错误。

  • 第15题:

    程序中若有如下说明和定义语句

    Char fun(char *);

    main()

    {

    char *s="one", a[5]={0}.(*f1)()=fun, ch;

    }

    以下选项中对函数fun的正确调用语句是

    A.(*f1)(A) ;

    B.*fl(*s);

    C.fun(&A) ;

    D.ch=*fl(s);


    正确答案:A
    解析:在C语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这种地址.其定义形式为:函数类型(*函数指针名)(函数参数列表);其中,函数参数列表可以省略。通过函数指针调用函数的形式为:(*函数指针)(函数参数列表)调用时函数的参数列表是不能省略的。所以本题的正确答案为选项A。

  • 第16题:

    设有定义:int n=0,*p=&n,**q=&p;,则以下选项中,正确的赋值语句是 ______。

    A.p=1;

    B.*q=2

    C.q=p

    D.*p=5


    正确答案:D
    解析:本题中n是int型变量,p是指向int型的指针变量,q是指向指针的指针变量,故正确答案为D。

  • 第17题:

    若以下选项中的变量已正确定义,则正确的赋值语句是( )

    A.x1=26.8%3

    B.1+2=x2

    C.x3=0x12

    D.x4=1+2=3;


    正确答案:C
    解析:在C语言中,“ =”称为赋值运算符,“=”符号的左边必须是变量名,“=”符号的右边必须是C 语言中合法的表达式。在选项B)中,0x12表示16进制数;在选项D)中,1+2=3不是正确的表达式。选项A)中,“%”符号的运算对象为整型。

  • 第18题:

    若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是

    A.A

    B.B

    C.C

    D.D


    正确答案:A
    在函数调用前,需要定义或声明,A)选项错误。

  • 第19题:

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。A.p=a; B.p[0]=a;

    若有定义语句:int a[2][3],*p[3];,则以下语句中正确的是( )。

    A.p=a;

    B.p[0]=a;

    C.p[o]=&a[1][2];

    D.p[1]=&a;


    正确答案:B
    选项B表示把整型数组a[o]的指针赋给p[0]。

  • 第20题:

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。 A.int p[4];B.int**P;SXB

    有定义语句:“int*p[4];”,以下选项中与此语句等价的是( )。

    A.int p[4];

    B.int**P;

    C.int*(p[4]);

    D.int(*p)[4];


    正确答案:D
    本题int*p[4]的作用是声明一个指针数组,每个元素都是int*型指针。

  • 第21题:

    若以下选项中的变量已正确定义,则正确的赋值语句足

    A.x1=26.8%3;

    B.1+2=x2

    C.x3=0x12;

    D.x4=1+2=3;


    正确答案:C
    解析:本题考核的知识点是C语言中对变量赋值的应用。赋值操作由赋值运算符“=”来完成,一般形式为变量:表达式,赋值的方向为由右向左,即将“;”右侧表达式的值赋给“=”左侧的变量,执行步骤是先计算再赋值。选项A中运算符“%”的运算对象必须为整数,而选项A中26.8不为整数,故选项A不正确;选项B将一个变量赋值给一个表达式,这在C语言中是不允许的,故选项B不正确;选项D中也是将一个常量3赋值给一个表达式,故选项D不正确;所以,4个选项中选项C符合题意。

  • 第22题:

    若在定义语句:inta,b,c;之后,接着执行以下选项中的语句,则能正确执行的语句是()

    • A、scanf("%d",a,b,c)
    • B、scanf("%d%d%d",&a,&b,&c)
    • C、scanf("%d%d%d",&a,b,c)
    • D、scanf("%d%d%d",a,b,c)

    正确答案:B

  • 第23题:

    单选题
    若有定义:int a,b,c;以下选项中的赋值语句正确的是(  )。
    A

    a=(b=c)+1;

    B

    (a=b)=c=1;

    C

    a=(b==c)=1;

    D

    a+b=c;


    正确答案: C
    解析:
    赋值运算结合性为由右向左结合,赋值运算符左值为变量,右值为变量或常量,且左右两边数据类型相同才能实现赋值。A项中,将c赋值给b,然后将b加1赋值给a,是正确的赋值语句,正确。B项中,将1赋值给c,赋值运算(a=b)=c中左值为表达式,不是变量不能被赋值,错误。C项中赋值运算(b=c)=1左值为逻辑表达式,不是变量不能被赋值,错误。D项左值a+b为表达式,不是变量不能被赋值,D项错误。答案选择A选项。

  • 第24题:

    单选题
    若有定义语句:int a[2][3],*p[3];则以下语句中正确的是(  )。
    A

    p[0]=&a[1][2];

    B

    p[0]=a;

    C

    p=a;

    D

    p[1]=&a;


    正确答案: D
    解析:
    声明了a是一个二维数组,p是长度为3的int *数组。A项正确,p[0]是int类型指针,可以指向二维数组中的元素。B项错误,p[0]是int类型指针,不能指向二维数组;C项错误,p是int类型指针的数组,一旦定义,不能再次赋值;D项错误,p[1]是int类型的指针,&a是二维数组的地址。答案选择A选项。