一、单选题
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