黄老师 发表于 2011-4-19 08:04:33

兰州大学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]
查看完整版本: 兰州大学11春学期《C语言程序设计》第2次作业答案