书签 分享 收藏 举报 版权申诉 / 32
上传文档赚钱

类型(完整版)C++语言程序设计期末复习题.doc

  • 上传人(卖家):刘殿科
  • 文档编号:5771799
  • 上传时间:2023-05-07
  • 格式:DOC
  • 页数:32
  • 大小:81KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《(完整版)C++语言程序设计期末复习题.doc》由用户(刘殿科)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    完整版 C+ 语言程序设计 期末 复习题
    资源描述:

    1、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. 编辑、编译、连接、运行 C. 编译、运行、编辑、连接 D. 编辑、运行、编辑、连接 5. 以下标识符中不全

    2、是保留字的是( 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+语言用户标识符的一组标识符是( B )。A. void define +WORDB. a3_b3 _123

    3、 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、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是( D )。A.

    4、 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. 它们均为假 D. 其中一个为假 19设x和y均为bool量,则x | y为假的条件是( C

    5、)。 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 char ch; D. const bool mark=true; 23. 循环语句“for(i

    6、nt 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-1)/2 D. n(n+1)/2 26. 在下面循环语句中循环体执行的次数为( C )。

    7、 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. do循环 D. 任一种循环 30. switch语句能够改写为( B )语句。 A. f

    8、or 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 a10=5; 34. 在下面的二维数组定义中,正确的是( C )。 A. int a5;

    9、 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. 实数型 B.实数的地址 C.指向函数的指针 D.函数的地址 38. 以下说法中正确的是( B )

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

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

    12、重载函数 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) char *p=x; while(*p+); return(p-x-1); A. 求字符串的长

    13、度 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 49. 以下正确的函数原型语句是( C )。 A. double fun(int x,int

    14、 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+语言的编译单位是扩展名为_的_源代码_文件。 3. 行尾使用注释的开始标记符为_。 4. 多行注释的开始标记符

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

    16、命令可以包含一个头文件,也可以包含一个_文件。 15一个函数定义由_和_两部分组成。 16若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的_语句。 17C+头文件和源程序文件的扩展名分别为_和_。 18程序文件的编译错误分为_和_两类。 19当使用_保留字作为函数类型时,该函数不返回任何值。 20当函数参数表用_保留字表示时,则表示该参数表为空。 21从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为_,该函数带有_个参数。 22. 当执行cout语句输出endl数据项时,将使C+显示输出屏幕上的光标从当前位置移动到_的开始位置。 23. 假定x=5

    17、,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+表示为_。10是A了 30. 十进制常数245对应的八进制的C+表示为_。 31. signe

    18、d 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+中存储字符串”abcdef”至少需要_个字节。 39. 在C+中存储字符串”a+b=c”至少需要_个字节。 4

    19、0. 假定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 & !x的值为_。48. 假定x是一个逻辑量,则x | !x的值为_。49. 数学算式的C+

    20、表达式为_。 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. 若x=5, y=10, 则计算y*=+x表达式后,x和y的值分别为_和_。 58. 假定x和

    21、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() int f,f1,f2,i; cout” 斐波那契数列:n”; f1=0; f2=1; c

    22、outsetw(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=_(3)_; coutsendl; (1) (2) (3) 3. 打印出2至99之间的

    23、所有素数(即不能被任何数整除的数)。 #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 | _(1)_) coutab; while(b) int r; r=a%b; _(

    24、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(x!=1) coutx; cout=i & _(3)_); return p*a*

    25、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() char s180; cout s1; cout ”count=”count

    26、(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. 从一个字符串中删除所有同一个给定字符后得到一个新字符串并输出。 #in

    27、clude 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) 四、写出程序运行结果 1. #include #include void

    28、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 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)

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:(完整版)C++语言程序设计期末复习题.doc
    链接地址:https://www.163wenku.com/p-5771799.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库