C ++ 第1章练习.docx

上传人:b****5 文档编号:6834524 上传时间:2023-01-11 格式:DOCX 页数:16 大小:21.89KB
下载 相关 举报
C ++ 第1章练习.docx_第1页
第1页 / 共16页
C ++ 第1章练习.docx_第2页
第2页 / 共16页
C ++ 第1章练习.docx_第3页
第3页 / 共16页
C ++ 第1章练习.docx_第4页
第4页 / 共16页
C ++ 第1章练习.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C ++ 第1章练习.docx

《C ++ 第1章练习.docx》由会员分享,可在线阅读,更多相关《C ++ 第1章练习.docx(16页珍藏版)》请在冰豆网上搜索。

C ++ 第1章练习.docx

C++第1章练习

一、单选题

1.在inta=3,*p=&a;中,*p的值是()

A.变量a的地址值B.无意义

C.变量p的地址值D.3

2.对指针动态分配空间用的关键字是()

A.defineB.int

C.newD.float

3.可用作C++语言用户标识符的一组标识符是()

A.void,define,+WORDB.a3_b3,_123,YN

C.for,-abc,CaseD.2a,DO,sizeof

4.设存在数组a,其长度为Len,则下列哪个泛型算法用于对a进行升幂排序()

A.reverse(a,a+Len);B.sort(a,a+Len);

C.find(a,a+Len,value);D.copy(a,a+Len,b);

5.使用下列哪一限定符可强制改变访问方式()

A.constB.short

C.1ongD.signed

6.下列表达式,哪一是声明P为指向常量的指针()

A.constint*pB.int*constp;

C.constint*constpD.int*p

7.使用下列哪个格式控制符可设置转换十六进制为十进制()

  A.decB.oct

  C.hexD.endl

  8.对引用调用描述正确的是()

  A.分配新存储空间

  B.修改已存储空间的名称为引用名

  C.引用名与已存在存储空间无任何关联

  D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间

 9.设存在数组a,其长度为Len,则下列哪个泛型算法用于反转a中各元素()

  A.reverse(a,a+Len);B.sort(a,a+Len);

  C.find(a,a+Len,value);D.copy(a,a+Len,b);

  13.用于标识A是(C)

  A.无B.后缀L或1

  C.前缀零D.前缀Ox

10.设存在数组a,其长度为Len,下列哪项操作是将a中元素复制到数组b中()

  A.reverse(a+a,Len,b);B.sort(a,a+Len,b);

  C.find(a,a+Len,b);D.copy(a,a+Len,b);

11.C++中注释“/*”的有效范围是()

A.从“/*”开始到行尾B.从“/*”开始后不终止

C.从“/*”开始到“//”为止D.从“/*”开始到“*/”为止

12.如想使用std命名空间,正确的程序语句是(   )

A.usingstd;B.namespacestd,

C.usingnamespace;D.usingnamespacestd;

13.下列选项中不是C++关键字的是(   )

A.boolB.int

C.floatD.var

14.用于标识长整型常量的前缀或后缀是(   )

A.无前后缀B.后缀L或l

C.前缀零D.前缀0x

15.对于new类型名[size]描述正确的是(   )

A.申请可以存储size个字节的空间

B.申请可以存储1个该数据类型的空间

C.申请可以存储size个该数据类型对象的空间

D.申请可以存储1个字节的空间

16.使用下列哪个流格式控制符可以设置转换基数为十六进制(   )

A.decB.oct

C.hexD.endl

17.对C++语言和C语言的兼容性,描述正确的是()

A.C++兼容CB.C++部分兼容C

C.C++不兼容CD.C兼容C++

18.在C++中使用流进行输入输出,其中用于屏幕输出的对象是()

A.cerrB.cin

C.coutD.cfile

(cerr:

标准错误输出(非缓冲方式);cin:

标准输入;clog标准错误输出(缓冲方式))

19.对使用关键字new所开辟的动态存储空间,释放时必须使用()

A.freeB.create

C.deleteD.realse

20.下列选项不是C++关键字的是()

A.typedef

B.void

C.bool

D.inc

21.用于标识十进制常量的前缀或后缀是()

A.无前后缀

B.后缀L或l

C.前缀0

D.前缀0x

22.设intx=56;intr=x;若cout<<&x;显示0012FF7A,则cout<<&r;输出值为()

A.56

B.00l2FF7A

C.0012FF7B

D.未知

23.使用下列哪个流格式控制符可设置转换基数为八进制()

A.dec

B.oct

C.hex

D.endl

24.C++中注释“∥”的有效范围是()

A.从“∥”开始到行尾

B.从“∥”开始到下一个“∥”

C.“∥”及其后一个字符

D.从“∥”开始到程序尾

25.在C++中,头文件扩展名为()

A..cppB..h

C..1ibD..obj

26.下列符号中,不属于分隔符的是()

A.,B./

C.;D.{}

27.可替换#definePI3.1415926的语句是()

A.floatPI3.1415926;B.constfloatPI=3.1415926;

C.constPI(3.1415926);D.const3.1415926;

28.布尔类型标识符是()

A.voidB.short

C.longD.bool

29.下列不是C++语言的基本数据类型的是()

A.字符类型B.整数类型

C.逻辑类型D.枚举类型

30.对classpoint,如使用point*ptr=newpoint[2];创建对象数组,则删除此数组使用的语句是()

A.deleteptr[2];B.delete[]ptr;

C.deleteptr[];D.delete[2]ptr;

31.对C++中主函数描述正确的是()

A.名称为main,可为多个B.名称不限,可为多个

C.名称为main,必须有且只能有一个D.名称不限,必须有且只能有一个

32.用于包含C++标准库iostream的预处理指令是()

A.#defineB.#include

C.#define‘iostream’D.#include‘iostream’

33.无类型标识符是指()

A.voidB.bool

C.shortD.long

34.从本质上看,引用是被引用变量的()

A.拷贝B.别名

C.复制D.克隆

35.下面关于数组的初始化正确的是()

A.charstr[]={'a','b','c'};

B.charstr[2]={'a','b','c'};

C.charstr[1][2]={{'a','b'},{'e','d'}};

D.charstr[][]={'a','b','c'};

36.在下列成对的表达式中,运算结果类型相同的一对是()

A.7/2和7.0/2.0B.7/2.0和7/2

C.7.0/2和7/2D.7.0/2.0和7.0/2

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

A..cppB..h

C..1ibD..obj

38.在C++中使用流进行输入输出,其中专用于从键盘进行输入的流是()

A.cerrB.cin

C.coutD.cfile

39.包含自定义头文件file.h的预处理指令是()

A.#defineB.#includefile.h

C.#definefile.hD.#include"file.h"

40.用于标识十六进制前缀或后缀是()

A.无B.后缀L或e

C.前缀零D.前缀0x

41.设存在整型变量intx,则下列句与其它三项含义不同的是()

A.int*p=&x;B.int&p=x;

C.int&p=x;D.int&p=x;

42.对C++语言和C语言的兼容性,描述正确的是()

A.C++兼容CB.C++部分兼容CC.C++不兼容CD.C兼容C++

43.在C++中使用流进行输入输出,其中用于屏幕输出的对象是()

A.cerrB.cinC.coutD.cfile(cerr:

标准错误输出(非缓冲方式);cin:

标准输入;clog标准错误输出(缓冲方式))

44.对使用关键字new所开辟的动态存储空间,释放时必须使用()

A.freeB.createC.deleteD.realse

二、填空题

45.____________指令指示编译器将一个源文件嵌入到带该指令的源文件之中。

46.设在程序中使用如下语句申请了一个对象数组:

Point*ptr=newPoint[2];

则在需要释放ptr指向的动态数组对象时,所使用的语句是___________。

47.在C++中,声明布尔类型变量所用的关键字是_______。

48.C++语言中可以实现输出一个换行符并刷新流功能的操控符是_________。

49.执行下列代码

inta=29,b=100;

cout<

程序的输出结果是:

_________。

50.执行下列代码

cout<<″Hex:

″<

程序的输出结果为________。

51.C++语言中可以实现输出一个换行符并刷新流功能的操控符是________。

52.有下列代码inta=0;doubleb=0;cin>>a>>b;当用键盘输入1.25时,b=______。

53.C++程序必须有且只有一个主函数,其函数名为______。

54.若使用标准输出流把整型变量a的值输出到屏幕上,实现此操作的C++语句是______。

55.C++将数据从一个对象流向另一个对象的流动抽象为“流”,从流中获取数据的操作称为______。

56.执行下列代码

intb=100;

cout<<"Hex:

"<

程序的输出结果是______。

57.C++程序必须有且只有一个主函数,其函数名为______。

58.有下列代码inta=0;doubleb=0;cin>>a>>b;当用键盘输入1.25时,b=______。

59.与操作对象的数据类型相互独立的算法称为______。

60.C++中用于动态创建对象,并返回该对象的指针的关键字是______。

61.C++的流类库预定义的与标准输出设备相联接的流是______。

62.执行下列代码

cout<

程序输出结果是______。

63.执行代码doublepi=3.1415192;cout<

64.C++语言提供的的基本控制结构可以分为3种类型:

顺序结构、_______和循环结构。

65.要使用STL库提供的对数组进行降幂排序算法,在源程序中需要包含的头文件是______。

66.开发一个C++语言程序的步骤通常包括编辑、_______、连接、运行和调试。

67.执行下列代码

cout<

68.在STL库中用于实现数组内容反转的函数是______。

69.执行代码

intb=100;

cout<

程序的输出结果是______。

70.若要使用C++标准类库,需要指定相应的命名空间,所用的语句是______。

71.C++语言中的整数常量有4种描述类型:

十进制常量、长整型常量、八进制常量和______。

72.声明一个名为a的整型引用变量所使用的语句是______。

73.执行下列代码

doublepi=3.141592;

cout<

(1)<

程序的输出结果是_________。

74.要使用STL库提供的对数组进行升幂排序算法,在源程序中需要包含的头文件是_________。

75.C++语言中动态回收内存的关键字是_________。

76.执行下列代码

intb=100;

cout<<”Oct:

”<

程序的输出结果是_________。

77.C++语言中用于定义一个类的关键字是_________。

78.在程序中执行int*a=newint之后,若a为空指针,则表明________。

79.在C++中,声明布尔类型变量所用的关键字是。

80.执行下列代码

inta=29,b=100;

cout<

程序的输出结果是:

___________.

81.执行下列代码

cout<<″Hex:

″<

程序的输出结果为。

82.C++语言中可以实现输出一个换行符并刷新流功能的操控符是_________

83.C++程序的头文件和源程序文件扩展名分别为________和.cpp。

84.字符串类型的变量一般用________和字符数组类型的变量表示。

85.在一个C++程序中,每个变量都必须遵循________的原则。

86.对象的行为是定义在对象属性上的一组________的集合。

87.执行下列代码

inta=29,b=1001;

cout<

程序输出结果是:

______。

88.在C++中,赋值表达式y=x++的含义是______。

89.设有如下定义:

intx;若要将整型变量y定义为变量x的引用,则应使用的语句是______。

90.若要使用标准输入流机制从键盘输入一个整数赋给整型变量a,相应的C++语句是______。

91.执行代码doublepi=3.141592;cout<

(双精度数默认输出小数后5位)

92.使用C++编译器对C++源程序进行编译产生文件的扩展名是_____。

93.执行cout<

三、改错题(本大题共5小题,每小题2分,共10分)

下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。

94.#include

voidmain(){

intx=5,y=6;

constint*p=&x;

*p=y;

cout<<*p<

95.#include

main(){

intx=6;

constint*p=x;

cout<<*p<

}

96.#include

usingnamespacestd;

intmain(){

intnum;max=10;num=1

while(num

cout<<″Num=″<

return0;

}

97.#include

usingnamespacestd;

intmain(){

constintnum=20;

intscores[num];

for(inti=1;i<=num;i++){

scores[i]=i;

}

return0;

}

98.#include

voidmain(){

intx=5;

constint*constp=&x;

*p=88;

cout<<*p<

}

99.#include

voidmain(){

intx=5,y=6;

constint*p=&x;

*p=y;

cout<<*p<

}

100.#include

voidmain(){

float*p;

p=newfloat[5];

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

{cin>>*(p+i);cout<<*(p+i)<

delete[]p;

}

101.#include

  main(){

  intx=9,y=8,z=7;

constint*p=z;

cout<<*p<

  }

102.#include

  main(){

  intx=8,y=6;

  constint*constp=&x;

  p=&y;  cout<<*p<

  }

103.#include

  main(){

folatp;

  p=newfolat[5];

  for(inti=0;i<5;i++)

  {cin>>*(p+i);cout<<*(p+i)<

  deletep;

  }

四、完成程序题

104.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include

usingnamespacestd;

__________i=3.14159;

voidmain()

{

doubler;

cout<<″r=″;

__________;

doublel=2.0*pi*r;

doubles=pi*r*r;

cout<<″\nThelongis:

″<

cout<<″Theareais:

″<

}

105.在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。

#include

usingnamespacestd;

voidmain()

{

floata,b;

_____________//函数cha的原型声明

a=12.5;

b=6.5;

floatc=____________;//调用函数cha

cout<

}

floatcha(floatx,floaty)

{

floatw;

w=x-y;

returnw;

}

106.完成下面程序,使其输出l0,并在退出运行时正确释放分配给指针的存储空间。

#include

usingnamespacestd;

voidmain()

{

int*a,*p;

a=newint(10);

p=____;

cout<<*p<

__________

}

107.请将下面程序补充完整,使程序可以正常打印9×9乘法口诀。

#include

usingnamespacestd;

classA{

private:

inta;intb;

public:

________

{a=x;b=y;}

voidset(intx,inty)

{a=x;b=y;}

voiddisplay(){

cout<

}

};

intmain(){

Aa(1,1);

for(inti=1;i<=9;i++){

for(intj=1;____________;j++){

a.set(j,i);

a.display();

cout<<″″;

}

cout<

}

return0;

}

108.将下面程序补充完整,使程序计算100以内所有可被7整除的自然数之和。

#include

voidmain()

{

intx=1;

intsum=0;

while(true)

{

if(x>100){

___________;

}

if(_____){

sum=sum+x;

}

x++;

}

cout<

}

109.下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。

#include

usingnamespacestd;

________________pi=3.14159;

voidmain()

{

doubler;

cout<<″r=″;

__________;

doublel=2.0*pi*r;

doubles=pi*r*r;

cout<<″\nThelongis:

″<

cout<<″Theareais:

″<

}

五、程序分析题(本大题共4小题,每小题5分,共20分)

110.给出下面程序的输出结果

#include

usingnamespacestd;

voidmain()

{

intnum=300;

int&ref=num;

cout<

ref=ref-100;

cout<<""<

num=num-50;

cout<<""<

}

101.#include

usingnamespacestd;

intmain(){

inti,j;

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

for(j=2;j<=4;j+=j){

if(i+j<5)

cout<<″+″;

else

cout<<″*″;

}

return0;

}

102.请给出下面程序的输出结果

#include

usingnamespacestd;

voidfun()

{

staticintn=25;

n--;

cout<<"n="<

}

voidmain()

{

for(inti=0;i<=2;i++)

fun();

}

 

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

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1