《面向对象程序设计c++》综合复习题集及答案详解.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《面向对象程序设计c++》综合复习题集及答案详解.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计c++》综合复习题集及答案详解.docx(123页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计综 合 复 习 题、单选题1 . C+源程序文件的缺省扩展名为(A )。A. cpp B. exe C. obj D. lik2 .由C+源程序文件编译而成的目标文件的缺省扩展名为(C )A. cppB. exeC. objD. lik3 .由C+目标文件连接而成的可执行文件的缺省扩展名为(B )。A. cppB. exeC. objD. lik4 .编写C+程序一般需经过的几个步骤依次是()。A.编译、编辑、连接、调试B.编辑、编译、连接、调试C.编译、调试、编辑、连接D.编辑、调试、编辑、连接5 .以下标识符中不全是保留字的是()。A.caseforintB.default
2、thenwhileC.boolclasslongD.gotoreturnchar6 .能作为C+程序的基本单位是()。A,字符 B.语句 C.函数 D.源程序文件7 .程序中主函数的名字为()。A. main B. MAIN C. Main D,任意标识符8 . C+程序的基本模块为()。A,表达式B.标识符 C.语句 D.函数9 .可用作C+语言用户标识符的组标识符是()。A. voiddefine+W0RDB. a3_b3_123 YNC. for -abc CaseD. 2a DO sizeof10 .存储以下数据,占用存储字节最多的是()。A. 0 B. C. 0 D. 0.011 .
3、程序运行中需要从键盘上输入多于个数据时,各数据之间应使用()符号作为 分隔符。A.空格或逗号B.逗号或回车 C.逗号或分号D.空格或回车12 .设“ int a=12;,则执行完语句 a+=a*a; 后,a的值是().A. 12 B. 144 C. 156 D. 28813 .假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示 代数式 1/abc 的表达式是() A. 1. 0/a*b*c B. l/(a*b*c) C. 1/a/b/(float)cD. 1.0/a/b/c14 .设int a=15, b=26; n ,则cout(a, b);的输出结果是()。A. 15
4、 B. 26,15 C. 15,26 D. 2615 .设x是个bool型的逻辑量,y的值为10,则表达式x & y的值为().A. 1 B. 0 C.与x值相同 D.与x值相反16 . x0 & x=10的相反表达式为()。A.x10B.x10C.x=0IIx0 & x1017 . x0 | y=5的相反表达式为()。A.x=0IIy!=5B.x0 IIy !=5D.x0 & y=518 .设x和y均为bool量,则x&y为真的条件是()。A.它们均为真B,其中一个为真C.它们均为假D.其中一个为假19 .设x和y均为bool量,则x | y为假的条件是()A.它们均为真B.其中一个为真C.
5、它们均为假D,其中一个为假20 .字符串 a+b=12nM的长度为()。A. 6 B. 7 C. 8 D. 921 .假定下列x和y均为int型变量,则不正确的赋值为()。A. x+=y+ B. x+=y+ C. x=+y D. +x=+y22 .下列的符号常量定义中,错误的定义是()。A. const M=10;B. const int M=20;C. const char ch;D. const bool mark=true;23 .循环语句for(int i=0; in; i+) couti*i,,;”中循环体执行的次数为 )A. 1 B. n-1 C. n D. n+124 .在下面循
6、环语句中循环体执行的次数为()。for(int i=0; in/2) break;A. n/2 B. n/2+1 C. n/2-1 D. n-125 .在下面循环语句中内层循环体S语句的执行总次数为()。for(int i=0; in; i+)for(int j=i; jn; j+) S;A. n2 B. (n+l)/2 C. n(n-l)/2 D. n(n+l)/226 .在下面循环语句中循环体执行的次数为()。int i=0, s=0; while(s20) i+; s+=i;A. 4 B. 5 C. 6 D. 727 .在下面循环语句中循环体执行的次数为()。int i=0; do i+
7、; while(i*i10);A. 4 B. 3 C. 5 D. 228 .当处理特定问题时的循环次数已知时,通常采用()来解决。A. for循环B. while循环C. do循环D. switch语句29 .循环体至少被执行一次的语句为()。A. for循环B. while循环C. do循环D,任一种循环30 . switch语句能够改写为()语句。A. for B. if C. do D. while31 . do语句能够改写为()语句。A.复合 B. if C. switch D. while32 .在下面的维数组定义中,哪一个有语法错误。()A. int a=l, 2, 3;B. in
8、t a10=0;C. int a;D. int a5;33 .在下面的字符数组定义中,哪个有语法错误。()。A. char a20=M abcdefg” ; B. char a口=x+y=55.C. char a15;D. char a10=, 5,;34 .在下面的二维数组定义中,正确的是()。A. int a5 ;B. int a 5;C. int a3=l,3,5, 2; D. int a (10);35 .假定个二维数组的定义语句为“inta3 4 = 3, 4, 2,8, 6);”,则標al2 的值为()。A. 2 B. 4 C. 6 D. 836 .假定一个二维数组的定义语句为“i
9、nta3 4=3, 4, 2,8,6;”,则旗a2l 的值为()。A. 0 B. 4 C. 8 D. 637 .若定义了函数double *function()则函数function的返回值为()。A.实数型B.实数的地址C.指向函数的指针D.函数的地址38 .以下说法中正确的是()。A. Ci程序总是从第一个定义的函数开始执行B. C+程序总是从main函数开始执行C. C+函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一个程序文件中39 .以下叙述中不正确的是()。A.在个函数中,可以有多条return语句B,函数的定义不能嵌套,但函数的调用可以嵌套C.函
10、数必须有返回值D.不同的函数中可以使用相同名字的变量40 .函数重载是指()。A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同 C.两个以上的函数名字不同,但形参的个数或类型相同 D.两个以上的函数取相同的函数名,并且函数的返回类型相同41 .以下关于函数模板叙述正确的是()。A,函数模板也是个具体类型的函数B,函数模板的类型参数与函数的参数是同一个概念C.通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型42 .下列()的调用方式是引用调用。A,形参和实参都是变量B.形参
11、是指针,实参是地址值C.形参是引用,实参是变量D.形参是变量,实参是地址值43 .为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()A.内联函数B.重载函数C.递归函数D.函数模板44 .函数原型语句正确的是()。A. int Function(void a); B. void Function (int);C. int Function(a);D. void int(double a);45 . C+中函数返回值的类型是由()决定的。A. return语句中表达式的类型B.该函数定义时的类型C.调用函数时的调用语句D.系统根据结果46 .以下函数的返回结果是()。int
12、function(char *x)(char *p=x; while(*p+); return(p-x-1);A.求字符串的长度B.将字符串x连接到字符串p后面C.将字符串x复制到字符串p中 D.将字符串x反向存放47 .函数调用func( (expl, exp2), (exp3, exp4, exp5)中所含实参的个数为()个。A. 1 B. 2 C. 4 D. 548 .设有如下函数定义int f(char *s)(char *p=s;while(*p!=, 、 ) p+;return(p-s);)在主函数中用coutf( “good”)调用上述函数,则输出结果为(A. 3 B. 4 C.
13、 5 D. 649 .以下正确的函数原型语句是()。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 .以下正确的说法是()。A.用户调用标准库函数前,必须重新定义B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义C.系统不允许用户重新定义标准库函数D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源 文件中51 .函数调用不可以()。A.出现在个表达式中B,出现在执行语句中C.作为个函数的实参D.作为个函数
14、的形参52,以下正确的描述是()。A,函数的定义可以嵌套,函数的调用不可以嵌套B.函数的定义不可以嵌套,函数的调用可以嵌套C.函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可以嵌套53 .若用数组名作为函数调用的实参,传递给形参的是()。A,数组的首地址B.数组中第一个元素的值C.数组全部元素的值D.数组元素的个数54 .以下错误的描述是()。A.被调用函数中可以不用return语句B,被调用函数中可以用多个return语句C,被调用函数中,如果有返回值,就一定要有return语句D,被调用函数中,个return语句可返冋多个值给调用函数55,以下正确的描述是()。A.不允许设
15、置参数的默认值B.设置参数的默认值只能在定义函数时设置C.设置参数的默认值时,应该设置右边的参数D.设置参数的默认值时,应该全部参数都设置56 .采用重载函数的目的是()。A.实现共享B.减少空间C.提高速度D.使用方便,提高可读性57 .将两个字符串连接起来组成一个字符小时,选用()函数。A. strlenO B. strcapO C. strcat () D. strcmp()58 .以下叙述中正确的是()。A.使用#define可以为常量定义个名字,该名字在程序中可以再赋另外的值B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C,在程序中使用内联函数使程序的可读性变
16、差D,在定义函数时可以在形参表的任何位置给出缺省形参值59 .下面的标识符中,()是文件级作用域。A.函数形参B.语句标号C.外部静态类标识符D.自动类标识符60 .以下叙述不正确的是()A.宏替换不占用运行时间B,宏名无类型C.宏替换只是字符替换D.宏名必须用大写字母表示61 . C+语言的编译系统对宏命令的处理是()A.在程序运行时进行B.在程序连接时进行C,和C+程序的其它语句同时进行编译D,在对源程序中其它成分正式编译之前进行62 .当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是( )A.直接按系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按系统设定的
17、标准方式搜索冃录C.仅仅搜索源程序所在目录D.搜索当前逻辑盘上的所有目录63 .当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是()。A,直接按系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C.仅仅搜索源程序所在目录D.搜索当前逻辑盘上的所有目录64,在下面存储类中,()对象的可见性与生存期不一致。A.外部类B.自动类 C.内部静态类 D,寄存器类65 .在下面存储类中,()的对象不是局部变量。A,外部静态类B,自动类 C.函数形参 D,寄存器类66 .关于局部变量,下面说法正确的是()。A.定义该变量的程序文件中的函数都可以访问B,
18、定义该变量的函数中的定义处以下的任何语句都可以访问C,定义该变量的复合语句中的定义处以下的任何语句都可以访问D,定义该变量的函数中的定义处以上的任何语句都可以访问67 .文件包含命令中被包含的文件的扩展名()。A.必须是.h B.不能是.h C.可以是.h或.cpp D.必须是.cpp68 .预处理命令在程序中都是以()符号开头的。A. * B. n C. & D. 69 .设 array 为一个数组,则表达式 sizeof (array)/sizeof (array 0)的结果为)0A. array数组首地址B. array数组中元素个数C. a门ay数组中毎个元素所占的字节数D. arra
19、y数组占的总字节数70 .用new运算符创建一个含10个元素的一维整型数组的正确语句是()。A. int *p=new a10;B. int *p=new float10;C. int *p=new int10;D. int *p=new int10 = l, 2, 3,4,5)71 .下列给字符数组赋初值时,正确的是()。A. char si 口=abcdef ;B. char s24= abed;C. char s32 3 = abcw , n xyzw ; D. chars44匕,x s;72 .设有定义“ static intdata56;”,设该数组在静态存储区中的起始地址为十 进制
20、的100,若每个int型数占4个字节,则数组元素data23的地址为()。A. 115 B. 124 C. 130 D. 16073 .假定变量m定义为“int m=7;则定义变量p的正确语句为()。A. int p=&m;B. int *p=&m; C. int &p二*m;D. int *p=m;74 .假定k是个double类型的变量,则关于变量p的正确定义语句为()。A. double p=&k;B. int *p=&k;C. double &p二k;D. char *p二 Thank you!;75 .变量s的定义为“char *s二 Hello world! ,要使变量p指向s所指
21、向的同 一个字符串,则应选取()。A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s;76 .关于void指针,下列说法正确的是()。A. void指针就是未指向任何数据的指针B. void指针就是己定义而未初始化的指针C.指向任何类型数据的指针可直接赋值给个void指针D. void指针值可直接赋给个非void指针77 .假定一条定义语句为“int a10, x, *pa=a;,若要把数组a中下标为3的元素 值赋给x,则不正确的语句为()。A. x=pa3 :B. x二* (a+3);C. x=a3; D. x二pa+
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计c+ 面向 对象 程序设计 综合 复习题 答案 详解
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内