一、单项选择题(每题2分,共60分)
1.下列关于C++与C语言关系描述中错误的是【 】。
(A) C++是C语言的超集
(B) C++对C语言进行了扩充
(C) C++和C语言都是面向对象的程序设计语言
(D) C++包含C语言全部的语法特征
2. C++对C语言做了很多改进,下列描述中【 】使得C语言发生了质变,即从面向过程变成面向对象。
(A) 增加了一些新的运算符
(B) 允许函数重载,并允许设置默认参数
(C) 规定函数说明必须用原型
(D) 引进类与对象的概念
3.下列关于面向对象概念的描述中,【 】是错误的。
(A) 面向对象方法比面向过程方法更先进
(B) 面向对象方法中使用了一些面向过程中没有的概念
(C) 面向对象方法完全替代了结构化程序设计方法
(D) 面向对象程序方法具有封装性、继承性和多态性
4.对于语句cout<<endl<<x;中各个组成部分,下列叙述中错误的是【 】。
(A) cout是一个输出流对象 (B) endl的作用是输出回车换行
(C) x是一个变量 (D) <<称为提取运算符
5.下列【 】是C++合法的标识符。
(A) _256 (B) computer~1 (C) case (D) 5char
6.下列【 】是C++合法的字符型常量。
(A) 97 (B)”a” (C) ‘\t’ (D) a
7.以下自定义变量名中,【 】是合法的。
(A) CHINA (B) byte-size (C) double (D) A+a
(A) CHINA (B) byte-size (C) double (D) A+a
8.下列【 】是C++合法的标识符。
(A) 2op (B) -256 (C) case (D) Dfe
9.下列【 】是C++合法的标识符。
(A) foo-bar (B) _256 (C) new (D) 2b
10.下列整型常量的书写中,错误的是【 】。
(A)0xaf (B) 0853 (C) 34 (D) OX1B
11.下列【 】属于float类型常量。
(A) 3.14f (B) 0.0314E2 (C) 3.14L (D) 3.14
12.常量的书写格式决定了常量的类型和值,0x1011是【 】。
(A) 8进制整型常量 (B) 字符常量 (C) 16进制整型常量 (D) 2进制整型常量
13.下列运算符中优先级最高的是【 】。
(A) ?: (B) % (C) -= (D) &&
(A) ?: (B) % (C) -= (D) &&
14.下列C++运算符中,优先级最高的是【 】。
(A) + (B) * (C) <= (D) *=
15.在C++语言中,要求操作数必须是整型的运算符是【 】。数组定义时初始化
(A) / (B) ++ (C) % (D) !=
16.下列运算符中,优先级最低的是【 】。
(A)== (B)?: (C)| (D)&&
16.如有int a=11;则表达式(a++*1/4)的值是【 】。
(A) 0 (B) 2.75 (C) 3 (D) 2
17.若x,i都是int型变量,则执行如下表达式x=(i=1,i+5,i++)后,x的值为【 】。
(A) 2 (B) 1 (C) 6 (D) 7
18.若x、i、j、k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为【 】。
(A) 4 (B) 16 (C) 32 (D) 52
19. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a<b?a:c<d?c:d的值为【 】。
(A) 1 (B) 2 (C) 3 (D) 4
20.设x,y和z都是int型变量,且x=3,y=6,z=4,则下面表达式中值为0的是【 】。
(A) !((x<y)&& !z||1) (B) ‘x’&&’y’ (C) x||y+z&&y-z (D) x<y
21.下列关于变量数据类型转换的描述中,错误的是【 】。
(A) 如果a为int型变量,b为char型变量,则a+b的值为int型
(B) 如果a为float型变量,b为int型变量,则a-b的值为float型
(C) 如果a为double型变量,b为float型变量,则a*b的值为double型
(D) 如果a为int型变量,b为int型变量,则a/(double)b的值为int型
22.若有如下语句:
int a;
cout<<((a=3*5,a*4),a+5)<<endl;
则执行后的输出为【 】。
(A) 20 (B) 15 (C) 65 (D) 60
23.下列条件语句中,功能与其它语句不同的是【 】。
(A) if(a) cout<<x<<endl;else cout<<y<<endl;
(B) if(a==0) cout<<y<<endl;else cout<<x<<endl;
(C) if(a!=0) cout<<x<<endl;else cout<<y<<endl;
(D) if(a==0) cout<<x<<endl;else cout<<y<<endl;
24.下列条件语句中的描述中,【 】是正确的。
(A) if语句中至少有一个else子句
(B) if语句中可以有多个else子句
(C) if语句中的if体中可以是循环语句
(D) if语句中if体内不能是switch语句
25.下列关于switch语句描述中,【 】是正确的。
(A) switch语句中default子句只能放在最后
(B) switch语句中每个语句序列中必须有break语句
(C) switch语句中case子句后面的表达式只能是整型表达式
(D) switch语句中default子句可以没有,也可以有一个
26.下列关于开关语句的描述中,错误的是【 】。
(A) 开关语句中,case子句的个数是不受限制的
(B) 开关语句中,case子句的语句序列中一定要有break语句
(C) 开关语句中,default子句可以省略
(D) 开关语句中,右花括号具有退出开关语句的功能
27.下列for循环的循环体执行次数为【 】。
for(int i=0,j=10;i=j=4;i++,j--)
(A) 0 (B) 1 (C) 4 (D) 无限
28. 执行语句:for(i=1;i++<4;)后;变量i的值是【 】。
(A)3 (B)4 (C)5 (D)不定
29.下列for循环语句执行的次数是【 】。
for(int i=0,x=0;!x&&i<=5;i++)
(A) 5 (B) 无限 (C) 1 (D) 6
30.下列for循环语句执行的次数是【 】。
for(int i=2;i==0;)
(A) 0 (B) 无限 (C) 1 (D) 2
31.执行下列语句段后,输出的字符“*”的个数是【 】。
for(int i=50;i>1;--i) cout<<’*’;
(A) 48 (B) 49 (C) 50 (D) 51
32.下列while循环语句的循环次数是【 】。
while(int i=0) i--;
(A) 0 (B) 1 (C) 2 (D) 无限
33.下列do...while循环的次数是【 】。
int x=-1;
do
{x=x*x;}
while(!x);
(A) 无限 (B)1 (C) 2 (D)0
34.下列关于break语句描述中,【 】是错误的。
(A) break语句可用于if语句体内,它将退出if语句
(B) break语句可用于循环体内,它将退出该重循环
(C) break语句可用于switch语句中,它将退出switch语句
(D) break语句在一个循环体内可以出现多次
35.以下叙述中正确的是【 】
(A)break语句只能用于switch语句题中
(B) continue语句的作用是使程序的执行流程跳出包含它的所有循环
(C) break 语句只能用在循环体内和switch语句体内
(D)在循环体内使用break语句和continue语句的作用相同
36.已知枚举类型声明语句为:
enum COLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};
则下列说法错误的是【 】。
(A) 枚举常量WHITE的值为1 (B) 枚举常量RED的值为6
(C) 枚举常量BLACK的值为10 (D) 枚举常量YELLOW的值为1
37.若有以下说明语句:
struct
{ int a;
double b;
}stu;
则下面的叙述错误的是【 】。
(A) struct是定义结构体类型的关键字
(B) stu是用户自定义的结构体变量
(D) a和b都是结构体成员名
(D) struct stu是用户自定义的结构体类型
38.在32位PC机上使用C++语言,若有如下定义:
struct data
{ int i;
double f;
char ch ;
}b ;
则结构变量b占用内存的字节数为【 】。
(A) 1 (B) 2 (C)8 (D) 13
39.下列关于数组概念的描述中,错误的是【 】。
(A) 数组中所有元素类型是相同的
(B) 数组定义后,它的元素个数是可以改变的
(C) 数组在定义时可以被初始化,也可以不被初始化
(D) 数组元素的个数与定义时的每维大小有关
40.下列关于数组下标的描述中,错误的是【 】。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论