湖北汽车工业学院C++选择题.docx
- 文档编号:7541380
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:29
- 大小:32.64KB
湖北汽车工业学院C++选择题.docx
《湖北汽车工业学院C++选择题.docx》由会员分享,可在线阅读,更多相关《湖北汽车工业学院C++选择题.docx(29页珍藏版)》请在冰豆网上搜索。
湖北汽车工业学院C++选择题
1.下列字符列中,可作为C++语言程序自定义标识符是()。
A.switchB.fileC.breakD.do
2.运算符+、<=、=、%中,优先级最低的运算符是()。
A.+B.<=C.=D.%
6.voidmain()
{intx=-1;
do
{x=x*x;}
while(!
x);}
下列说法正确的是()。
A.是死循环B.循环执行两次
C.循环执行一次D.有语法错误
8.下面程序段()。
x=3;
do
{y=x--;
if(!
y){cout<<”x”;continue;}
cout<<”#”;}
while(1<=x<=2);(1<=x)=1,0bool型
A.将输出##B.将输出##*
C.是死循环D.含有不合法的控制表达式
7.下面有关for循环的正确描述是()。
A.for循环只能用于循环次数已经确定的情况
B.for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D.for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
9.以下正确的说法是()。
A.用户若需要调用标准函数,调用前必须重新定义
B.用户可以直接调用所有标准库函数
C.用户可以定义和标准库函数重名的函数,但是在使用时调用的是系统库函数
D.用户可以通过文件包含命令将系统库函数包含到用户源文件中,然后调用系统库函数
10.在参数传递过程中,对形参和实参的要求是()。
A.函数定义时,形参一直占用存储空间
B.实参可以是常量、变量或表达式
C.形参可以是常量、变量或表达式
D.形参和实参类型和个数都可以不同
11.对数组名作函数的参数,下面描述正确的是()。
A.数组名作函数的参数,调用时将实参数组复制给形参数组
B.数组名作函数的参数,主调函数和被调函数共用一段存储单元
C.数组名作参数时,形参定义的数组长度不能省略
D.数组名作参数,不能改变主调函数中的数据
12.若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则()不是对a数组元素的正确引用
(其中0≤i<10)。
A.p[i]B.*(*(a+i))C.a[p-a]D.*(&a[i])
14.下列声明结构体变量错误的是()。
A.structstudentB.structstudent
{intno;{intno;
charname[16];charname[16];
}st1,st2;};
structstudentst1,st2;
C.structstudentD.structstudent
{intno;{intno;
charname[16];charname[16];
};};
structst1,st2;studentst1,st2;
15.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载
B.构造函数不能重载,析构函数可以重载
C.构造函数可以重载,析构函数也可以重载
D.构造函数不能重载,析构函数也不能重载
16.下面对于友元函数描述正确的是()。
A.友元函数的实现必须在类的内部定义B.友元函数是类的成员
C.友元函数破坏了类的封装性和隐藏性D.友元函数不能访问类的私有成员
17.派生类的对象对它的基类成员中()是可以访问的。
A.公有继承的公有成员B.公有继承的私有成员
C.公有继承的保护成员D.私有继承的公有成员
18.C++类体系中,不能被派生类继承的有()。
A.构造函数B.虚函数C.静态成员函数D.赋值操作函数
19.以下()成员函数表示虚函数。
A.virtualintvf(int);B.voidvf(int)=0;
C.virtualvoidvf()=0;D.virtualvoidvf(int){};
20.下面对静态数据成员的描述中,正确的是()。
A.静态数据成员可以在类体内进行初始化
B.静态数据成员不可以在类体内进行初始化
C.静态数据成员不能受private控制符的作用
D.静态数据成员可以直接用类名调用?
?
22.若有以下定义,则释放指针所指内存空间的操作是()。
floatr=newsfloat[10];
A.deleter;B.delete*r;
C.delete[]r;D.deleter[];
23.若有以下定义,则对字符串的操作错误的是()。
chars[10]=”Program”,t[]=”test”;
A.strcpy(s,t);B.cout< C.strcat(“this”,t);D.cin>>t; 24.在if语句中的表达式是()。 A.只能是表达式B.只能是关系表达式和逻辑表达式 C.只能是逻辑表达式D.可以是任意表达式 25.在用关键字class定义的类中,以下叙述正确的是()。 A.在类中,不作特别说明的数据成员均为私有类型 B.在类中,不作特别说明的数据成员均为公有类型 C.类成员的定义必须是成员变量定义在前,成员函数定义在后 D.类的成员定义必须放在类定义体内部 (1)下列关于栈的叙述正确的是 A) 栈是非线性结构B)栈是一种树状结构 C) 栈具有先进先出的特征D)栈具有后进先出的特征 4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是: A)选择B)投影C)连接D)并 2)C++语言的跳转语句中,对于break和continue说法正确的是() A)break 语句只应用与循环体中 B)continue 语句只应用与循环体中 C)break 是无条件跳转语句,continue不是 D)break 和continue的跳转范围不够明确,容易产生问题 (4)考虑函数原型voidtest(inta,intb=7,char="*"),下面的函数调用中,属于不合法调用的是 () A)test(5);B)test(5,8); C)test(6,"#")D)test(0,0."*"); (5)下面有关重载函数的说法中正确的是() A) 重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同; C)重载函数必须有不同的形参列表D)重载函数名可以不同; (6)下列关于构造函数的描述中,错误的是() A) 构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行 C) 构造函数可以是内联函数;D)构造函数不可以重载 (7)下面描述中,表达错误的是() A) 公有继承时基类中的public成员在派生类中仍是public的 B)公有继承是基类中的private成员在派生类中仍是private的 C) 公有继承时基类中的protected成员在派生类中仍是protected的 D) 私有继承时基类中的public成员在派生类中是private的 (10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只 能用于检测输入流状态的操作函数名称是() A)fail B)eofC)badD)good 1、下列有关类的说法不正确的是()。 A.对象是类的一个实例 B.任何一个对象只能属于一个具体的类 C.一个类只能有一个对象 D.类与对象的关系和数据类型与变量的关系相似 分析: 对象是类的一个实例,类与对象的关系和数据与变量的关系相似,所以一个类可以有多个对象。 2、下面()项是对构造函数和析构函数的正确定义。 A.voidX: : X(),voidX: : ~X() B.X: : X(参数),X: : ~X() C.X: : X(参数),X: : ~X(参数) D.voidX: : X(参数),voidX: : ~X(参数) 分析构造函数无返回类型、可带参数、可重载;析构函数无返回类型、不可带参数、不可重载。 4、下列表达方式正确的是()。 A.classP{B.classP{ public: public: intx=15;intx; voidshow(){cout< };} C.classP{D.classP{ intf;public: };inta; f=25;voidSeta(intx){a=x;}; 分析: 在类体内不可对数据成员进行初始化;类定义结束时需用分号;只有类中的成员函数才能存 取类中的私有数据。 5、拷贝构造函数具有的下列特点中,()是错误的。 A.如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的 B.拷贝构造函数只有一个参数,并且是该类对象的引用 C.拷贝构造函数是一种成员函数 D.拷贝构造函数的名字不能用类名 分析: 如果一个类中没有定义拷贝构造函数时,系统将自动生成一个默认的;拷贝构造函数只有一个参数,并且是该类对象的引用;拷贝构造函数的名字与类同名,并且不被指定返回类型;拷贝构造函数是一种成员函数。 6、关于静态成员的描述中,()是错误的。 A.静态成员可分为静态数据成员和静态成员函数 B.静态数据成员定义后必须在类体内进行初始化 C.静态数据成员初始化不使用其构造函数 D.静态数据成员函数中不能直接引用非静态成员 分析: 静态成员可分为静态数据成员和静态成员函数;静态数据成员被定义后,必须对它进行初始 化,初始化在类体外进行,一般放在该类的实现部分最合适,也可以放在其他位置,例如,放 在主函数前面等;静态数据成员初始化与该类的构造函数和析构函数无关;在静态成员函数的实 现中,可以直接引用静态成员,但不能直接引用非静态成员。 7: 关于友元的描述中,()是错误的。 A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的私有成员 C.友元函数破坏封装性,使用时尽量少用 D.友元类中的所有成员函数都是友元函数 8、;对类的构造函数和析构函数描述正确的是()。 A.构造函数可以重载,析构函数不能重载 B.构造函数不能重载,析构函数可以重载 C.构造函数可以重载,析构函数也可以重载 D.构造函数不能重载,析构函数也不能重载 10、假设OneClass为一个类,则该类的拷贝初始化构造函数的声明语句为()。 A.OneClass(OneClassp);B.OneClass&(OneClassp); C.OneClass(OneClass&p);D.OneClass(OneClass*p); 11、为了使类中的某个成员不能被类的对象通过成员操作符访问,则不能把该成员的访问权限定义 为()。 A.publicB.protectedC.privateD.static 12、下面对静态数据成员的描述中,正确的是()。 A.静态数据成员可以在类体内进行初始化 B.静态数据成员不可以在类体内进行初始化 C.静态数据成员不能受private控制符的作用 D.静态数据成员可以直接用类名调用 13、下面对静态数据成员的描述中,正确的是()。 A.静态数据成员是类的所有对象共享的数据 B.类的每一个对象都有自己的静态数据成员 C.类的不同对象有不同的静态数据成员值 D.静态数据成员不能通过类的对象调用 C++试题1 (1)已知下列语句中的x和y都是int型变量,其中不正确的语句是 A)y+=++x;B)++x+=y;C)y=x++;D)x++=y; (2)若x是一个bool型变量,y是一个值为100的int型变量,则表达式! x&&y>0的值[]。 A)为trueB)为falseC)与x的值相同D)与x的值相反 (3)执行语句序列 intn; cin>>n; switch(n){ case1: case2: cout<<'X'; case3: case4: cout<<'Y';break; default: cout<<'Z';} 时,不可能出现的情况是[]。 A)显示: XB)显示: YC)显示: ZD)显示: XY (4)执行语句序列 intx; cin>>x; if(x>250)cout<<'X'; if(x<250)cout<<'Y'; elsecout<<'X'; 时,不可能出现的情况是[]。 A)显示: XB)显示: YC)显示: XYD)显示: XX (5)要定义一个具有5个元素的一维数组,并使其各元素的初值依次是30,50,-88,0和0,则下 列定义语句中不正确的是[]。 A)intvect[]={30,50,-88};B)intvect[]={30,50,-88,0,0}; C)intvect[5]={30,50,-88};D)intvect[5]={30,50,-88,0,0}; (6)已知某应用系统中已经定义了函数fun,其原形是intfun(char='A');则下列函数中,可以在同一系统中加以重载的是[]。 A)intfun();B)intfun(char); C)intfun(char,int);D)intfun(char,double=0.0); (7)若指针p定义为constchar*p="Luchy! ";则[]。 A)p所指向的数据不可改变,p在定义时可以不初始化。 B)p所指向的数据不可改变,p在定义时必须初始化。 C)p本身不可改变,p在定义时可以不初始化。 D)p本身不可改变,p在定义时必须初始化。 (12)若指针p定义为char*="Luchy! ";则[]。 A)p所指向的数据不可改变,p在定义时可以不初始化。 B)p所指向的数据不可改变,p在定义时必须初始化。 C)p本身不可改变,p在定义时可以不初始化。 D)p本身不可改变,p在定义时必须初始化。 (8)已知数组A和指针p定义为: intA[20][10],*p;,要使p指向A的首元素,正确的赋值表达式是 []。 A)p=&A或p=A[0][0]B)p=A或p=&A[0][0] C)p=&A[0]或p=A[0][0]D)p=A[0]或p=&A[0][0] (9)已知函数func的原形是 doublefunc(doouble*pd,int&ri); 变量x和y的定义是 doublex;inty; 把x和y分别作为第一参数和第二参数来调用函数func,正确的调用语句是[]。 A)func(x,&y);B)func(&x,y);C)func(&x,&y);D)func(x,y); (10)要使字符串变量str具有初值"Lucky",正确的定义语句是[]。 A)charstr[]={'L','u','c','k','y'};B)charstr[5]={'L','u','c','k','y'}; C)charstr[]="Lucky";D)charstr[5]="Lucky"; (11)已知某函数的一个形式参数被说明为MAT[3][10],在下列说明中,与此等效的形参说明是[]。 A)intMAT[][10]B)intMAT[3][] C)intMAT[10][3]D)intMAT[][] (13)在下列表达式中,与下标引用A[i][j]不等效的是[]。 A)*(A+i+j)B)*(A[i]+j)C)*(*(A+i)+j)D)(*(A+i))[j] (16)类的默认的无参构造函数[]。 A)在任何情况下都存在 B)仅当未定义无参构造函数时存在 C)仅当未定义有参构造函数时存在 D)仅当未定义任何构造函数时存在 (19)类的默认的拷贝构造函数[]。 A)在任何情况下都存在 B)仅当未定义拷贝构造函数时存在 C)仅当未定义有参构造函数时存在 D)仅当未定义任何构造函数时存在 (17)语句ofstreamf("SALARY.DAT",ios: : noreplace|ios: : binary);的功能是建立流对象f,并试图 打开文件SALARY.DAT并与之连接,而且[]。 A)若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。 B)若文件存在,将其截为空文件;若文件不存在,打开失败。 C)若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。 D)若文件存在,打开失败;若文件不存在,建立一个新文件。 (20)语句ofstreamf("SALARY.DAT",ios: : nocreate|ios: : trunc);的功能是建立流对象f,并试图打 开文件SALARY.DAT并与之连接,而且[]。 A)若文件存在,将文件指针定位于文件尾;若文件不存在,建立一个新文件。 B)若文件存在,将其截为空文件;若文件不存在,打开失败。 C)若文件存在,将文件指针定位于文件首;若文件不存在,建立一个新文件。 D)若文件存在,打开失败;若文件不存在,建立一个新文件。 C++试题2 1.下列变量名中,()是合法的。 A.56AB._abcC.d-PtrD.while 2.下列各种运算符中,()优先级最高。 A.+B.&&C.==D.*= 7.下面关于循环语句的描述中,()是错误的。 A.循环体内可以包含有循环语句 B.循环体内必须同时出现break语句和continue语句 C.循环体内可以出现选择语句 D.循环体内可以是空语句 8.下面程序段()。 x=3; do {y=x--; if(! y){cout<<”x”;continue;} cout<<”#”;} while(x>=1&&x<=2); A.将输出##B.将输出### C.是死循环D.含有不合法的控制表达式 9.在函数的定义格式中,下面各组成部分中,()是可以省略的。 A.函数名B.函数体C.函数数据类型说明D.函数参数 10.在函数的引用调用时,实参和形参应该是使用()。 A.变量值和变量B.地址值和指针C.变量值和引用D.地址值和引用 11.以下关于文件操作的叙述中,不正确的是()。 A.打开文件的目的是使文件对象与磁盘文件建立联系 B.文件读写过程中,程序将直接与磁盘文件进行数据交换 C.关闭文件的目的之一是保证将输出的数据写入硬盘文件 D.关闭文件的目的之一是释放内存中的文件对象 12.若有语句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则()不是对a数组元素的正确引用 (其中0≤i<10)。 A.p[i]B.*(*(a+i))C.a[p-a]D.*(&a[i]) 14.下列结构体定义,正确的是 。 A.record{B.structrecord{ intno;intno; charnum[16];charnum[16]; floatscore;floatscore; };} C.structrecord{D.structrecord{ intno;intno charnum[16];charnum[16] floatscore;floatscore };} 15.下列是构造函数的特点,()是错误的。 A.构造函数是一种成员函数,它具有一般成员函数的特点 B.构造函数的名称与其类名相同 C.构造函数必须指明其类型 D.一个类中可定义一个或多个构造函数 16.关于友元函数的描述中,()是错的。 A.友元函数是成员函数,它被说明在类体内 B.友元函数可直接访问类中的私有成员 C.友元函数破坏封装性,使用时尽量少用 D.友元类中的所有成员函数都是友元函数 17.下列对派生类的描述中,()是错误的。 A.一个派生类可以作为另一个派生类的基类 B.派生类至少应有一个基类 C.基类中成员访问权限继承到派生类中都保持不变 D.派生类的成员除了自已定义的成员外,还包含了它的基类成员 19.关于下列虚函数的描述中,()是正确的。 A.虚函数是一个static存储类的成员函数 B.虚函数是一个非成员函数 C.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数 D.派生类的虚函数与基类的虚函数应具有不同的类型或个数 20.以下有关静态数据成员函数的叙述不正确的是()。 A.静态成员函数属于整个类 B.对静态成员函数的引用不允许使用对象名 C.在静态成员函数中不能直接引用类的非静态成员 D.使用类名可以直接调用其静态成员函数 21.下列有关运算符重载的描述中,()是正确的。 A.运算符重载可改变其优先级B.运算符重载不改变其语法结构 C.运算符重载可改变其结合性D.运算符重载可改变其操作数的个数 22.对new运算符的下列描述中,()是错误的。 A.它可以动态创建对象和对象数组 B.用它创建对象数组时必须指定初始值 C.用它创建对象时要调用构造函数 D.用它创建的对象可以使用运算符delete来释放 23.下列是为字符数组赋字符串的语句组,其中错误是()。 A.chars[10];s=”program”;B.chars[]=”program”; C.chars[10]=”Hello! ”;D.chars[10];strcpy(s,”hello! ”); 24.当调用函数时,实参是一个一维数组名a,则向函数传送的是()。 A.数组的长度B.数组所有元素的值 C.数组元素a[0]的值D.数组元素a[0]的地址 25.下列有关类的说法不正确的是()。 A.对象是类的一个实例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 湖北 汽车工业 学院 C+ 选择题