已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一、二章基础知识1下列不正确的转义字符是 CA.B.C.81D.02以下运算符中优先级最低的是 BA.逻辑运算符B.赋值运算符C.算术运算符D.关系运算符3如果a=1,b=2,c=3,d=4,则条件表达式ab?a:c=y&y=zB.(x=y) AND (y=z)C.x=y=zD.(x=y) & (y=z)5下列ASCII码值最小的字符是 AA.nB.bC.AD.66若执行语句:int b,a = 12, n = 5; 表达式 a % =(b=2 ,n %=b )+4结果是 AA.2B.4C.1D.167设m,n,a,b,c,d均为0,执行(m=a= =b)|(n=c= =d)后,m、n的值是 BA.0,0B.1,0C.0,1D.1,18设有语句int a=3;则执行了语句a+=a- =a*a;后,变量a的值是CA.0B.9C.-12D.39下列变量定义及初始化中,错误 DA.int a=0xFFB.long a=2LC.char a=72D.double a=1.2e0.510逗号表达式(a=4*5,a*2),a+15的值 CA.20B.40C.35D.5511哪一个不是面向对象方法特征 BA.封装性B.开放性C.继承性D.多态性12设char ch;错误的赋值语句 CA.ch=68;B.ch=xef;C.ch=;D.ch=123;13设int x=-1;执行表达式+x|+x |+x后,x的值是 DA.2B.0C.3D.114 C+源程序文件扩展名的 BA.objB.cppC.exeD.c15 假设下面所有的变量均已定义为double型,下列赋值表达式不正确的是CA.z*=2.8/4B.x=y=zC.x=3.5%2D.x=-x A 是复合赋值运算符,先计算右边的除法,当两个数据的类型不同的时候,先将 4 转化为 4.0 再进行运算得结果 0.7 ,再执行 z=z*0.7 的赋值运算,正确; B 先对右边的部分进行运算,变量 x 先执行自减,将表达式的结果赋值给 x ,实际上直接写成 - -x 能达到同样的效果,这种用法不常见,但是语法上是正确的;C 是连续赋值,按从右到左的顺序执行,最终效果是 x 、 y 和 z 三个变量的值相等,也是正确的; D 的错误在赋值号右边,运算符“ % ”要求两个运算对象都必须为整数, 3.5 不是整数。16 在C +语言中int,long,unsigned和char这四种类型数据的转换规律是 C-unsigned-long-char17以下选项中可作为C+语言合法整数 AA.0XafbB.11010BC.x2b2D.058318在C+语言中,设short int型占两个字节,下列不正确的short int型常数 AA.32768B.0xfaC.032770D.-3276819 关系运算符对两侧的运算对象的要求 BA.只能是0或1B.可以是任意合法的表达式,两者类型不一定相同C.两个运算对象必须属于同一种数据类型D.只能是0或非0值20下列哪一个是合法的实型字面常量 CA.8E3.1B.E5C.234D.234.复杂数据及运算1下列程序段运行后,i的正确结果为 Cint i=0;char*s=“a041#041b”;while(*s+)i+;A.12B.5C.8D.112以下一维数组a的正确定义是 DA.int n; cin n; int an;B.int n=10,an;C.int a(10);D.#define SIZE 10 int aSIZE;3下面判断字符串str1是否大于str2,正确的表达式是 CA.if ( str1str2)B.if (strcmp (str1,str2)C.if (strcmp (str1,str2)0)D.if (strcmp (str2,str1)0)4设变量定义为 “int x, *p=&x;” ,则 &*p 相当于 _ 。DA.xB.*pC.*&xD.&x5设int *ptr,x,array5= 5,2,4,3,1;ptr=array;能使x的值为2的语句 AA.x=*(array+1) ;B.array+;x=*array;C.x=*(ptr+2);D.x=array2;6下列正确的一维数组初始化是CA.int a2=1,2,3,4,5;B.int a5= , ,1,2 ;C.int a5=1,2 ;D.int *a=1,2,3,4,5;7以下程序给数组所有元素输入数据, 填入 _ 能完成该功能。C#include using namespace std;int main ( )int array5,i=0;while(i _;return 0;A.&arrayi+1B.&array+iC.array+(i+)D.array+i8strlen(”a012bxabbcdn”)的值 AA.9B.10C.11D.139设char str100;int i = 5;则下列哪一个能正确表示数组的某一个元素CA.*(str+)+i)B.(str+i)C.*(str+i-1)D.stri+9510设int *p,i;以下正确的语句BA.i=p;B.p=&i;C.i=*p;D.*p=10;11设int x=1,2,3,4,5,6,*p=x;则值为3的表达式是 BA.p+=2; *+p;B.p+=2; *p+C.p+=2; +*p;D.p+=3; *p;12若有语句int *point, i=4;和point=&i;下面均代表地址的一组选项是 BA.&*i, &i ,*pointB.&a ,&*point, pointC.*&point, *point , &iD.i, point, *&i13若有说明:int a =15,12,-9, 28,5,3,*p=a,则下列哪一种表达错误 AA.*(a=a+3)B.*(p=p+3)C.*(a+*(a+5)D.pp414若定义int m10=9,4,12,8,2,10,7,5,1,3;则mm4+m8的值是 DA.7B.12C.10D.815以下二维数组a的正确说明是AA.double a24B.float a(3)(4)C.int a3 D.float a(3,4)16假设已定义char a10; char *p; 下面的赋值语句中,正确的是AA.p = a;B.*p = ”abcdef”;C.a = ”abcdef”;D.p = *a;17下列对指针p的操作,正确的B A.inta5=1,2 ,3,4,5,*p=&a; *p=5 ;B.int a,*p=&a; C.int *p ; *p=2 ;D.float a5; int *p=a; 18若有以下定义和语句,错误Cint a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;A.*p=b;B.*p=*w;C.*q=0;D.w=p;19设int *p, x, a5=1,2,3,4,5; p=a; 能使x的值为2的语句是 BA.x=a2;B.x=*(a+1);C.x=*(p+2);D.a+;x=*a;20若有说明:int *p1,*p2,m=5,n;以下均是正确赋值语句的选项是 AA.p1=&m; p2=p1;B.p1=&m; p2=&p1;C.p1=&m; *p1=*p2;D.p1=&m; *p2= *p1;21设ints10;*p=s;错误AA.s=p+s;B.p=s+5;C.s2=p4;D.*p=s0;22执行下面的程序段后,ab的值Bint *var, ab;ab = 100;var = &ab;*var += 10; ab+=10;A.0B.120C.110D.10023以下对二维数组a进行正确初始化AA.int array 3=1*6;B.int array23=1,2,3,4,5,6;C.int array23= , 1;D.int array2 =1,2,3,4,5,6; 24不能正确进行字符串初始化的语句AA.char str5=good!;B.char str6= g, o, o, d,!,0;C.char str=good!;D.char *str=good!; 25已有定义int k=2; int *ptr1=&k,*ptr2=&k;,下面不能正确执行的赋值语句是 BA.k=*ptr1+*ptr2;B.ptr2=k;C.k=*ptr1*(*ptr2);D.ptr1=ptr2;抽象与分类1C+语言中class和struct的区别仅在于缺省不同。 CA.数据成员B.私有部分C.访问权限D.函数成员2对于 C+ 语言的函数,错误 CA.函数的定义可以嵌套,但函数调用不能嵌套B.函数的定义和调用都可以嵌套C.函数的定义不能嵌套,但函数调用可以嵌套D.函数的定义和调用都不能嵌套3下面正确的引用定义是。 CA.int &a4;B.int &*p;C.int i,&p=i;D.int &q4设A为test类的对象且赋有初值,则语句testBA;表示D A.为对象A定义一个别名B.语法错C.仅说明B和A属于同一个类D.调用拷贝构造函数,将对象A复制给对象B5下列有关类和对象的说法错误 DA.对象是类的一个实例B.类与对象的关系类似于数据类型与变量的关系C.任何一个对象只能属于一个具体的类D.一个类只能有一个对象 6下列特点不是类与结构共有的。BA.是封装的一种形式B.在缺省情况下,所有成员都是私有的C.不能在说明中对数据成员使用表达式初始化D.关键字private和public的顺序和次数可以是任意的 7以下关于构造函数的叙述错误BA.构造函数在定义对象时自动执行B.在一个类中构造函数有且仅有一个C.构造函数无任何函数类型 D.构造函数名必须和类名一致8下面函数的表示方法说明它使用对象的引用作为参数。 AA.test(pt &p);B.test(const p);C.test(pt p);D.test(pt *p);9类的拷贝构造函数的参数是Ba.某个对象名b.某个对象的引用名c.某个对象的指针名d.某个对象的成员名10在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是 CA.地址传递B.传递方式由用户指定C.单向值传递D.由实参传给形参,再由形参传回实参11对于任意一个类,析构函数的个数为CA0B3C1D212已知类A是类B的友元,类B是类C的友元,则。BA.类C一定是类A的友元B.类A的成员函数可以访问类B的任何成员C.A一定是类C的友元D.类C一定是类A的友元 13已知函数原型声明为: float *pp ( char a , double b ) ; 该函数的返回值类型为 DA.整型B.指向整型的指针C.字符型D.指向浮点型的指针14以下不属于类的访问权限的是BA.protectedB.staticC.publicD.private15若有声明 “long fun(int *x,int n,long *s);int a4=1,2,3,4; long b,c;” ,则以下函数调用形式中正确的是 DA.c=fun(a,4,b);B.c=fun(a,4,&b);C.c=fun(a4,4,b);D.c=fun(a,4,&b);16有以下函数定义: void fun ( int n , double x ) ,若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是 CA.fun(int x,double y)B.k=fun(10,12.5)C.fun(x,n)D.void fun(n,x)17对应main函数中的fun函数调用语句,则下列fun函数定义首部中,错误的 Cmain() int a50,n;fun(n,&a9);A.void fun(int s,int h41)B.void fun(int m,int x)C.void fun(int n,int a)D.void fun(int p,int *s) 18下列关于引用的说法错误的是DA.引用是变量的别名,所以不另外为引用分配内存空间B.引用作为形式参数要求对应的实际参数只能是变量C.引用作为返回值的函数可以作为左值调用D.在同一个函数中,不作为形式参数的引用也可以作为不同变量的别名19表达式中类的使用方法错误BclassLocationprivate:intX,Y;public:voidinit(intinitX,intinitY)X=initX;Y=initY;intGet_X()returnX;intGet_Y()returnY;A1;A.A1.Get_X();B.X=A1.X;C.Location *pA1; pA1=&A1; int X=pA1-Get_x ( ) ;D.A1.init(5,3);20D是析构函数的特征。A.析构函数的定义只能在类体内B.析构函数名与类名完全相同C.析构函数可以有一个或多个参数 D.一个类中只能定义一个析构函数21函数调用语句中含有A个实参。func(exp1,exp2),(exp3,exp4,exp5);A.2B.4C.5D.122下列各类函数中,不是类的成员函数AA.友元函数B.拷贝构造函数C.构造函数D.析构函数23设有函数 f 的定义如下,若在 main 函数中调用 f 函数,则正确的调用语句 Avoid f(int x, int *y) *y=x*x*x; int main ( ) int i, c4=1,2,3,4, s4=0;for(i=0; i4; i+)_ _/* 调用 f 函数 */cout si ; return 0;A.f(*(c+i), &si);B.f(c,s);C.f(ci,si);D.f(c+i, s+i);24下面是关于一个类的友元的说法,其中不正确的是。 DA.友元函数可以是另一个类的成员函数B.友元函数可以访问该类的私有数据成员C.友元的声明必须放在类的内部D.若X类是Y类的友元,Y类就是X类的友元25若有以下程序 :#include void f(int n);int main()void f(int n);f(5);return 0;void f(int n) cout n; 则以下叙述中不正确的是 A 。A.对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数fC.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数fD.函数f无返回值,所以可用void将其类型定义为无类型 多文件工程及编译预处理 1以下不正确的叙述是 。 DA.#define ABCD 是正确的宏定义B.预处理命令行都必须以 # 开始C.在程序中凡是以 # 开始的语句行都是预处理命令行D.C +程序在执行过程中对预处理命令进行处理2下列哪一个不是模块化程序设计应具有的特点 BA.具有可修改性。对系统的一次修改只涉及少数几个模块B.鼓励多使用外部变量,以减少模块之间的相互参数传递C.开发一个模块不需要知道系统其他模块的内部结构和编程细节D.模块之间的接口尽可能简明3如果一个函数定义后不希望别的文件使用,则在该函数首部前增加一个关键字 Ba.externb.staticc.constd.auto4在文件包含预处理语句( #include )的使用形式中,当之后的文件名用 (尖括号)括起时,寻找被包含文件的方式是 。BA.先在源程序所在目录搜索,再按系统设定的标准方式搜索B.直接按系统设定的标准方式搜索目录C.仅仅搜索当前目录D.仅仅搜索源程序所在目录 5对于以下宏定义:#define M(x) x*x #define N(x,y) M(x)+M(y) 宏调用N(2,2+5)执行后,值为 D。A.53B.51C.19D.216关于外部变量的下列说法错误的是 Aa.只要在主函数外面定义的变量就一定是外部变量b.外部变量只需要在一个文件中定义一次,但可以其他文件中多次声明c.函数外定义的变量,其前若用static修饰则不能作为外部变量d.外部变量在其他文件中被使用时需要用extern进行事先声明 7以下不正确的叙述是 D 。A.宏名无类型B.宏替换不占用运行时间C.宏替换只是字符替换D.宏名必须用大写字母表示 8以下 for 语句构成的循环执行了 次 B。#includeusing namespace std;#define N 2#define M N+1#define NUM (M+1)*M/2int main()int i,n=0;for (i=1;i=NUM;i+) n+;cout n ;coutendl;return 0;A.5B.8C.9D.69关于编译预处理,下列说法正确的是BA.#include 这种格式的包含,预处理程序直接到标准目录查找文件B.用户自定义头文件时前后加条件编译指令可以避免重复包含。C.含有函数原型的头文件可以出现在任何模块中,函数定义可出现在多个模块中。D.#include “头文件名”这种格式的包含,预处理程序最后到当前目录查找文件10在文件包含预处理语句( #include )的使用形式中,当之后的文件名用 (双括号)括起时,寻找被包含文件的方式是 B 。a.直接按系统设定的标准方式搜索目录b.先在源程序所在目录搜索,再按系统设定的标准方式搜索c.仅仅搜索源程序所在目录d.仅仅搜索当前目录类的重用1下列定义派生类正确的形式是_AA.class Y :X ;B.class Y public :X ;C.class public:Y X D.class public Y:X ; 2如果基类的构造函数不带参数,则定义一个派生类的对象时,不一定要调用基类的构造函数。(错误)3C+语言建立类族是通过_BA.抽象类B.类的继承C.类的嵌套D.虚函数4派生类的构造函数初始化列表中必须包含直接基类的构造函数。(错误)5设类B是基类A的派生类,并有语句:Aaa, * pa=&aa;Bbb, * pb=&bb;则正确的语句是CA.pb=pa;B.*pb=*pa;C.aa=bb;D.bb=aa;6只有公有派生类才可以认为是基类的子类型,二者之间才存在赋值兼容规则 对7派生类中只包含直接基类的成员,不包含间接基类中的成员。(错误 ) 8在多重继承中,如果多个基类都有非私有属性的同名成员,在派生类引用该同名成员时为了消除二义性,通常可以在该同名成员前增加 加以区分。BA.基类名.B.基类名:C.基类名D.基类名;9下面有关基类与公有派生类的,正确CA.基类对象能赋给其公有派生类的引用B.公有派生类对象地址不能赋给基类指针变量C.基类对象不能赋给公有派生类对象D.公有派生类对象不能赋给基类对象10下面关于基类和派生类的描述中,错BA.派生类中除了继承的基类成员之外还可以有自己新增成员B.基类中成员的访问权限继承到派生类中保持不变C.一个基类可以生成多个派生类D.基类中除构造函数与析构函数之外的所有的成员都是它的派生类中的成员11对基类和派生类的关系描述中,错误DA.派生类是基类的具体化B.派生类是基类的特殊化C.派生类是基类定义的延续D.派生类继承了基类的一切属性,且不能重新定义基类的成员 12多重继承的多个平行基类中如果有同名成员,则在派生类中访问该成员时可以通过类名限定的方法避免二义性。对 13下列关于派生类的描述中,正确的是BA.派生类对基类默认的继承方式为publicB.派生类可以继承多个基类C.派生类不可以作为其他类的基类D.派生类的构造函数初始化列表中必须包含对基类构造函数的调用14下列在多重继承中关于同名成员的二义性问题描述中,错误的是 BA.一个派生类的多个基类中出现了同名成员,派生类对该同名成员的访问可能出现二义性B.若某一个基类和派生类中存在同名成员时,派生类对该同名成员的访问可能出现二义性C.一个派生类有多个基类,而这些基类又有一个共同的基类,派生类访问此公共基类成员时,可能出现二义性D.解决二义性的方法是采用类名限定,即在同名成员前加上“基类名:”15派生类内新增加的成员函数对其父类成员中_是不可直接访问的。CA.私有继承的公有成员B.保护继承的保护成员C.私有继承的私有成员D.公有继承的公有成员16下列说法正确的是_CA.一个派生类不能再作为其他派生类的基类B.基类中所有成员函数都能被派生类继承C.派生类中可以定义和基类同名的函数D.派生类对基类默认的继承方式是public继承17在公有派生方式下,基类非私有成员在派生类中的访问权限_BA.均为private属性B.保持不变C.不可直接访问D.均为public属性18在main ( )函数中定义的派生类对象d可以用d.x的形式访问基类的成员x,则x是_。BA.公有派生的私有成员B.公有派生的公有成员C.私有派生的公有成员D.私有派生的保护成员19下面叙述不正确的是_BA.对基类成员的访问必须无二义性B.基类公有成员在派生类中属性不变C.赋值兼容规则也适用于多重公有继承中D.派生类默认继承方式为private继承20根据赋值兼容规则,公有派生类对象可以赋值给基类的引用,这时,通过引用可以调用在派生类中新增加的公有成员函数。(错误)数据的共享与保护1下面关于实参与形参的描述,不正确C a.形式参数一定是函数的自动局部变量b.与指针形式参数对应的实参必须是一个类型完全一致的地址值c.指针形式参数不需要在函数被调用时分配空间d.与值形式参数对应的实参可以是常量、变量或表达式2下列关于静态成员函数的说法中,错BA.静态成员函数也只有一份拷贝B.静态成员函数不能访问非静态数据成员C.非静态成员函数不能访问静态数据成员D.静态成员函数一般专门用来访问静态数据成员3下面关于静态局部变量的描述,错误BA.静态局部变量存储在静态存储区B.静态局部变量全局可见C.静态局部变量只会被初始化一次D.静态局部变量局部可见 4下列关于全局变量的说法,错误的是DA.在同名局部变量所在的作用域内,通过:同名全局变量名的形式使全局变量在此同名局部量作用域内可见B.全局变量存在于静态存储区,生命期为整个程序C.在函数之外定义的变量是全局变量D.全局变量的作用域一定是其所在的整个文件5下面是关于静态成员的说法,错CA.静态成员有类作用域,但与普通非静态成员有所不同B.静态数据成员的初始化必须在类外进行C.静态成员函数可以直接访问非静态数据成员D.静态函数没有this指针,同一个类的不同对象拥有相同的静态变量6下面关于复合语句的描述,不正确的CA.复合语句的变量和函数的局部变量可以同名B.复合语句是由大括号包含起来的一组语句C.复合语句之内定义的变量在复合语句之外的本函数内仍然可以使用D.复合语句可以定义自己的变量7关于成员函数特征的下列描述中,是错误的。DA.成员函数可以设置缺省参数值B.成员函数可以重载C.成员函数可以是静态的D.成员函数一定是内联函数 8设有下列程序段:static char b=2;void Y ( ) static float d=4;. int a=1;void X ( ) int c=3; . 关于程序段中各变量的属性,以下叙述中错误的是 _ 。DA.b是全局变量,函数X和函数Y都可以访问B.c是动态变量,函数X可访问,函数Y不可访问C.a是全局变量,函数X可以访问,函数Y不能访问D.d是静态变量,函数X和函数Y都可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 郑州市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(历年真题)
- 德阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(基础+提升)
- 广元市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)有完整答案详解
- 玉树州农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(典型题)
- 2026年北海市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(培优b卷)
- 濮阳市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及一套完整答案详解
- 包头市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(黄金题型)
- 咸宁市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(新)
- 鹰潭市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)含答案详解(典型题)
- 衡水市农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)附答案详解(考试直接用)
- 2025年日照盐粮集团有限公司公开招聘工作人员备考考试题库附答案解析
- 2025学年第一学期江浙皖高中(县中)发展共同体高三语文10月联考试题文言文详解:《宋史·陈兢传》、王夫之《宋论》
- 2025年农村会计考试试题及答案
- 2025浙江杭州市发展和改革委员会所属事业单位招聘高层次、紧缺人才4人笔试模拟试题及答案解析
- 2025-2026学年高一生物上学期第一次月考生物试卷(江苏)
- 税务师2025年税法(二)模拟测试试卷(含答案)
- 园林消防安全培训教学课件
- 2024年西北师范大学公开招聘辅导员笔试题含答案
- 必修二 人教版 2.3《伴性遗传》教学设计
- 线上商超物流配送挑战与解决方案
- 学堂在线医学英语词汇进阶(首医)作业单元测验答案
评论
0/150
提交评论