C++语言程序设计复习.docx

上传人:b****1 文档编号:3025535 上传时间:2023-05-05 格式:DOCX 页数:48 大小:46.11KB
下载 相关 举报
C++语言程序设计复习.docx_第1页
第1页 / 共48页
C++语言程序设计复习.docx_第2页
第2页 / 共48页
C++语言程序设计复习.docx_第3页
第3页 / 共48页
C++语言程序设计复习.docx_第4页
第4页 / 共48页
C++语言程序设计复习.docx_第5页
第5页 / 共48页
C++语言程序设计复习.docx_第6页
第6页 / 共48页
C++语言程序设计复习.docx_第7页
第7页 / 共48页
C++语言程序设计复习.docx_第8页
第8页 / 共48页
C++语言程序设计复习.docx_第9页
第9页 / 共48页
C++语言程序设计复习.docx_第10页
第10页 / 共48页
C++语言程序设计复习.docx_第11页
第11页 / 共48页
C++语言程序设计复习.docx_第12页
第12页 / 共48页
C++语言程序设计复习.docx_第13页
第13页 / 共48页
C++语言程序设计复习.docx_第14页
第14页 / 共48页
C++语言程序设计复习.docx_第15页
第15页 / 共48页
C++语言程序设计复习.docx_第16页
第16页 / 共48页
C++语言程序设计复习.docx_第17页
第17页 / 共48页
C++语言程序设计复习.docx_第18页
第18页 / 共48页
C++语言程序设计复习.docx_第19页
第19页 / 共48页
C++语言程序设计复习.docx_第20页
第20页 / 共48页
亲,该文档总共48页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++语言程序设计复习.docx

《C++语言程序设计复习.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计复习.docx(48页珍藏版)》请在冰点文库上搜索。

C++语言程序设计复习.docx

C++语言程序设计复习

C++程序复习题

一.选择题(每题2分,共40分)

1.C++规定,在一个源程序中,main()函数的位置()。

A.必须在最开始B.必须在最后

C.可以任意D.必须在系统调用的库函数的后面

2.以下()是C/C++合法的标识符。

A.char2B.@xC.intD.7Bx

3.下面的程序,对于输入:

2915,输出的结果是()。

#include

voidmain()

{

inta;

floatb;

cout<<”inputa,b”<

cin>>a>>b;

cout<<”a+b=”<

}

A.2B.11C.26D.24

4.下面关于编译预处理命令的说法中,正确的是()。

A.一条文件包含命令能包含多个文件

B.文件包含命令不可以嵌套使用

C.编译预处理命令是在编译之前被处理的命令

D.编译预处理命令中的“#”可以省略

5.在以下关于C++语言的叙述中,正确的是()

A.if语句结构中必须有else语句

B.switch语句结构中必须有default语句

C.C++程序必须有return语句

D.C++中使用流来执行标准的输入输出操作

6.下列不正确的变量定义方法是()。

A.inta,&b=a;B.floata,*b=&a;

C.inta(4),b(0);D.inta=b=5;

7.下列运算符优先级按由高到低的顺序排列正确的是()。

A.*=.&&.!

=.%B.*=.%.&&.!

=

C.%.!

=.&&.*=D.&&.!

=.%.=

8.已知x,y为整型,z为实型,ch为字符型,下列表达式中合法的是()

A.z=(y+x)++B.x+y=zC.y=ch+xD.y=z%x

9.若有变量定义”inta=7;”,则下列语句组对应的输出结果是()

switch(a%5)

{case0:

cout<

case1:

cout<<++a;

case2:

cout<

case3:

cout<<--a;

default:

cout<<”其它值”;

}

A.其它值B.5C.7D.75其它值

10.执行下列程序段后,变量K的值为()

for(k=0,m=1;m<4;m++)

{

for(n=1;n<5;n++)

if(m*n%3==0)continue;

k++;

}

A.1B.3C.6D.12

11.若输入字符串“ABC”,下面程序段的输出为()

charc;

while(cin>>c,c!

=’\n’)

cout<

A.222B.CDEC.676869D.333

12.以下不能对二维数组a初始化的语句是()

A.inta[2][]={{1},{2}};B.inta[2][3]={1,2,3,4,5,6};

C.inta[2][3]={1};D.inta[2][3]={{1},{2}};

13.已知有语句“inta[3][4]={{1,2,5,3},{2,4,7,9},{3,6,5,8}},*p=&a[0][0];”,则表达式

(*p+2)+*(p+2)的值应为()。

A.10B.5C.6D.8

14.要比较两个字符数组a,b中字符串是否相等,下面正确的是()。

A.a==bB.strcmp(a,b)==0B.strcpy(a,b)D.strcmp(a,b)=0

15.若函数的类型和return语句中的表达式类型不一致,则()

A.编译时出错

B.运行时出现不确定结果

C.不会出错,且返回值的类型以return语句中表达式的类型为准

D.不会出错,且返回值的类型以函数类型为准。

16.下面函数说明正确的是()

A.voidf1(inta=3,intb,intc);

B.voidf2(inta,intb=3,incc);

C.voidf3(inta,intb,intc=3);

D.voidf4(inta,intb,int3);

17.下面程序的输出结果是()

#include

intm=10;

voidf(intm,int&n)

{

m=m+2;n=n+2;

}

voidmain()

{

intn=5;

f(m,n);

cout<<”m=”<

}

A.m=10n=5B.m=10n=7C.m=12n=7D.m=12n=5

18.以下函数中不属于类的成员函数的是()

A.构造函数B.析构函数C.友元函数D.拷贝初始化构造函数

19.作用域运算符的功能是()

A.标识作用域的级别的B.指出作用域的范围的

C.给定作用域的大小的D.标识某个成员是属于哪个类的

20.假设person是一个类,p1是该类的一个对象,p2是指向p1的指针,getname是该类的一个成员函数,则以下表达式不正确的是()

A.person.getname()B.p1.getname()

C.p1.person:

:

getname()D.p2->getname()

21.C++源程序文件的扩展名为( )

    A..CPP   B..C   C..DLL  D..EXE

22.以下()是C++合法的表达式

A.a=1,a++B.(x+y)++C.a+b=cD.12.25%10

23.以下程序的输出结果是:

(  )

#include

      int fun(char*s){

      char*p=s;

      while(*p!

='\0') p++;

      return(p-s);

      }

    voidmain(){

       cout<

     }

   A.0         B.1         C.2        D.3

24.下面叙述中正确的是()

A.for循环只能用于循环次数已经确定的情况

B.for循环同do-while语句一样,先执行循环体再判断

C.不管哪种形式的循环语句,都可以从循环体内转到循环体外

D.for循环体内不可以出现while语句

25.使用()可以设置数据输出的宽度。

A.setbase(intn)B.setw(intn)

C.setfill(intn)D.setprecision(intn)

26.在inta[][3]={{1},{3,2},{4,5,6},{0}}中,a[2][2]的值是(  )

  A.3        B.2      C.6        D.4

27.下面正确定义数组的语句是()

A.intx[][2]={2,1,3,2}B.intx[][]={2,1,3,2}

C.intx[2][]={2,1,3,2}D.intx[2,2]={2,1,3,2}

28.已知charc;constchar*pc="asdf";( )是正确的。

A.pc="dfgh"B.*pc=‘b’C.*pc++=‘y’D.pc=&c

29.若有变量定义”inta=7;”,则下列语句组对应的输出结果是()

switch(a%5)

{case0:

cout<

case1:

cout<<++a;

case2:

cout<

case3:

cout<<--a;break;

default:

cout<<”其它值”;

}

A.5B.7C.75D.75其它值

30.以下程序段的输出结果是()

for(i=4;i<=10;i++)

{

if(i%3==0)continue;

cout<

A.45B.457810C.69D.678910

31.执行下列语句后的输出结果是( )。

inthot=10;

int&rad=hot;

hot+=10;

cout<

     A.0     B.20     C.10       D.30

32.若用数组名作为函数调用的实参,传递给形参的是。

A.数组的首地址B.数组中第一个元素的值

C.数组全部元素的值D.数组元素的个数

33.定义如下变量和数组:

inti;

intx[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)cout<

则下面语句的输出结果是()。

A.159B.147C.357D.369

34.将两个字符串连接起来组成一个字符串时,选用的函数是。

A.strlen()B.strcap()C.strcat()D.strcmp()

35.若有以下程序段:

intx[12]={1,2,3,4,5,6,7,8,9,10,11,12};

charc=’a’,d,g;

则数值为4的表达式是()。

A.x[g-c]B.x[4]C.x[‘d’-‘c’]D.x[’d’-c]

36.若函数的调用形式如下:

f((x1,x2,x3),(y1,y2))

则函数形参个数是()。

A.2B.3C.4D.5

37.有如下程序

#include

#include

usingnamespacestd;

intmain(){

cout<

cout<<12.345<<<<34.567;

return0;

}

若程序的输出是:

**12.345**34.567

则程序中下划线处遗漏的操作符是______。

A.setprecision(3)B.fixedC.setfill('*')D.stew(8)

38.在私有继承中,基类的公有成员将成为其派生类的()。

A.公有B.保护C.私有D.不能访问

39.下列哪个不是成员访问限定符。

A.publicB.protectedC.privateD.static

40.在下面关于函数的描述中错误的是()

A.在一个源文件中,如果函数定义在先,调用在后,则不必声明该函数

B.如果一个函数在一个源文件里定义,而调用在另一个源文件中,则必须在调用之前声明该函数

C.函数的声明应使用函数原型

D.在一个源文件中,如果自定义函数调用在先,定义在后,则不必声明该函数

41.若有inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};int(*q)[4]=a;*q=a[0];则能够正确表示数组元素a[1][2]的表达式是()。

A.*((*q+1)[2]B.*(*(q+5))C.(*q+1)+2D.*(*(q+1)+2)

42.类是C++中的一种新的数据类型,下列有关类的说法不正确的是()。

A.类是一种用户自定义的数据类型

B.只有类中的成员函数才能存取类中的私有成员

C.在类中,如果不做特别说明,所指的数据均为私有类型

D.在类中,如果不做特别说明,所有的成员函数均为公有类型

43.设intx[]={1,3,5,7,9,11,13},*p=x;则不能正确引用数组元素的表达式是()

A.*(p--)B.*(--p)C.*(p++)D.*(++p)

44.执行下面程序段后,a的值为()。

inta,b;

for(b=1,a=1;b<=50;b++)

{

if(a>=10)break;

if(a%2==1)

{a+=5;continue;}

a-=3;

}

A.2B.6C.10D.8

45.在下面的引用定义中,正确的是()。

A.intx,&y;y=x;B.intx,&y=x ;

C.int&y=x,x;D.floatz;intx,y=&z;

46.下面对模板的声明正确的是_().

A.templateB.Template

C.TemplateD.Template

47.已知一个类A的定义如下,则执行“Ax(3) ;”语句后,x.a和x.b的值分别为()

classA

{inta,b ;

public:

A(intaa=1,intbb=0){a=aa;b=bb};

}

A.1和0B.3和0C.1和3D.3和0

48.C++源程序文件的扩展名为()

A..CPPB..OBJC..CD..EXE

49.下列变量名中,()是合法的。

A.doubleB.A+aC.CHINAD.5S

50.下列符号能用作C++标识符是的()。

A.xyz/2B.2xsaleC.x-saleD.x_sale

51.()不是C++的基本数据类型。

A.字符类型B.数组类型C.整数类型D.布尔类型

52.下列运算符中优先级最高的是()

A.%B.()C. !

D./

53.字符串常量“ME”的字符个数是()。

A.4B.3C. 2D.1

54.在C++语言中,080是()

A.八进制数B.十进制数C.十六进制数D.非法数

55.整型变量i定义后赋初值的结果是()。

inti=2.8*6 ;

A.12B.16C.17 D.18

56.如有intm=31;则表达式(m++*1/2)的值是()

A.0B.15C.15.5 D.16

57.在C++语言中,自定义的标识符()

A.能使用关键字并且不区分大小写

B.不能使用关键字并且不区分大小写

C.能使用关键字并且区分大小写

D.不能使用关键字并且区分大小写

58.下列C++标点符号中表示一条语句结束的是()

A.#B.//C.}D. ;

59.下列C++标点符号中表示一条预处理命令开始的是()

A.#B./C./*D.&

60.定义如下变量:

inti=2 ;intj=3 ;则i/j的值是()

A.0.7B.0.66667C.0.66666....D.0

61.已知inta=2,a+=a-=a*a的值是()。

A.-4B.-2C.0D.4

62.语句n1=2,n2=++n1,n1=n2++;执行后变量n1,n2的值分别为()

A.3,4B.3,3C.2,3D.2,4

63.下列程序段执行后输出结果为()

chara=’a’ ;cout<<”a=”<

A.a=AB.a=33C.a=65D.a=A-32

64.for(i=0,x=0;!

x&&i<=3;i++)循环的次数为()

A.4B.5C.1D.无限循环

65.若有如下程序段:

{inta=2,b=-1,c=2;

if(a

if(b<0)c=0;

elsec+=1;

cout<<”c=”<

}

执行后输出结果是()

A.2B.1C.3D.0

66.有如下程序段:

inti=10;

switch(i)

{case9:

i++;

case10:

i++;

case11:

i++;

default:

i++;

}

执行后输出结果是()

A.11B.12C.13D.14

67.下列描述正确的是()

A.break语句与continue语句完全一样,可以相互代替。

B.用break语句可以提前终止整个循环

C.用continue语句可以提前终止整个循环

D.用break语句与continue语句都不能提前终止整个循环

68.以下for循环的执行次数是()

for(x=0,y=0(y=123)&&(x<2);x++)

A.执行1次B.执行2次C.执行3次D.无限次

69.为了避免嵌套的if—else语句的二义性,C语言规定else总是与()

A.缩排位置相同的ifB.在其之前未配对的if

C.在其之前未配对的最近的ifD.同一行上的if

70.break语句的作用是()

A.立即跳出包含该break语句的所在层的循环语句和switch语句

B.立即跳出包含该break语句的最小的各种循环语句

C.立即跳出包含该break语句的switch语句

D.立即跳出包含该break语句的各层循环语句和switch语句

71.下面程序段执行完后,x的值是()

x=0 ;

for(i=0 ;i<90 ;i++)

if(i)x++ ;

A.0B.30C.89D.90

72.continue语句的作用是()

A.结束包含该continue语句的最小的各种循环语句

B.结束包含该continue语句的各种循环语句

C.结束本次循环,直接进行循环条件的判断

D.循环执行完后,结束循环

73.下列程序段循环()次

intx=-10 ;

while(++x){}

A.9B.10C.11D.无限

74.有如下程序段:

…….

for(inti=1;i<4;i++)

{if(i%2==0)continue;

cout<

执行以下程序段的输出结果是()。

A.1B.1,3,4C.1,3,D.2,4

75.用逻辑表达式表示“大于10而小于20的数”,正确的是()

A.1010||x<20C.x>10&x<20D.!

(x<=10|x>=20)

76.如果switch语句中的选择表达式是字符型变量code,下面哪一项case子句是合法的()

A.case“3”:

B.case‘3’:

C.case3:

D.case=3:

77.设inta=10,b=11,c=12;(a+b)

A.2B.0C.-2D.1

78.在以下关于C++语言的叙述中,正确的是()

A.if语句结构中必须有else语句

B.switch语句结构中必须有default语句

C.C++程序必须有return语句

D.C++中使用流来执行标准的输入输出操作

79.若m是一个值为10的int型变量,n是一个bool型变量,则表达式 !

m||n>0的值为()。

A.trueB.falseC.与n的值相反D.与n的值相同

80.下列dowhile循环的循环次数是()

inti=5 ;

do{cout<

i-- ;

}while(i !

=0) ;

A.0B.2C.5D.无限次

81.若有以下定义语句:

inta[10]={1,2,3,4,5,6,7,8,9,10};则下列()是对数组元素的正确使用。

A.a[10]B.a[a[3]-5]C.a[a[9]]D.a[a[4]+4]

82.对语句:

inta[3][4]={0};描述正确的是()。

A.只有元素a[0][0]可得到初值0

B.数组a中每个元素均可得到初值0

C.此说明语句不正确

D.数组a中各元素都可得到初值,但其值不一定为0

83.若有以下定义,则数组元素a[2][2]的值是()

inta[][3]={{1,2},{3,2,4},{4,5,6},{1,2,3}};

A.4B.5C.2D.6

84.在下面的一维数组定义中,不正确的是()

A.intx[10][10]B.intx[][10]={{1,3},5,7};

C.intx[][]D.intx[10][10]={0};

85.若定义了一个4行3列的数组,则第8个元素是()

A.a[1][3]B.a[2][3]C.a[3][1]D.a[2][1]

86.判断两个字符串(分别用a,b表示)是否相等的操作为()

A.a==bB.if(a==b)C.if(strcmp(a,b))D.if(strcpy(a,b))

87.定义一个一维数组,正确的语句是()

A.inaa(10)B.intn=10;inta[n];

C.intn;cin>>n;inta[n]D.constintn=10;inta[n];

88.下面数组定义错误的是()

A.#definen5

chara[n]={“good”}

B.constintn=5;

chara[n]={“good”}

C.intn=5;

chara[n]={“good”};

D.constintn=5;

chara[n+2]={“good”};

89.执行下列语句:

intc[4]={0,1,2,3};for(inti=0;i<4;i++)c[i]=c[i]+i;则c[3]的值是()。

A.0B.4C.6D.8

90.数组intarea[4]={1,2,3,4};执行程序

for(inti=1;i<=4;i++)

area[i-1]=1;

那么area[4]的值是()。

A.4B.3C.1D.不确定值

91.对字符数组进行初始化,下列语句正确的是()

A.chara[]=”abcd”;B.chara[][]=”abcd”;

C.chara[4]=”abcd”;D.chara[2][2]={“ab”,”cd”};

92.下列关于指针运算的描述错误的是()

A.指针变量是用于存储变量地址的变量

B.指针变量是用于存储变量值的变量

C.在一定条件下,指针变量可以为空值

D.可以使用指针变量来访问数组

93.若已经定义了a为int型变量,则对指针变量p的定义及初始化正确语句是()。

A.int*p=a;B.intp=a;C.int*p=*a;D.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2