c++单选题.docx

上传人:b****4 文档编号:24777543 上传时间:2023-06-01 格式:DOCX 页数:14 大小:21.03KB
下载 相关 举报
c++单选题.docx_第1页
第1页 / 共14页
c++单选题.docx_第2页
第2页 / 共14页
c++单选题.docx_第3页
第3页 / 共14页
c++单选题.docx_第4页
第4页 / 共14页
c++单选题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

c++单选题.docx

《c++单选题.docx》由会员分享,可在线阅读,更多相关《c++单选题.docx(14页珍藏版)》请在冰豆网上搜索。

c++单选题.docx

c++单选题

单选题

1.下列关于面向对象概念的描述中,错误的是(C )。

A.面向对象方法比面向过程方法更加先进

B.面向对象方法中使用了一些面向过程方法中没有的概念

C.面向对象方法替代了结构化程序设计方法

D.面向对象程序设计方法要使用面向对象的程序设计语言

2.下列各种高级语言中,不是面向对象的程序设计语言是(D )。

A.C++  B.JavaC.VB  D.C

3.下列关于类的描述中,错误的是( A )。

A.类就是C语言中的结构类型

B.类是创建对象的模板

C.类是抽象数据类型的实现

D.类是具有共同行为的若干对象的统一描述体

4.下列关于对象的描述中,错误的是(C )。

A.对象是类的一个实例

B.对象是属性和行为的封装体

C.对象就是C语言中的结构变量

D.对象是现实世界中客观存在的某种实体

5.下列关于C++程序中使用提取符和插入符的输入/输出语句的描述中,错误的是(C )。

A.提取符是对右移运算符(>>)重载得到的

B.插入符是对左移运算符(<<)重载得到的

C.提取符和插入符都是双目运算符,它们要求有两个操作数

D.提取符和插入符在输入/输出语句中不可以连用

1.下列变量名中,非法的是(C )。

A.A25     B.My_carC.My-str    D.abc

2.下列常量中,十六进制int型常量是(A )。

A.0x5f  B.x2aC.046   D.7a

3.下列常量中,不是字符常量的是(B )。

A.'\n'   B."y"C.'x'    D.'\7'

4.在函数体内定义了下述变量a,a的存储类为(D )。

  inta;

A.寄存器类  B.外部类C.静态类  D.自动类

5.下列关于变量存储类的描述中,错误的是( C )。

A.任何变量定义后都具有一个确定的存储类

B.变量的存储类确定了变量的作用域和寿命

C.定义变量时没有存储类说明符者一律为自动类

D.内部静态类变量和外部静态类变量的存储类说明符都是static

6.下列关于变量数据类型的描述中,错误的是( A )。

A.定义变量时int型数据类型可以省略

B.变量的数据类型可以决定该变量占内存的字节数

C.变量的数据类型是可以被强制的

D.变量的数据类型是有高低之分的

7.长双精度浮点型常量的后缀是( C )。

A.U   B.FC.L   D.无

8.下列运算符中,不能用于浮点数操作的是( D )。

A.++    B.+C.*=    D.&(双目)

9.下列运算符中,优先级最高的是( A )。

A.*(双目)  B.||C.>>   D.%=

10.下列运算符中,优先级最低的是( B )。

A.==    B.?

C.|   D.&&

11.已知:

inta(3);下列表达式中,错误的是( C )。

A.a%2==0  B.a--+2C.(a-2)++   D.a>>=2

12.已知:

intb(5),下列表达式中,正确的是( D )。

A.b="a"    B.++(b-1)

C.b%2.5 D.b=3,b+1,b+2

13.下列关于类型转换的描述中,错误的是(C  )。

A.类型转换运算符是(<类型>)

B.类型转换运算符是单目运算符

C.类型转换运算符通常用于保值转换中

D.类型转换运算符作用于表达式左边

14.下列表达式中,其值为0的是( A )。

A.5/10    B.!

0

C.2>4?

0:

1    D.2&&2||0

15.下列表达式中,其值不为逻辑值的是(A)。

A.算术表达式  B.关系表达式

C.逗号表达式    D.逻辑表达式

16.下列关于数组概念的描述中,错误的是( B )。

A.数组中所有元素类型是相同的

B.数组定义后,它的元素个数是可以改变的

C.数组在定义时可以被初始化,也可以不被初始化

D.数组元素的个数与定义时的每维大小有关

17.下列关于数组维数的描述中,错误的是( C )。

A.定义数组时必须将每维的大小都明确指出

B.二维数组是指该数组的维数为2

C.数组的维数可以使用常量表达式

D.数组元素个数等于该数组的各维大小的乘积

18.下列关于数组下标的描述中,错误的是( B )。

A.C++语言中数组元素的下标是从0开始的

B.数组元素下标是一个整常型表达式

C.数组元素可以用下标来表示

D.数组元素的某维下标值应小于该维的大小值

19.下列关于初始值表的描述中,错误的是( C )。

A.数组可以使用初始值表进行初始化

B.初始值表是用一对花括号括起的若干个数据项组成的

C.初始值表中数据项的个数必须与该数组的元素个数相等

D.使用初始值表给数组初始化时,没有被初始化的元素都具有默认值

20.下列关于字符数组的描述中,错误的是(D)。

A.字符数组中的每一个元素都是字符

B.字符数组可以使用初始值表进行初始化

C.字符数组可以存放字符串

D.字符数组就是字符串

21.下列关于字符串的描述中,错误的是( C )。

A.一维字符数组可以存放一个字符串

B.二维字符数组可以存放多个字符串

C.可以使用一个字符串给二维字符数组赋值

D.可以用一个字符串给二维字符数组初始化

22.已知:

inta[5]={1,2,3,4};下列数组元素值为2的数组元素是( B )。

A.a[0]     B.a[1]C.a[2]     D.a[3]

23.已知:

intab[][3]={{1,5,6},{3},{0,2}};数组元素ab[1][1]的值为( A )。

A.0    B.1C.2     D.3

24.已知:

chars[]="abcd";输出显示字符'c'的表达式是( C )。

A.s  B.s+2C.s[2]  D.s[3]

25.已知:

charss[][6]={"while","for","else","break"};输出显示"reak"字符串的表达式是( B)。

A.ss[3]  B.ss[3]+1C.ss+3  D.ss[3][1]

1.下列关于语句的描述中,错误的是( A )。

A.C++程序中的函数是由若干条语句组成的

B.每条语句都要实现某种操作

C.条件语句是用来实现分支操作的

D.循环语句是用来在一定条件下重复执行某段程序的

2.下列关于条件语句的描述中,错误的是( C )。

A.if语句中最多只能有一个else子句

B.if语句的if体内可以出现开关语句

C.if语句中elseif子句和else子句的顺序是没有限制的

D.if语句中else子句是与它最近的if子句配对的

3.下列关于开关语句的描述中,错误的是( B )。

A.开关语句中,case子句的个数是不受限制的

B.开关语句中,case子句的语句序列中一定要有break语句

C.开关语句中,default子句可以省略

D.开关语句中,右花括号具有退出开关语句的功能

4.下列关于循环语句的描述中,错误的是( A )。

A.while循环语句中<条件>给定的表达式不能为非0的常量,否则便是死循环

B.for循环语句的循环体内可以出现while循环语句、do-while循环语句和for循环语句

C.循环语句的循环体可以是空语句

D.循环语句的循环体内可以出现break语句,也可以出现continue语句

5.已知:

inti(3);下列do-while循环语句的循环次数是( D )。

   do{

         cout<

         i--;

   }while(i!

=0);

A.0     B.3C.1    D.无限

6.下列for循环语句的循环次数是( B )。

   for(inti(0),j(5);i=3;i++,j--);

A.3  B.无限C.5   D.0

7.下列while循环语句的循环次数是( A )。

   while(inti(0)) i--;

A.0 B.1C.2  D.无限

8.下列程序段执行后,j值是( B )。

   for(inti(0),j(0);i<10;i++)

      if(i) j++;

A.0  B.9C.10 D.无限

9.已知:

typedefcharCH;下列描述中,正确的是( A )。

A.使用CH定义的变量是char型变量

B.使用CH定义的是一个字符常量

C.使用CH定义的变量其类型不确定

D.使用CH定义的是一个字符串

10.下列关于预处理命令的描述中,错误的是( D )。

A.预处理命令最左边的标识符是#

B.预处理命令是在编译前处理的

C.宏定义命令可以定义符号常量

D.文件包含命令只能包含.h文件

1.下列关于定义一个指向double型变量的指针,正确的是( B )。

A.inta(5);double*pd=a; B.doubled(2.5),*pd=&d;

C.doubled(2.5),*pd=d;   D.doublea(2.5),pd=d;

2.下列关于创建一个int型变量的引用,正确的是(A  )。

A.inta(3),&ra=a;  B.inta(3),&ra=&a;

C.doubled(3.1);int&rd=d;   D.inta(3),ra=a;

3.下列关于指针概念的描述中,错误的是(B )。

A.指针中存放的是某变量或对象的地址值

B.指针的类型是它所存放的数值的类型

C.指针是变量,它也具有一个内存地址值

D.指针的值(非常量指针)是可以改变的

4.下列关于引用概念的描述中,错误的是( A )。

A.引用是变量,它具有值和地址值

B.引用不可以作数组元素

C.引用是变量的别名

D.创建引用时必须进行初始化

5.已知:

inta[5],*p=a;则与++*p相同的是( D )。

A.*++p   B.a[0]C.*p++  D.++a[0]

6.已知:

inta[]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( C )。

A.&(a+1)  B.&(p+1)C.&p[2]  D.*p++

7.已知:

inta[3][4],(*p)[4];下列赋值表达式中,正确的是( A )。

A.p=a+2 B.p=a[1]C.p=*a D.p=*a+2

8.已知:

intb[3][5]={0};下列数组元素值的表示中,错误的是( D )。

A.**(b+1)  B.(*(b+1))[2]C.*(*(b+1)+1) D.*(b+2)

9.已知:

inta=1,b=2,*p[2];下列表达式中正确的是( C )。

A.p=&a   B.p=&bC.p[0]=&a,p[1]=&b   D.p[]={&a,&b};

10.已知:

inta(5),&ra=a;下列描述中,错误的是( D )。

A.ra是变量a的引用,即为变量的别名  

B.ra的值为5

C.ra的地址值为&a   

D.改变ra的值为10,变量a值仍为5

1.当一个函数没有返回值时,该函数类型应说明为( A )。

A.void   B.intC.无    D.任意

2.下列关于设置函数默认的参数值的描述中,错误的是( C )。

A.可对函数的部分参数或全部参数设置默认值

B.在有函数说明时,默认值应设置在函数说明时,而不是定义时

C.设置函数默认参数值时,只可用常量不可用含有变量的表达式

D.设置函数参数默认值应从右向左设置

3.下列关于被调用函数中return语句的描述中,错误的是( D )。

A.一个函数中可以有多条return语句

B.return语句具有返回程序控制权的作用

C.函数通过return语句返回值时仅有一个

D.一个函数中有且仅有一条return语句

4.函数返回值的类型是由( B )决定的。

A.调用该函数的调用函数的类型

B.定义该函数时所指定的类型

C.return语句中表达式的类型

D.接收函数返回值的变量或对象的类型

5.下列设置函数参数默认值的说明语句中,错误的是( C )。

A.intfun(intx,inty=10);   B.intfun(intx=5,int=10);

C.intfun(intx=5,inty);    D.intfun(intx,inty=a+b);

(其中,a和b是已定义过具有有效值的变量)

6.下列选择重载函数的不同实现的判断条件中,错误的是( D )。

A.参数类型不同 B.参数个数不同

C.参数顺序不同  D.函数返回值不同

7.已知:

intfun(int&a),m=10;下列调用fum()函数的语句中,正确的是( C )。

A.fun(&m); B.fun(m*2);C.fun(m);  D.fun(m++);

8.在函数的引用调用中,函数的实参和形参分别应是( C )。

A.变量值和变量  B.地址值和指针

C.变量名和引用      D.地址值和引用

9.在函数的传址调用中,函数的实参和形参分别应是( B )。

A.变量值和变量        B.地址值和指针

C.变量名和引用        D.地址值和引用

10.说明一个内联函数时,应加关键字是( A )。

A.inline   B.staticC.void   D.extern

1、C++对C语言作了很多改进,下列描述中(D )使得C语言发生了质变,从面向过程变成了面向对象。

A、增加了一些新的运算符;B、允许函数重载,并允许设置缺省参数;

C、规定函数说明必须用原型;D、引进了类和对象的概念;

2、所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是(A)。

A.类B.对象C.函数体D.数据块

3、关于new运算符的下列描述中,(D )是错误的。

A、它可以用来动态创建对象和对象数组;

B、使用它创建的对象或对象数组可以使用运算符delete删除;

C、使用它创建对象时要调用构造函数;

D、使用它创建对象数组时必须指定初始值;

4、(D )不是构造函数的特征。

A、构造函数的函数名与类名相同; B、构造函数可以重载;

C、构造函数可以设置缺省参数; D、构造函数必须指定类型说明。

5、假定一个类的构造函数为B(intx,inty){a=x--;b=a*y--;},则执行Bx(3,5);语句后,x.a和x.b的值分别为(C)

A、3和5B、5和3C、3和15D、20和5

6、关于成员函数特征的下列描述中,(A )是错误的。

A、成员函数一定是内联函数;B、成员函数可以重载;

C、成员函数可以设置缺省参数值; D、成员函数可以是静态的;

7、在公有继承的情况下,基类成员在派生类中的访问权限(B )。

A.受限制B.保持不变C.受保护D.不受保护

8、友元的作用是( D)。

A、提高程序的运用效率; B、加强类的封装性;

C、实现数据的隐藏性; D、增加成员函数的种类;

9、在C++中,关于下列设置缺省参数值的描述中,( B)是正确的。

A、不允许设置缺省参数值;

B、在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;

C、只能在函数的定义性声明中指定参数的缺省值;

D、设置缺省参数值时,必须全部都设置;

10、关于delete运算符的下列描述中,( B)是错误的。

A、它必须用于new返回的指针;

B、使用它删除对象时要调用析构函数;

C、对一个指针可以使用多次该运算符;

D、指针名前只有一对方括号符号,不管所删除数组的维数。

11、constint*p说明不能修改( B)。

A、p指针; B、p指针指向的变量;

C、p指针指向的数据类型;D、上述A、B、C三者;

12、当需要打开A盘上的以xxk.dat文件用于输入时,则定义文件流对象的语句为(A)。

A.fstreamfin(“A:

xxk.dat”,1)B.ifstreamfin(“A:

xxk.dat”,ios:

:

nocreate)

C.ofstreamfin(“A:

xxk.dat”)D.ifstreamfin(“A:

xxk.dat”,ios:

:

app)

13、派生类的对象对它的基类成员中(A )是可以访问的。

A、公有继承的公有成员; B、公有继承的私有成员;

C、公有继承的保护成员;D、私有继承的公有成员;

14、假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为(C)。

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

15、在inta=3;*p=&a;中,*p的值是(D )。

A、变量a的地址值B、无意义C、变量p的地址值D、3

16、下列常量中,(D)不是字符常量。

A、’\005’B、’\n’C、’c’D、“a”

1.由C++目标文件连接而成的可执行文件的缺省扩展名为 B    。

A. cpp    B. exeC. obj    D. lik

2.在下面的一维数组定义中,哪一个有语法错误。

   C   

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

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

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

A.  void BC(int a,int)   B. void BD(int,int)

C.  void BE(int,int=5) D. int BF(int x;int y)

4.假定AB为一个类,则该类的拷贝构造函数的声明语句为   C  。

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

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

5.对于结构中定义的成员,其隐含访问权限为  A 。

A. public       B. protected

C. private        D. static

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

A. ios:

:

in     B. ios:

:

out

C. ios:

:

int|ios:

:

out   D. 没有

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

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

2、设x和y均为bool量,则x&&y为真的条件是   A   。

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

3、下面的哪个保留字不能作为函数的返回类型?

   C   。

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

4、假定a为一个整型数组名,则元素a[4]的字节地址为   C    。

A.a+4  B.a+8     C.a+16     D.a+32

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

A.3     B.4     C.6    D.9

6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:

     B     。

A. AB operator+(AB &a,AB &b)B. AB operator+(AB &a)C. operator+(AB a)   D. AB &operator+()

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

当前位置:首页 > IT计算机 > 互联网

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

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