资源描述
C+语言程序设计自测练习一、单项选择题1.函数调用不可以()。A.出现在一个表达式中B.出现在执行语句中C.作为一个函数的实参D.作为一个函数的形参2 .以下正确的描述是()。A.函数的定义可以嵌套,函数的调用不可以嵌套B.函数的定义不可以嵌套,函数的调用可以嵌套C.函数的定义和函数的调用均可以嵌套D.函数的定义和函数的调用均不可以嵌套3.若用数组名作为函数调用的实参,传递给形参的是()。A.数组的首地址 B.数组中第一个元素的值C.数组全部元素的值 D.数组元素的个数4 .以下错误的描述是()。A.被调用函数中可以不用r e t u r n 语句B.被调用函数中可以用多个r e t u r n 语句C.被调用函数中,如果有返回值,就一定要有r e t u r n 语句D.被调用函数中,个r e t u r n 语句可返回多个值给调用函数5 .以下正确的描述是()。A.不允许设置参数的默认值B.设置参数的默认值只能在定义函数时设置C.设置参数的默认值时,应该设置右边的参数D.设置参数的默认值时,应该全部参数都设置6 .采用重载函数的目的是()。A.实现共享 B,减少空间C.提高速度 D.使用方便,提高可读性7 .将两个字符串连接起来组成一个字符串时,选 用()函数。A.s t r l e n O B.s t r ca p ()C.s t r ca t ()D.s t r cm p ()8 .以下叙述中正确的是()oA.使用#d e f i n e 可以为常量定义一个名字,该名字在程序中可以再赋另外的值B .使 用 co n s t 定义的常量名有类型之分,其值在程序运行时是不可改变的C.在程序中使用内联函数使程序的可读性变差D.在定义函数时可以在形参表的任何位置给出缺省形参值9 .下面的标识符中,()是文件级作用域。A.函 数 形 参 B.语 句 标 号 C.外部静态类标识符D.自动类标识符10 .以下叙述不正确的是()oA.宏替换不占用运行时间 B.宏名无类型C.宏替换只是字符替换 D.宏名必须用大写字母表示11.C+语言的编译系统对宏命令的处理是()。A.在程序运行时进行B.在程序连接时进行C.和 C+程序的其它语句同时进行编译D.在对源程序中其它成分正式编译之前进行12 .当#i n cl u d e 后面的文件名用双引号括起来时,寻找被包含文件的方式是()。A.直接按系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C.仅仅搜索源程序所在目录D.搜索当前逻辑盘上的所有目录13.当#i n cl u d e 后面的文件名用尖括号括起来时,寻找被包含文件的方式是()。A.直接按系统设定的标准方式搜索目录B.先在源程序所在目录搜索,再按系统设定的标准方式搜索目录C.仅仅搜索源程序所在目录D.搜索当前逻辑盘上的所有目录14 .在下面存储类中,()对象的可见性与生存期不一致。A.外部类 B.自动类 C.内部静态类 D.寄存器类15 .在下面存储类中,()的对象不是局部变量。A.外部静态类B.自动类 C.函数形参 D.寄存器类16 .关于局部变量,下面说法正确的是()。A.定义该变量的程序文件中的函数都可以访问B.定义该变量的函数中的定义处以下的任何语句都可以访问C.定义该变量的复合语句中的定义处以下的任何语句都可以访问D.定义该变量的函数中的定义处以上的任何语句都可以访问1 7 .文件包含命令中被包含的文件的扩展名()。A.必须是.h B.不能是.h C.可以是.h 或.cp p D.必须是.cp p1 8 .预处理命令在程序中都是以()符号开头的。A.*B.#C.&D.1 9.设 ar r ay 为一个数组,则表达式 si z e o f (ar r ay)/si z e o f (ar r ay 0)的结果为()oA.ar r ay 数组首地址B.ar r ay 数组中元素个数C.ar r ay 数组中每个元素所占的字节数D.ar r ay 数组占的总字节数2 0 .用 n e w 运算符创建一个含1 0 个元素的一维整型数组的正确语句是()oA.i n t*p=n e w a1 0;B.i n t*p=n e w f l o at1 0;C.i n t*p=n e w i n t 1 0;D.i n t*p=n e w i n t 1 0 =1,2,3,4,5)2 1 .下列给字符数组赋初值时,正 确 的 是()oA.ch ar si =abcd e f”;B.ch ar s2 4 =abe d ;C.ch ar s3 2 3 =abc ,x y z ;D.ch ars4 4 =a,x s,t;2 2 .设有定义“stati c i n td ata5 6;,设该数组在静态存储区中的起始地址为十进制的1 0 0,若每个i n t型数占4个字节,则数组元素d ata2 3 的 地 址 为()oA.1 1 5 B.1 2 4 C.1 3 0 D.1 6 02 3 .假定变量m定义为“i n tm=7;,则定义变量p的正确语句为()。A.i n t p=&m;B.i n t*p=&m;C.i n t&p=*m;D.i n t*p=m;2 4 .假定k 是一个d o u bl e 类型的变量,则关于变量p的正确定义语句为()OA.d o u bl e p=&k;B.i n t*p=&k;C.d o u bl e&p=*k;D.ch ar *p=T h an k y o u!2 5 .变量s 的定义为 ch ar *s=He l l o w o r l d!;,要使变量p 指向s所指向的同一个字符串,则应选取()。A.ch ar *p=s;B.ch ar *p=&s;C.ch ar *p;p=*s;D.ch ar *p;p=&s;2 6 .关于v o i d 指针,下列说法正确的是()。A.v o i d 指针就是未指向任何数据的指针B.v o i d 指针就是已定义而未初始化的指针C.指向任何类型数据的指针可直接赋值给一个v o i d 指针D.v o i d 指针值可直接赋给一个非v o i d 指针2 7 .假定一条定义语句为 i n ta1 0,x,*p a=a;,若要把数组a 中下标为 3的元素值赋给x,则不正确的语句为()。A.x=p a3 ;B.x=*(a+3);C.x=a3 ;D.x=*p a+3;2 8 .假定有定义“i n tb1 0;i n t*p b;,则不正确的赋值语句为()。A.p b=b;B.p b=&b0;C.*p b=n e w i n t;D.p b=b5;2 9.假 定 p是具有d o u bl e 类型的指针变量,则表达式+p 使 p的 值(以字节为单位)增 加()。A.1 B.4 C.si z e o f(d o u bl e)D.si z e o f(p)3 0 .假定p 指向的字符串为 str i n g ,则co u t p+3 的输出结果为()0A.str i n g B.r i n g C.i n g D.i3 1 .假定p 指向的字符串为 str i n g”,若要输出这个字符串的地址值,则使 用()。A.co u t *p;B.co u t p;C.co u t title,“Wang Tao);B.strcpy(book,title,Wang Tao);C.strcpy(*book.title,Wang Tao);D.strcpy(*book)-title,M Wang Tao);36.假定有struct BOOK char title 40;float price;BOOK*book;,则不正确的语句为()。A.BOOK*x=new book;B.BOOK x=C+Programming”,27.0;C.BOOK*x=new BOOK;D.BOOK*x=book;37.假定有 wstruct BOOK char title40;float price;book;w,则正确的语句为()。A.BOOK&x=&book;B.BOOK&x=book;C.BOOK&x=new BOOK;D.BOOK&x=B00K;38.下列对引用的陈述中不正确的是()。A.每一个引用都是其所引用对象的别名,因此必须初始化B.形式上针对引用的操作实际上作用于它所引用的对象C.一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行D.不需要单独为引用分配存储空间3 9.假定变量a 和 p a定义为“d o u bl e a1 0,*p a=a;,要将1 2.3 5 赋值给 a 中的下标为5的元素,不正确的语句是()。A.p a5=1 2.3 5;B.a5=1 2.3 5;C.*(p a+5)=1 2.3 5;D.*(a0+5)=1 2.3 5;4 0 .假定变量b 和 p b定义为“i n t b1 0,*p b=b;,要将2 4 赋值给bl 元素中,不正确的语句是()。A.*(p b+l)=2 4;B.*(b+l)=2 4;C.*+b=2 4;D.*+p b=2 4;4 1 .假定指针变量p 定义为 i n t*p=n e w i n t(1 0 0);”,要释放p 所指向的动态内存,应使用语句()。A.d e l e te p;B.d e l e te *p;C.d e l e te&p;D.d e l e te p;4 2.假定指针变量p 定义为 i n t*p=n e w i n t3 0;w,要释放p 所指向的动态内存,应使用语句()。A.d e l e te p;B.d e l e te *p;C.d e l e te&p;D.d e l e te p;4 3 .假定变量x 定义为 i n t x=5;,要使r x 成为x的引用(别名),r x应定义为()。A.i n t r x=x;B.i n t r x=&x;C.i n t*r x=&x;D.i n t&r x=x;44.关于消息,下列说法中不正确的是()。A.发送消息的对象请求服务,接受消息的对象提供服务B.消息的发送者必须了解消息的接收者如何相应消息C.在 C+中,消息的发送具体体现为对接收消息的对象的某个函数的调用D.每个对象只能接收某些特定格式的消息4 5 .关于封装,下列说法中不正确的是()。A.通过封装,对象的全部属性和操作结合在一起,形成一个整体B.通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)C.通过封装,每个对象都成为相对独立的实体D.通过封装,对象的属性都是不可见的4 6 .面向对象方法的多态性是指()。A.一个类可以派生出多个特殊类B.个对象在不同的运行环境中可以有不同的变体C.针对一消息,不同的对象可以以适合自身的方式加以响应D.一个对象可以是由多个其他对象组合而成的4 7 .软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的()。A.可维护性 B.可复用性 C.兼容性 D.正确性4 8 .软件产品可被全部或部分地再用于新的应用的能力叫做软件的()。A.可维护性 B.可复用性 C.兼容性 D.正确性4 9 .软件产品与其他软件产品组合成一个整体的难易程度叫做软件的()OA.可维护性 B.可复用性 C.兼容性 D.正确性5 0 .软件产品准确执行软件需求规格说明书中所规定的任务的能力叫做软件 的()。A.可维护性 B.可复用性 C.兼容性 D.正确性二、填空题1.含随机函数的表达式r a n d()%20 的值在_ _ _至_ _ _ _ _ _ 区间内。2.在 s w i t c h 语句中,每个语句标号所含关键字c a s e 后面的表达式必须是整型 O3.在 i f 语句中,每个e l s e 关键字与它前面同层次并且最接近的关键字相配套。4 .作为语句标号使用的C+保留字c a s e 和 d e f a u l t 只能用于 语句的定义体中。5 .执行s w i t c h
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索