网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
单选题
若有定义:int a=0,b=0,c=0,d=0;以下关于C语言表达式:(++a‖++b)? ++c:++d执行顺序的叙述正确的是( )。
A
先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,由此可确定(++a‖++b)值为1,因此执行++c
B
先执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c
C
先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++c
D
先执行++a,++b,++c,++d,使得a,b,c,d的值都为1,由此可确定(++a‖++b)值为1,因此执行++c
参考答案
参考解析
解析:
++a表示先将变量a+1,再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式(++a‖++b)中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2,即++c,B项正确。答案选择B选项。
++a表示先将变量a+1,再执行其他操作,逻辑或运算符遵循“短路求值”策略,即只有在仅靠左操作数的值无法确定该逻辑表达式的结果时,才会求解右操作数,表达式(++a‖++b)中,左操作数++a的值为1,已经可以确定整个逻辑表达式的结果为1,因此右操作数++b不再求解,直接执行表达式2,即++c,B项正确。答案选择B选项。
更多 “单选题若有定义:int a=0,b=0,c=0,d=0;以下关于C语言表达式:(++a‖++b)? ++c:++d执行顺序的叙述正确的是( )。A 先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,由此可确定(++a‖++b)值为1,因此执行++cB 先执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++cC 先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,由此可确定(++a‖++b)值为1,因此执行++cD 先执行++a,++b,++c,++d,使得a,b,c,d的值都为1,由此可确定(++a‖++b)值为1,因此执行++c” 相关考题
考题
若有定义 int x,y; 并已正确给变量赋值,则以下选项中与表达式 (x-y)?(x++) : (y++) 中的条件表达式 (x-y) 等价的是A)(x-y0)B)(x-y0)C)(x-y0||x-y0)D)(x-y==0)
考题
若有定义语句: int a[2][3],*p[3]; ,则以下语句中正确的是A ) p=a;B)p[0]=a; C) p[0]= ,则以下语句中正确的是A ) p=a;B)p[0]=a;C) p[0]=a[1][2];D)p[1]=a;
考题
若有以下程序段: int m=0xabc, n=0xabc; m-=n; printf("% X\n", m); 执行后的输出结果是______。A.0X0B.0x0C.0D.0XABC
考题
若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。A.int a[5]={0;B.int b[]:{0,0,0,0,0};C.int c[2+3];D.int i=5,d[i];
考题
以下对一维数组c进行正确的定义初始化的语句是A.int c[10]=0; B.int c[10]={0}*10; C.int c[1]={0,0,0,0,0,0,0}; D.int c[10]={0};
考题
设有定义: 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‖1C.a bD.all(b+b)(c-a)
考题
若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11S
若有定义“int a=5,b=7;”,则表达式a%-(b%2) 运算后,a的值为( )。A.0B.1C.11D.3
考题
若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x—y)?(x++):(y++)中的条件表达式(x—Y)等价的是( )。A.(x—Y01Ix—YO)B.(x—y0)C.(x—Y0)D.(x—Y==0)
考题
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。 A.-20B.-l0C.0
若有定义语句:“int x=10;”,则表达式x-=x+x的值为( )。A.-20B.-l0C.0D.10
考题
单选题若有定义:int a=0,b=0,c=0,d=0; 有C语言表达式 (a++ b++)? c++ : d++,以下关于其执行顺序的叙述正确是( )。A
先执行a++,表达式a++的值为0,由此即可确定(a++ b++)值为0,因此执行d++B
先执行a++,表达式a++的值为0;再执行b++,表达式b++的值为0,由此可确定(a++ b++)值为0,因此执行d++C
先执行a++,表达式a++的值为1;再执行b++,表达式b++的值为1,由此可确定(a++ b++)值为1,因此执行c++D
先执行b++,表达式b++的值为1;再执行a++,表达式a++的值为1,由此可确定(a++ b++)值为1,因此执行c++
考题
单选题若有定义:int w[3][5];则以下不能正确表示该数组元素的表达式是( )。A
*(w+1)[4]B
*(*w+3)C
*(*(w+1))D
*(w[0][0]+1)
热门标签
最新试卷