面向对象程序设计综合练习题.pdf
《面向对象程序设计综合练习题.pdf》由会员分享,可在线阅读,更多相关《面向对象程序设计综合练习题.pdf(85页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计综合练习题一 单项选择题1.C+源程序文件的缺省扩展名为()。A.cpp B.exe C.obj D.lik2.由C+源程序文件编译而成的目标文件的缺省扩展名为(A.cpp B.exe C.obj D.lik3.由C+目标文件连接而成的可执行文件的缺省扩展名为()。A.cpp B.exe C.obj D.lik4.编写C+程序一般需经过的几个步骤依次是()。A.编译、编辑、连接、调试 B.编辑、编译、连接、调试C.编译、调试、编辑、连接 D.编辑、调试、编辑、连接5.以下标识符中不全是保留字的是()oA.case for int B.default then whileC.bo
2、ol class long D.goto return char6.能作为C+程序的基本单位是()。A.字符 B.语句 C.函数 D.源程序文件7.程序中主函数的名字为(A.main B.MAIN C.Main D.任意标识符8.C+程序的基本模块为()A.表达式 B.标识符 C.语句 D.函数9.可用作C+语言用户标识符的一组标识符是()。A.voiddefine-FWORDB.a3_ b3_ 123YNC.for-abcCaseD.2aDOsizeof1 0.存储以下数据,占用存储字节最多的是()oA.0B.0 C.0 D.0.011.程序运行中需要从键盘上输入多于一个数据时,各数据之间应
3、使用()符号作为分隔符。A.空格或逗号 B.逗号或回车 C.逗号或分号 D.空格或回车12.设“inta=12;”,则执行完语句 a+=a*a;后,a的值是()。A.12 B.144 C.156 D.28813.假设在程序中a、b、c均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是()。A.1.0/a*b*c B.1/(a*b*c)C.1/a/b/(float)c D.1.0/a/b/c1 4.设int a=15,b=26;,则coutvv(a,b);”的输出结果是()A.15 B.26,15C.15,26 D.2615.设x是一个bool型的逻辑量,y的值为1 0,则表达式
4、x&y的 值 为()。A.1 B.0C.与x值相同 D.与x值相反16.x0&xv=10的相反表达式为()oA.x10C.x=0 1 1 x=10B.x10D.x0&x1017.x0|y=5 的相反表达式为()oA.x=0 1 1 y!=5 B.x0 1 1 y!=5 D.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=12n”的长度为()。A.6
5、B.7C.8 D.921.假定下列x 和 y 均为in t型变量,则不正确的赋值为(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 m ark=true;2 3.循环语句fo r(int i=0;ivn;i+)c o u t v v iT v v 中循环体执行的次数为()。A.1 B.n-1C.n D.n+12 4.在下面循环语句中循环体执行的次数为()。for(int i=0;ivn;i+)if(i n/2)break;A
6、.n/2 B.n/2+1C.n/2-1 D.n-12 5.在下面循环语句中内层循环体S 语句的执行总次数为()ofor(int i=0;ivn;i+)for(int j=i;j n;j+)S;A.n2 B.(n+1)/2C.n(n-1)/2 D.n(n+1)/22 6.在下面循环语句中循环体执行的次数为()。int i=0,s=0;while(s20)i+;s+=i;A.4 B.5C.6D.72 7.在下面循环语句中循环体执行的次数为()。in t0;do i+;while(i*i 1 0);A.4B.3C.5 D.228.当处理特定问题时的循环次数已知时,通常采用()来解决。A.fo r循环
7、 B.w hile循环C.d o 循环 D.sw itch语句29.循环体至少被执行一次的语句为()。A.for循环 B.while循环C.do循环 D.任一种循环30.switch语句能够改写为()语句。A.for B.ifC.do D.while31.do语句能够改写为()语句。A.复合 B.ifC.switch D.while3 2.在下面的一维数组定义中,哪一个有语法错误。()A.int a=1,2,3;B.int a10=0;C.int a;D.int a5;33.在下面的字符数组定义中,哪一个有语法错误。(A.char a20=abcdefg ;B.char a=x+y=55.”;
8、C.char a15;D.char a10=title,v Wang Tao);B.strcpy(book.title,“Wang Tao”);C.strcpy(*book.title,w Wang Tao);D.strcpy(*book)-title,w Wang Tao”);86.假定有struct BOOKchartitle40;float price;BOOK book;,则不正确的语句为(8A.BOOK*x=new book;B.BOOK x=”C+Programming,27.0;C.BOOK*x=new BOOK;D.BOOK*x=book;8 7.假定有“struct BOOK
9、char float price;book;“,则正确的语句为()。A.BOOK&x=&book;B.BOOK&x=book;C.BOOK&x=new BOOK;D.BOOK&x=BOOK;8 8.下列对引用的陈述中不正确的是()。A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间8 9.假定变量a和pa定义为double a10,*p a=a;,要 将12.35赋值给a中的下标为5的元素,不正确的语句是()。A.pa5=12.35;B.a5=
10、12.35;C.*(pa+5)=12.35;D.*(a0+5)=12.35;90.假定变量b和pb定义为“int b10,*pb=b;,要将24赋值给b1 元素中,不正确的语句是(A.*(pb+1)=24;B.*(b+1)=24;C.*+b=24;D.*+pb=24;91.假定指针变量p定义为“int*p=new int(100);”,要释放p所指向的动态内存,应使用语句()。A.delete p;B.delete*p;C.delete&p;D.delete p;92.假定指针变量p定义为“int*p=newint30;,要释放p所指向的动态内存,应使用语句()。A.delete p;B.de
11、lete*p;C.delete&p;D.delete p;9 3.假定变量x定义为“int x=5;,要 使rx成为x的引用(别名),rx应定义为()A.int rx=x;B.int rx=&x;C.int*rx=&x;D.int&rx=x;94.关于消息,下列说法中不正确的是()。A.发送消息的对象请求服务,接受消息的对象提供服务B.消息的发送者必须了解消息的接收者如何相应消息C.在C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用D.每个对象只能接收某些特定格式的消息95.关于封装,下列说法中不正确的是()。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,
12、一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的96.面向对象方法的多态性是指(A.一个类可以派生出多个特殊类B.一个对象在不同的运行环境中可以有不同的变体C.针对一消息,不同的对象可以以适合自身的方式加以响应D.一个对象可以是由多个其他对象组合而成的97.软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的()。A.可维护性 B.可复用性C.兼容性 D.正确性98.软件产品可被全部或部分地再用于新的应用的能力叫做软件的()。A.可维护性 B.可复用性C.兼容性
13、 D.正确性99.软件产品与其他软件产品组合成一个整体的难易程度叫做软件的()。A.可维护性 B.可复用性C.兼容性 D.正确性100.软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件的()。A.可维护性 B.可复用性C.兼容性 D.正确性101.面向对象软件开发中使用的OOA表 示()。A.面向对象分析 B.面向对象设计C.面向对象语言D.面向对象方法102.面向对象软件开发中使用的00 D表 示()。A.面向对象分析B.面向对象设计C.面向对象语言 D.面向对象方法103.关于面向对象系统分析,下列说法中不正确的是()oA.术 语“面向对象分析”可以用缩写OOA表示B.面向对
14、象分析阶段对问题域的描述比实现阶段更详细C.面向对象分析包括问题域分析和应用分析两个步骤D.面向对象分析需要识别对象的内部和外部特征104.在一个类的定义中,包 含 有()成员的定义。A.数据 B.函数 C.数据和函数 D.数据或函数105.在类作用域中能够通过直接使用该类的()成员名进行访问。A.私有 B.公用 C.保护 D.任何106.在关键字public后面定义的成员为类的()成员。A.私有 B.公用 C.保护 D.任何107.在关键字private后面定义的成员为类的()成员。A.私有 B.公用 C.保护 D.任何108.假 定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,
15、则访问x对象中数据成员a的格式为()。A.x(a)B.xa C.x-a D.x.a109.假 定AA为一个类,a()为该类公有的函数成员,x为该类的一个对象,则访问x对象中函数成员a()的格式为()。A.x.a B.x.a()C.x-a D.x-a()110.假 定AA为一个类,a为该类公有的数据成员,p x为指向该类对象的一个指针,则访问p x所指对象中数据成员a的 格 式 为()。A.px(a)B.pxa C.px-a D.px.a111.假定AA为一个类,a为该类私有的数据成员,GetValue。为该类公有函数成员,它返回a的值,x为该类的一个对象,则访问x对象中数据成员a的格式为()。
16、A.x.a B.x.a()C.x-GetValue()D.x.GetValue()112.假 定AA为一个类,inta()为该类的一个成员函数,若该成员函数在类定义体外定义,则函数头为()。A.int AA:a()B.int AA:a()C.AA:a()D.AA:int a()113.假 定AA为一个类,a为该类公有的数据成员,若要在该类的一个成员函数中访问它,则书写格式为()。A.a B.AA:a C.a()D.AA:a()114.若需要把一个类外定义的成员函数指明为内联函数,则必须把关键字()放在函数原型或函数头的前面。A.in B.inline C.inLine D.InLiner115
17、.在多文件结构的程序中,通常把类的定义单独存放于()中。A.主文件 B.实现文件 C.库文件 D.头文件116.在多文件结构的程序中,通常把类中所有非内联函数的定义单独存放于()中。A.主文件 B.实现文件 C.库文件 D.头文件117.在多文件结构的程序中,通常把含有main。函数的文件称为()。A.主文件 B.实现文件 C.程序文件 D.头文件118一 个C+程序文件的扩展名为()。A.h B.c C.cpp D.,cp119.在C+程序中使用的cin标识符是系统类库中定义的()类中的一个对象。A.istream B.ostream C.iostream D.fstream120.在C+程
18、序中使用的cout标识符是系统类库中定义的()类中的一个对象。A.istream B.ostream C.iostream121.假定AA是一个类,abc是该类的一个成员函数,D.fstream则参数表中隐含的第一个参数的类型为(A.int B.char C.AAD.AA*1 2 2.假定AA是一个类,abc是该类的一个成员函数,则参数表中隐含的第一个参数为()。A.abc B.*this C.this D.this&1 2 3.假 定AA是一个类,“AA&abc();”是该类中一个成员函数的原型,若该函数存在对*this赋值的语句,当用x.abc()调用该成员函数后,x的 值()oA.已经被
19、改变 B.可能被改变C.不变 D.不受函数调用的影响1 2 4.假定AA是一个类,“AA*当用x.abc()调用该成员函数后,A.已经被改变C.不变abc()const;”是该类中一个成员函数的原型,若该函数返回this值,x的 值()。B.可能被改变D.受到函数调用的影响125.类中定义的成员默认为()访问属性。A.public B.private C.protected126.结构中定义的成员默认为()访问属性。A.public B.private C.protectedD.friendD.friend127.当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为
20、()。A.n B.n+1 C.n-1D.n-21 2 8.在一个用数组实现的队列类中,则 队 尾(即最后一个)元素的位置为(A.length+1C.(first+length-1)%MS1 2 9.在一个用数组实现的队列类中,则队尾的后一个位置为()。A.length+1C.(first+length-1)%MS1 3 0.在一个用数组实现的队列类中,则队首的后一个位置为()。A.first+1C.(first-1)%MS1 3 1.在一个用链表实现的队列类中,假定数组长度为M S,队首元素位置为first,)。B.first+lengthD.(first+length)%MS假定数组长度为M
21、 S,队首元素位置为first,B.first+lengthD.(first+length)%MS假定数组长度为M S,队首元素位置为first,队列长度为length,队列长度为length,队列长度为length,B.(first+1)%MSD.(first+length)%MS假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队非空,则进行插入时必须把新结点的地址赋给()。A.elemHead B.elemTailC.elemHead-next 和 elemHead D.elemTail-next
22、和 elemTail1 3 2.在一个用链表实现的队列类中,假定每个结点包含的值域用elem表示,包含的指针域用next表示,链队的队首指针用elemHead表示,队尾指针用elemTail表示,若链队为空,则进行插入时必须把新结点的地址赋给()。A.elemHead B.elemTailC.elemHead 和 elemTailD.elemHead 或 elemTail1 3 3.队列具有A.先进先出134.栈 具 有(A.先进先出)的操作特性。B.先进后出)的操作特性。B.先进后出C.进出无序C.进出无序D.进出任意D.进出任意135.对于一个类的构造函数,其函数名与类名()。A.完全相同
23、 B.基本相同 C.不相同 D.无关系136.对于一个类的析构函数,其函数名与类名()。A.完全相同 B.完全不同 C.只相差一个字符 D.无关系137.类的构造函数是在定义该类的一个()时被自动调用执行的。A.成员函数 B.数据成员C.对象 D.友元函数138.类的析构函数是一个对象被(A.建立 B.撤消)时自动调用的。C.赋值 D.引用139.一个类的构造函数通常被定义为该类的()成员。A.公用 B.保护 C.私有 D.友元140.一个类的析构函数通常被定义为该类的()成员。A.私有 B.保护 C.公用 D.友元141.假 定AB为一个类,则 执 行“AB X;”语句时将自动调用该类的()
24、。A.带参构造函数 B.无参构造函数C.拷贝构造函数 D.赋值重载函数142.假 定AB为一个类,则 执 行“AB x(a,5);”语句时将自动调用该类的()。A.带参构造函数 B.无参构造函数C.拷贝构造函数 D.赋值重载函数143.假 定AB为一个类,则 执 行AB*s=new AB(a,5);”语 句 时 得 到 的 一 个 动 态 对 象 为.A.s B.s-a C.s.a D.*s144.假 定AB为一个类,则 执 行“AB r1=r2;”语句时将自动调用该类的()。A.无参构造函数 B.带参构造函数C.赋值重载函数D.拷贝构造函数145.若需要使类中的一个指针成员指向一块动态存储空
25、间,则通常在()函数中完成。A.析构 B.构造 C.任一成员 D.友元146.当类中的一个整型指针成员指向一块具有n*sizeof(int)大小的存储空间时,它最多能够存储()个整数。A.n B.n+1 C.n-1 D.1147.假定一个类的构造函数为A(int aa,int bb)a=aa;b=aa*bb;”,则 执 行A x(4,5);”语句后,x.a和x.b的值分别为()oA.4 和 5 B.5 和 4 C.4 和 20 D.20 和 5148.假定一个类的构造函数为“A(intaa=1,intbb=0)a=aa;b=bb;”,则执行“A x(4);”语句后,x.a和x.b的值分别为()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 综合 练习题
限制150内