c++单选题.docx
- 文档编号:24777543
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:14
- 大小:21.03KB
c++单选题.docx
《c++单选题.docx》由会员分享,可在线阅读,更多相关《c++单选题.docx(14页珍藏版)》请在冰豆网上搜索。
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+()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c+ 选题
![提示](https://static.bdocx.com/images/bang_tan.gif)