C的编程知识温习
1.下列while 循环的次数是(D)【正确答案: A】。
while ( int i=0 )
i–;
A 0
B 1
C 5
D 无限
解析:因为i=0所以判定为false。我一开始以为int i=0就是一个语句这个语句执行的结果是true,但是当我试着自己写了下代码发现只要int i=x; 这个x不是0就都是true
2.类型修饰符unsigned 修饰(A)【正确答案: D】类型是错误的。
A char
B int
C long int
D float
解析:unsigned只能修饰整型
3.已知:int a,*pa=&a;输出指针pa十进制的地址值的方法是(A)【正确答案: D】.
A cout<<pa;
B cout<<*pa;
C cout<<&pa;
D cout<<long(&pa)
解析:pa里面存的是地址,但他自己也是一个变量,也占空间,有自己的地址,&pa就是他的地址,因为要十进制,所以c不行c的话会输出16进制
4.下列表达式中,( C )【正确答案: D】是非法的。已知:int a=5;float b=5.5;
A a%3+b
B b*b&&++a
C (a>b)+(int(b)%2)
D —— —— ——a+b(为了正确显示,方便读题特意写成“—— —— ——”)
解析:D选项“—— —— ——”会有歧义
5.下列表达式中,A【正确答案: D】是合法的。已知:double m=3.2;int n=3;
A m<<2
B (m+n)|n
C !m*=n
D m=5,n=3.1,m+n
解析:A&#