兰州大学11春学期《C语言程序设计》第2次作业答案
11春学期《C语言程序设计》作业2一、单选题:
1. 下面哪个表达式的值为4: (满分:4)
A. 11/3
B. 11.0/3
C. (float)11/3
D. (int)(11.0/3+0.5)
2. 若有int w=1,x=2,y=3,z=4;则表达式w<x?w:y<z?y:z的值是( ) (满分:4)
A. 4
B. 3
C. 2
D. 1
3. 在c语言中,引用数组元素时,其数组下标的数据类型是( ) (满分:4)
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式
4. 以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);} (满分:4)
A. 5,2,3
B. -5,-12,-7
C. -5,-12,-17
D. 5,-2,-7
5. 下面程序段x=y=0;while(x<15) y++,x+=++y;printf("%d,%d",y,x);的运行结果是( ) (满分:4)
A. 20,7
B. 6,12
C. 20,8
D. 8,20
6. 执行语句for(i=1;i++<4;);后变量的值为( ) (满分:4)
A. 3
B. 4
C. 5
D. 不定
7. 设有以下程序段int x=0,s=0;while(!x!=0) s+=++x;printf("%d",s);则( ) (满分:4)
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 循环的控制表达式不正确
D. 程序段执行无限次
8. 下面程序段的运行结果是( )char c[]="\t\v\\\0will\n";printf("%d",strlen(c)); (满分:4)
A. 3
B. 6
C. 9
D. 14
9. 下面程序的运行结果是( )#includemain(){int i,b,k=0;for(i=1;i=0) k++;}printf("%d,%d",k,b);} (满分:4)
A. 3,-1
B. 8,-1
C. 3,0
D. 8,-2
10. 以下有关宏替换的叙述不正确的是( ) (满分:4)
A. 宏替换不占用运行时间
B. 宏名无类型
C. 宏替换只是字符替换
D. 宏名必须用大写字母表示
11. 以下正确的说法是( ) (满分:4)
A. 用户若需要调用标准库函数,调用前必须重新定义
B. 用户可以重新定义标准库函数,若如此,该函数将失去原有意义
C. 用户系统根本不允许用户重新定义标准库函数
D. 用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件
12. C语言中while和do while循环的主要区别是( ) (满分:4)
A. do-while的循环至少无条件执行一次
B. while循环控制条件比do-while的循环控制条件严格
C. do-while允许从外部转入到循环体内
D. do-while的循环体不能是复合语句
13. 若有说明:int a;则对a数组元素的正确引用是( ) (满分:4)
A. a
B. a
C. a
D. a(2)(1)
14. 若用数组名作为函数调用的实参,传递给形参的是( ) (满分:4)
A. 数组的首地址
B. 数组第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数
15. 以下程序段x=-1;dox=x*x;while(!x);( ) (满分:4)
A. 是死循环
B. 循环执行两次
C. 循环执行一次
D. 有语法错误
二、多选题:
1. main(){int x,y,z;x=1;y=2;z=3;x=y--<=x||x+y!=z;printf("%d,%d",x,y);} 程序的运行结果是1,1 (满分:4)
A. 错误
B. 正确
2. main(){int x,y,z;x=1;y=1;z=0;x=x||y&&z;printf("%d,%d",x,x&&!y||z);}程序的运行结果是1,1 (满分:4)
A. 错误
B. 正确
3. 在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效 (满分:4)
A. 错误
B. 正确
4. 整型、实型、字符型数据可以混合运算 (满分:4)
A. 错误
B. 正确
5. C语言中形参到实参传递是双向的 (满分:4)
A. 错误
B. 正确
6. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3) (满分:4)
A. 错误
B. 正确
7. for(y=0,x=1;x>++y;x=i++) i=x;是无限循环的语句 (满分:4)
A. 错误
B. 正确
8. 使用continue和break语句,都可以使得C程序中断执行 (满分:4)
A. 错误
B. 正确
9. 若a为一维数组名,则*(a+i)与a等价 (满分:4)
A. 错误
B. 正确
10. int k=0;do{++k;}while(k>=0);是无限循环的语句 (满分:4)
A. 错误
B. 正确
页:
[1]