3道c语言基础题目,大家进

来源:百度知道 编辑:UC知道 时间:2024/05/15 15:15:12
一,以下不合法的字符常量是()
A.'\018'
B.'\'''
C.'\\'
D.'\xcc'

二,表达式3.6-5/2+1.2+5%2的值是()
A.3.8
B.2.8
C.3.3
D.3.2

三,已知int x=5,y=5,z=5; 执行语句x%=y+z;后x的值是()
A.0
B.1
C.5
D.6

第一题,我已经做错很多类似的了,快折磨死我了
第二题我算出来是3.3,但是答案却不是,估计是运算符级别的问题
第三题估计也是一个定义问题!~~
本人基础不好,请大家分析作答,详细的加分感谢!~~特别是第一题!@~
第一题受教了!~~谢谢大家
关于第二题,题目没说是int型的,难道5/2都还只能是2不能是2.5啊???
第三题本人弄混淆了,呵呵,犯了低级错误!~

1.A
\0 是8进制 不会有8的 ,B是",C是\,D是十六进制的字符

2.A
3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8
关键是5/2相当于(int)(5/2),并不是2.5

3.C
x%=y+z相当于x=x%(y+z)=5%10=5

a \0 是8进制 不会有8的
b 打出的是"
c 打出的是\
d 打出的是16进制数
所以选A
====================================
5/2=2;5%2=1;
3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8
====================================
y+z=10;x=5;
5%10=5
x=5

1,a //0 开头说明是8进制,不能有8.错。
2,a //3.6-5/2+1.2+5%2 =3.6-2.5+1.2+1=3.3
3,a //
x%=y+z;
先右边y+z=10;得x%=10;得x=0;

一题A不对 '\018' 中八进制不能含有8
二题选A 3.6-5/2+1.2+5%2 相当于3.6-1+1.2+1=3.8
三题 还是选C,5

我怎么觉得第2题选C
第三题选A
算术运算符优先级比赋值运算符高啊

LZ:"难道5/2都还只能是2不能是2.5啊???"
这个可以是取整啊!!