下列可用于C语言程序标识符的一组是(名字间以逗号分隔)
- A.-(减号)不能出现在名字中
- B._if, _123, file
- C.2_a, xyz, b1_s
- D.For, -abc, IF
正确答案:B
解析: B、下划线开头后面没有字母也是可以的 C、不能以数字开头
下列程序段输出结果为:
int x=1, y=012; printf(“%d”,y*x++);
正确答案:24
012是8进制数,而x++的结果是加1以前的值
下列程序段输出结果为:
int k; while(k!=0) k=k-1; printf(“%d”, k);
正确答案:0
无论k的初值如何,最终都会减到0的。
下列程序段输出结果为:
int i,x,y; i=x=y=0; do { ++i; if ( i%2 ) x+=i, i++; y +=i++; } while ( i<=7 ); printf("%d %d %d", i, x, y);
正确答案:9 1 20
你注意到x+=i,是以逗号结尾的了吗?
int i,x,y; i=x=y=0; do { ++i; if ( i%2 ) x+=i, i++; y +=i++; } while ( i<=7 ); printf("%d %d %d", i, x, y);`
下列程序段输出结果为:
int x=0, y=0, z=0; z = (x==1) && (y=2); printf("%d ", y);
正确答案:0
以下代码段的结果是:
int i=10; long long t = sizeof(i++); printf("%d", i);
正确答案:10
sizeof()是静态运算符
你会发现,sizeof()括号内的计算并没有被执行,所以导致了a/=2并没有使得a的值发生任何变化,这一点是要特别小心的。1
以下代码段的结果是:
A. ASCII码表中255那个位置的字符0.00/2.00
B. 运行错误,因为%d和ch的类型不匹配
C. -1
D. 255
正确答案:C
A、这是以整数形式输出 B、char是一种整数 C、这是以整数形式输出 D、char是有符号的
此话转载于同论坛 ↩︎