c语言的三道选择题问题

来源:百度知道 编辑:UC知道 时间:2024/05/09 08:21:43
2. 以下程序段的输出结果是
char s[]="\\141\141abc\t";
printf ("%d\n",strlen(s));
A、9 B、12 C、13 D、14
5. 设有 int x=11; 则表达式 (x++ * 1/3) 的值是
A、3 B、4 C、11 D、12 F
10. 以下程序的输出结果是
main()
{ int x=0.5; char z='a';
printf("%d\n", (x&1)&&(z<'z') ); }(3分)
A、0 B、1 C、2 D、3 F
要明原因,谢谢诶

A
A
A

2.A
字符串"\\141\141abc\t"中包含以下字符:
\\:转义为字符'\'
1:字符'1'
4:字符'4'
1:字符'1'
\141:转义为八进制数141
a:字符'a'
b:字符'b'
c:字符'c'
\t:转义为水平制表符
所以一共是9个字符

5.C
x++ * 1/3
由于x++是先将当前的x值代入表达式,后进行++处理,所以这里代入表达式的是11
11*1/3=11

10.A
由于x值小于1,所以x&1这个桉位与运算结果一定为0,
所以(x&1)&&(z<'z')为0