2015春浙江电大《C++语言程序设计》期末复习(1)

时间:2024-04-27 19:32:56 5A范文网 浏览: 复习资料 我要投稿

一、单选题

1.在下面的do循环语句中,其循环体被执行的次数为(A)。

int i=0; do i++; while(i*i<10);

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

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

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

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

3. 逻辑表达式x>0 || y==5的相反表达式为(B)。

A. x<=0 || y!=5   B. x<=0 && y!=5  

C. x>0 || y!=5   D. x>0 && y==5

4. 假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大(C)个字节。

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

5. 枚举类型中的每个枚举常量的值都是一个(A)。

A. 整数       B. 浮点数        

C. 字符       D. 逻辑值

6. 循环体至少被执行一次的语句为(C)语句。

A. for循环      B. while循环      

C. do循环      D. 任一种循环

7. 在下面的字符数组定义中,(D)语句有语法错误。

A. char a[20]=”abcdefg”; B. char a[]=”x+y=55.”;

C. char a[15]={’1’,’2’};   D. char a[10]=’5’;

8. 设x和y均为bool量,则x && y为真的条件是(D)。

A. 其中一个为假  B. 其中一个为真

C. 它们均为假  D. 它们均为真

9.假定AB为一个类,则执行“AB a(4), b[5], *p[2];”语句时,自动调用该类构造函数的次数为(A)。

A. 6      B. 7      C. 9      D. 11

10.当使用fstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(D)。

A. ios::in      B. ios::out    

C. ios::in | ios::out      D. 没有

11. 枚举类型中的每个枚举常量的值都是一个(A)值。

A. 整数      B. 浮点数        

C. 字符         D. 逻辑

12.设x和y均为bool量,则逻辑表达式x || y为假的条件是(C)。

A. 它们均为真  B. 其中一个为真  

C. 它们均为假  D. 其中一个为假

13. 声明或定义一个内联函数时,必须在函数开始使用保留字(D)。

A. static      B. const    

C. extern      D. inline

14. 在下面的函数声明中,存在着语法错误的是(D)。

A. BC(int a, int);  B. BC(int, int);  

C. BC(int, int=5);  D. BC(int x; int y);

15. 假定a为一个整型数组名,则元素a[4]与(C)的表示等价。

A. a+4        B. *a+4        

C. *(a+4)        D. *(a+16)

16. 下面循环语句执行结束后输出的i值为(B)的值。

for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}

A. n/2      B. n/2+1      C. n-1      D. n

17. 将两个字符串连接起来组成一个字符串时,选用(C)函数。

A. strlen()    B. strcpy()  

C. strcat()    D. strcmp()

18. 预处理命令在程序中都是以(B)字符开头的。

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

19. 假定有定义“struct BOOK{char title[40]; float price;};”,则不正确的变量定义语句为(D)。

A. BOOK x;      B. BOOK x={"C++ Programming",27.0};

C. BOOK *x=new BOOK;       D.  BOOK x=new BOOK;

20. 假定AB为一个类,px为指向该类动态对象数组的指针,该数组长度为n,则执行“delete []px;”语句时,自动调用该类析构函数的次数为(B)。

A. 1      B. n       C. n-1     D. n+1

21. 由C++源程序文件编译而成的目标文件的缺省扩展名为(A)。

A. obj      B. lik       C. exe       D. cpp

22. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用(D)符号作为分隔符。

A. 空格或逗号    B. 逗号或回车  

C. 逗号或分号    D. 空格或回车

23. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为(C)。

A. 1      B. 0    C. 与x值相同    D. 与x值相反

24. for语句能够被改写为(D)语句。

A. 复合      B. if      C. switch     D. while

25. 在每个C++程序中都必须包含有这样一个函数,该函数的函数名为(A)。

A. main      B. MAIN      C. name      D. function

26. 在下面的一维数组定义中,(C)语句有语法错误。

A. int a[]={1,2,3};  B. int a[10]={0};

C. int a[];          D. int a[5];

27. 下面的(C)保留字不能作为函数的返回类型。

A. void      B. int      C. new      D. long

28. 下面的函数声明中,(B)是“void BC(int a, int b);”的重载函数。

A. int BC(int x, int y);   B. void BC(int a, char b);

C. float BC(int a, int b, int c=0);    

D. int BC(int a, int b=0);

29. 当类中一个字符指针成员指向具有n个字节的存储空间时,它所能存储字符串的最大长度为(C)。

A. n      B. n+1      C. n-1      D. n-2

30. 假定AB为一个类,则该类的拷贝构造函数的声明语句为(D)。

A. AB&(AB x);      B. AB(AB x);      

C. AB(AB* x);      D. AB(AB&);

31. C++程序的基本功能模块为(D)。

A. 表达式      B. 标识符      

C. 语句      D. 函数

32. 存储以下数据,占用存储字节最多的是(A)。

A. 0      B. ’0’      C. ”0”      D. ’/n’

33. 在下面的一维数组定义中,有语法错误的是(C)。

A. int a[]={1,2,3}; B. int a[10]={0};

C. int a[];  D. int a[5];

34. 在下面的语句或语句组中,(B)不正确。

A. int a[5];  B. int M=10; int a[M];  

C. int a[]={1,5,10,45};  D. const int N=12; int a[N];

35.C++语言中的每条简单语句以(B)作为结束符。

A. 逗号      B. 分号      C. 空格      D. 换行符

36. 含随机函数的表达式rand()%20的值在(C)区间内。

A. 1~19       B. 1~20        C. 0~19        D. 0~20

37. 当处理一个特定的问题时,若循环次数已知,则通常采用(A)来解决。

A. for循环  B. while循环 C. do循环 D. switch语句

38. 在下面循环语句中内层循环体S语句的执行总次数为(D)。

for(int i=0; i<n; i++)

for(int j=i; j<n; j++) S;

A. n2   B.(n+1)/2   C. n(n-1)/2  D. n(n+1)/2

39. 若函数声明为double* function(), 则该函数的返回值为(B)。

A. 实数型   B. 实数指针型  C. 函数指针型    D. 数组型

40. 假定变量m定义为“int m=7;”,则定义变量p的正确语句为(B)。

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

C. int &p=*m;     D. int *p=m;

 

二、填空题

1.当不需要函数返回任何值时,则应把该函数类型定义为 void 。

2.执行“cout<<“ning”<<“chen”<<38<<endl;”语句后得到的输出结果为ningchen  38。

3.C++语言中的每条基本语句以 ; 作为结束符,每条复合语句以 } 作为结束符。

4.执行“cout<<143<<’+’<<18<<’=’<<143+18<<endl;”语句后得到的输出结果为 143+18=161 。

5.用于输出表达式值的标准输出流对象是cout ,用于从键盘上为变量输入值的标准入流对象是 cin 。

6.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 main 。

7.C++源程序文件的缺省扩展名为 .cpp ,由C++源程序文件编译而成的目标文件的缺省扩展名为 .obj ,由C++目标文件连接而成的可执行文件的缺省扩展名为 .exe 。

8.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用 空格 或 , 符号作为分隔符。

9.十进制数25表示成符号C++语言规则的八进制和十六进制数分别为031和0x19符号。

10.在C++语言中,用转义字符序列 ’/n’ 或’/12’ 或’/x0a’ 或操纵符 endl 表示输出一个换行符。

11.执行“cout<<char(’b’+2)<<endl;”语句后得到的输出结果为 d 。

12.执行“cout<<char(’K’-3)<<endl;”语句后得到的输出结果为 H 。

13.已知’A’~’Z’的ASCII码为65~90,当执行“int x=’H’+5;”语句后x的值为 77 。

14.已知’A’~’Z’的ASCII码为65~90,当执行“char ch=16*5+2;cout<<ch<<endl;语句序列后,得到的输出结果为 R 。

15.假定一个枚举类型的定义为“enum RA{xa,xb,xc,xd};”,则执行“cout<<”xc=”<<xc<<endl;”语句得到的输出结果为 xc=2 。

16.假定一个枚举类型的定义为“enum RB{ab,ac=3,ad,ae}x=ad;”则x的值为 4 。

17.Char、short和int类型的大小分别为 1B 、2B 和 4B 。

18.float和double类型的大小分别为 4B 和 8B 。

19.十进制数128和-3.26的类型分别为 int 和 double 。

20.若需要定义一个标识符常量,并且使C++能够进行类型检查,则应在定义语句的开始用保留字 const 。

21.使用const语句定义一个标识符常量时,则必须对它同时进行 初始化 。

22.执行“int x=45,y=16;cout<<x/y<<’ ’<<x%y<<endl;”语句序列后得到的输出结果为2  13。

23.假定x=10,y=6,则表达式2+x+ +和+ +y*3的值分别为 12 和 21 。

24.算术表达式(x2+y2)/(2-xy)对应C++表达式为 (x*x+y*y)/(2-x*y) 。

25.算术表达式xy2/(3a+4b-1)对应的C++表达式为 x*y*y/(3*a+4*b-1) 。

26.表达式float(25)/4和int(14.6)%5的值分别为 6.25和 4 。

27表达式a=a+b表示成复合赋值表达式为 a+=b;  。

28.表达式a=a+1表示成增量表达式为 ++a; 。

29.增量表达式+ +y表示成赋值表达式为 y=y+1; 。

30.关系表达式(x= =0)的等价表达式为 !(x! =0)。

31.关系表达式(x! =0)的等价表达式为  !(x= =0) 。

32.关系表达式x+y>z的相反表达式为  x+y<=z  。

33.逻辑表达式x>5&& x<10的相反表达式x<=5 || x>=10 。

34.逻辑表达式a>b | | b= =5的相反表达式为a<=b && b!=5 。

35.若x=15,y=40,则x>y 和x<=y的逻辑值分别为false或0 和true或1 。

36.假定x=5,则执行“a=(x? 10:4*2);”语句后a的值为10 。

37.假定a=5,则条件表达式“a= =0? 10:20”的值为 20。

38.执行“typedef int Data Type;”语句后,在使用int定义整型变量的地方都可以使用

Data  Type 定义整型变量。

39.设x和y均为bool量,x & & y为真的条件是x和y均为true。

40.设x和y均为bool量,则x | | y为假的条件是x和y均为false。

41.假定一个一维数组的定义为“char a[5];”,则该数组所含元素的个数为 5 ,所占存储空间的字节数为 5 。 ( 存储的字符串最大长度:4  )

42.假定一个二维数组的定义为“int a[4][6];”,则该数组所含元素的个数为 24 ,所占存储空间的字节数为 96 。

43.假定一个二维数组的定义为“char a[8][8];”,则该数组所含元素的个数为 64 ,所占存储空间的字节数为 64 。

44.执行“typedef  float  ABC[10];”语句把ABC定义为具有10个单精度元素的 一维数组 。

45.在函数外定义的变量称为 全局 变量,若没有被初始化则系统隐含对它赋初值 0 。

46.函数中的形参变量的初值由 调用 该函数时获得。

47.函数调用时,实参向形参的传送分为 按值传递 和 按地址传递 两种传送方式。

48.变量分为全局和局部两种, 局部 变量没有赋初值时,其值是不确定的。

49.假定p所指对象的值为28,p+1所指对象的值为62,则* p + +的值为 28 。p所指对象的值为:62

50.假定p所指对象的值为28,p+1所指对象的值为62,则* + + p的值为 62 。p所指对象的值为:62

51.假定p所指对象的值为25,p+1所指对象的值为50,则执行“(*p)+ +;”语句后,p所指对象的值为 26 。表达式值为:25

52.假定p所指对象的值为25,p+1所指对象的值为50,则执行“*(p+ +);”语句后,p所指对象的值为 50 。表达式值为:50

53.假定a是一个指针数组,则a+i所指对象的地址比a地址大 i*sizeof(unsigned) 字节。

54.假定a是一个一维数组,则a[i]的指针访问方式为 *( a+ i ) 。

55.假定a是一个二维数组,则a[i] [j]的指针访问方式为 *(( a+i ) + j )。

56.假定a是一个一维数组,则a[i]对应的存储地址(以字节为单位)为 a + sizeof(a[0])*i 。

57.假定一个二维数组为a[M] [N],则a[i] [j]对应的存储地址(以字节为单位)为 a+sizeof(a[0][0])*(i*N + j ) 。

58.假定一个二维数组a[M] [N],则a[i]的地址值(以字节为单位)为 a + sizeof(a[0][0])*(i*N) 。

59.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大 4 字节。

60.假定a为一个字符数组名,则元素a[8]的字节地址为 a + 8 。

61.假定a为一个整型数组名,则元素a[4]的字节地址为 a + 4*sizeof( int ) 或 a + 16 。

62.假定一个结构类型的定义为“struct A{int a,b;short c;A*d;};”,则该类型的大小为 14 字节。

63.假定一个结构类型的定义为“struct B{int a[8];char* b;};”,则该类型的大小为 36 字节。

64.假定一个结构类型的定义为“struct D{int a;union{int b;double c;}; D*d[3];};”,则该类型的大小为24字节。

65.假定要动态分配一个类型为Worker的具有n个元素的数组,并由r指向这个动态数组,则使用的语句为

Worker *r = new  Worker  [ n ] ; 。

66.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为 *( x . a ) 。

67.假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为 *( p->b )。

68.在定义类对象的语句执行时,系统在建立每个对象的过程中将自动调用该类的 构造函数 使其初始化。

69.当一个类对象被撤消时将自动调用该类的 析构函数 。

70.对基类数据成员的初始化是通过执行派生类构造函数中的 初始化表 来实现的。

71.对一个类中的数据成员的初始化可以通过构造函数中的 赋值语句 实现,也可以通过构造函数中的 初始化表 实现。

72.在一个派生类中,对基类成员、类对象成员和非类对象成员的初始化次序的先 基类成员 ,后 类对象成员 ,最后 非类对象成员 。

73.当撤消一个含有基类和类对象成员的派生类对象时,将首先完成  类对象成员 的析构函数定义体的执行,接着完成 派生类 的析构函数定义体的执行,最后完成 基类 的析构函数定义体的执行。

74.设PX是指向一个类动态对象的指针变量,则执行“delete px;”语句时,将自动调用该类的 析构函数 。

75.当一个类对象离开它的作用域时,系统将自动调用该类的 析构函数 。

76.假定一个类对象数组为A[N],当离开它的作用域时,系统自动调用该类析构函数的次数为 N 。

77.假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类构造函数的次数为 10 。

78.假定拥护没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为 AB ( ) { } 。

79.假定用户没有给一个名为AB的类定义析构函数,则系统为其隐含定义的析构函数为 ~ AB ( ) { } 。

80.若需要把一个函数“void f(); ”定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句:friend  void  f( );  。

81.若需要把一个类AB定义为一个类CD的友元类,则应在类CD的定义中加入一条语句:friend class AB; 。

82.假定一个类AB中有一个静态整型成员bb,在类外的它进行定义并初始化为0时,所使用写法为:int  AB::bb = 0 ; 。

83.假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员 bb的访问为AB::bb 。

84.当类中一个字符指针成员指向具有n个字节的储存空间时,它所能储存字符串的最大长度为 n-1 。

85.假定AB为一个类,则该类的拷贝构造函数的声明语句为 AB (AB  & ); 。

86.对类对象成员初始化是通过执行构造函数中的 赋值语句 或 初始化表 完成的。

87.对于类中定义的成员,其隐含访问权限为private ,对于结构中定义的成员,其隐含访问权限为 public 。

88.一个类的友元函数或友元类能够通过成员操作符直接访问该类的 私有成员 。

89.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:AB&  operator+(AB  &); 。

90.在C++流类库中,根基类为 ios 。

91.在C++流类库中,输入流类和输出流类的名称分别为 istream 和 ostream 。

92.若要在程序文件中进行标准输入输出操作,则必须在开始的#include命令中使用iostream.h头文件。

93.若要在程序文件中进行文件输入输出操作,则必须在开始的#include命令中使用fstream.h头文件。

94.当从字符文件中读取回车和换行两个字符时,被系统看作为一个 字符串流 。

95.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ios ::in,当使用ofstream 流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为 ios::out 。当需要使用istream流类定义一个流对象并联系一个字符串时,应在文件开始使用#include命令,使之包含 strstrea.h 文件。

来源:网络整理 免责声明:本文仅限学习分享,如产生版权问题,请联系我们及时删除。

相关文章:

2022年初中物理:伏安法测导体电阻04-27

2022年初中物理:伏安法测电阻04-27

2022年初中物理:探究电流与电压、电阻的关系04-27

2022年初中物理:电阻与变阻器04-27

2022年初中物理:特殊法测电阻04-27

2022年初中物理常见故障的排除方法04-27

2022年初中物理:电流的磁场04-27

2022年初中物理知识:电与磁学习口诀04-27

2022年初中物理:电磁铁的应用04-27

2022年初中物理:磁场04-27

热搜文章
最新文章