第2次作业指南
1. 在C 语言中,复合语句要用一对()括起来。
A. 方括号 B. 圆括号 C. 大括号 D. 尖括号 [提示]参考讲稿3.1.1-4
2. C 语言中,下面哪项是不合法的标识符?()
A. user B. switch C. _345 D. Abc [提示]参考讲稿2.1.1
3. 以下说法中正确的是()
A. C 语言比其他语言高级
B. C 语言不用编译就能被计算机执行
C. C 语言以接近英语国家的自然语言和数学语言作为语言的表达形式 D. C 语言出现的最晚,具有其他语言的一切优点
[提示]这个留给自己发挥吧,你觉得不用翻书考证就能看出来的就是答案啦
4. 若变量x、y 已正确定义并赋值,以下符合C 语言语法规则的语句是()
A. ++x, y = x--; B. x + 1 = y;
C. x = x + 10 = x + y; D. double(x)/10
[提示]自己编个小程序,包含上述语句,然后编译一下,编译器报错的地方就是不对的。以后涉及程序、程序段、语句、表达式的题目都可以这样做。
5. 下列程序的输出结果为()
void main() {
int x, y, z; x = y = 1;
z = x++, y++, ++y;
printf(“%d, %d, %d\\n”, x, y, z); }
A. 2, 3, 3 B. 2, 3, 2 C. 2, 3, 1 D. 2, 2, 1
[提示]这个不用提示吧,上机运行一下就知道了。程序设计课要动手,干看是学不会的哟。
6. 数值029 是一个()
A. 八进制数 B. 十六进制 C. 十进制 D. 非法数 [提示]参考讲稿2.2.2
7. 逻辑运算符两侧运算对象的数据类型()
A. 只能是0 或1 B. 只能是0 或非0 正数
C. 可以是整型或字符型数据 D. 可以是任何类型的数据
[提示]自己编个小程序,写几个逻辑表达式,将C语言中所有的数据类型都放到逻辑表达式中试一试。
8. 对于int a, 表达式1 <= a <= 5 的值是()
A. 0 B. 1 C. 不定 D. 表达式语法有误 [提示]自己编个小程序,……
9. 执行下列语句段后x 的值为()
int a = 14, b = 15, x; char c = ?A?;
x = (a && b) && (c < ?a?) A. TRUE B. FALSE C. 0 D. 1
[提示]自己编个小程序,包含上述程序段,然后在debug中观察一下x的值。如果不会用debug,请看3月5日的课程,老师有很多演示。
10、x, y, z 被定义为int 型变量,若从键盘为其输入数据,则正确的输入语句是()
A. input x, y, z
B. scanf(“%d%d%d”, &x, &y, &z); C. scanf(“%d%d%d”, x, y, z); D. read(“%d%d%d”, &x, &y, &z);
提示:此题考察格式化输入函数scanf 的用法。
11、若w=1, x = 2, y=3, z = 4 ,则条件表达式w < x ? w: y < z ? y : z 的值是()
A. 1 B. 2 C. 3 D. 4 提示:此题考察条件运算符的结合性。
12、给定如下程序 #include
char c1 = ‘A’, c2 = ‘a’; printf(“%c\\n”, (c1, c2)); }
则以下叙述正确的是()
A. 程序输出大写字母A B. 程序输出小写字母a C. 格式说明符不足,编译出错 D. 程序编译通过,但运行时出错 提示:此题考察对标准输出函数和逗号运算符的理解。
13、下列程序的输出结果是() #include
{
int a = 2, b = 3, c = 0, d; d = ! a && !b || !c; printf(“%d\\n”, d); }
A. 1 B. 0 C. 编译出错 D. -1 提示:此题考察逻辑运算符的优先级。
14、下列程序的输出结果是() #include
int a = 55, b = 50, c = 60, d; d = a > 20 ? b : c; switch(d) {
case 40:printf(“%d”, a); case 50: printf(“%d”, b); case 60: printf(“%d”, c); default: printf(“$\\n”); } }
A. 50, 60 B. 50, $ C. 60, $ D. 50, 60, $ 提示:此题考察switch-case 结构跳转规律。
15、给定如下程序段,请选择描述正确的说法() int i = 9;
while(i = 0) i--;
A. while 循环执行9 次 B. 循环体语句执行一次 C. 循环体语句一次也不执行 D. 循环是无限循环 提示:此题考察循环结构,特别是循环条件的判断。
16、设n 为整型变量,则for(n = 10; n >= 0; n--) 循环的次数为() A. 9 B. 10 C. 11 D. 12 提示:此题考察对for 循环中三个表达式的理解。
17、对表达式for( 表达式1; ; 表达式3)可以理解为() A. for(表达式1; 0; 表达式3) B. for(表达式1; 1; 表达式3)
C. for(表达式1; 表达式1; 表达式3) D. for(表达式1; 表达式3; 表达式3)
提示:此题考察对for 循环中三个表达式的理解。
18、以下能正确定义一维数组的选项是()
A. int a[5] = {0, 1, 2, 3, 4, 5}; B. char a[] = {0, 1, 2, 3}
C. char a = {‘A’, ‘B’, ‘D’} D. int a[5] = “0123”; 提示:此题考察一维数组初始化的规定。
19. 已有定义int x[3][2],以下能正确引用数组元素的选项是() A. x[2][2] B. x[1][2] C. x[2][1] D. x[0][2] 提示:此题考察数组下标的合法取值范围。
20. 有以下语句,int x; char c[10]; 则正确的输入语句是() A. scanf(“%d%s”, x, &c); B. scanf(“%d%s”, &x, &c); C. scanf(“%d%s”, x, c); D. scanf(“%d%s”, &x, c);
提示:此题考察标准输入函数scanf 对普通变量和数组变量的输入约定。
参考答案:
CBCAC DCBDB ABADC CBACD