04737 2010年10月c++程序设计试题及答案
自考04737C++程序设计201001历年真题及答案
2010年1月高等教育自学考试全国统一命题考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.在C++中,头文件扩展名为()A..cppB..hC..1ibD..obj2.下列符号中,不属于分隔符的是()A.,B./C.;D.{}3.可替换#definePI3.1415926的语句是()A.float PI 3.1415926;B.const float PI=3.1415926;C.const PI(3.1415926);D.const 3.1415926;4.布尔类型标识符是()A.voidB.shortC.longD.bool5.下列不是C++语言的基本数据类型的是()A.字符类型B.整数类型C.逻辑类型D.枚举类型6.C++允许在结构中定义函数,这些函数称为()A.静态函数B.构造函数C.析构函数D.成员函数7.设函数void inc(int)将形参加1,如有整型变量int i=10;则执行inc(i);后,i的值为()A.9B.10C.11D.未知8.下列哪种默认参数的声明是不正确的()A. int max(int a,int b,int c,int d=0);B. int max(int a,int b,int c=0,int d=0);C. int max(int a=0,int b,int c=0,int d=0);D. int max(int a,int b=0,int c=0,int d=0);9.设int &max(int &,int &)返回两参数中较大者,如有两整型变量int a=10;int b=15;在执行max(a,b)++后,a,b值分别为()A.10,15B.11,15C.10,16D.1l,1610.包含哪种语句的函数不能声明为内联函数()A.循环B.变量自增自减C.if...else…D.变量声明11.定义函数模板中使用的参数类型标识符需使用下列哪组符号括起来()A.<>B.“”C.()D.{}12.一个类拥有多个构造函数,则这些构造函数间为()A.重载关系B.重复关系C.拷贝关系D.无关系13.对于拷贝构造函数point::point(point& p),下列说明正确的是()A.该函数只能访问P的私有成员B.该函数不能访问P的公有成员C.该函数可以访问P的私有和公有成员D.该函数不能访问P的成员14.使用delete[]删除对象数组时,描述正确的是()A.数组中各元素都调用析构函数B.数组中各元素都调用构造函数C.不调用析构函数D.只有首元素调用析构函数15.下列哪个指令属于条件编译指令()A. #elifB. #errorC. #pragmaD. #include16.设类Test中存在成员static int x,则下列哪种初始化方式是正确的()A.Test::int x=25;B.int x=25;C.int Test::x=25;D.int Test x=25;17.下列关于友元的描述错误的是()A.成员函数不可作友元B.类可以作友元C.普通函数可以作友元D.静态函数可以作友元18.在继承中,派生类拥有的基类个数为()A.0个B.1个C.多个D.至少1个19.基类中的protected成员,通过public派生,其在派生类中的可见性为()A.不可访问B.privateC.protectedD.public20.下列哪个不是面向对象的关键要素()A.抽象性B.结构性C.封装性D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
《C 程序设计》(课程代码04737)校正版
错误!嵌入对象无效。A.属于全局变量 错误!嵌入对象无效。B.只属于该类 错误!嵌入对象无效。C.属于该类,某些情况下也可被该类不同实例所共享 错误!嵌入对象无效。D.任何情况下都可被该类所有实例共享
11、类的私有成员可在何处访问 【 D 】
错误!嵌入对象无效。D.其前、后所有参数都不必赋值
7、设存在函数 int max(int,int)返回两参数中较大值,若求 22,59,70 三者中最大值,下 列表达式不正确的是 【 C 】
错误!嵌入对象无效。A.int m=max(22,max(59,70)); 错误!嵌入对象无效。B.int m=max(max(22,59),70); 错误!嵌入对象无效。C.int m=max(22,59,70); 错误!嵌入对象无效。D.int m=max(59,max(22,70));
16、在编译指令中,宏定义使用哪个指令 【 B 】
错误!嵌入对象无效。A.# include 错误!嵌入对象无效。B.#define 错误!嵌入对象无效。C.# if 错误!嵌入对象无效。D.#else
17、设类 A 将每其它类对象作为成员,则建立 A 类对象时,下列描述正确的是 【 B 】
19、对于友元描述正确的是 【 B 】
错误!嵌入对象无效。A.友元是本类的成员函数 错误!嵌入对象无效。B.友元不是本类的成员函数
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电,通力根1保过据护管生高线产中敷工资设艺料技高试术中卷0资不配料仅置试可技卷以术要解是求决指,吊机对顶组电层在气配进设置行备不继进规电行范保空高护载中高与资中带料资负试料荷卷试下问卷高题总中2体2资,配料而置试且时卷可,调保需控障要试各在验类最;管大对路限设习度备题内进到来行位确调。保整在机使管组其路高在敷中正设资常过料工程试况1卷中下安,与全要过,加度并强工且看作尽护下可1都关能可于地以管缩正路小常高故工中障作资高;料中对试资于卷料继连试电接卷保管破护口坏进处范行理围整高,核中或对资者定料对值试某,卷些审弯异核扁常与度高校固中对定资图盒料纸位试,置卷编.工保写况护复进层杂行防设自腐备动跨与处接装理地置,线高尤弯中其曲资要半料避径试免标卷错高调误等试高,方中要案资求,料技编试术写5、卷交重电保底要气护。设设装管备备置线4高、调动敷中电试作设资气高,技料课中并3术试、件资且中卷管中料拒包试路调试绝含验敷试卷动线方设技作槽案技术,、以术来管及避架系免等统不多启必项动要方高式案中,;资为对料解整试决套卷高启突中动然语过停文程机电中。气高因课中此件资,中料电管试力壁卷高薄电中、气资接设料口备试不进卷严行保等调护问试装题工置,作调合并试理且技利进术用行,管过要线关求敷运电设行力技高保术中护。资装线料置缆试做敷卷到设技准原术确则指灵:导活在。。分对对线于于盒调差处试动,过保当程护不中装同高置电中高压资中回料资路试料交卷试叉技卷时术调,问试应题技采,术用作是金为指属调发隔试电板人机进员一行,变隔需压开要器处在组理事在;前发同掌生一握内线图部槽 纸故内资障,料时强、,电设需回备要路制进须造行同厂外时家部切出电断具源习高高题中中电资资源料料,试试线卷卷缆试切敷验除设报从完告而毕与采,相用要关高进技中行术资检资料查料试和,卷检并主测且要处了保理解护。现装场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。
04737c程序设计试题及答案20200_图文
全国2009年10月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.对C++中主函数描述正确的是( )A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个2.调用声明为int result(int a,int b)的函数时,正确的方法是( )A.result(1,2)B.result(1)C.result(0.1,0.3)D.result(1,2,3)3.用于包含C++标准库iostream的预处理指令是( )A.#define<iostream>B.#include<iostream>C.#define ‘iostream’D.#include‘iostream’4.无类型标识符是指( )A.voidB.boolC.shortD.long5.从本质上看,引用是被引用变量的( )A.拷贝B.别名C.复制D.克隆6.下面关于数组的初始化正确的是( )A.char str[ ]={'a','b','c'};B.char str[2]={'a','b','c'};C.char str[1][2]={{'a','b'},{'e','d'}};D.char str[ ][ ]={'a','b','c'};7.C++类中定义的成员默认访问属性为( )A.publicB.privateC.protectedD.friend1文档来源为:从网络收集整理.word版本可编辑.8.决定C++语言中函数的返回值类型的是( )A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型9.函数int & min(int &,int &)返回参数中较小者,设有两整型变量int a=10;int b=15;在执行语句min(a,b)--;之后,a,b值分别为( )A.9,14B.9,15C.10,14D.10,1510.声明函数为内联函数时所使用的关键字为( )A.constB.inlineC.shortD.signed11.函数int sum(int a=l,int b=1,int c=3)可与下列哪个函数同时声明( )A.double sum(int);B.char sum(int,int);C.int sum(double);D.int sum(int,int,int);12.函数模板template<typename T> void Func(T,T)可具有下列哪种实例化形式( )A.void Func(float,int)B.void Func(char,char)C.void Func(int,double)D.void Func(bool,float)13.下列访问成员的方式哪个是正确的( )A.对象名.对象成员名B.对象指针名.对象成员名C.对象名→对象成员名D.类名→对象成员名14.对类A,复制构造函数的原型是( )A.A::A(const A&);B.A::A(const A *);C.A::A(const A);D.A::A( );15.对class point,如使用point * ptr=new point[2];创建对象数组,则删除此数组使用的语句是( )A.delete ptr[2];B.delete[ ] ptr;C.delete ptr[ ];D.delete[2] ptr;16.下列哪个编译指令不属于条件编译指令( )A.#ifB.#else1文档来源为:从网络收集整理.word版本可编辑.C.#endifD.#error17.类A中存在静态数据成员x,设a和b是类A的两个对象,在执行a.x=10之后,b.x的值为( )A.未初始化B.等于a.xC.等于0D.随机18.使用string.h库操纵字符串时,将两个字符串连接成一个字符串的函数是( )A.strlen()B.strcap()C.strcat()D.strcmp()19.基类中的public成员,通过public派生,其在派生类中的访问权限为( )A.不可访问B.privateC.protectedD.public20.不同对象调用同名函数,但导致完全不同行为的现象称为( )A.抽象B.封装C.继承D.多态性二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
科目一C++(含题目)
科目一:[04737] C++程序设计【一】课程信息1-10 ACDBB DACAC11-20 BACAC AAACC21-27 CDDCC BB1、(A)年正式取名为C++[A] 1983[B] 1986[C] 1978[D] 19992、本章节题目如下:int类型占用(C)字节存储空间。
[A] 1[B] 2[C] 4[D] 83、使用if—else语句嵌套最多可以实现(D)分支[A] 1 [B] 2 [C] 4 [D] 无数多4、(B)循环语句至少会被执行一次。
[A]while[B]do_while[C]for[D]都不是5、本章节题目如下:for循环的判断条件是(B)[A]第一个表达式[B]第二个表达式[C]第三个表达式[D]以上都不对6、本章节题目如下:定义结构体使用的关键字是(D)[A]virtual[B]union[C]private[D]struct7、下列说法错误的是(A)[A]函数可以嵌套定义[B]函数可以嵌套调用[C]函数可以没有参数[D]函数可以有多个参数8、要把一个函数定义为内联函数,应该使用关键字(C )[A]void[C]inline[D]line9、重载函数的必须满足(A)[A]形参个数或类型不同[B]返回值不同[C]函数名不同[D]形参名不同10、类中(C)修饰的成员可以在类外访问。
[A]private[B]protected[C]public[D]以上都不对11、构造函数(B)时候被自动调用。
[A]对象销毁[B]对象创建[C]对象引用[D]对象赋值12、析构函数(A)时候被自动调用。
[A]对象销毁[B]对象创建[C]对象引用[D]对象赋值13UML语言是一种可视化的的面向对象(C)语言。
[A]编程[B]编辑[C]建模[D]设计14、函数内部声明静态生存期对象,要冠以关键字(A)[A]static[B]virtual[C]class[D]public15静态生存期与程序的(C)相同。
2010年C语言程序设计考试复习题(含答案)
大体上必须清楚的:-1)程序结构是三种:顺序结构 ,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。
3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为0或者1。
byte是指字节,一个字节 =八个位.5)一定要记住二进制如何划成十进制。
概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、每个C语言程序中main函数是有且只有一个。
3、在函数中不可以再定义函数。
4、算法的是一定要有输出的,他可以没有输入。
5、break可用于循环结构和switch语句。
6、逗号运算符的级别最低第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了。
关键字不可以作为用户标识符号。
main define scanf printf都不是关键字。
迷惑你的地方If 是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
2)实型数据的合法形式:2.333e-1就是合法的,且数据是2.333×10-1。
考试口诀:e前e后必有数,e后必为整数。
.3)字符数据的合法形式::'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。
2008-2010自学考试C++程序设计试题汇编(含答案)
全国2021年10月自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每题1分,共20分)在每题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多项选择或未选均无分。
1.对C++语言和C语言的兼容性,描述正确的选项是〔〕A.C++兼容C B.C++局部兼容CC.C++不兼容C D.C兼容C++2.在C++中使用流进行输入输出,其中用于屏幕输出的对象是〔〕A.cerr B.cinC.cout D.cfile3.对使用关键字new所开辟的动态存储空间,释放时必须使用〔〕A.free B.createC.delete D.realse4.如没有使用private关键字定义类的数据成员,那么默认为〔〕A.private B.publicC.protected D.friend5.使用值传递方式将实参传给形参,以下说法正确的选项是〔〕A.形参是实参的备份B.实参是形参的备份C.形参和实参是同一对象D.形参和实参无联系6.在函数调用时,如某一默认参数要指明一个特定值,那么有〔〕A.其之前所有参数都必须赋值B.其之后所有参数都必须赋值C.其前、后所有参数都必须赋值D.其前、后所有参数都不必赋值7.设存在函数int max(int,int)返回两参数中较大值,假设求22,59,70三者中最大值,以下表达式不正确的选项是〔〕A.int m = max(22,max(59,70));B.int m = max(max(22,59),70);C.int m = max(22,59,70); D.int m = max(59,max(22,70));8.以下哪个类型函数不适合声明为内联函数〔〕A.函数体语句较多B.函数体语句较少C.函数执行时间较短D.函数执行时间过长9.int Func(int,int);不可与以下哪个函数构成重载〔〕A.int Func(int,int,int);B.double Func(int,int);C.double Func(double,double);D.double Func(int,double);10.对类中声明的变量,以下描述中正确的选项是〔〕A.属于全局变量B.只属于该类C.属于该类,某些情况下也可被该类不同实例所共享D.任何情况下都可被该类所有实例共享11.类的私有成员可在何处访问〔〕A.通过子类的对象访问B.本类及子类的成员函数中C.通过该类对象访问D.本类的成员函数中12.如果没有为一个类定义任何构造函数的情况下,以下描述正确的选项是〔〕A.编译器总是自动创立一个不带参数的构造函数B.这个类没有构造函数C.这个类不需要构造函数D.该类不能通过编译13.一个类可包含析构函数的个数是〔〕A.0个 B.1个C.至少一个D.0个或多个14.this指针存在的目的是〔〕A.保证基类公有成员在子类中可以被访问B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码C.保证基类保护成员在子类中可以被访问D.保证基类私有成员在子类中可以被访问15.以下关于类的权限的描述错误的选项是〔〕A.类本身的成员函数只能访问自身的私有成员B.类的对象只能访问该类的公有成员C.普通函数不能直接访问类的公有成员,必须通过对象访问D.一个类可以将另一个类的对象作为成员16.在编译指令中,宏定义使用哪个指令〔〕A.#include B.#defineC.#if D.#else17.设类A将其它类对象作为成员,那么建立A类对象时,以下描述正确的选项是〔〕A.A类构造函数先执行B.成员构造函数先执行C.两者并行执行D.不能确定18.以下描述错误的选项是〔〕A.在创立对象前,静态成员不存在B.静态成员是类的成员C.静态成员不能是虚函数D.静态成员函数不能直接访问非静态成员19.对于友元描述正确的选项是〔〕A.友元是本类的成员函数B.友元不是本类的成员函数C.友元不是函数D.友元不能访问本类私有成员20.在哪种派生方式中,派生类可以访问基类中的protected成员〔〕A.public和private B.public和protectedC.protected和private D.仅protected二、填空题(本大题共20小题,每题1分,共20分)请在每题的空格中填上正确答案。
10月自考C程序设计(04737)试题及答案解析
2015年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共10页,满分100分,考试时间150分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o 4.合理安排答题空间,超出答题区域无效。
第一部分选择题一、单项选择题(本大题共20小题,每小题1分。
共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分。
1.在C++语言中用于注释的标识符是A.& B.//C.* D./2.编写C++程序一般需经过的几个步骤依次是A.编辑、调试、编译、连接B.编译、调试、编辑、连接C.编译、编辑、连接、运行D.编辑、编译、连接、运行3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用A.内联函数B.重载函数C.内部函数D.函数模板4.设x=8,执行语句Y=x++,则y等于A.6 B.7 C.9 D.85.下列运算符中,优先级最高的是A. * B.一> C.&& D.>=6.关于new运算符的下列描述中,错误的是A.它可以用来动态创建对象和对象数组B.使用它创建的对象和对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值7.存储下列数据,占用存储字节最多的是A. 0 B.‘0’ C.〝0〞D.0.08.关于类和对象不正确的说法是A.类是一种类型,它封装了数据和操作B.对象是类的实例C.一个类的对象只有一个D.一个对象必属于某个类9.下列有关构造函数的描述中,正确的是A.构造函数可以带有返回值B.构造函数的名字与类名完全相同C.构造函数必须带有参数D.构造函数必须定义,不能缺省10.假定a为一个整型数组名,则元素a[4]的字节地址为A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是A.虚函数B.静态成员函数 C. 构造函数D.析构函数12.下列说明语句中正确的是A.int a,&ra=a,&&ref=ra B.int&refa[10]C.int a,&ra=a,&*refp=&ra D.int*pi,*&pref=pi13.关于对象概念的描述中,说法错误的是A.对象就是C语言中的结构体B.对象代表着正在创建的系统中的一个实体C.对象是类的一个变量D.对象之间的信息传递是通过消息进行的14.有关多态性说法不正确的是A.C++语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态多态性15.关于友元函数的描述中,错误的是A.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend16.类中定义的成员默认访问属性为A.public B.private C.protected D.friend 17.拷贝构造函数的参数是A.某个对象名B.某个对象的成员名C.某个对象的引用名D.某个对象的指针名18.关于类模板的说法正确的是A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值19.下列有关重载函数的说法中正确的是A.重载函数必须具有不同的返回值类型B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表D.重载函数名可以不同20.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数第二部分非选择题二、填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。
04737C++程序设计201010
2010年10月高等教育自学考试全国统一命题考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.C++中注释“∥”的有效范围是()A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为()A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass &x);D.MyClass(MyClass *x);3.下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4.用于标识十进制常量的前缀或后缀是()A.无前后缀B.后缀L或lC.前缀0D.前缀0x5.设int x=56;int r=x;若cout <<&x;显示0012FF7A,则cout <<&r;输出值为()A.56B.00l2FF7AC.0012FF7BD.未知6.使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数8.设函数void subone(int &)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为()A.9B.10C.11D.未知9.对函数int max(int a,int b=0,int c=0,int d=0,int e=0);下列调用方式正确的是()A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);10.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(int i){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是()A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数()A.变量定义B.if……elseC.位操作D.switch12.声明函数模板的关键字是()A.inlineB.templateC.constD.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是()A.公有的B.私有的C.保护的D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A.不允许B.允许C.无法确定D.视构造函数的函数,可确定15.析构函数的参数个数为()A.0个B.1个C.至少1个D.多于1个16.非静态成员函数都会有一个隐含指针,它是()A.self指针B.this指针C.current指针D.one指针17.下列访问公有静态成员的方式,错误的是()A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名18.声明友元使用下列哪个关键字()A.class B.constC.friend D.virtual19.派生类继承了基类的()A.所有成员B.部分成员C.数据成员D.成员函数20.基类private成员,通过public派生,其在派生类中为()A.private B.protectedC.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
《C语言程序设计》试题库及答案
C语言程序设计习题集及答案电子信息工程学院内容简介本习题集是为根据嘉应学院电子信息工程学院《C语言程序设计》课程教学大纲筛选题目整理而成的。
本习题集共分10章,提供了361道选择题,85道填空题,42道编程题,题集覆盖了《C语言程序设计》的全部内容,满足嘉应学院电子信息工程学院《C语言程序设计》考试大纲的要求。
寄语亲爱的同学们:很高兴你们学习计算机的语言—C语言,她将带你进入一个全新的计算机的世界。
我是你们的老师,但我更希望是你们的朋友,为你在学习C语言的道路上提供帮助。
同学们,“攻城不怕坚,攻书莫畏难。
科学有险阻,苦战能过关。
”,学习是辛苦的,但也充满了挑战和乐趣。
我希望你们在学习C语言时,带着希望出发,体会一路的艰辛,最后满载收获而回。
朋友们,学习向来没有什么捷径可寻。
“多看、多模仿、多操作”是我能给你们的唯一建议。
祝你们学业有成。
杨久红目录第一部分习题第1章C语言概述 (1)1.1选择题 (1)1.2填空题 (2)1.3编程题 (2)第2章数据的存储与运算 (3)2.1选择题 (3)2.2填空题 (6)2.3编程题 (7)第3章最简单的程序设计-顺序程序设计 (8)3.1选择题 (8)3.2填空题 (13)3.3编程题 (14)第4章选择结构程序设计 (15)4.1选择题 (15)4.2填空题 (19)4.3编程题 (20)第5章循环结构程序设计 (21)5.1选择题 (21)5.2填空题 (29)5.3编程题 (30)第6章利用数组处理批量数据 (32)6.1选择题 (32)6.2填空题 (37)6.3编程题 (38)第7章用函数实现模块化程序设计 (40)7.1选择题 (40)7.2填空题 (52)7.3编程题 (57)第8章善于使用指针 (58)8.1选择题 (58)8.2填空题 (70)8.3编程题 (71)第9章结构体 (72)9.1选择题 (72)9.2填空题 (73)9.3编程题 (74)第10章利用文件保存数据 (75)10.1选择题 (75)10.2填空题 (77)10.3编程题 (79)第二部分参考答案第1章C语言概述 (81)1.1选择题 (81)1.2填空题 (81)1.3编程题 (81)第2章数据的存储与运算 (81)2.1选择题 (81)2.2填空题 (82)2.3编程题 (82)第3章最简单的程序设计-顺序程序设计 (83)3.1选择题 (83)3.2填空题 (83)3.3编程题 (83)第4章选择结构程序设计 (84)4.1选择题 (84)4.2填空题 (85)4.3编程题 (85)第5章循环结构程序设计 (87)5.1选择题 (88)5.2填空题 (88)5.3编程题 (88)第6章利用数组处理批量数据 (95)6.1选择题 (95)6.2填空题 (95)6.3编程题 (95)第7章用函数实现模块化程序设计 (100)7.1选择题 (100)7.2填空题 (100)7.3编程题 (100)第8章善于使用指针 (104)8.1选择题 (104)8.2填空题 (104)8.3编程题 (104)第9章结构体 (106)9.1选择题 (106)9.2填空题 (106)9.3编程题 (106)第10章利用文件保存数据 (107)10.1选择题 (107)10.2填空题 (107)10.3编程题 (107)第一部分习题第1章C语言概述1.1选择题1.以下说法中正确的是( )。
2010年10月全国自考高级语言程序设计(一)真题及参考答案
全国2010年10月高等教育自学考试高级语言程序设计(一)试题课程代码:00342一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.用户自定义标识符正确的是( )A.3abB.intC.fa2_aD.sin(x)2.关于C语言程序描述正确的是( )A.函数必须要有return语句B.主函数必须位于程序的开头C.程序中每行只能写一条语句D.一个程序中只能有一个主函数3.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3)B.a=a*3=2C.x%(-3)+y* *3D.y=float(i)4.设int a[][2]={1,2,3,4,5,6,7};,其中缺省的行长度的最小值是( )A.2B.3C.4D.55.设char c='A';int i=1,j;,执行语句j=!c&&i++;后,i和j的值分别是( )A.0和1B.1和0C.1和65D.2和666.设typedef char STRING[255];STRING*s;,则s是( )A.字符数组B.字符变量C.字符指针数组D.字符指针变量7.设int x=6;,执行语句X+=X-=X*X;后,x的值是( )A.-60B.0C.6D.368.设int i=3,j=3;,表达式i+++j的值是( )A.6B.7C.8D.99.下列为C语言保留字的是( )A.realB.longC.pointerD.integer10.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( )A.2B.6C.8D.1011.变量定义并初始化正确的是( )A.int a=l,*p=a;B.int a=2,p=*a;C.int a=3,p=&a;D.int a=4,*p=&a;12.使用递归函数计算n!(n=0,1,2,,3,....)的是( )A. fac(int n)B. fac(int n){int i,f=- 1; {if(n==0) return 1; if(n==0‖n==1) return 1;else for(i=1 ;i<=n;i++) f*=i; else return n*fac(n-1);return f; }C. fac(int n)D. fac(int n){int i=l,f=l; {int i=1,f=1;if(n==0) return l; if(n==0) return 1;else while(i<=n) f*=i++; else do { f*=i;}while (i++<n)return f; return f;} }13.设struct{int age;int num;}stu,*p=&stu;对结构型变量stu的成员age引用错误..的是( )A.stu.ageB.p->ageC.*p.ageD.(*p).age14.设int a[2]={1,2},*p=a;,则*p是( )A.元素a[0]的值B.元素a[0]的地址C.元素a[1]的值D.元素a[1]的地址15.设int a[10];,对数组元素引用正确的是( )A.a[10]B.a['0']C.a(6)D.a[10-10]二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。
历届自考C++__程序设计试题及答案
历届自考C++__程序设计试题及答案全国2008年10月自学考试C++程序设计试题课程代码:04737 一、单项选择题(本大题共20小题,每小题1分,共20分) 1(对C++语言和C语言的兼容性,描述正确的是( A )A(C++兼容C B(C++部分兼容C D(C兼容C++2(在C++中使用流进行输入输出,其中用于屏幕输出的对象是( C ) A(cerrB(cin C(coutD(cfile(cerr:标准错误输出(非缓冲方式);cin:标准输入;clog 标准错误输出(缓冲方式))3(对使用关键字new所开辟的动态存储空间,释放时必须使用( C ) A(freeB(create C(delete D(realse(如没有使用private关键字定义类的数据成员,则默认为( A ) 4A(private B(public C(protected D(friend5(使用值传递方式将实参传给形参,下列说法正确的是( A ) A(形参是实参的备份 B(实参是形参的备份C(形参和实参是同一对象D(形参和实参无联系 6(在函数调用时,如某一默认参数要指明一个特定值,则有( A ) A(其之前所有参数都必须赋值B(其之后所有参数都必须赋值C(其前、后所有参数都必须赋值D(其前、后所有参数都不必赋值7(设存在函数int max(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式不正确的是( C )A(int m = max(22,max(59,70)); B(int m = max(max(22,59),70);C(int m = max(22,59,70);D(int m = max(59,max(22,70));8(下列哪个类型函数不适合声明为内联函数( A )A(函数体语句较多 B(函数体语句较少C(函数执行时间较短 D(函数执行时间过长 9(int Func(int,int);不可与下列哪个函数构成重载( B ) A(int Func(int,int,int); B(double Func(int,int);C(double Func(double,double); D(double Func(int,double); 说明:不能以形参名来区分函数;不能以函数返回值来区分函数。
自考C 程序设计 试题及答案解析
2015年10月高等教育自学考试全国统一命题考试C++程序设计试卷(课程代码04737)本试卷共10页,满分100分,考试时间150分钟。
考生答题注意事项:1.本卷所有试题必须在答题卡上作答。
答在试卷上无效,试卷空白处和背面均可作草稿纸。
2.第一部分为选择题。
必须对应试卷上的题号使用2B铅笔将“答题卡”的相应代码涂黑。
3.第二部分为非选择题。
必须注明大、小题号,使用0.5毫米黑色字迹签字笔作答o4.合理安排答题空间,超出答题区域无效。
第一部分选择题一、单项选择题 (本大题共20小题,每小题1分。
共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题卡”的相应代码涂黑。
未涂、错涂或多涂均无分。
1.在C++语言中用于注释的标识符是A.& B.// C.* D./2.编写C++程序一般需经过的几个步骤依次是A.编辑、调试、编译、连接 B.编译、调试、编辑、连接 C.编译、编辑、连接、运行 D.编辑、编译、连接、运行3.要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用A.内联函数 B.重载函数 C.内部函数 D.函数模板4.设x=8,执行语句Y=x++,则y等于A.6 B.7 C.9 D.8 5.下列运算符中,优先级最高的是A. * B.一> C.&& D.>= 6.关于new运算符的下列描述中,错误的是A.它可以用来动态创建对象和对象数组B.使用它创建的对象和对象数组可以使用运算符delete删除C.使用它创建对象时要调用构造函数D.使用它创建对象数组时必须指定初始值7.存储下列数据,占用存储字节最多的是A. 0 B.‘0’ C.〝0〞 D.0.0 8.关于类和对象不正确的说法是A.类是一种类型,它封装了数据和操作 B.对象是类的实例C.一个类的对象只有一个 D.一个对象必属于某个类9.下列有关构造函数的描述中,正确的是A.构造函数可以带有返回值 B.构造函数的名字与类名完全相同C.构造函数必须带有参数 D.构造函数必须定义,不能缺省10.假定a为一个整型数组名,则元素a[4]的字节地址为A. a+4 B.a+8 C.a+16 D.a+32 11.类中能访问静态成员的函数是A.虚函数 B.静态成员函数 C. 构造函数 D.析构函数12.下列说明语句中正确的是A.int a,&ra=a,&&ref=ra B.int&refa[10]C.int a,&ra=a,&*refp=&ra D.int*pi,*&pref=pi 13.关于对象概念的描述中,说法错误的是A.对象就是C语言中的结构体B.对象代表着正在创建的系统中的一个实体C.对象是类的一个变量D.对象之间的信息传递是通过消息进行的14.有关多态性说法不正确的是A.C++语言的多态性分为编译时的多态性和运行时的多态性B.编译时的多态性可通过函数重载实现C.运行时的多态性可通过模板和虚函数实现D.实现运行时多态性的机制称为动态多态性15.关于友元函数的描述中,错误的是A.友元函数不是成员函数B.友元函数只能访问类中私有成员C.友元函数破坏隐藏性,尽量少用D.友元函数说明在类体内,使用关键字friend16.类中定义的成员默认访问属性为A.public B.private C.protected D.friend17.拷贝构造函数的参数是A.某个对象名 B.某个对象的成员名C.某个对象的引用名 D.某个对象的指针名18.关于类模板的说法正确的是A.类模板的主要作用是生成抽象类B.类模板实例化时,编译器将根据给出的模板实参生成一个类C.在类模板中的数据成员具有同样类型D.类模板中的成员函数没有返回值19.下列有关重载函数的说法中正确的是A.重载函数必须具有不同的返回值类型 B.重载函数参数个数必须相同C.重载函数必须有不同的形参列表 D.重载函数名可以不同20.当一个类的某个函数被说明为virtual时,在该类的所有派生类中的同原型函数A.都是虚函数B.只有被重新说明时才是虚函数C.都不是虚函数D.只有被重新说明为virtual时才是虚函数第二部分非选择题二、填空题(本大题共20小题,每小题1分,共20分)请在答题卡上作答。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2010年10月自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.C++中注释“∥”的有效范围是()A.从“∥”开始到行尾B.从“∥”开始到下一个“∥”C.“∥”及其后一个字符D.从“∥”开始到程序尾2.假定MyClass为一个类,则该类的复制构造函数的声明语句为()A.MyClass&(MyClass x);B.MyClass(MyClass x);C.MyClass(MyClass&x);D.MyClass(MyClass *x);3.下列选项不是C++关键字的是()A.typedefB.voidC.boolD.inc4.用于标识十进制常量的前缀或后缀是()A.无前后缀B.后缀L或lC.前缀0D.前缀0x5.设intx=56;int r=x;若cout<<&x;显示0012FF7A,则cout<<&r;输出值为()A.56B.00l2FF7AC.0012FF7BD.未知6.使用下列哪个流格式控制符可设置转换基数为八进制()A.decB.octC.hexD.endl7.C++中是否允许在类结构中定义函数()A.不允许B.允许C.仅允许定义构造函数D.只不允许定义构造函数8.设函数void subone(int&)将形参减1,如有整型变量int k=10,则执行subone(k);后,k的值为()A.9B.10C.11D.未知9.对函数int max(int a,int b=0,intc=0,int d=0,int e=0);下列调用方式正确的是()A.int m=max(10,11,12,13,14);B.int m=max(10,,12,13,14);C.int m=max(10,1l,,13,14);D.int m=max(10,11,12,,14);10.类MyClass的定义如下:class MyClass{public:MyClass(){}MyClass(inti){value=new int(i);}int * value;};若要对value赋值,则下面语句正确的是()A.MyClass my;my.value=10;B.MyClass my;*my.value=10;C.MyClass my;my.*value=10;D.MyClass my(10);11.包含哪种语句的函数不能声明为内联函数()A.变量定义B.if……elseC.位操作D.switch12.声明函数模板的关键字是()A.inlineB.templateC.constD.short13.对于类中的成员,使用public修饰,表明该成员的访问权限是()A.公有的B.私有的C.保护的D.不可见的14.一个类中是否可以允许一个无参数构造函数和一个全部都是默认参数的构造函数共存()A.不允许B.允许C.无法确定D.视构造函数的函数,可确定15.析构函数的参数个数为()A.0个B.1个C.至少1个D.多于1个16.非静态成员函数都会有一个隐含指针,它是()A.self指针B.this指针C.current指针D.one指针17.下列访问公有静态成员的方式,错误的是()A.类名::静态成员名B.对象名.静态成员名C.对象指针->静态成员名D.对象指针.静态成员名18.声明友元使用下列哪个关键字()A.class B.constC.friend D.virtual19.派生类继承了基类的()A.所有成员B.部分成员C.数据成员D.成员函数20.基类private成员,通过public派生,其在派生类中为()A.private B.protectedC.public D.不可访问二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案。
错填、不填均无分。
21.执行下列代码double pi=3.141592;cout<<setprecision(1)<<pi;程序的输出结果是_________。
22.要使用STL库提供的对数组进行升幂排序算法,在源程序中需要包含的头文件是_________。
23.C++语言中动态回收内存的关键字是_________。
24.执行下列代码int b=100;cout<<”Oct:”<<oct<<b;程序的输出结果是_________。
25.C++语言中用于定义一个类的关键字是_________。
26.为了使用C++语言标准程序库提供的string类,在程序中必须使用的文件包含命令是_________。
27.在程序中执行int*a=new int之后,若a为空指针,则表明_________。
28.C++函数中传递对象地址值是使用_________作为参数。
29.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的_________。
30.C++函数有库函数(标准函数)和_________两类。
31.C++中通过_________对类的对象进行初始化。
32.UML中实例连接反映对象之间的静态关系,消息连接描述对象之间的_________关系。
33.若将一个对象说明为常对象,则通过该对象只能调用它的_________成员函数,不能调用其它成员函数。
34.静态成员函数是_________的成员,不是对象的成员。
35.私有继承时,在派生类中基类的protected权限变为_________。
36.若使用一个表达式的含义能解释为访问多个基类中的成员,则这种对基类成员的访问就是不确定的,称这种访问具有_________。
37.如果在类模板的定义中有一个静态数据成员,则在程序运行中会产生_________静态变量。
38.vector类中用于获取向量可以容纳最多对象的个数的方法是_________。
39.C++用于运算符重载的关键字是_________。
40.含有___________的类称为抽象类,它只能作为基类来使用。
三、改错题(本大题共5小题,每小题4分,共20分)下面的每题中有一处错误,请用下横线标出错误所在行并给出修改意见41. #include <iostream, h >class testl {private : int x;public: testl ( ) { x = 2 ; }void set(int a){x =a;}void get( ) { cout<< x <<endl; }};class test2{private: int x;public : test2 ( ) { x = 3 ; }void set( int a) { x = a; }void get( ) { cout<< x <<endl; }};class test: public testl, public test2 {private : int x;public:void set( int a) { x=a; }void gettest( ) {cout<< x <<endl; }};void main( ) {test a; a. get( );}42. #include <iostream, h >class test {private : int x, y;public : void testl ( int a, int b) { x = a ; y = b;} int max( );};inttest:max( ) {if(x>y) return x;else return y;}void main( ){test a;a. testl ( 1,3);cout<< a. max ( ) <<endl;}43. #include <iostream, h >void main(){int x =5;constint * const p = &x;* p =88;cout<< * p <<endl;}44. #include <iostream, h >class point{private : float x, y ;public : f( float a, float b) { x = a ; y = b ; }f() {x=O;y=O;}void getx( ) { cout<< x <<endl; }void gety ( ) { cout<< y <<endl ; }}class pointl}private : float x, y ;public : f( float a, float b) { x = a; y = b ; }f(){x=l;y=l;}void getx() {cout<<x <<endl;}void gety() {cout<<y <<endl;}};main( ) Ipoint a;a.f();a. getx( ) ;a. gety ( );}45. #include <iostream, h >void main( ) {string strl (" we are here" );cout<<strl<<endl;}四、完成程序题(本大题共5小题,每题4分,共20分)46.在下面程序的下划线处填上正确的数据类型,保证程序具有如下输出结果: 01717,17,17源程序如下:#include <iostream>using namespace std;class base{public :______________num;base ( ) { }};int base::hum = 0;void main( ){cout<< base::num<<endl;_________________*p=&base : :num;*p=17;cout<< base::num<< end1;base a,b;cout<<*p<<"," << a. hum << "," <<b. num;}47.在下面横线处填上正确的内容,完成类的定义。