设有定义:int a=1,b=2,c=3;以下语句中执行效果与其他三个不同的是(  )。

题目
单选题
设有定义:int a=1,b=2,c=3;以下语句中执行效果与其他三个不同的是(  )。
A

if(a>b)c=a,a=b,b=c;

B

if(a>b){c=a,a=b,b=c}

C

if(a>b)c=a;a=b;b=c;

D

if(a>b){c=a;a=b;b=c}

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是()。A)*p=*q; B)p=q;C)*p=&n1; D)p=*q;


正确答案:A
B项是将n1的地址赋给p,使p也指向n1,C项表达式错误,应该p=&n1,和B一样的效果,D项也是表达式错误。

第2题:

设有定义int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是  

Aif(a>b) c=a,a=b,b=c; 

Bif(a>b) {c=a,a=b,b=c;}  

Cif(a>b) c=a;a=b;b=c;  

Dif(a>b) {c=a;a=b;b=c;}


C。所有选择结构与循环结构语句默认只有一条语句,若多条语句必需用花括号括起来,而选择A中的c=a,a=b,b=c;为逗号语句,逗号语句是一条语句。

 

第3题:

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

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

A ) p=a;

B)p[0]=a;

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

D)p[1]=&a;


正确答案:C

                                           

第4题:

若有定义语句: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]。

第5题:

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

A.p=a;

B.p[0]=a;

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

D.p[1]=&a;


正确答案:C
解析:选项A中,p为数组名,其值是不能被改变的,故非法;选项B中,p[0]的类型是int*,而a是二维数组名(类型为int[][3]),两者无法赋值,故非法:选项C中,p[0]为int型指针,&a[1][2]是int型变量的地址,可以合法赋值;选项D中,p[1]是int型指针,而&a是二维数组的地址(类型为int(*)[2][3]),两者无法赋值,故非法。所以本题应该选择C。

第6题:

设有定义:int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是 ______。

A.*p=*q;

B.p=q;

C.*p=&n1;

D.p=*q;


正确答案:A
解析:由定义*p=&n2,*q=&n1,p指向n2的地址,q指向n1的地址,即*p=n2,*q=n1,B、C、D选项只是让p也指向n1的地址,都没有将n1赋值给n2。

第7题:

设有定义:inta=1,b=2,C=3;以下语句中执行效果与其他三个不同的是()。

A.if(a>B.C=a,a=b,b=C;

B.if(a>B.{C=a,a=b,b=C;}

C.if(a>B.C=a;a=b;b=c;

D.if(a>B.{C=a;a=b;b=c;}


正确答案:C
由于a小于b,所以所有选项中的条件都为假,C选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立,所以什么也没有做,所以选择C选项。

第8题:

17 ) 设有定义: int a=1,b=2,c=3; ,以下语句中执行效果与其它三个不同的是

A)if(a>b) c=a,a=b,b=c;

B)if(a>b) {c=a,a=b,b=c;}

C)if(a>b) c=a;a=b;b=c;

D)if(a>b) {c=a;a=b;b=c;}


正确答案:C

第9题:

设有定义语句:int a[][3]={{0},{1}{2}};,则数组元素a[1][2]的值是【 】。


正确答案:×
0 解析:本题考查的是二维数组初始化问题。题中对数组的a[0][0],a[1][0],a[2][0]3个元素分别赋值为0,1,2,其余的元素都自动赋0。所以a[1] [2]的值为0。

第10题:

设有定义: int a=2,b=3,c=4;, 则以下选项中值为0的表达式是A.(!a==1)&&(!b==0)B.(a

设有定义: int a=2,b=3,c=4;, 则以下选项中值为0的表达式是

A.(!a==1)&&(!b==0)

B.(a<b)&& !c‖1

C.a && b

D.all(b+b)&&(c-a)


正确答案:A
解析:计算逻辑表达式要注意的问题有三个:一、3个逻辑表达式的优先级从高到低依次是!(逻辑非)、&&(逻辑与)、‖(逻辑或);二、运算符&&或‖的左边运算分量分别为“假”或“真”的时候已经能够得出整个表达式的值,故右边运算分量将被“短路”,即忽略右边的表达式.三、逻辑值能够自动转换为整数值:“真”=1、“假’=0;整数值也能自动转换为逻辑值:0=“假”,非0=“真”。选项A中(!a=1)&&(!b==0)→(12==1)&&(!b==0)→(0==1)&&(!b==0)→0&&(!b==0)→0(&&右边表达式(!b==0)被“短路”);选项B中(ab)&&!c‖1→(23)&&!4‖1→1&&0‖→0‖→1;选项C中a&&b→2&&3→1选项Da‖(b+b)&&(c-a)→2‖(b+b)&&(c,a)→1(‖右边表达式(b+b)&&(c-a)被“短路”)。所以本题选A。

更多相关问题