导航:网站首页 >
c程值为1的表达式A)1"0" B)1'/0' , c语言 以下选项中,值为1的表达式是() A.1'
c程值为1的表达式A)1-"0" B)1-'/0' C)'1'-0 D)'/0-'0'' 是哪个?为什么其... , c语言 以下选项中,值为1的表达式是() A.1-'\0' B.1-'0' C.'1'-0 D.'\0'-...
匿名网友:
你题目里' /0 '都写反了,应该是'\0'。
答案是B。
分析如下:A :语法错误。
这个表达式是不能运算的,1是一个数,而后面用" "双引号引用起来的是个字符串,"0" 里面包括两个字符的,一个是0,一个是字符串结束符。
没办法进行算术运算。
B :用 ' '单引号 引用起来的表示为字符,在进行算术运算的时候,字符使用的是对应ASCII值来参与到运算中,'\0'对应的ASCII值为0,数字1-0,值为0。
C :'1',对应的ASCII值为49,所以C式子表示的其实是49-0,结果为48。
D :语法错误,错误原因和A一样。
可以看下C语言中关于变量和表达式的相关知识,帮助理解。
匿名网友:
15.输出表列有三项,格式控制字符只有一项,对应表达式a=a+1=2,所以输出21.a= b+ c 所以表达式值为非零,为真,执行printf ("###\n"); 2. 自增运算符后缀,所以先引用,后自增,m为2,m>2为假,然后m自增一值为3,执行else部分,m+2=57. 注意是x=2 ,是=,赋值号,也就是x被赋值为2,表达式非零,为真执行y= y+2;8.i为10,所以到case 10部分i+=1;i值为11,然而,后无break;所以继续下去case 11部分的内容,以此类推9.自减运算符后缀,先引用,后自增,当n为0时,循环才结束,但别忘了还有个自减,所以n退出循环时值为-110.与上同理,n==2时才退出循环,但是还有自增,所以退出循环式n值为3
匿名网友:
问题一:b+c/2值为6,是因为c/2中c和2都是整型所以得到的值也为整型,这个值是2整型要舍掉小数部分,在加上值为4的b,最后就等于6了。
问题二:int a=0,b=2,c=3;a&&b++&&++c值为0,b值为2,c为3。
是因为逻辑“&&”表示关系与,所以当a等于0时,就已经知道了整个表达式的值为0,因此不必再计算后面的子表达式的值了,所以a&&b++&&++c值为0,b值为2,c为3。
int a=1,b=0,c=3;a&&b++&&++c值为0,b值是1,c值是3。
其实跟上面差不多的因为a为1,还不知道整个表达式的值,要继续计算,当计算到b++时,由于b++是先引用值再将加1,所以b为0去当&&得左表达式因为&&是“副作用”点,++被执行,b就变成1,知道整个表达式为0,终止计算。
所以a&&b++&&++c值为0,b值是1,c值是3。
int a=0,b=2,c=3;a||b++||++c的值是1,b值是3,c值是3。
因为逻辑“||”表示关系或,a为0,不知道整个表达式的值,需要继续计算,当计算到b当||左表达式因为是“副作用”点,++被执行,b变成3,知道了整个表达式值为1,终止计算。
所以a||b++||++c的值是1,b值是3,c值是3。
最后一个自己想想吧。
问题推荐