大工08春季学期C⼀C++语言程序设计
1. 下列程序的输出结果是( ).main(){char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}A. 非法B. a[4]的地址C. 5D. 3 满分:2 分2. 在C程序中,可将整型数以二进制形式存放到文件中的函数是( ).A. fprint函数B. fread函数C. fwrite函数D. fputc函数 满分:2 分3. 给出发下定义:char x[]="abcdefg";char y[]={✀a✀,✀b✀,✀c✀,✀d✀,✀e✀,✀f✀,✀g✀};则正确的叙述为( ).A. 数组x和数组y等价B. 数组x和数组y的长度相同C. 数组x的长度大于数组y的长度D. 数组x的长度小于数组y的长度 满分:2 分4. C++语言做了很多改进,下列描述中( )使得C语言发生了质变,即从面向过程变成面向对象.A. 增加了一些新的运算符B. 允许函数重载,并允许设置默认参数C. 规定函数说明必须用原型D. 引进类和对象的概念 满分:2 分5. 下列程序的输出结果是( ).int d=1; fun (int p) static int d=5; d+=p;printf("%d ",d); return (d) ; }main(){ int a=3; printf("%d尀n" , fun(a+fun(d)));}A. 6 9 9B. 6 6 9C. 6 15 15D. 6 6 15 满分:2 分6. 以下叙述正确的是( ).A. 宏名必须用大写的英文字母表示.B. 宏定义不仅是符号替换,也可以赋值.C. 宏替换是在程序编译时完成的,不占用程序运行时间.D. 引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致 满分:2 分7. 已知p、p1为指针变量,a为数组名,i为整型变量,下列语句中,不正确的是( ).A. p=&i;B. p=a;C. p=&a[i];D. p=10; 满分:2 分8. 对于while、do…while循环结果说法正确的是( ).A. 只是表达形式不同B. do…while结构中的语句至少执行—次C. while结构中的语句至少执行一次D. 条件成立时,他们有可能一次也不执行 满分:2 分9. 以下程序的输出结果是( ).#include <iostream.h>int f(){static int i=0;int a=1;a+=i;i++;return a;}void main(){int i,s=0;for(i=0;i<4;i++)s+=f();cout<<s;}A. 10B. 15C. 21D. 28 满分:2 分10. 设int b=12表达式b+=b-=b*b求值后b的值是( ).A. 552B. 264C. 144D. -264 满分:2 分11. 已知小写字母✀a✀的ASCII码为97,以下程序的结果是( ).char a=32,b=68;cout<<(a|b);A. bB. 98C. dD. 100 满分:2 分12. cin代表( ).A. 标准输入B. 标准输出C. 标准错误D. 显示器 满分:2 分13. 下列必须重载为成员函数的运算符是( ).A. +和->B. =、[]和()C. ++、=和[]D. +=、[]和= 满分:2 分14. 下面( )是正确的递归函数,它保证对所有的参数能够结束.A. int f(int n){if(n,1) return 1;else return n*f(n+1);}B. int f(int n){if(n>1) return 1;else return n*f(n-1);}C. int f(int n){if(abs(n)<1) return 1;else return n*f(n/2);}D. int f(int n){if(n>1) return 1;else return n*f(n*2);} 满分:2 分15. 在下列语句中,不正确的是( ).A. static int a[2][3]={1,2,3,4,5,6};B. static int a[2][3]={{1},{4,5}};C. static int a[][3]={{1},{4}};D. static int a[][]={{1,2,3},{4,5,6}}; 满分:2 分