复习题一

更新时间:2023-11-06 18:09:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

北航1112考试批次《C++程序设计》复习题一(S)

一、单项选择题

1、设x和y均为布尔型变量,则x&&y为真的条件是______。( D ) A.其中一个为假 B.它们均为假 C.其中一个为真

D.它们均为真 2、对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是__D__。 A.公有类型 B.私有类型

C.保护类型 D.友元类型

3、下面关于break语句的描述中,不正确的是______。( D ) A.break可以用于循环体内

B.break语句可以在for循环语句中出现多次

C.break语句可以在switch语句中出现多次 D.break语句可用于if条件判断语句内

4、判断字符串s1和s2是否相等的表达式为______。( C ) A.s1=s2 B.s1==s2

C.strcmp(s1,s2)==0

D.strcpy(s1,s2)==0

5、下面关于数组的初始化正确的是______。( A ) A.char str[]={'a','b','c'}

B.char str[2]={'a','b','c'}

C.char str[2][3]={{'a','b'},{'e','d'},{'e','f'}}

D.char str[3][2]={{‘a’,’b’,’c’},{‘d’,’e’,’f’}}

6、从键盘上输入数据的时候,只有在输入完数据并按下______后,系统才把该行数据存入缓冲区。D A.空格 B.回车 C.Tab

D.空格或回车

7、read函数的功能是从输入流中读取______。( D ) A.一个字符 B.当前字符

C.一行字符

D.指定若干个字符

8、对类的构造函数和析构函数描述正确的是______。( A ) A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载

C.构造函数可以重载,析构函数也可以重载 D.构造函数不能重载,析构函数也不能重载

9、从键盘的输入中读入一个值,并赋值给x的语句是______。( A ) A.cin>>x B.cin<

C.cout>>x D.cout<

10、C++源程序文件的扩展名是______。( D ) A..CPP

B..C C..DLL D..EXE

11、有关对象和类的说法,不正确的是______。( C ) A.对象是类的一个实例

B.任何一个对象只能属于一个具体的类

C.一个类只能有一个对象

D.类与对象的关系和数据类型与变量的关系相似

12、C++语言提供的预处理语句有3种,下面不属于预处理语句的是__D____。

A、宏定义预处理 B、文件预处理 C、条件编译预处理 D、中止预处理

13、以上对模板的声明,正确的是______。( C ) A.template

B.template C.template D.template

14、I/O类库的根基类是__C____。

A、istream

B、ostream C、ios D、fstream

15、关于C++与C语言的关系的描述中,______是错误的。( D ) A.C语言是C++的一个子集 B.C语言与C++是兼容的

C.C++对C语言进行了一些改进 D.C++和C语言都是面向对象的 16、编译预处理工作是在___完成的A

A、编译前 B、编译时 C、编译后 D、连接时

17、下列if语句的条件为真的是______。( B ) A.if(0) B.if(3)

C.bool bFlag=true;if(!bFlag) D.if(a)

18、不论派生类以何种方式继承基类,都不能使用基类的__B____。

A、public成员

B、private成员 C、protected成员

D、public成员和protected成员

19、假定A是一个类,那么执行语句A a, b(3), *p;后,调用了______次构造函数。( A ) A.2 B.3

C.4 D.5

20、动态联编要求类中应有 D

A、成员函数

B、内联函数 C、构造函数 D、虚函数

二、填空题

21、C++语言提供的预处理语句有3种:宏定义预处理、文件预处理和___条件预处理______。 22、开发一个C++语言程序的步骤通常包括编辑、___编译_____、链接、运行和调试。 23、C++语言中的每条基本语句以___分号____作为结束符,每条复合语句以}作为结束符。 24、所有的I/O流类都是__ios_____的派生类。

25、C++支持两种类型的多态性:___编译时的多态(静态多态)_、运行时多态(动态多态)。

26、派生类的成员一般分为两部分,一部分是__已经存在的成员__,另一部分是自己定义的新成员。 27、当使用delete删除一个对象时,delete隐含着对____析_____函数的一次调用,如果这个函数为虚函数,则这个调用采用动态联编。

28、C++有两种注释符号,一种是“/*??*/”,另一种是_______//_______。

29、对一个类中的数据成员的初始化可以通过构造函数中的初始化表实现,也可以通过构造函数中的 ____成员初始化列表_____实现。 30、C++程序一般可以分成4个部分,它们分别是预处理指令、_注释__、程序的主函数和用户自定义函数。

三、程序分析题

31、下列程序的运行结果是_____4 2________。 #include class example {

int a: public:

example(int n){a=n++;}

void print(){a=a+1;cout < < a < <” ”;} void print()const{cout<

void main() {

example x(3);

const example y(2); x.print(); y.print();

}

32、下列程序的运行结果是___8.8 8___。 #include template

class base { public:

base(T i,T j) { x=i; y=j; } T sum() {

return x+y;

} private: T x,y; };

void main() {

base obj2(3.3,5.5); cout<

base obj1(3,5);

cout<

33、下列程序的运行结果是___1001 1002 1003 1004_____。

#include < iostream.h > struct data { int n ; float score ; } ; void main() {

data a[3] = { 1001,87,1002,72,1003,90 } , *p = a ;

cout << (p++)->n << endl ; cout << (p++)->n << endl ; cout << p->n++ << endl ; cout << (*p).n++ << endl ;

}

四、编程题

34、编程: 输入一个星期几的数字号码,输出相应的英文单词。要求使用指针数组实现。

#include using namespace std; int main(void) {

char* week[7]={\,\,\,\,\,\,\}; do {

cout << \;

int n; cin >> n; if (n >= 7) {

cout << \; exit(-1); }

cout << \ << n << \ << week[n] << endl; } while (1); return 0; }

35、编程:求解方程ax2+bx+c=0的根。

#include #include #include using namespace std; class Result { private: float a,b,c; public:

Result(float aa,float bb,float cc) { a=aa; b=bb; c=cc; }

~Result(){} void CalResult() {

if(a==0)

cout<<\该方程不是一元二次方程\ else { float r; r=b*b-4*a*c; if(r==0)

本文来源:https://www.bwwdw.com/article/glg2.html

Top