C++语言程序设计期末复习题.doc

上传人:豆**** 文档编号:33451965 上传时间:2022-08-11 格式:DOC 页数:26 大小:103KB
返回 下载 相关 举报
C++语言程序设计期末复习题.doc_第1页
第1页 / 共26页
C++语言程序设计期末复习题.doc_第2页
第2页 / 共26页
点击查看更多>>
资源描述

《C++语言程序设计期末复习题.doc》由会员分享,可在线阅读,更多相关《C++语言程序设计期末复习题.doc(26页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、如有侵权,请联系网站删除,仅供学习与交流C+语言程序设计期末复习题【精品文档】第 26 页C+语言程序设计期末复习题一、单项选择题 1. C+源程序文件的默认扩展名为( A )。 A. cpp B. exe C. obj D. lik 2. 由C+源程序文件编译而成的目标文件的默认扩展名为( C )。 A. cpp B. exe C. obj D. lik 3. 由C+目标文件连接而成的可执行文件的默认扩展名为( B )。 A. cpp B. exe C. obj D. lik 4. C+程序从上机到得到结果的几个操作步骤依次是( B )。 A. 编译、编辑、连接、运行 B. 编辑、编译、连接

2、、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 5. 以下标识符中不全是保留字的是( B )。 A. case for int B. default then while C. bool class long D. goto return char 6. 能作为C+程序的基本单位是( C )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 7. 程序中主函数的名字为( A )。 A. main B. MAIN C. Main D. 任意标识符 8. C+程序的基本模块为( D )。 A. 表达式 B. 标识符 C. 语句 D. 函数 9. 可用作C+语言用户标识符的

3、一组标识符是( B )。A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof 10. 存储以下数据,占用存储字节最多的是( D )。 A. 0 B. 0 C. “0” D. 0.0 11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。 A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。 A. 12 B. 144 C. 156 D. 288 13. 假设在程序中 a、

4、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( D )。A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c 14. 设”int a=15,b=26;”,则”cout0 & x=10的相反表达式为( A )。A. x10 B. x10C. x=0 | x0 & x10 17. x0 | y=5的相反表达式为( B )。A. x=0 | y!=5 B. x0 | y!=5 D. x0 & y=5 18设x和y均为bool量,则x & y为真的条件是( A )。 A. 它们均为真 B. 其中一个为真 C. 它

5、们均为假 D. 其中一个为假 19设x和y均为bool量,则x | y为假的条件是( C )。 A. 它们均为真 B. 其中一个为真 C. 它们均为假 D. 其中一个为假 20. 字符串”a+b=12n”的长度为( B )。 长度算的不是字节,“12”算为2 A. 6 B. 7 C. 8 D. 9 21. 假定下列x和y均为int型变量,则不正确的赋值为( B )。 X+没有意义 A. x+=y+ B. x+=y+ C. x=+y D. +x=+y 22 下列的符号常量定义中,错误的定义是( C )。 A. const M=10; B. const int M=20; C. const cha

6、r ch; D. const bool mark=true; 23. 循环语句“for(int i=0; in; i+) couti*i ;”中循环体执行的次数为( C )。 A. 1 B. n-1 C. n D. n+1 24. 在下面循环语句中循环体执行的次数为( B )。 for(int i=0; in/2) break; A. n/2 B. n/2+1 C. n/2-1 D. n-1 25. 在下面循环语句中内层循环体S语句的执行总次数为( D )。 for(int i=0; in; i+) for(int j=i; jn; j+) S; A. n2 B. (n+1)/2 C. n(n

7、-1)/2 D. n(n+1)/2 26. 在下面循环语句中循环体执行的次数为( C )。 int i=0,s=0; while(s20) i+; s+=i; A. 4 B. 5 C. 6 D. 7 27. 在下面循环语句中循环体执行的次数为( B )。 int i=0; do i+; while(i*i10); A. 4 B. 3 C. 5 D. 2 28. 当处理特定问题时的循环次数已知时,通常采用( A )来解决。 A. for循环 B. while循环 C. do循环 D. switch语句 29. 循环体至少被执行一次的语句为( C )。 A. for循环 B. while循环 C.

8、 do循环 D. 任一种循环 30. switch语句能够改写为( B )语句。 A. for B. if C. do D. while 31. do语句能够改写为( D )语句。 A. 复合 B. if C. switch D. while 32. 在下面的一维数组定义中,哪一个有语法错误。( C ) A. int a=1,2,3; B. int a10=0; C. int a; D. int a5; 33. 在下面的字符数组定义中,哪一个有语法错误。( D )。 A. char a20=”abcdefg”; B. char a=”x+y=55.”; C. char a15; D. char

9、 a10=5; 34. 在下面的二维数组定义中,正确的是( C )。 A. int a5; B. int a5; C. int a3=1,3,5,2; D. int a(10); 35. 假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a12的值为( C )。 A. 2 B. 4 C. 6 D. 8 36. 假定一个二维数组的定义语句为“int a34=3,4,2,8,6;”,则元素a21的值为( A )。 A. 0 B. 4 C. 8 D. 6 37. 若定义了函数 double *function(), 则函数function的返回值为( B )。 A. 实数型

10、 B.实数的地址 C.指向函数的指针 D.函数的地址 38. 以下说法中正确的是( B )。 A. C+程序总是从第一个定义的函数开始执行 B. C+程序总是从main函数开始执行 C. C+函数必须有返回值,否则不能使用函数 D. C+程序中有调用关系的所有函数必须放在同一个程序文件中 39. 以下叙述中不正确的是( C )。 A. 在一个函数中,可以有多条return语句 B. 函数的定义不能嵌套,但函数的调用可以嵌套 C. 函数必须有返回值 D. 不同的函数中可以使用相同名字的变量 40. 函数重载是指( A )。 A. 两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B.

11、两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C. 两个以上的函数名字不同,但形参的个数或类型相同 D. 两个以上的函数取相同的函数名,并且函数的返回类型相同 41. 以下关于函数模板叙述正确的是( C )。 A. 函数模板也是一个具体类型的函数 B. 函数模板的类型参数与函数的参数是同一个概念 C. 通过使用不同的类型参数,函数模板可以生成不同类型的函数 D. 用函数模板定义的函数没有类型 42. 下列( C )的调用方式是引用调用。 A. 形参和实参都是变量 B.形参是指针,实参是地址值 C. 形参是引用,实参是变量 D.形参是变量,实参是地址值 43. 为了提高程

12、序的运行速度,可将不太复杂的功能用函数实现,此函数应选择( A )。 A. 内联函数 B.重载函数 C.递归函数 D.函数模板 44. 函数原型语句正确的是( B )。 A. int Function(void a); B.void Function (int); C. int Function(a); D.void int(double a); 45. C+中函数返回值的类型是由( B )决定的。 A. return语句中表达式的类型 B.该函数定义时的类型 C.调用函数时的调用语句 D.系统根据结果 46. 以下函数的返回结果是( A )。 int function(char *x) ch

13、ar *p=x; while(*p+); return(p-x-1); A. 求字符串的长度 B.将字符串x连接到字符串p后面 C. 将字符串x复制到字符串p中 D.将字符串x反向存放 47. 函数调用func(exp1,exp2),(exp3,exp4,exp5)中所含实参的个数为( B )个。 A. 1 B. 2 C. 4 D. 5 48. 设有如下函数定义 int f(char *s) char *p=s; while(*p!=0) p+; return(p-s); 在主函数中用coutf(“good”)调用上述函数, 则输出结果为( B )。 A. 3 B. 4 C. 5 D. 6 4

14、9. 以下正确的函数原型语句是( C )。 A. double fun(int x,int y) B. double fun(int x;int y) C. double fun(int,int); D. double fun(int x,y); 50. 以下正确的说法是( B )。 A. 用户调用标准库函数前,必须重新定义 B. 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 C. 系统不允许用户重新定义标准库函数 D. 用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中二、填空题 1. C+语言是在_语言的基础上发展起来的。 2. C+语言的编译单位是扩展

15、名为_的_源代码_文件。 3. 行尾使用注释的开始标记符为_。 4. 多行注释的开始标记符和结束标记符分别为_和_。 5. 用于输出表达式值的标准输出流对象是_。 6. 用于从键盘上为变量输入值的标准输入流对象是_。 7. 一个完整程序中必须有一个名为_的函数。 8. 一个函数的函数体就是一条_语句。 9. 当执行cin语句时,从键盘上输入每个数据后必须接着输入一个_符,然后才能继续输入下一个数据。 10. 在C+程序中包含一个头文件或程序文件的预编译命令为_。 11. 程序中的预处理命令是指以_字符开头的命令。 12. 一条表达式语句必须以_作为结束符。 13. 在#include命令中所包

16、含的头文件,可以是系统定义的头文件,也可以是_定义的头文件。 14. 使用#include命令可以包含一个头文件,也可以包含一个_文件。 15一个函数定义由_和_两部分组成。 16若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_语句。 17C+头文件和源程序文件的扩展名分别为_和_。 18程序文件的编译错误分为_和_两类。 19当使用_保留字作为函数类型时,该函数不返回任何值。 20当函数参数表用_保留字表示时,则表示该参数表为空。 21从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为_,该函数带有_个参数。 22. 当执行cout语句输出end

17、l数据项时,将使C+显示输出屏幕上的光标从当前位置移动到_的开始位置。 23. 假定x=5,y=6,则表达式x+*+y的值为_35_。 X+返回的值是加之后的,但x本身已经加了1了,注意是返回值,区别+x 24. 假定x=5,y=6,则表达式x-*-y的值为_25_。 25. 假定x=5,y=6,则执行表达式y*=x+计算后,x和y的值分别为_6_和_30_。 26. 假定x=5,y=6,则执行表达式y+=x-计算后,x和y的值分别为_4_和_11_。 27. C+常数0x145对应的十进制值为_。 28. C+常数0345对应的十进制值为_。 29. 十进制常数245对应的十六进制的C+表示

18、为_。10是A了 30. 十进制常数245对应的八进制的C+表示为_。 31. signed char类型的值域范围是_至_之间的整数。 32. int和float类型的数据分别占用_4_和_4_个字节。 33. float和double类型的数据分别占用_4_和_8_个字节。 34. bool和char类型的数据分别占用_1_和_1_个字节。 35. unsigned short int和int类型的长度分别为_2_和_4_。 36. 字符串”Thiss a book.n”的长度为_15_。 37. 字符串”nThiss a pennn”的长度为_15_。 38. 在C+中存储字符串”abc

19、def”至少需要_个字节。 39. 在C+中存储字符串”a+b=c”至少需要_个字节。 40. 假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为_和_。 41. 假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为_和_。 42. 假定x是一个逻辑量,则x & true的值为_。 43. 假定x是一个逻辑量,则x | true的值为_。 44. 假定x是一个逻辑量,则x & false的值为_。 45. 假定x是一个逻辑量,则x | false的值为_。 46. 假定x是一个逻辑量,则!x | false的值为_。47. 假定x是一个逻辑量,则x &

20、 !x的值为_。48. 假定x是一个逻辑量,则x | !x的值为_。49. 数学算式的C+表达式为_。 50. 数学算式的C+表达式为_。 51. 数学算式的C+表达式为_。 52. 设enum Printstatusready,busy,error; 则 coutbusy的输出结果是_。 53. 设enum Printstatusready=2,busy,error; 则coutbusy的输出结果是_。 54. 常数-4.205和6.7E-9分别具有_和_位有效数字。 55. 枚举类型中的每个枚举值都是一个_,它的值为一个_。 56. 常数100和3.62的数据类型分别为_和_。 57. 若

21、x=5, y=10, 则计算y*=+x表达式后,x和y的值分别为_和_。 58. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为_和_。 59. 假定x=10,则表达式x=10?20:30的值为_。 60. 表达式sqrt(81)和pow(6,3)的值分别为_和_。三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。1. 斐波那契数列的第1和第2个数分别为0和1 ,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。#includevoid main()

22、int f,f1,f2,i; cout” 斐波那契数列:n”; f1=0; f2=1; coutsetw(6)f1setw(6)f2; for(i=3;i=20;i+) f=_(1)_; coutsetw(6)f;if(_(2)_) coutendl;f1=f2;f2=_(3)_; coutendl;(1) (2) (3) 2. 计算的值。 #include void main() double x,p1=1,p2=1,s=0; int i,j=1; coutx; for(i=1;i=10;i+) p1*=_(1)_; p2*=_(2)_; s+=j*p1/p2; /j的值为(-1)i+1 j

23、=_(3)_; coutsendl;(1) (2) (3) 3. 打印出2至99之间的所有素数(即不能被任何数整除的数)。 #include #include void main() int i,n; for(n=2; _(1)_; n+) int temp=int(sqrt(n); /求出n的平方根并取整 for(i=2; _(2)_; i+) if(n%i=0) _(3)_; if(itemp) coutn ; coutn;(1) (2) (3) 4. 采用辗转相除法求出两个整数的最大公约数。 #include void main() int a,b; coutab; while(a=0

24、| _(1)_) coutab; while(b) int r; r=a%b; _(2)_; _(3)_; /分别修改a和b的值 coutaendl; /输出最大公约数(1) (2) (3) 5. 把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入24时得到的输出结果为“2 2 2 3”,输入50时得到的输出结果为“2 5 5”,输入37时得到的输出结果为“37”。 #include void main() int x; coutx; while(_(1)_); int i=2; do while(_(2)_) couti ; x/=i; _(3)_; while(ix); if(

25、x!=1) coutx; cout=i & _(3)_); return p*a*b;(1) (2) (3) 7. 在输出屏幕上打印出一个由字符*组成的等腰三角形,该三角形的高为5行,从上到下每行的字符数依次为1,3,5,7,9。 #include void main() int i,j; for(i=1;_(1)_;i+) for(j=1;j=9;j+) if(j=5-i | _(2)_) cout ; else _(3)_; coutendl;(1) (2) (3) 8. 统计字符串中英文字母个数的程序。 #include int count (char str); void main()

26、 char s180; cout s1; cout ”count=”count(s1)=a & stri=z |_(1)_ ) _(2)_; _(3)_;(1) (2) (3) 9. 主函数调用一个fun函数将字符串逆序。 #include #include _(1)_; void main( ) char s80; cins; _(2)_; cout”逆序后的字符串:”sendl ; void fun(char ss) int n=strlen(ss); for(int i=0; _(3)_; i+) char c=ssi; ssi=ssn1i; ssn1i=c;(1) (2) (3) 10

27、. 从一个字符串中删除所有同一个给定字符后得到一个新字符串并输出。 #include const int len=20; void delstr(char a,char b,char c); void main() char str1len,str2len; char ch; coutstr1; coutch; delstr(str1,str2,ch); coutstr2endl; void delstr(char a,char b,char c) int j=0; for(int i=0; _(1)_; i+) if(_(2)_) bj+=ai; bj=_(2)_;(1) (2) (3) 四

28、、写出程序运行结果 1. #include #include void main() int a8=25,48,32,85,64,18,48,29; int max,min; max=min=a0; for(int i=0; iai) max=ai; if(minai) min=ai; coutmax:maxendl; coutmin:minendl; 2. #include void main() int a,b; for(a=1,b=2; b50;) couta b ; a=a+b; b=a+b; coutendl; couta b endl; 3. #include const int

29、M=3, N=4; void main() int i,j,s=0; for(i=1;i=M;i+) for(j=1;j=N;j+) s+=i*j; cout”s=”sendl; 4. #include void main() int a=2,b=5,c=0; if(a+b10) c=a*b; else c=3*a+b; if(c=20) coutc*c; else cout4+c-5; coutendl; a=a+b; b=a+b;c+=a+b; couta,b,c=a,b,cendl; 5. #include void main() int x=5; switch(2*x-3) case 4: coutx ; case 7: cout2*x+1 ; case 10: cout3*x-1 ; break; default: coutdefaultendl; coutswitch end.endl; 6. #include

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 家庭教育

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁