设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .B=(x^x)&&(z

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 16:20:07
设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .B=(x^x)&&(z

设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .B=(x^x)&&(z
设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .
B=(x^x)&&(z

设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .B=(x^x)&&(z
先给你答案:B= 0;
解释如下:
首先:定义B为整型变量,你并没有进行初始化,则其默认值为0;
其次:执行语句时,这个语句主要是逻辑运算的一些组合, " ^ "是“异或”运算符,他说的就是"相异则或"(你可以这么望文生义的去理解),意思就是说:当它左右的变量按二进制逐位进行比较,如果不同则为真(C语言包里面真为非零的数),反之,相同则为假(C语言里面假为0);
最后:回到本题,X与X进行异或,他们当然相同了(自身与自身进行比较),所以为假(0),而后面的&&是逻辑与运算,只有他的左右都为真的时候表达式逻辑值才为真,而此刻它左边的已经为假,所以后面的就不用再看了,这叫做“逻辑短路”;所以,B的值为0.

设有说明语句int x=35,B; char z='a ';则执行完下面的赋值语句后,B的值为________ .B=(x^x)&&(z 设有变量说明:int x=3,y=4;.那么执行语句;printf(%d,%d ,(x,y),(y,x));后,输出的结果是()A 3,4 B 3,3 C 4,3 D 4,4 设有以下语句:int a=1,b=2,c; c=a^(b 设有定义int a ,b=10;则执行语句a=b 设有说明int s[2]={0,1],p=s;则语句错误的是() A. s++ B .p++ C. *p++ D. (*p)++ 设有说明语句:int x[4][5];那为什么x[2][5]的引用是错误的? 这个为什么?设有说明语句,int x=0,y=2,则执行 if(x=0) y =1+x; els这个为什么?设有说明语句,int x=0,y=2,则执行if(x=0) y =1+x;else y=x-1;变量y的值是() 设有说明语句“int x;”,则执行语句“x=7; x+=x-=x+x;”后x值为_____. 设有int x; 经过()后,语句*px=0;可将 x值置为0?A.int *px; B.int *px=&x; C.float *px; D.float *px=&x; 设有说明int x,*p=&x;要实现x的内容加5,则下面的语句 是错的.A.x=*p+5 B.*p=*p+5 C.*p=*&x+5 D.*p=&x+5 设有语句“int x=3,y=1;”,则表达式(!x ||-- y)的值是 设有说明语句:int k=7,x=12;则以下能使值为3的表达式是A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 设有说明int x=1,z=1,y=1,k;,执行语句k=x--||++y&&++z后,变量y值为多少?而我得的是2,是不是答案错了. C语言求救(请说下原因,感激ing):设有说明语句“float x,y;”,则下列选项中,不合法的赋值语句是__设有说明语句“float x,y;”,则下列选项中,不合法的赋值语句是______A.++x; B.y=(x%2)/10; C.x* 设有说明:int a=1,b=0; 则执行以下语句后的输出结果是____  switch(a)   { case 1:       switch(b)        { case 0:printf(** 0 ** ); break;case 1:printf(** 1 ** );break; 1.设有 float x=16.8,y=18.6; 则(int) (x+y)的结果为.A) 34 B) 35 C) 36 D) 372.以下选项中不是C语句的是 .A) { i=10; printf(“%d ”,i); } B) max=m>n?m :n;C) a=8,c=18 D) ;3.设有:int a[10],i=5;以下对数组元素的引用,不 5、设有定义语句“int x=10,*p=&x”,则表达式的值为10的有( ).A、p B、*p C、*&x D、*p=x E、x=*p 设有说明int s[2]={0,1},*p=s; 则下列错误的C语句是A、s+=1; B、p+=1; C、*p++; D、(*P)++;