cpp考试范围及复习题.docx
- 文档编号:4121444
- 上传时间:2022-11-28
- 格式:DOCX
- 页数:12
- 大小:56.41KB
cpp考试范围及复习题.docx
《cpp考试范围及复习题.docx》由会员分享,可在线阅读,更多相关《cpp考试范围及复习题.docx(12页珍藏版)》请在冰豆网上搜索。
cpp考试范围及复习题
考试范围
第一章
第二章
第三章3.1~3.4
第四章
第五章
第六章6.1~6.2
第八章8.1~8.7
考试题型
一、选择题
1.下面关于C++的说法,不正确的是(c)。
A.C++是由BjarneStroustrup博士开发成功的
B.C++保留了C语言原有的优点,增加了面向对象的机制
C.C++和C语言没有任何关系
D.C++与C语言兼容
2.关于main()函数的说法,正确的是(b)。
A.一定要写在C++程序的最前面B.每个C++程序只有一个main()函数
C.C++程序可以有多个main()函数D.main()函数没有返回值
3.设x和y均为整型变量,则x&&y为真的条件是(a)。
A.它们均为负数B.其中一个为负数C.它们均为0D.其中一个为正数
4.假定a为一个整型数组名,则元素a[4]的地址为(a)。
A.a+4B.a+8C.a+3D.a+5
5.在C++中,表达式65/3的值为(b)
A.22B.21C.23D.21.66666
6.for(intx=1,y=0;!
x+y<=4;y++)语句执行循环的次数是(b)。
A.0 B.5 C.6 D.4
7.下列关于构造函数的描述中,错误的是(d)。
A.构造函数可以设置默认参数 B.构造函数在定义类对象时自动执行
C.构造函数可以是内联函数 D.构造函数不可以重载
8.以下叙述中错误的是(c)。
A.对于数组,不可以直接用数组名对数组进行整体输入或输出
B.数组名代表的是数组所占存储区的首地址,其值不可改变
C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统不会出错
D.可以通过赋初值的方式确定数组元素的个数
9.以下不能定义为用户标识符的是(d)。
A.MainB._0aC._intD.return
10.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funC,
则,下面说法正确的是(b)。
A.称为函数的直接递归调用B.称为函数的嵌套调用
C.称为函数的间接递归调用D.C++语言中不允许这样的调用
11.C++语言中的基本数据类型包括(b)。
A.整型、实型、结构型B.整型、实型、字符型
C.整型、字符型、结构型D.整型、结构型、实型、字符型
12.判断下面哪个if语句的条件为真(a)。
A.if(-3+2)B.if(0)C.if(!
a&&a)D.if(!
5||0)
13.类的析构函数是(d)时调用的。
A.类创建B.创建对象C.释放类D.释放对象
14.对函数“intmax(inta,intb)”进行重载,正确的是(B)。
A.doublemax(inta,intb)B.intmax(inta,intb,intc)
C.charmax(inta,intb)D.intmin(floata,floatb)
15.若有语句“intm,*p;p=&m;”则下列符号中均正确地代表m的地址的选项是(A)。
A.&m,pB.&m,&pC.*p,*mD.&m,*p
16.若有语句“intx=10;”,则表达式(++x)+(++x)的值为(A)。
A.24B.22C.20D.26
17.在C++中,每个对象都是由(B)两部分组成的。
A.属性和数据B.数据和函数C.函数和行为D.类别和数据
18.表达式“(x x: y;”的含义是(B)。 A.求x和y的最大值B.求x和y的最小值 C.求x的绝对值D.以上的都不正确 19.如果有如下的类的定义: classTime {inthour,minute,sec; intset(); }; 在执行语句“cout< A.6B.8C.12D.16 20、运行下面的程序,其输出是(c)。 main() {inta[]={2,4,6,8,10},y=1,x,*p; p=&a[1]; for(x=0;x<3;x++) y+=*(p+x); cout< } A.17B.18C.19D.20 21、运行下面的程序,其输出是(c)。 main() {inti=1; while(i<19) if(i++%5! =3)continue; elsecout< cout< } A.257911131517B.369121518 C.491419D.38131719 22.有如下类定义: classPoint {intx,y; public: Point(): {x=0;y=0;} Point(intxx,intyy=0){x=xx;y=yy;} }; 若执行语句 Pointa (2),b[3],*c[4]; 则Point类的构造函数被调用的次数是(d)。 A.1次B.2次C.3次D.4次 23.运行下面的程序,其输出是(B)。 intmain() {inti=0,sum=0; while(i<=10) {i++; if(i%5==3)continue; sum=sum+i; } cout<<″sum=″< } A.sum=1274B.sum=1275C.sum=1276D.sum=1277 24.运行下面的程序,其输出是(A)。 voidfun() {staticinta=2; intb=1; a++; b++; cout< } voidmain() {fun(); fun(); } A.32B.32C.32D.33 42323342 25.运行下面的程序,其输出是()。 classabc {intx; public: abc(intxx) {x=xx;} voidsetx(intxx) {x=xx;} intgetx() {returnx;} }; voidadd(abc&obj) {obj.setx(obj.getx()+obj.getx()); cout< } voidmain() {abcob(10); add3(ob); cout< } A.1020B.2010C.2020D.2040 26.下面关于C++的说法,不正确的是(C) A.C++是由BjarneStroustrup博士开发成功的 B.C++保留了C语言原有的优点,增加了面向对象的机制 C.C++和C语言没有任何关系 D.C++与C语言兼容 27.关于main()函数的说法,正确的是(B) A.一定要写在C++程序的最前面B.每个C++程序只有一个main()函数 C.C++程序可以有多个main()函数D.main()函数没有返回值 28.设x和y均为整型变量,则x&&y为真的条件是(A) A.它们均为负数B.其中一个为负数C.它们均为0D.其中一个为正数 29.假定a为一个整型数组名,则元素a[4]的地址为(A) A.a+4B.a+8C.a+3D.a+5 30.下列关于构造函数的描述中,错误的是(D) A.构造函数可以设置默认参数 B.构造函数在定义类对象时自动执行 C.构造函数可以是内联函数 D.构造函数不可以重载 31.以下叙述中错误的是(C) A.对于数组,不可以直接用数组名对数组进行整体输入或输出 B.数组名代表的是数组所占存储区的首地址,其值不可改变 C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统不会出错 D.可以通过赋初值的方式确定数组元素的个数 32.以下不能定义为用户标识符的是(D) A)MainB)_0aC)_intD)return 33.在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funC, 则,下面说法正确的是(C) A.称为函数的直接递归调用B.称为函数的间接递归调用 C.称为函数的嵌套调用D.C++语言中不允许这样的调用 34.C++语言中的基本数据类型包括(B) A.整型、实型、结构型B.整型、实型、字符型 C.整型、字符型、结构型D.整型、结构型、实型、字符型 35.C++语言提供的预处理命令有3种,下面不属于预处理语句的是(D) A.宏定义预处理B.文件预处理 C.条件编译预处理D.类型预处理 36.下面的哪个保留字不能作为函数的返回类型(C) A.voidB.intC.newD.long 二、填空题 1.C++语言中的每条基本语句以分号作为结束符。 2.假定一个一维数组的定义为“inta[8];”,则该数组所含元素的个数为8,所占存储空间的字节数为32。 3.构造函数的作用就是在对象被创建时利用特定的值构造对象,将对象初始化为一个特定的状态。 4.表达式3.5*3+2*7-‘a’的值是-72.5。 (a的ASCII值为97) 5.如果变量i的初值为10,则表达式(--i)+(--i)的值为16。 6.在C++中,反斜杠字符”应表示为\”。 A”B”Ccout<<”A\”B\”C”< 7.变量的值可以被改变,而常量的值不可改变。 8.如果x的值为20,则表达式“x%=3”的值为2。 9.如果表达式“x/y”的值为实型,则x和y的类型至少有一个是实型。 10.设“a=3;b=4;c=5;”,则表达式(a||b+c)&&(b-c)的值为1。 11.一个类可以有多个构造函数,但只能有一个默认构造函数。 12.字符串的结束标志是\0。 13.求100之内所有奇数的和并输出。 voidmain() {ints=0,n=1; while(n<=100) {s+=n; n+=2; } cout<<“s=”< } 14.将字符串“Welcometoc++! ”中的小写字母转换为大写字母并输出。 voidmain() {charss[]=“Welcometoc++! ”; inti=0; while(ss[i]! =’\0’)i {if(ss[i]>’a’&&ss[i]<’z’)ss[i]=ss[i]-32;i++; } cout<<“转换后的字符串为: ”< } 15.编写函数判断一个数的阶乘是否是质数。 intfac(inti) {intk=1,result=1; while(k<=i) {result*=k; k++; } returnresult; } voidfun(intx) {inti; if(x<2) cout<<"Error! OutofRange."< else {for(i=2;i if(fac(x)%i==0)break; if(i==x)cout<<"YES! \n"; elsecout<<"NO! \n"; } } 16.定义一个学生类,用来描述学生,包括学生的学号、姓名和年龄,在构造函数中给数据成员赋值并输出“构造学生对象”字样,在析构函数中输出“释放学生对象”字样。 classStudent {char*name; intno,age; public: Student(char*src,intn,inta) {name=newchar[20]; no=n; strcpy(name,src); age=a; cout<<”构造学生对象”; } ~Student() {cout<<”释放学生对象”; } }; 三、程序阅读题(写出程序运行的结果) 1.#include usingnamespacestd; intmain() {inti=1,sum=0; while(i! =51) {sum=sum+i; i++; } cout<<″sum=″< } 2.#include usingnamespacestd; classClock {public: Clock(); Clock(inth,intm,ints); ~Clock(); private: intHour,Minute,Second; }; Clock: : Clock() {Hour=Minute=Second=0; cout<<"DefaultConstructorcalled."< } Clock: : Clock(inth,intm,ints) {Hour=h;Minute=m;Second=s; cout<<"parameterConstructorcalled."< } Clock: : ~Clock() {cout<<"Destructorcalled."< intmain() { Clockc1,c2(8,30,10); return0; } 3.#include usingnamespacestd; inti=1; voidmain(void) {staticinta; intb=-10; intc=0; voidother(void); cout<<"---MAIN---\n"; cout<<"i: "< "< "< "< c=c+8;other(); cout<<"---MAIN---\n"; cout<<"i: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cpp 考试 范围 复习题
![提示](https://static.bdocx.com/images/bang_tan.gif)