C++练习题

2018-10-31 19:24

作 业

一、单项选择题

1、下面字符串中,合法的标识符是B

A. b-b

B. CCP

C. switch

D. *jer

2、当程序执行到一个for循环体内的break语句时,接下来的操作是B

A.结束循环体的一次重复,若条件成立,接着进行下一次循环体的执行过程 B.跳转至循环体的出口,结束循环 C.出现运行错误 D.结束程序的运行

3、 说明公有成员的关键字是A

A. public B. private C. inline D. virtual 4、下列的变量名中,非法的是D

A. my_car B. x25 C. MyCar D. my-car

5、下列的变量名中,合法的是B

A. 56A B. _abc C. P-int D. int

6、设有说明int a[][3]={1,2,3,4,5,6,7,8,9 },则a[1][1]的值是C

A. 1

B. 2

C.5

D. 6

D.不确定

7、设有说明char str[80]=”china”;则str[5]的值是B A. ’a’

B.’\\0’

C.’ ’(空字符)

8、在C++中,下列设置函数参数默认值的方式中,正确的是D

A.void fun(int a=1,int b=2,int c) B.void fun(int a,int b,int c) C.void fun(int a=1,int c,int b=2) D.void fun(int c,int a=1,int b=2)

9、下列给字符数组的初始化中,错误的是D

A. char s1[3]={'a','b','c'}; B. char s2[5]=\

C. char s3[]={'m','n','s','r'}; D. char s4[4]=\

10、已知:int a[3];下列给数组元素赋值的表达中,错误的是B

A. a[0]=44; B. a[3]=33; C. a[1]=11; D. a[2]=22;

11、下列关于条件语句的描述中,错误的是B

A. if语句只能有一个else子句 B. if语句内部不能包含有开关语句 C. if语句中可以有多个else if子句 D. if语句内部可以包含有循环语句

12、下列有关析构函数的说法中不正确的是A

A.在某个类的定义中,必须显式的给出一个析构函数 B. 析构函数在对象的生存期结束时自动执行 C. 析构函数有且只有一个 D.析构函数无任何返回值类型

13、下面关于类概念的描述中,错误的是B

A. 类是数据和方法的封装体

B.类是对象的实例

C.类是一组对象的模板 D.类是抽象数据类型的实现 14、下列关于循环语句的描述中,错误的是D

A. 循环体内可以含有循环语句 B. 循环体可以是一条空语句 C. 循环体内可以出现条件语句

D. 循环体内必须出现break语句或continue语句

15、已知:int i=5;则循环语句do{ cout<

A. 0 B. 1 C. 5 D. 无限

16、循环语句whlie(k=0)k++;的循环次数是A

A. 0 B. 1 C. 5 D. 无限

17、在函数的定义格式中,下列可以省略的部分是D

A. 函数名 B. 函数体 C. 函数类型 D. 函数参数

18、下列关于封装的描述中,错误的是C

A. 封装体内的成员有不同的访问权限 B. 封装性是面向对象方法的重要特性 C. 封装体内的成员外界都不可访问 D. 类是一个数据和操作的封装体

19、下列while循环语句的循环次数是A

while(i=1) i++; A.0

B.1

C.5 D. 无限

20、表达式:10!=9的值是( D )。

A. 9

B. 非零的任一值 C. 0 D. 1

21、在函数引用调用时,函数的实参和形参应该使用A

A.变量与引用 B.地址值与指针 C.变量与指针 D.地址值与引用

22、一个函数无返回值时,应选择下列的说明符是C

A.Public B.extern C.void D. private

23、下列关于函数的定义中,错误的是A

A.函数的定义可以嵌套

B.函数定义时必须给出函数值的类型 C.函数定义时可以省略存储类型 D. 函数可定义为内联函数

24、下列关于函数的参数的描述中,错误的是D

A.函数的参数可以是0或多个 B.函数参数可以设置默认值 C.函数的形参可以是引用

D.函数的形参与实参要求个数必须相同

25、能正确表示“a≥10或a≤0”的关系表达式是(C )。

A.a>=10 or a<=0

B.a>=10|a<=0 C.a>=10||a<=0 D. a>=10&&a<=0

26、下列不是构造函数的特征的是D

A.构造函数的函数名与类名相同 B. 构造函数必须指定类型说明 C.构造函数可以设置默认参数 D. 构造函数可以重载

27、.在函数引用调用时,函数的实参和形参应该分别使用A

A.变量、引用 B.变量、变量 C.地址值、指针 D.地址值、引用

28、定义内部函数时,应在函数名前加关键字B

A.extern B. static C. inside D. inline

29、对重载函数参数的描述中,错误的是D

A.参数的个数可能不同 B.参数的类型可能不同 C.参数的顺序可能不同

D.参数的个数、类型、顺序都相同,只是函数的返回值类型不同

30、函数: int fun( float x ){ float y; y=3*x-4;return y;} 的值的类型是D

A. int B. 不确定 C. void D. float

31、若a为int类型,且其值为3,则执行完表达式语句a*=a+3;后,a的值是B

A. 18 B. 12 C. 9 D. 3

32、下列字符中不能构成标识符的是D

A. 下划线 B. 大写字母 C. 小写字母 D. 减号

33、下列常量中,以十六进制表示的常量是A A. 0X9a B. 2.5

C. 056 D. 97

34、已知:int i=5,j=6;将i*j的结果输出显示在屏幕上,下列各语句中正确的是C A. cout<

D. cout<<'i'<<'*'<<'j'<<'\\n';

35、已知:int a,&ra=a;关于ra的描述中正确的是C A. ra是int型变量a的地址值

B. a是int型变量ra的地址值 C. ra是int型变量a的引用 D. ra是int型变量a的指针

36、一个函数无返回值时,应选择下列的说明符是B

A. int B.void C.const D.extern

37、设有数组定义: char str[]=\则数组array所占的空间为A

A. 4个字节 B. 5个字节 C. 6个字节 D. 7个字节

38、程序段: int k=0; while(k=1)k++;中的while 循环A

A.是死循环

B.有语法错误,不能执行 C.一次也不执行 D.执行1次

39、程序段: int i,sum=0;for(i=1;i<5;i++) sum*=i; 执行后sum的值是D

A.120 B.24 C.不确定 D.0

40、对于C++语言的函数,下列叙述中正确的是A

A.函数的定义不能嵌套,但函数调用可以嵌套 B.函数的定义可以嵌套,但函数调用不能嵌套 C.函数的定义和调用都不能嵌套 D.函数的定义和调用都可以嵌套

41、C++语言中while和 do-while循环的主要区别是A

A. do-while的循环体至少执行一次

B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句

42、关于类中成员函数的描述中,错误的是A

A.类中的成员函数只能定义在类体外 B. 类中可以说明一个或多个成员函数

C. 在类体外定义成员函数时,需用类名和作用域运算符加以限定 D. 定义在类体外的成员函数前加inline可成为内联函数 43、关于构造函数特点的描述中,错误的是A

A. 定义构造函数必须指出返回值类型 B. 构造函数的名字与该类的类名相同 C. 一个类中可以定义多个构造函数 D. 构造函数是类的成员函数

44、设C++语言中,unsigned char型数据的取值范围为A

A. 0--255 B. 0--32767 C. 0--65535 D. 0—2147483647

45、下列描述中不正确的是B

A. 字符型数组中可以存放字符串 B. 可以对字符型数组进行整体输入、输出 C. 可以对整型数组进行整体输入、输出

D. 不能在赋值语句中通过赋值运算符\对字符型数组进行整体赋值

46、表示关系“x≤y≤z”的C++语言表达式为A

A. (x<=y)&&(y<=z) B. (x<=y)and(y<=z) C. (x<=y<=z) D. (x<=y)&(y<=z)

47、下列运算符中优先级最高的是B

A. >= B. + C. || D. ==

48、判断char型变量k是否为小写字母的正确表达式为B

A. (k>=’a’)||(k<=’z’) B. (k>=’a’)&&(k<=’z’) C. ’a’<=k<=’z’ D. (k>=a)AND(k<=z) 49、执行语句for (i=1;i++<4;);后变量i的值是B

A. 3 B. 4

C. 5 D. 不定

50、若用数组名作为函数调用的实参,传递给形参的是D

A. 数组第一个元素的值 B. 数组最后一个元素的值 C. 数组中元素的个数 D. 数组的首地址 51、一个C++语言程序是由C

A. 若干过程组成 B. 若干子程序组成 C.一个主程序和若干子程序组成 D. 若干函数组成 52、若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 x=(i=2,j=8,k=12)

A. 2 B. 8 C. 12 D. 22 53、下面是对s的初始化,其中不正确的是B

A. char s[5]=”” B. char s[5]=”abcdef”;

C. char s[5]={”abc”}; D. char s[5]={’a’,’b’,’c’}; 54、以下对二维数组a的正确说明是A

A. int a[2][]; B. float a(2,3); C. double a[2][3]; D. float a(2)(3); 55、定义: char x[]=\则正确的叙述为C

A. 数组x和数组y等价 B. 数组x和数组y的长度相同 C. 数组x的长度大于数组y的长度 D. 数组x的长度小于数组y的长度

56、若有说明:int a[3][4];则对a数组元素的正确引用是A

A. a[1][4] B. a[1,2] C. a[1+1][0] D. a(2)(0)

57、说明类中受保护的函数的关键字是 D

A. public

B. private

C. inline D. protected

58、下述不是C++提供的合法的关键字的是B

A. swicth B. cher C. case D. default

59、关于类的定义的描述中错误的是 D A. 类中成员有3种访问权限

B. 类中一般包含有成员函数和数据成员 C.类的定义格式分为说明部分和实现部分

D. 成员函数都是公有的,数据成员都是私有的

60、已定义c为字符型变量,则下列语句中正确的是A

A. c='97'; B. c=\C. c=97; D. c=\

61、已知:int a[3];下列给数组元素赋值的表达中,错误的是(B )A. a[0]=44; B. a[3]=33; C. a[1]=11; D. a[2]=22;

62、关于构造函数特点的描述中,错误的是A A.定义构造函数必须指出类型 B.构造函数的名字与该类的类名相同 C.一个类中可以定义0至多个构造函数

D.构造函数是一种成员函数

63、下列运算符中优先级最低的是D

A. > B. + C. && D. !=

64、循环语句for(int i=0,j=10;i=j=10;i++,j--);的循环次数是(C )。

A.0 B.1 C.无限 D.10 65、定义重载函数的条件中,错误的是C

A. 参数个数不同 B. 参数类型不同 C. 函数类型不同 D. 参数顺序不同

66、下列各种函数中,不能重载的是D

A. 成员函数 B. 非成员函数 C. 构造函数 D. 析构函数

67、以下能对一维数组a进行正确初始化的语句是 C

A. int a[10]=(0,0,0,0,0); B. int a[10]={}; C. int a[]={0}; D. int a[10]={10*1}; 68、若有说明语句:char c=’\\72’;则变量c(D)

A. 包含一个字符 B. 包含2个字符

C. 包含三个字符 D. 说明不合法,c的值不确定 69、putchar函数可以向终端输出一个C A.单精度值 B.双精度值

C.字符或字符型变量值 D. 结构体

70、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是(C) if (x

{z=x;x=y;y=z;}

A. x=10,y=20,z=30 B. x=20,y=30,z=30 C. x=20,y=10,z=10; D. x=20,y=30,z=20 71、设有程序段

int k;

while (k=0) k=k-1; 则下面描述中正确的是B

A.while循环执行10次 B.循环是无限循环 C.循环体语句一次也不执行 D.循环体语句执行一次 72、若有说明:int c[5];则对a数组元素的正确引用是C

A. c[5] B. c[1.2] C. c[0] D. c(0)

73、C++语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B A. 地址传递 B. 单向值传递

C. 由实参传给形参,再由形参传回给实参 D. 由用户指定传递方式

74、语句while (!E);中的表达式!E等价于 A

A. E==0 B. E!=1 C. E!=0 D. E==1 75、一个C++程序的执行是从B

A.本程序文件的第一个函数开始,到本程序main函数结束 B. 本程序的main函数开始,到本程序文件的最后一个函数结束 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D. 本程序的main函数开始,到main函数结束 76、下面是对s的初始化,其中不正确的是D

A. char s[5]={\B. char s[5]={'a','b','c'}; C. char s[5]=\D. char s[5]=\

77、在一个C++程序中B

A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置

78、C++语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符B

A. 必须为下划线 B.必须为字母或下划线 C. 必须为字母 D. 必须为数字 79、以下程序段B

x=-1; do

{ x=x*x;} while (!x);

A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 80、判断char型变量k是否为大写字母的正确表达式是A

A. (k>=’A’)&&(k<=’Z’) B. (’A’<=k)||(’Z’>=k) C. ’A’<=k<=’Z’ D. (k>=’A’)&(k<=’Z’) 二、填空题

1、设有说明int a=32,b=1,c=3;则表达式a&&b&&c-3的值为 0 。

2、设有说明int a[3][4];则数组a的行下标的上界是 2 ,数组a总共有 12 个元素。

3、实现函数重载必须满足三个条件之一,它们是参数表中 参数个数 、 参数类型 和不同类型参数的次序不同。

4、内联函数的函数体一般不超过5行,若函数体中出现循环语句和开关语句,则系统将内联函数作为 一般函数 来处理。

5、在对类的对象进行初始化时,系统自动调用的函数是 构造函数 。 6、变量的3个要素是 变量名 、 变量值 和 存储单元 。 7、 C++语言使用定义常变量的修饰符是____const__________。 8、 类型为逻辑型的表达式有关系表达式、_条件表达式___________。 9、 已知:int m=5,&rm=m;则rm的值是:___5______。

10、 在一个函数体内调用另一个函数,称为__外部函数____;函数调用自身,称为 _内部函数_______。

11、 一个C++程序主要由若干个函数组成,其中必不可少的是____主函数___________。

12、若a是int型变量,且a的初值为6,则计算表达式后a的值为__-30_________。

a-=a*a

13、当a=3,b=2,c=1时,表达式f=a>b>c的值是 ____1______。 14、执行下面程序段后,k值是 ___36_________。

k=1;n=263;

do {k*=n;n/=10;} while (n);

23、设a,b,c均为int型变量,请写出描述“a和b都小于c”的表达式 _a

16、 在C++语言中,表示逻辑“真”值用_____1____。

17、 面向对象方法具有的三大特性是封装性、___继承性____和___多态性_________。 18、定义如下变量和数组:

int k;

int a[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是 __9___。 For (k=0;k<3;k++) cout<

19、类中成员的访问权限有3种,它们是:public、____protected__和___private___。 20、当a=5,b=4,c=2时,表达式a>b!=c的值是__1____。

21、在类体内定义的成员函数是内置函数,在类体外加____inline___关键字也可定义内置函数。

22、下面程序段的运行结果是___**x0__。

x=2;

do {cout<<”*”;x--;} while (x!=0);

23、设a,b,c均为int型变量,请写出描述“a或b中有一个大于c”的表达式 _a>c||b>c_____。

24、在VC++中,一个int型数据在内存中所占的字节数为 4 ,一个char型数据在内存中所占的字节数为 _____1____。 25、下面程序段的运行结果是__ab 。

char c[5]={’a’,’b’,’\\0’,’c’,’\\0’}; cout<

26、 在C++语言中,表示逻辑“假”值用____0___。

27、C++语言支持继承性,既支持____单继承__又支持多重继承。 28、类体内常见的特殊成员函数有:构造函数和____析构函数_____。

29、 C++语言中继承方式有3种,它们是:公有继承、__私有继承_____、__受_保护继承__。

30、C++语言允许的使用的注释符有_”/*??*/”___、//。

31、 C++语言中的循环语句有3种,它们是while语句、____for语句______、和__do-while___语句。

32、函数的存储类型有两种,它们是:外部函数和___内部函数___。 33、具有相同名字而不同功能的若干个函数称为___函数的重载____。 34、函数调用方式有两种:传值调用、__引用调用________。 35、表达式10%3的结果是__1____。 36、表达式10/3的结果是___3___。

37、若要使循环不经循环条件判断而中途停止,可在需要的地方写上___break____语句。 38、VC++中的一个float型变量占用内存空间_____4___字节。

39、若要使循环不再执行后续部分而直接返回循环条件判断,决定是否进行下一次循环, 可在需要的地方写上__continue_____语句。

40、在C++语言中的实型变量分为三种类型,它们是___float___型_、double型和long double型。

41、在VC++中数组定义 int a[5][6],则数组a共占用字节数是__120___。 42、C++语言中语句的最后用_return (表达式);___结束。

43、在C++语言中,整型常量的表示有三种形式,它们是十进制、__八进制_____、十六进制。

44、构造函数与一般成员函数的不同特点是:__构造函数名必须与类名相同__、不指出返回值类型、自动调用。

45、作用域运算符是__::___________。

46、增1运算符是___单____目运算符,?:运算符是____三____目运算符。 47、选择结构有两种语句:if语句和 switch 。 48、函数参数分为形参和___实参_____两种。

49、C++语言中的字符串可以用 “” 来存储。 50、内部函数用关键字 static 来说明。

三、判断题

1、在C++语言程序中,没有定义或说明的变量不得使用。√ 2、C语言中有引用,而C++语言中没有引用。× 3、\和'a'在内存中都只占1个字节。× 4、使用const定义常量时,必须指出类型。√

5、编译C++程序时,仅出现警告(Warning)不影响生成可执行文件。√ 6、不同类型的变量在内存中存放时占有相同的字节数。× 7、循环语句可以嵌套。√

8、C++语言规定数组下标从1开始。×

9、二维数组的元素个数是它的两个维的大小之和。×

10、类中定义的数据成员都是私有成员,而成员函数都是公有成员。× 11、增1运算符可用于变量左边,也可用于变量右边。√

12、关系运算符可以用来比较两个字符的大小,可用来比较两个字符串的大小。× 13、友元函数说明在类体内,它是一种成员函数。× 14、析构函数不能重载。√ 15、运算符的优先级和结合性确定了表达式的计算顺序。√ 16、条件语句可以实现多路分支。√

17、switch语句中必须有break语句才能退出。√ 18、类中公有成员和私有成员定义先后顺序是有关的。× 19、类中所有成员函数都可以重载。× 20、析构函数没有返回值类型。 √ ≯21、类中不是所有成员函数都可以重载。√ 22、不同的循环语句可以嵌套。√

23、任何循环语句的循环体内都可以使用break语句和continue语句。√ 24、构造函数通常是被自动调用的。√ 25、任何一个对象都是属于某个已知类的。√

26、类中公有成员和私有成员定义先后顺序是无关的。√

27、类中定义的数据成员都是公有成员,而成员函数都是私有成员。× 28、while循环的循环体至少执行一次。×

29、任何循环语句的循环体至少都可以执行一次。× 30、预处理命令可以加分号结束。× 31、创建引用时一定要对引用初始化。× 32、函数可以没有参数,但不能没有返回值。× ≯33、函数的函数体可以是空的。√

34、函数可以设置默认参数,但是不可以将所有参数都设置为默认参数。× 35、函数可以重载,被重载的函数必须在参数的个数、类型和顺序上有所不同。√ 36、do-while循环的循环体至少执行一次。√ 37、构造函数的定义必须在类体内。× 38、if语句不能嵌套。×

≯39、所有析构函数的函数体都是空的。√ ≯40、析构函数通常是被自动调用的。√

41、编译C++程序时,仅出现警告(Warning)不影响生成可执行文件。√

42、 在类体内定义的成员函数都是内联函数,在类体外定义的成员函数都不是内联函数。×

43、在类体内允许对数据成员进行初始化。√ 44、字符串\的长度是4。√

45、定义或说明变量时,不仅要指出变量的名字、类型,还必须给出变量的值。× 46、编译C++程序时,出现错误(Error)不影响生成可执行文件。× 47、字符串可以用赋值号=来复制。×

≯48、C++语言允许函数重载和设置函数参的默认值。×

49、定义或说明变量时,不仅要指出变量的名字、类型,还必须给出变量的值。× 50、数字字符'0'和空字符'\\0'的ASCII码值是相同的。×


C++练习题.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:东财17春秋学期《建筑设备》在线作业二

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: