C++语言程序设计-复习资料
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科《C++语言程序设计》期末复习模拟训练题
一、单选题
1.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. main
B. MAIN
C. name
D. function 2.设x和y均为bool量,则x && y为真的条件是(D)。
A. 其中一个为假
B. 其中一个为真
C. 它们均为假
D. 它们均为真
3. 逻辑表达式x>0 || y==5的相反表达式为(B)。
A. x<=0 || y!=5
B. x<=0 && y!=5
C. x>0 || y!=5
D. x>0 && y==5
4. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)个字节。
A. 1
B. 2
C. 4
D. 8
5. 枚举类型中的每个枚举常量的值都是一个(A)。
A. 整数
B. 浮点数
C. 字符
D. 逻辑值
6. 循环体至少被执行一次的语句为(C)语句。
A. for循环
B. while循环
C. do循环
D. 任一种循环
7. 在下面的字符数组定义中,(D)语句有语法错误。
A. char a[20]=”abcdefg”;
B. char a[]=”x+y=55.”;
C. char a[15]={’1’,’2’};
D. char a[10]=’5’;
8. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址
B. 数组中第一个元素的值
C. 数组全部元素的值
D. 数组元素的个数
9.假定AB为一个类,则执行“AB a(4), b[5], *p[2];”语句时,自动调用该类构造函数的次数为(A)。
A. 6
B. 7
C. 9
D. 11
10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(D)。
A. ios::in
B. ios::out
C. ios::in | ios::out
D. 没有
11. 枚举类型中的每个枚举常量的值都是一个(A)值。
A. 整数
B. 浮点数
C. 字符
D. 逻辑
12.设x和y均为bool量,则逻辑表达式x || y为假的条件是(C)。
A. 它们均为真
B. 其中一个为真
C. 它们均为假
D. 其中一个为假
13. 声明或定义一个内联函数时,必须在函数开始使用保留字(D)。
A. static
B. const
C. extern
D. inline
14. 在下面的函数声明中,存在着语法错误的是(D)。
A. BC(int a, int);
B. BC(int, int);
C. BC(int, int=5);
D. BC(int x; int y);
15. 假定a为一个整型数组名,则元素a[4]与(C)的表示等价。
A. a+4
B. *a+4
C. *(a+4)
D. *(a+16)
16. 下面循环语句执行结束后输出的i值为(B)的值。
for(int i=0; i A. n/2 B. n/2+1 C. n-1 D. n 17. 将两个字符串连接起来组成一个字符串时,选用(C)函数。 A. strlen() B. strcpy() C. strcat() D. strcmp() 18. 预处理命令在程序中都是以(B)字符开头的。 A. * B. # C. & D. @ 19. 假定有定义“struct BOOK{char title[40]; float price;};”,则不正确的变量定义语句为(D)。 A. BOOK x; B. BOOK x={"C++ Programming",27.0}; C. BOOK *x=new BOOK; D. BOOK x=new BOOK; 20. 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete []px;”语句时,自动调用该类析构函数的次数为(B)。 A. 1 B. n C. n-1 D. n+1 21. 由C++源程序文件编译而成的目标文件的缺省扩展名为(A)。 A. obj B. lik C. exe D. cpp 22. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 23. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y 的值为(C)。 A. 1 B. 0 C. 与x值相同 D. 与x值相反 24. for语句能够被改写为(D)语句。 A. 复合 B. if C. switch D. while 25. 在下面的do循环语句中,其循环体被执行的次数为(A)。 int i=0; do i++; while(i*i<10); A. 4 B. 3 C. 5 D. 2 26. 在下面的一维数组定义中,(C)语句有语法错误。 A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 27. 下面的(C)保留字不能作为函数的返回类型。 A. void B. int C. new D. long 28. 下面的函数声明中,(B)是“void BC(int a, int b);”的重载函数。 A. int BC(int x, int y); B. void BC(int a, char b); C. float BC(int a, int b, int c=0); D. int BC(int a, int b=0); 29. 当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为(C)。 A. n B. n+1 C. n-1 D. n-2 30. 假定AB为一个类,则该类的拷贝构造函数的声明语句为(D)。 A. AB&(AB x); B. AB(AB x); C. AB(AB* x); D. AB(AB&); 31. C++程序的基本功能模块为(D)。 A. 表达式 B. 标识符 C. 语句 D. 函数 32. 存储以下数据,占用存储字节最多的是(A)。 A. 0 B. ’0’ C. ”0” D. ’\n’ 33. 在下面的一维数组定义中,有语法错误的是(C)。 A. int a[]={1,2,3}; B. int a[10]={0}; C. int a[]; D. int a[5]; 34. 在下面的语句或语句组中,(B)不正确。 A. int a[5]; B. int M=10; int a[M]; C. int a[]={1,5,10,45}; D. const int N=12; int a[N]; 35.C++语言中的每条简单语句以(B)作为结束符。 A. 逗号 B. 分号 C. 空格 D. 换行符 36. 含随机函数的表达式rand()%20的值在(C)区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 37. 当处理一个特定的问题时,若循环次数已知,则通常采用(A)来解决。 A. for循环 B. while循环 C. do循环 D. switch语句 38. 在下面循环语句中内层循环体S语句的执行总次数为(D)。 for(int i=0; i for(int j=i; j A. n2 B.(n+1)/2 C. n(n-1)/2 D. n(n+1)/2 39. 若函数声明为double* function(), 则该函数的返回值为(B)。 A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型 40. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为(B)。 A. int p=&m; B. int *p=&m; C. int &p=*m; D. int *p=m;