《面向对象程序设计C》.docx
《《面向对象程序设计C》.docx》由会员分享,可在线阅读,更多相关《《面向对象程序设计C》.docx(125页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
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. defaultthenwhile
2、C. 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_123YNC.for-abcCaseD.2aDOsizeof10 .存储以下数据,占用存储字节最多的是()。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)c D. 1. 0/a/b/c14 .设“ int a=15, b=26;,则cout(a, b);的输出结果是()A. 15 B. 26, 15 C. 15,26 D.
4、2615 .设x是个bool型的逻辑量,y的值为10,则表达式x & y的值为()。A. 1 B. 0 C.与x值相同D.与x值相反16 . x0 & x=10的相反表达式为()。A.x10B.x10C.x=0x0 & x1017 . x0 I I y=5的相反表达式为()。A.x=0y!=5B.x0y!=5D. x0 & y=518 .设x和y均为bool量,则x & y为真的条件是()A,它们均为真B.其中一个为真C,它们均为假D.其中一个为假19 .设x和y均为bool量,则x | y为假的条件是()A,它们均为真B.其中一个为真C,它们均为假D.其中一个为假20 .字符串 a+b=12
5、n”的长度为()。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;C. const char ch;B. const int M=20;D. const bool mark=true;23 .循环语句a for (int i=0; in; i+) couti*i,中循环体执行的次数为兀A. 1 B. n-1 C. n D. n+124 .在下面循环语句中循环体执行的次数为()。for(int i=0;
6、in/2) break;A. n/2 B. n/2+1 C. n/2-l D. n-l25 .在下面循环语句中内层循环体S语句的执行总次数为()。for(int i二; 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+; while(i*i10);A. 4 B. 3 C. 5
7、D. 2)来解决。D. switch 语句D,任一种循环28 .当处理特定问题时的循环次数已知时,通常采用(A. for循环B. while循环C. do循环29 .循环体至少被执行一次的语句为()。A. for循环B. while循环C. do循环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. int a10 = 0;C. int a;D. int a5;
8、33 .在下面的字符数组定义中,哪个有语法错误。()。A. char a20=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 .假定一个二维数组的定义语句为“ int a 3 4 = 3, 4, 2, 8,6):,则元素al2 的值为()A. 2 B. 4 C. 6 D. 836 .假定一个二维数组的定义语句为“int a3 4 = 3, 4, 2, 8, 6:,
9、则元素a2l 的值为()A. 0 B. 4 C. 8 D. 637 .若定义了函数double *function(),则函数function的返回值为()。A.实数型B.实数的地址C.指向函数的指针 D.函数的地址38 .以下说法中正确的是()。A. C+程序总是从第一个定义的函数开始执行B. C+程序总是从main函数开始执行C. C+函数必须有返回值,否则不能使用函数D. C+程序中有调用关系的所有函数必须放在同一个程序文件中39 .以下叙述中不正确的是()。A.在个函数中,可以有多条return语句B.函数的定义不能嵌套,但函数的调用可以嵌套C.函数必须有返回值D.不同的函数中可以使用
10、相同名字的变量40 .函数重载是指()。A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的函数名字不同,但形参的个数或类型相同D.两个以上的函数取相同的函数名,并且函数的返回类型相同41 .以下关于函数模板叙述正确的是()。A,函数模板也是个具体类型的函数B.函数模板的类型参数与函数的参数是同一个概念C,通过使用不同的类型参数,函数模板可以生成不同类型的函数D.用函数模板定义的函数没有类型42 .下列()的调用方式是引用调用。A.形参和实参都是变量B.形参是指针,实参是地址值C.形参是引用,实参是
11、变量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 function(char *x) cha
12、r *p=x; while(*p+); return(p-x-l);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. 5 D. 649,以下正确的函数原型语句是
13、()A. doublefun (intx, inty)B. doublefun(intx;inty)C. doublefun(int,int);D. doublefun(intx, y);50 .以下正确的说法是()。A,用户调用标准库函数前,必须重新定义B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义C.系统不允许用户重新定义标准库函数D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源 文件中51 .函数调用不可以()。A,出现在个表达式中B.出现在执行语句中C.作为个函数的实参D.作为个函数的形参52,以下正确的描述是()。A,函数的定义可以嵌套,函数的调
14、用不可以嵌套B.函数的定义不可以嵌套,函数的调用可以嵌套C,函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可以嵌套53 .若用数组名作为函数调用的实参,传递给形参的是()。A.数组的首地址B.数组中第一个元素的值C,数组全部元素的值D.数组元素的个数54 .以下错误的描述是()。A.被调用函数中可以不用return语句B,被调用函数中可以用多个return语句C.被调用函数中,如果有返回值,就一定要有return语句D,被调用函数中,个return语句可返回多个值给调用函数55,以下正确的描述是()。A,不允许设置参数的默认值B.设置参数的默认值只能在定义函数时设置C.设置参数
15、的默认值时,应该设置右边的参数D.设置参数的默认值时,应该全部参数都设置56 .采用重载函数的目的是()。A.实现共享B1减少空间C.提高速度D,使用方便,提高可读性57 .将两个字符串连接起来组成一个字符串时,选用()函数。A. strlen() B. strcap() C. strcat () D. strcmp()58 .以下叙述中正确的是()A.使用#define可以为常量定义个名字,该名字在程序中可以再赋另外的值B.使用const定义的常量名有类型之分,其值在程序运行时是不可改变的C,在程序中使用内联函数使程序的可读性变差D.在定义函数时可以在形参表的任何位置给出缺省形参值 59.下
16、面的标识符中,()是文件级作用域。A.函数形参B.语句标号C.外部静态类标识符D.自动类标识符 60.以下叙述不正确的是().A,宏替换不占用运行时间B.宏名无类型C.宏替换只是字符替换D,宏名必须用大写字母表示61. C+语言的编译系统对宏命令的处理是()。A,在程序运行时进行B.在程序连接时进行C,和C+程序的其它语句同时进行编译D.在对源程序中其它成分正式编译之前进行62 .当#include后面的文件名用双引号括起来时,寻找被包含文件的方式是().A.直接按系统设定的标准方式搜索目录B.先在源程序所在H录搜索,再按系统设定的标准方式搜索目录C.仅仅搜索源程序所在目录D,搜索当前逻辑盘的
17、所有目录63 .当#include后面的文件名用尖括号括起来时,寻找被包含文件的方式是().A,直接按系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C.仅仅搜索源程序所在目录D.搜索当前逻辑盘上的所有目录64 .在下面存储类中,()对象的可见性与生存期不一致。A,外部类B.自动类 C.内部静态类 D.寄存器类65 .在下面存储类中,()的对象不是局部变量。A,外部静态类B,自动类 C.函数形参 D.寄存器类 66.关于局部变量,下面说法正确的是().A,定义该变量的程序文件中的函数都可以访问B.定义该变量的函数中的定义处以下的任何语句都可以访问C.定义该变
18、量的复合语句中的定义处以下的任何语句都可以访问D.定义该变量的函数中的定义处以上的任何语句都可以访问 67.文件包含命令中被包含的文件的扩展名()。A.必须是.hB.不能是.hC.可以是.h或.cpp D.必须是.cpp68 .预处理命令在程序中都是以()符号开头的。A. * B. # C. & D. 69 .设 array 为一个数组,则表达式 sizeof (array)/sizeof (array)的结果为A. array数组首地址B. array数组中元素个数C. array数组中每个元素所占的字节数D. array数组占的总字节数70 .用new运算符创建一个含10个元素的一维整型数
19、组的正确语句是()。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.下列给字符数组赋初值时,正确的是()D. char si= abcdef” ;B. char s24= abed;C. char s33 = abc , xyz” : D. chars44 = a , x , s , t ;72 .设有定义“ static int data56;”,设该数组在静态存储区中的起始地址为十 进制的100,若每个int型数占4个字节,则数组元素da
20、ta23的地址为(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所指向的同 个字符串,则应选取()。A. char *
21、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+3;78 .假定有定义“int b10; int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象程序设计C 面向 对象 程序设计
限制150内