C++语言程序设计课程期末综合练习.docx

上传人:牧羊曲112 文档编号:3060442 上传时间:2023-03-10 格式:DOCX 页数:16 大小:42.13KB
返回 下载 相关 举报
C++语言程序设计课程期末综合练习.docx_第1页
第1页 / 共16页
C++语言程序设计课程期末综合练习.docx_第2页
第2页 / 共16页
C++语言程序设计课程期末综合练习.docx_第3页
第3页 / 共16页
C++语言程序设计课程期末综合练习.docx_第4页
第4页 / 共16页
C++语言程序设计课程期末综合练习.docx_第5页
第5页 / 共16页
亲,该文档总共16页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C++语言程序设计课程期末综合练习.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计课程期末综合练习.docx(16页珍藏版)》请在三一办公上搜索。

1、C+语言程序设计课程期末综合练习C+语言程序设计课程期末综合练习 一、单选题 1. 由C+源程序文件编译而成的目标文件的缺省扩展名为。 A. obj B. lik C. exe D. cpp 2. 程序运行中需要从键盘上输入多于一个数据时,各数据之间需要使用( )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 3. 设x是一个bool型的逻辑量,y的值为10,则表达式 x & y的值为。 A. 1 B. 0 C. x的值 D. x的相反值 4. 任何for语句都能够被改写为语句。 A. 复合 B. if C. switch D. while 5. br

2、eak语句叫做语句。 A. 中断退出循环或开关 B. 返回 C. 转向 D. 继续 6. 在下面的一维数组定义中,语句有语法错误。 A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 7. 下面的保留字不能作为函数的返回类型。 A. void B. int C. new D. long 8. 下面的函数声明中,( )是“void BC(int a, int b);”的重载函数。 A. int BC(int x, int y); B. void BC(int a, char b); C. float AA(int a, char b); D. i

3、nt BC(int a, int b=0); 9. 当一个字符指针指向具有n个字节的存储空间时,它所能存储字符串的最大长度为。 A. n B. n+1 C. n-1 D. n-2 10. 假定AB为一个类,则该类的拷贝构造函数的声明语句为。 A. AB&(AB x); B. AB(AB x); C. AB(AB* x); D. AB(AB&); 11. 下面的保留字( )不能作为函数的返回类型。 A. void B. int C. new D. long 12. C+源程序文件的默认扩展名为( )。 A. cpp B. exe C. obj D. lik 13. 在下列的标识符常量的定义语句中

4、,错误的定义语句是。 1 A. const double PI=3.14159; B. const int N=20; C. const char ch; D. const bool mark=true; 14. for循环语句一定能够被改写为语句。 A. 复合 B. if C. switch D. while 15. 假定a为一个数组名,则下面的( )表达式有语法错误。 A. ai B. *+a C. *a D. *(a+1) 16. 在下面的二维数组定义中,只有( )语句是正确的。 A. int a5; B. int a(10); C. int a; D. int a5=1,2,3,4,5

5、; 17. 下面( )的函数声明格式不正确。 A. AA(int a, int b); B. AA(int a=0, int b); C. AA(int a=0, int b=0); D. AA(int a, int b=0); 18. 假定指针变量p定义为“int *p=new int30;”,要释放p所指向的动态数组空间,则使用下面的语句。 A. delete p; B. delete *p; C. delete &p; D. delete p; 19. 假定要对结构类型AB定义加号运算符重载的普通函数,实现两个AB类型对象的加法,并返回相加结果,则该函数的声明语句为( )。 A. AB

6、operator +(AB& a, AB& b); B. AB operator +(AB& a); C. operator +(AB a); D. AB& operator +; 20. 当需要使用ifstream流类定义一个流对象并联系一个磁盘文件时,应在文件开始使用#include命令,使之包含头文件。 A. strstrea.h B. stdlib.h C. iostream.h D. fstream.h 21. 枚举类型中的每个枚举常量的值都是一个值。 A. 整数 B. 浮点数 C. 字符 D. 逻辑 22设x和y均为bool量,则逻辑表达式x | y为假的条件是。 A. x和y均为

7、真 B. 其中一个为真 C. x和y均为假 D. 其中一个为假 23. 声明或定义一个内联函数时,必须在函数开始使用保留字。 A. static B. const C. extern D. inline 24. 在下面的函数声明中,存在着语法错误的是。 A. BC(int a, int) B. BC(int, int) C. BC(int, int=5) D. BC(int x=6, int y) 2 25. 假定a为一个整型数组名,则元素a4与的表示等价。 A. a+4 B. *a+4 C. *(a+4) D. *(a+16) 26. 循环语句“for(int i=0; i5的逻辑值为_。

8、6假定一个一维数组的定义为“char* a8;”,则该数组占用_个字节的存储空间。 7. 假定x=10,则表达式2+x+的值为_。 8假定p所指对象的值为25,p+1所指对象的值为46,则*+p的值为_。 9. 假定要动态分配一个类型为int的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为int *r=_。 10. 设px指向一个类的动态分配的对象,则执行“delete px;”语句时,将自动调用该类的_。 3 11. 执行“cout”x1=”18*4;”语句后得到的输出结果为_。 12. 在c+语言中,用转义字符序列_表示输出一个换行。 13int类型的大小为_个字节。 14假定

9、y的值为5,则增量表达式+y的值为_。 15假定a的值为25,则算术表达式a%3的值为_。 16. 结束所在循环类语句或switch语句执行的中断语句的保留字为_。 17函数调用时,实参向形参的传送分为_传送和值传送两种方式。 18. 假定a是一个一维数组,则ai的指针访问方式为_。 19. 假定一个结构类型的定义为 ”struct Cdouble a5; int n;”,则该类型的大小为_个字节。 20. 若要在程序中进行_的输入输出操作,则必须在开始的#inlude预处理命令中使用fstream.h头文件。 21十进制数30表示成符合C+语言规则的十六进制数为_。 22假定一个枚举类型的定

10、义为“enum RBab,ac,ad,ae;”,则枚举常量ad的值为_。 23. 假定y=8,则执行y+*4运算后,y的值为_。 24算术表达式x+y+1对应的C+表达式为_。 2xy 25. 关系表达式x5的相反表达式为_。 26. 假定整数变量x=48,则a/12的运算结果为_。 27. 假定一个二维数组的定义语句为“int a34;”,则该数组包含有_个整型元素。 28函数被调用时,实参向形参的传送分为引用传送和_传送两种方式。 29假定一个结构类型的定义为”struct Bint a5; char* b;”,则该类型的大小为_字节。 4 30. 在定义类对象的语句执行时,系统在建立每个

11、对象的过程中将自动调用该类的_使其初始化。 三、写出下列每个程序运行后的输出结果 1. #include void main int n=4,y=1; while(n-) y*=3; couty=yendl; 2. #include void main int a8=2,8,10,5,12,7,9,20; int c=0, i=0; while(i10) c+; i+; coutc=cendl; 3. #include void main int a5=3,6,9,12,8; for(int *p=a; p8) cout*p ; 4. #include int LA(int a, int n)

12、 int s=0; for(int i=0;in;i+) s+=ai; return s; void main int a5=5,2,8,6,4; int b=LA(a,5); coutb=bendl; 5. #include struct AB 5 char aa15; int bb; ; void main AB a4=Apple,25,Peach,40,Pear,36,Tomato,62; for(int i=0;i4;i+) if(ai.bb40) coutai.aa ; coutendl; 6. #include void main int s1=0; for(int i=1; i=

13、5; i+) s1+=2*i; cout”s1=”s1endl; 7. #include void main int a6=6,9,12,18,15,20; int c=0; for(int i=0; i6; i+) if(ai%2=1) c+; coutc=cendl; 8. #include void main int a34=1,2,7,8,5,6,11,15,9,20,3,4; int m=a00; for(int i=0;i3;i+) for(int j=0;jm) m=aij; coutmendl; 9. #include void main int a=10, b=15, c;

14、c=a+b; int b=a+20; c+=a+b; coutcendl; 6 10. #include void main int a8=6,19,4,12,20,5,18,25; int *p, s=0; for(p=a; pa+8;p+) if(*p10) s+=*p; coutsendl; 11. #include void main int s=0; for(int i=1;i=8;i+=2) s+=i*i; couts=sendl; 12. #include void main int i=1,s=0; while(s15) s+=i+; couti,sendl; 13. #inc

15、lude void main int a8=36,25,48,14,55,20,47,82; int c1=0, c2=0; for(int i=0; i8; i+) if(ai50) c1+; else c2+; coutc1 c2endl; 14. #include int LB(int *a, int n) int p=1; for(int i=0;in;i+) p*=*a; a+; return p; void main 7 int a5=1,2,3,4,3; coutLB(a,5)endl; 15. #include struct Worker char name15; /姓名 in

16、t age; /年龄 float pay; /工资 ; void main Worker x=wangfong,46,1640; Worker y, *p; y=x; p=&x; couty.age+10 pay*2b) return 1; else if(a=b) return 0; else return -1; 2. int LK(int a, int n) float s=0; int i; for(i=0;in;i+) s+=ai; s/=n; int m=0; for(i=0;i=s) m+; return m; 3. int WD(int a, int n) int m=a0;

17、for(int i=1;im) m=ai; return m; 4. double FI(int n) /n为大于等于1的整数 double x,y=0; do cinx; y+=x*x; 8 while(-n); return y; 5. bool WE(int a, int b, int n) for(int i=0;in;i+) if(ai!=bi) break; if(i=n) return true; return false; 6. int LK(int a, int n) double s=0; int i,m=0; for(i=0;in;i+) s+=ai; s=s/n; fo

18、r(i=0;i=s) m+; return m; 7. double FI(int n) /n为大于等于1的整数 double x,y=0; do cinx; y+=x; while(-n); return y; 8. bool WE(int a, int b, int n) for(int i=0;in;i+) if(ai!=bi) break; if(i=n) return true; return false; 9. int LK(int a, int n) double s=0; int i,m=0; for(i=0;in;i+) s+=ai; s=s/n; for(i=0;i=s)

19、m+; return m; 9 五、按题目要求编写程序 1. 已知6a30、15b36,求出满足不定方程2a+5b=126的全部整数组解。如(13,20)就是其中的一组解,并按此格式输出每组解。 2. 假定函数声明为“void Print(int a, int n);”,要求按下标从大到小的次序输出数组a中的n个元素的值,每个值后面接着输出一个空格。 3. 假定一个函数声明为“int FF(int a, int n);”,要求递归求出数组a中所有n个元素之积并返回。 4. 假定函数声明为“void Print(int a, int n);”,要求按下标从大到小的次序输出数组a中的n个元素的值,

20、每个值后面接着输出一个逗号,但最后一个值后面为换行符。 参考解答: 1. #include void main int a,b; for(a=6;a=30; a+) for(b=15;b=36;b+) if(2*a+5*b=126) cout(a,b)=0; i-) coutai ; cout0; i-) coutai,; couta0=5 26. 4 27. 12 28. 值 29. 24 30. 构造函数 参考解答: 1. y=81 2. c=2 3. 9 12 4. b=25 5. Apple Pear 6. s1=30 7. c=2 8. 20 9. 65 10. 15 11. s=8

21、4 12. 6,15 13. 6 2 14. 72 15. 56 3280 参考解答: 1. 比较两个整数a和b的大小,若ab则返回1,若a=b则返回0,若ab则返回-1。 2. 求出数组a的n个元素中大于等于平均值的元素个数并返回。 3. 从数组a的n个元素中求出最大值并返回。 4.求出从键盘上输入的n个整数的平方和并返回。 5. 判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。 6.统计出数组an中大于等于其平均值的元素个数并作为函数值返回。 7.求出从键盘上输入的n个整数的和并返回。 8. 判断具有n个元素的两个数组a和b中对应元素值是否全部相等,若是则返回真,否则返回假。 9.统计出数组an中大于等于其平均值的元素个数并作为函数值返回。 11

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号