C++常见选择填空习题集
更新时间:2024-05-07 22:22:01 阅读量: 综合文库 文档下载
- 选择什么填空推荐度:
- 相关推荐
第一章概述
一、选择题
1. 关于C++与C语言的关系描述中,错误的是( )
A. C语言与C++是兼容的 B. C语言是C++的一个子集 C. C++和C语言都是面向对象的 D. C++对C语言进行了一些改进
2. 不可以作为C++用户标识符的是( )
A. Printf B. _123 C. While D. case
3. 由C++目标文件连接而成的可执行文件的缺省扩展名为( ) A. cpp B. obj C. lib D. exe
4. 关于C和C++的描述中,正确的是( )
A. C是面向过程,C++是纯面向对象 B. C++是C的超集 C. C++是对C的错误的修改 D. C++和C没有关系
5. C++对C作了很多改进,从面向过程成为面向对象的主要原因是( )
A. 增加了一些新的运算符 B. 允许函数重载,并允许设置参数默认值 C. 规定函数必须用原型 D. 引进了类和对象的概念
6. 将高级语言编写的源程序翻译成目标程序的是( )
A. 解释程序 B. 编译程序 C. 汇编程序 D. 调试程序
7. C++语言是从早期的C语言逐渐发展演变而来的,与C语言相比,它在求解问题方法上进行的
最大改进是( )
A. 面向过程 B. 面向对象 C. 安全性 D. 复用性
8. C++语言支持过程程序设计方法和( )设计方法。
A. 面向对象 B. 面向函数 C. 面向用户 D. 面向问题
9. 关于C++和C的关系中,使C发生了质的变化,即从面向过程变成为面向对象的是( ) A. 增加了新的运算符 B. 允许函数重载,并允许缺省参数 C. 规定函数有原型 D. 引进了类和对象的概念
10. C++语言最有意义的方面是支持( )
A. 面向事件 B. 面向程序 C. 面向对象 D. 面向用户
11.下列说法中,正确的是( )
A. C++程序总是从第一个定义的函数开始执行
B. C++程序总是从主函数开始执行
C. C++函数必须有返回值,否则不能调用此函数
D. C++程序中有调用关系的所有函数必须放在同一个源程序文件中
12. 下列描述中,正确的是( )
A. 程序就是软件 B. 软件开发不受计算机系统的限制
C. 软件既是逻辑实体,又是物理实体 D. 软件就是程序、数据与相关文档的集合
13. 为了使模块尽可能独立,要求( )
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强 B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱 D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
14. 下列说法中正确的是( )
A. 数据流图详细描述了系统中对象数据是如何计算的 B. 数据流图详细描述了操作和约束的含义 C. 数据流图中不能有过程 D. 数据流图定义了对象的操作
15. 在C++语言中,自定义的标识符( )
A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写 C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写
16. 不能用于组成C++程序标识符的是( )
A. 连接符 B. 下划线 C. 大小写字母 D. 数字字符
17. 下列标识符中都是合法的是( )
A. _key, example, a_b B. 5ap, test1, _3a C. bcp, @mail, _c_d D. INL, _paper, union
18. 下列符号中,不可作为分隔符的是( )
A. 逗号 B. 分号 C. 问号 D. 英文句号
19. 下列变量名中,合法的是( )
A. CHINA B. byte-size C. double D. A+a
20. 在C++语言中,自定义的标识符( )
A. 能使用关键字并且不区分大小写 B. 不能使用关键字并且不区分大小写 C. 能使用关键字并且区分大小写 D. 不能使用关键字并且区分大小写
21. C++程序的基本单位是( )
A. 字符 B. 程序行 C. 语句 D. 函数
22. 注释的目的主要是用来提高( )
A. 可读性 B. 可移植性 C. 运行效率 D. 编码效率 23. 程序中的注释部分( )
A. 参加编译,并会出现在目标程序中 B. 参加编译,但不会出现在目标程序中 C. 不参加编译,但会出现在目标程序中 D. 不参加编译,也不会出现在目标程序中
24. 在一个C++程序中( )
A. main函数必须出现在所有函数之前 B. main函数可以在任何地方出现 C. main函数必须出现在所有函数之后 D. main函数必须出现在固定位置
25. C++语言可执行程序的开始执行点是( )
A. 程序中第一条可执行语言 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的函数
26. 以下关于C++语言的叙述中,错误的是( ) A. 大写字母和小写字符的意义相同
B. 有些不同类型的变量可以在一个表达式中运算
C. 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D. 同一个运算符号在不同的场合可以有不同的含义
二、填空题
1. 判断一种计算机语言是否为面向对象程序设计语言的三个基本特征是封装性 、继承性和 多态性 。
2. 在面向对象语言中 可扩充性 是关键。 3. 在C++语言中,“/*?*/”主要用于多行 行注释,“//”用于单 行注释。 4. C++程序的实现经过编辑 、编译 和运行 步骤。
5. 在一个好的程序中,注释可提高程序的 程序的可读性。 6. C++源程序文件的默认扩展名为.cpp 。
7. C++程序在编译中会出现的两类错误分别是致命错误和警告 错误。
8. C++编译器进行编译的过程可详细地分为三个子过程,它们分别是预处理过程、编译过程和连接过程。
第二章数据类型与表达式
一、选择题
1. 常量3.14的数据类型是( )
A. double B. float C. void D. 字符串
2. 设有定义:char ch;,以下赋值语句正确的是( )
A. ch='123'; B. ch='\\xff'; C. ch='\\08'; D. ch='\\\\';
3. 英文大写字母B的ASCII码为42H,英文小写字母b的ASCII码为( ) A. 43H B. 62H C. 74H D. 84H 4. unsigned不能修饰的类型是( )
A. int B. char C. float D. long int
5. 下列字符常量表示中,错误的是( )
A. .\\105. B. .*. C. .\\4f. D. .\\a.
6. signed不能修饰的类型是( )
A. int B. char C.double D. long int
7. 下列字符串常量表示中,错误的是( ) A. ”\\”Yes\\” or \\”No\\”” B. ”\\.OK!\\.” C. ”abcd\\n” D. ”AB\\C”
8. 下列十六进制的整型常量表示中,错误的是( ) A. 0xaf B. 0X1b C. 2fx D. 0xAE
9. 下列double型常量表示中,错误的是( )
A. E15 B. .25 C. 3E5 D. 3E05
10. 设有定义char ch;,正确的赋值语句是( )
A. ch=.123.; B. ch=.\\xff.; C. ch=.\\08. D. ch=.\\\\.
11在C++语言中,080是( )
A. 八进制数 B. 十进制数 C. 十六进制数 D. 非法数
12. 关于字符'\\0'的下列描述中不正确的是( )
A. 常用来作为字符串的结束标志 B. 在计算机中存储时占一个字节的内存 C. 是空格字符的转义表示形式 D. 作为逻辑值使用时等价于逻辑“假”
13. 在32位机器环境下,若有int a[10];,则表达式sizeof(a)/sizeof(int)的值是( ) A. 10 B. 4 C. 40 D. 2
14. 在C++语言中,char型数据在内存中的存储形式是( ) A. ASCII码 B. 补码 C. 反码 D. 原码
15. 字符串”\\\\\\”ABC\\”\\\\”的长度是( ) A. 11 B. 7 C. 8 D. 6
16. 设:int a=2, b=2;,则a++ +b的结果是( ) A. 2 B. 3 C. 4 D. 5
17. 若有定义:int x=2;,则表达式x<<2的结果为( )
A. 2 B. 4 C. 8 D. 16
18. 已知:int a=5,b=6;,则下列表达式中,有二义性的是( ) A. a+b>>3 B. ++a+b++ C. b+(a=3) D. (a=3)-a++
19. 下列运算符中优先级最高的是( )
A. = B. && C. >= D. +
20. 下列运算符中优先级最低的是( )
A. % B. %= C. & D. >>
21. 表达式(-17)%5的值( )表达式(-17)%(-5)的值。
A. 大于 B. 等于 C. 小于 D. 不确定
22. 下列运算符中,结合性从左向右的是( )
A. -> B. >> C. != D. ~
23. 若int a=2,b=3;,则表达式a++ +b++的值为( ) A. 11 B. 9 C. 7 D. 5
24. 设有定义int a; float f; double i;,表达式10+.a.+i*f的结果类型是( ) A. int B. float C. double D. 不确定
25. sizeof(double)是一个( )
A. 整型表达式 B. 双精度表达式 C. 函数调用 D. 不合法
26. 下列关于类型转换的描述中错误的是( )
A.在不同类型操作数组成的表达式中,表达式类型一定是最高类型double型 B. 逗号表达式的类型是最后一个子表达式的类型 C. 赋值表达式的类型是左值的类型 D. 在由低向高的类型转换中是保值映射
27. 下列说法中正确的是( )
A. 隐含类型转换可能会损失数据精度 B. 显式类型转换可能会损失数据精度 C. 隐含类型转换一定会损失数据精度 D. 显式类型转换一定会损失数据精度
28. 在隐含类型转换中,long、int、double三种类型之间的转换顺序为( ) A. long->int->double B. long->double->int C. int->double->long D. int->long->double
29. 下列说法正确的是( )
A. 隐含类型转换可以从高类型转换为低类型 B. 显式类型转换不可以从低类型转换为高类型 C. 隐含类型转换可以在任何类型之间转换
D. 显式类型转换可以在任何类型之间转换
30. 设int n=10,i=4;,则表达式n%=i+1运算后n的值是( ) A. 0 B. 3 C. 2 D. 1
31. 下列运算符中,可以作用于浮点数的是( ) A. ++ B. % C. >> D. &
32. 下列各运算符中,不可以作用于浮点数的是( ) A. / B. && C. || D. ~
33. 下列运算符中,可以作用于浮点数的是( ) A. ++ B. % C. >> D. ^
34. 下列运算符中,结合性从左到右的是( )
A. ?: B. *= C. == D. ++
35. 若有下面的定义,则表达式:a
A. 1 B. 2 C. 3 D. 4
36. 设x为int型变量,则执行下列语句后,x的值为( ) x=10;
x+=x-=x-x;
A. 10 B. 20 C. 30 D. 40
37. 若有下面的定义,则对语句c=a+b;的下列说法中正确的是( ) int a=12;
float b=1.2f, c;
A. 变量a转换为float类型
B. 变量b转换为int类型,运算结果再转换为float类型
C. 变量a和b都转换为一中间类型,运算结果再转换为float类型 D. 以上都不对
38. 执行下列语句后,a的值是( )
int a = 8; a += a -= a*a;
A. -240 B. 64 C. 112 D. -112
39. 能正确表示“大于10且小于20的数”的C++表达式是( )
A. 10
40. 表示关系x≤y≤Z的C++语言表达式为( ) A. (x<=y)&&(y<=Z) B. (x<=y)AND(y<=Z) C. (x<=y<=Z) D. (x<=y)&(y<=Z)
41. 设x, y, z均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;
t=++x||++y&&++z;
A. 0 B. 1 C. 2 D. 不定值
42. 若有如下语句: int a,b,c; a=b=c=5; 则执行语句: b+=++a&&++c>b;
后a、b、c的值分别为( )
A. 6,7,6 B. 6,6,6 C. 6,6,5 D. 6,1,6
43. 在C++中,const修饰符主要用于代替C语言中的( )关键字进行常量定义。 A. #include B. static C. #define D. #ifdef
二、填空题
1. 在32位计算机中,若有double *p;,则p占用 4字节的内存空间。 2. 在C++中,用同一个数据类型定义多个变量时需要用逗号分隔。
3. 变量的三要素分别是(变量的)类型、(变量的)名字(或变量名)、(变量的)值。 4. 表达式(-9)%4的值为-1 ,表达式9%(-4)的值为1 ,表达式(-9)%(-4)的值为-1 5. 在C++中,’\\0’ 被用来作为字符串的结束符。 6. 空字符串的长度为1。
7. 在C++中,变量必须遵循先定义后使用的原则。 8. 在16位计算机中,int数据类型占用2个字节。
9. 数据类型转换分为自动类型转换(隐含类型转换)和强制类型转换(显式类型转换)两种。 10. 在32位机器中,若有:int a[10];则表达式sizeof(a)/sizeof(int)的值为10。 11. 在32位机器中,若有:int a[10];则表达式sizeof(a)的值为40。 12. 变量的类型既规定了占用内存字节数(大小) ,也规定了合法操作。 13. 没有初始化的变量其存储的值要么是默认值,要么是 机器(计算机)决定。
15. 条件表达式的类型由:号前后两个子表达式的高类型决定。 16.赋值表达式的类型由赋值运算符的左值的类型决定。 17. 逻辑运算符&&和||的特点是在计算时存在短路现象。 18. 若有定义: int a(4), b(2);
则表达式 a&&b||a++||(a-b*2) 运算完成后a的值为4 。
19. 设int型变量x的值为10,则表达式x>10?x+100:x-100的值是-90。
三、写程序运行结果
1. #include
float x; int i; x=12.6; i=(int)x;
cout<<\cout<<\}
x=12.6 y=12
2. #include
int i; char c1; i='A'; c1='A';
cout<
3. #include
cout<<\cout<<\}
abc\\\abc\\\\abc
4. #include
int main() {
int i=1;
cout<<\cout<<\} i=2 i=2
5. #include
int a;
a=7*2+-3%5-4/3; double b;
b=510+3.2-5.4/0.03; cout<
cout<
10 333.2 0 4t3
6. #include
int x,y,z; x=y=z=1;
--x && ++y && ++z;
cout< cout< cout< 0 1 1 1 2 2 2 1 2 7. #include void main() { char x('m'),y('n'); int n; n=x cout< cout< n=('y'!='Y')+(5>3)+(y-x==1); cout< 四、改错题 1. 下面程序要求输出x和y的值,x的值为10,y的值为11。 #include 第三章语句 一、选择题 1. 关于switch语句的描述中,正确的是( ) A. switch语句中default子句可以没有,也可有一个 B. switch语句中每个case语句序列中必须有break语句 C. switch语句中default子句只能放在最后 D. switch语句中case子句后面的表达式只能是整型表达式 2. 下列关于goto语句的描述中正确的是( ) A. goto语句可以在一个文件中随意转向 B. goto语句后面要跟上一个它所转向的语句 C. goto语句可以同时转向多条语句 D. goto语句可以从一个循环体内转到循环体外 3. 与以下程序段等价的是( ) while(a) { if(b) continue; c; } A. while(a) { if(!b) c; } B. while(c) { if(!b) break; c; } C. while(c) { if(b) c; } D. while(a) { if(b) break; c; } 4. 在设计C++程序时,应采用的原则之一是( ) A. 不限制goto语句的使用 B. 减少或取消注释行 C. 程序越短越好 D. 程序结构应有助于读者理解 5. for(int m=n=0; !n&&m<=10; m++);语句的循环次数为( ) A. 10 B. 11 C. 12 D. 无限 6. 下面的do语句的循环体执行次数为( ) int a=10; do { a--; }while(a!=0); A. 10 B. 9 C. 11 D. 12 7. 下列for循环的循环体执行次数为(假设循环体中没有引用i和j)( ) for(int i=0, j=10; i=j=10; i++,j--)循环体; A. 0 B. 1 C. 10 D. 无限 8. 下列关于if语句的描述中错误的是( ) A. if语句中只有一个else子句 B. if语句中可以有多个else if子句 C. if语句中if体内不能是开关语句 D. if语句的if体中可以是循环语句 9. 下面的程序( ) #include int a=5, b=4, c=3; if( a = b+c ) cout<<”***”< A. 有语法错误,不能通过编译 B. 可以通过编译但不能通过连接 C. 输出*** D. 输出$$$ 10. 为了避免嵌套的if-else语句的二义性,C++规定else总是与( )组成配对关系。 A. 缩排位置相同的if B. 在其之前未配对的if C. 在其之前未配对的最近的if D. 同一行上的if 11执行下列程序,输入为1时的输出结果是( ) #include int k; cin>>k; switch(k) { case 1: cout< case 4: cout< cout< A. 1 B. 2 C. 2 3 4 5 D. 1 2 3 4 12. 下列while循环的循环次数为( ) while(int i=0)i--; A. 0 B. 1 C. 5 D. 无限 13. 下列do-while循环的循环次数为( ) 已知:int i=5; do { cout << i-- < 14. 下列描述正确的是( ) A.不是每个C++程序都必须包含预处理命令#include C. C++程序中的变量必须定义在主程序内部 D. C++程序中所使用的符号常量可以不进行定义 15. 已知int x,y;,下列switch语句中,正确的是( ) A. switch(x*y) B. switch { { case 1: x*y; break; case 1,5: x++; case 2: break; case 3,7: y++; } } C. switch(x) D. switch(x+y/100) { { case x: x*x; break; case x: x*x/100; break; case y: y*y; break; case y: y*y/100; break; } } 16. 下列关于goto语句的描述中正确的是( ) A. goto语句可以在一个程序中随意转向。 B. 循环体中不能出现goto语句 C. goto语句后面要跟上一个它所要转向的语句 D. goto语句不是结构化语句 17.执行以下程序段的输出结果是( ) int s1=0,s2=0,s3=0,s4=0; for(int t=1;t<=4;t++) switch(t){ case t>=4:s1++;break; case t>=3:s2++;break; case t>=2:s3++;break; default:s4++; } cout< A. 1,1,1,2 B. 1,2,3,2 C. 1,1,2,2 D. 编译不通过 18. 执行for(int i=10; i>1; --i) cout<<.*.;语句段后,输出字符“*”的个数是( ) A. 7 B. 8 C. 9 D. 10 二、写程序运行结果 1. 写出下面的程序的运行结果 #include int i,j,k; for(i=1; i<=6; i++) { for(j=1; j<=20-2*i; j++) cout<<” ”; for(k=1;k<=i; k++) cout< 2. 写出下面的程序的运行结果 #include int i,j,k; for(i=1; i<=6; i++) { for(j=1; j<=20-3*i; j++) cout << ” “ ; for(k=1; k<=i; k++) cout << setw(3) << k ; for(k=i-1; k>0; k--) cout << setw(3) << k ; cout< 3. #include char input[]=”SSSWILTECH1\\1\\11W\\1WALLMP1”; void main() { int i; char c; for(i=2; (c=input[i])!=’\\0’; i++) { switch(c) { case ‘a’: cout<<’i’; continue; case ‘1’: break; case 1: while((c=input[++i])!=’\\1’ && c!=’\\0’); case 9: cout<<’S’; case ‘E’: case ‘L’: continue; default: cout< cout<<” “; } cout< SWITCH SWAMP 4. #include int a,b,c,s,i; a=b=c=0; for(i=0; i<10; i++) { cin>>s; switch(s%3) { case 0: a+=s; break; case 1: b+=s; break; case 2: c+=s; break; } } cout< 假定输入的10个整数为:12,34,54,51,9,45,63,27,6,35,写出该程序的运行结果。 267,34,35 5. #include int i,j; for(i=1; i<=4; i++) { for(j=(4-i)*2; j>0; j--)cout<<” “; for(j=1; j<=2*i-1; j++)cout<<”*”; cout< for(i=3; i>=1; i--) { for(j=(4-i)*2; j>0; j--)cout<<” “; for(j=1; j<=2*i-1; j++)cout<<”*”; using namespace std; int i=10; int f1(int j) { static int i=20; j=i--; return j; } int f2(int i) { int j=15; return i=j+=i; } void main() { for (int j=1;j<3;j++) cout< 20,26 19,27 4. #include int max(int a,int b,int c); int max(int a,int b); int a=-11,b=-10,c=-3; cout< int max(int a,int b,int c) { if (b>a) a=b; if (c>a) a=c; return a; } int max(int a,int b) { if (a>b) return a; else return b; } -10 -3 5. #include long f(int n) { if (n>2) return (f(n-1)+f(n-2)); else return (n); } void main() { int a=4,b=2; cout< 6. #include int b=a+20; int a=10; { int a=0,b=0; for (int i=1;i<6;i++) { a+=i; b+=a; } cout<<\} cout<<\} a+b=50 a+b=35 7. 写出下面的程序的运行结果 #include static int a; int b=2; cout<<(a+=3,a+b)<<” ”; } void main() { for(int i=1;i cout< 5 8 11 14 8. #include \ void main() { int a=5,b=7,c=10; cout< int b=8; float c=8.8; cout< a=b; { int c; c=b; cout< cout< cout< 9. #include int a; void main() { int a(20); { int a; a=10; ::a=5; cout< cout< cout<<::a< 10. 假定输入的10个字符为“abcedfghij”,写出下面的程序的运行结果 #include void fun(int m) { char ch; if(m<=1) { cin>>ch; cout< else { cin>>ch; fun(m-1); cout< void main() { fun(10); } jihgfdeca 11. #include void fun(int j) { static int a(10); int b(1); b++; cout<
正在阅读:
C++常见选择填空习题集05-07
成都双流机场仪表条件下双跑道模式分析07-04
3d开奖结果自动更新04-21
甘肃省非职业性一氧化碳中毒事件应急预案04-01
CCTV-7农广天地桂花鱼养殖技术01-24
论高职院校教学秘书在教学管理中的作用06-26
绿树成荫的校园作文500字07-15
我心中的的英雄演讲稿范文5篇04-26
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- C++
- 习题集
- 填空
- 常见
- 选择
- 承装(修、试)电力设施许可证管理办法
- 2011专转本计算机基础复习资料
- 柳江盆地实习报告 - 图文
- 2018年会计顶岗实习周记(共20周)
- 江西省安福中学2015届高三年级入学考试
- 数字电压表的设计与实现
- 褒河拱坝枢纽设计毕业设计说明书
- 第二章 自喷与气举采油
- 建设工程施工现场安全防护、场容卫生及消防保卫标准DB11 - 945-2
- 车辆一日三检制度
- 2009期末考试试卷
- 奔驰故障代码识别表
- 2005年医院工作总结
- 农民工学习需求调查问卷
- 本科生毕业答辩流程及PPT使用总结
- 上海市部编语文教材系列之:六(上)第十二课《古代诗歌三首》全解
- 2012 3号 转发《关于调整我省离休干部高龄护理补贴发放范
- 广东省深圳市2018年中考物理总复习阶段检测卷6 电流和电路、电压
- 渣油加氢工艺说明
- 2018最新车位租赁协议范本(详细版)