c语言表达式1.0 2 1,c程值为1的表达式A)1"0" B)1'/0' , c语言 以下选项中,值为1的表达式是() A.1'...

"这篇博客探讨了C语言中表达式的计算规则,包括字符ASCII值的运算、自增自减运算符的使用以及逻辑运算符的短路特性。通过具体的例子解释了为何某些表达式的值为1,如1-'0',并分析了错误的表达式如1/"0"的错误原因。同时,还涉及到了字符串和字符在表达式中的差异以及逻辑运算符在条件判断中的应用。"
摘要由CSDN通过智能技术生成

导航:网站首页 >

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。

最后一个自己想想吧。

问题推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值