有些答案与上个回答者意见不同:
Y = 对 N= 错 U= 不确定
1.Y
2.Y
3.N(数组下标从0开始)
4.Y
5.N(应该为x>y && y>z)
6.Y
7.N(是单目运算符)
8.N (都有精度或者位长的限制)
9.N (可以用char *定义字符指针,指向字符串)
10.N(可以间接的调用其他函数再来调用自己)
11.Y (3.14i5926,中间的i一般都会报错的) ---- 与上一位意见不同
12.Y (可以作为指针使用,指针是可以被改变的,只不过有时会不安全) ---- 与上一位意见不同
13.Y
14.N (可以不同)
15.Y
16.N(eg:bool)
17.N(可以,比如int a, /*b,*/c/*,d*/,e;) ---- 与上一位意见不同
18.N (必须在变量使用之前,很多编译器还必须在模块开始定义)
19.Y
20.Y ---- 与上一位意见不同
Y = 对 N= 错 U= 不确定
1.Y 2.Y 3.N(数组下标从0开始) 4.Y 5.N(应该为x>y && y>z) 6.Y 7.N(是单目运算符)
8.N 9.N 10.N(可以间接的调用其他函数再来调用自己) 11.N 12.N 13.Y 14.N 15.Y
16.N(eg:bool) 17.Y 18.N 19.Y 20.N(应该是7个,最后一位存储‘\0’)
(√)
(X)
(X)
(√)
(X)
(√)
(X)
(X)
(√)——可能出题者想让答(x),但确实是(√),因为C根本没有字符串类型,哪来其变量?
(X)——间接调用自身也叫“递归调用”,如函数A调用函数B,函数B又调用函数A
(X)——不会报错,因为宏定义是为字符串起别名
(X)——不能重新赋值
(√)
(X)
(√)
(√)——可能会有争议:数据是广义的,结构体、联合、数组都可称为数据,但它们都不能整体参与运算
(√)
(X)
(√)——可能会有争议:不用结构体也能写出来,但用结构体很方便,就看对“应”如何理解
(√)
对,对,错,错(连接生成.obj,编译生成.exe),错,对,错,错,对,错,错,错,对,错,
对,对,错,对