题干
下列各种高级语言中,( )是面向对象的程序设计语言。
下列关于对象的描述中,错误的是( )。
在关于C++与C 语言关系的描述中,( )是错误的。
按照标识符的要求,( )符号不能组成标识符。
下列符号中,( )不可作为分隔符。
在16 位机中,int 型字宽为( )字节。
类型修饰符unsigned 修饰( )类型是错误的。
下列十六进制的整型常数表示中,( )是错误的。
下列double 型常量表示中,( )是错误的。
下列字符常量表示中,( )是错误的。
下列字符串常量表示中,( )是错误的。
下列变量名中,( )是合法的。
在int a[5] = {1,3,5};中,数组元素a[1]的值是( )。
在int b[][3]={{1},{3,2},{4,5,6},{O}};中b[2][2]的值是( )。
在对字符数组进行初始化时,( )是正确的。
在int a=3,*p=&a;中,*p的值是( )。
对于int *pa[5];的描述,( )是正确的。
下列关于指针的运算中,( )是非法的。
指针可以用来表示数组元素,下列表示中( )是错误的。已知:int a[3]下列表示引用的方法中,( )是正确的。已知:int m=10;
下列各运算符中,( )可以作用于浮点数。
下列各运算符中,( )不能作用于浮点数。
下列各运算符中,( )优先级最高。
下列各运算符中,( )优先级最低。
下列各运算符中,( )运算的结合性从左到右。
下列表达式中,( )是非法的。已知:int a=5;float b=5.5;
下列表达式中,( )是合法的。已知:double m=3.2;int n=3;
下列关于类型转换的描述中,( )是错误的。
下列各表达式中,( )有二义性。已知:int a(5),b(6);
预处理命令在程序中都是以( )开头的。
文件包含命令中被包含的文件的扩展名( )。
下列条件编译命令中 #if() <语句序列1> # else <语句序列2> #带参数的宏定义中, 程序中引用宏定义的实参( )。
下列( )是语句。
下列for 循环的次数为()。 for(int i(0),x=0;!x&&i<=5;i++)
下列while 循环的次数是( )。
while ( int i=0 )
i--;
下列do-while 已知:循环的循环次数为( )。已知
int i(5);
do
{ cout < i--; } while (i!=0); 下列for 循环的循环体执行次数为( )。 for( int i(0),j(10); i=j=10; i++,j--) 已知:int a , b ;下列switch 语句中,( )是正确的。 下述关于循环体的描述中,( )是错误的。 下述关于break 语句的描述中,( )是不正确的。 下列关于开关语句的描述中,( )是正确的。 下列关于条件语句的描述中,( )是错误的。 当一个函数无返回值时,定义它时函数的类型应是( )。 在函数说明时,下列( )项是不必要的。 在函数的返回值类型与返回值表达式的类型的描述中,( )是错误的。在一个被调用函数中,关于return 语句使用的描述,( )是错误的。 下列描述中( )是引用调用。 在传值调用中,要求( )。 在C++语言中,关于下列设置参数默认值的描述中,( )是正确的。 重载函数在调用时选择的依据中,( )是错误的。 下列的标识符中,( )是文件级作用域的。 有一个int 型变量,在程序中使用频度很高,最好定义它为( )。 下列标识符中,( )不是局部变量。 下列存储类标识符中,( )的可见性与存在性不一致。 在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执采用函数重载的目的在于( )。 在将两个字符串连接起来组成一个字符串时,选用( )函数。 下面关键字中,用以说明类中公有成员是( ). 下列的各类函数中,( )不是类的成员函数. 作用域运算符的功能是( ). ( )不是构造函数的特征. ( )是析构函数的特征. 通常复制构造函数的参数是( ). 下面关于成员函数特征的描述中,( )是错误的. 下述静态数据成员的特性中,( )是错误的. 友元的作用( ). 已知一个类A,( )是指向类A成员函数的指针.假如类有三个公有成员:v 运算符->*的功能是( ). 已知f1(int)是类A的公有成员函数,p是指向成员函数f1()的指针,采用( 已知:p是一个指向类A数据成员m的指针,A1是类A的一个对象.如果要给m赋已知:类A中一个成员函数说明如下:void Set(A &a);其中,A&a的含意是(下列关于对象数组的描述中,( )是错误的. 下列定义中,( )是定义指向数组的指针p. 下列说明中,const char *ptr;ptr应该是( ). 已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,( 关于new运算符的下列描述中,( )是错误的. 关于delete运算符的下列描述中,( )是错的. 具有类型转换功能的构造函数,应该是( ). 下列关于模板的描述中,错误的是( ). 下列对派生类的描述中,( )是错误的. 派生类的对象对它的基类中( )是可以访问的. 派生类的构造函数的成员初始化值表中,不能包含( ). 关于子类型的描述中,( )是错误的. 下列关于赋值兼容规则的描述中,( )是错误的. 关于多继承二义性的描述中,( )是错误的. 设置虚基类的目的是( ). 在带有虚基类的多层派生类构造函数的成员初始化列表中都要列出虚基类下列关于多态性说法不正确的是( ). 下列函数中,( )不能重载. 下列运算符中,( )个运算符不能重载. 下列关于运算符重载的描述中,( )是正确的. 关于动态联编的下列描述中,( )是错误的. 关于虚函数的描述中,( )是正确的. 关于纯虚函数和抽象类的描述中,( )是错误的. 下列描述中为抽象类的最主要特征的是( ). 进行文件操作时需要包含( )文件. 使用操作子对数据进行格式输出时,应包含( )文件. 已知:int a,*pa=&a;输出指针pa十进制的地址值的方法是( ). A B C BASIC PASCAL C++ 对象是类的别名对象是类的实例一个类可以定义多个对象C 语言是C++的一个子集 C ++是与C 语言兼容的C++对C 语言进行了一些改连接符下划线大小写字母 ,:? 246 char int long int Oxaf OXlb2fx E15353E5 \105'*'\4f' "\" yes\"or\"No\""\'OK\'""abcd\n" CHINA byte-size double 103 056 char s1[]="abcd";char s2[3]="xyz";char s3[][3]={'a','x',变量a 的地址值无意义变量p的地址值 pa[5]表示某个数组的第5 pa 是一个指向数组的指针,pa 是一个指向某数组中第5个元素 可以用一个空指针赋值给某个指针 一个指针可以加上两个整两个指针在一定条件下,可以 *(a+1)[5]*(*a+3)*(*(a+1)) int &x=m;int &y=10;int &z; ++%>> ||&&! +(双目)*(单目)<= ?:||| 三目赋值比较 a%3+b b*b&&++a(a>b)+(int(b)%2) m<<2(m+n)|n!m*=n 赋值表达式的类型是左值在不同类型操作数组成的表逗号表达式的类型是最后一个表达 a+b>>3++a+b++b+(a=3) *#: 必须为.h不能用.h必须是.c 整常量表达式任何标识符任意表达式 只能是常量只能是整型量只能是整型表达式 ;a=17x+y 561 015 015 0110 switch ( a ) { case a : switch ( a+b ) {case l: a+b ; switch ( a*a ) {case l 循环体中可以出现break 语循环体中还可以出现循环语句循环体中不能出现goto语 break 语句可用于if 体内break 语句可用于循环体内break 语句可用于开关语句中,它 开关语句中default 子句可开关语句中每个语句序列中必须有 开关语句中default 子句 if 语句中if 体内不能是if 语句中只有一个else 子if 语句中可以有多个else if 子 void任意int 函数的类型函数参数类型和名字函数名字 函数返回值表达式类型与函数返回值的类型是在定义函数返回值的类型就是返回值表达 被调用函数中,如果有返回被调用函数中可以不用retu被调用函数中可以使用多个retur 形参是指针,实参是地址值形参和实参都是变量形参是数组名,实参是数组形参和实参类型任意,个数相 实参和形参对应的类型一 实参和形参类型都完全一致,个数 设置参数默认值时,应该是不允许设置参数的默认值设置参数默认值只能在定义函数时 参数个数参数的类型参数的顺序 函数形参语句标号外部静态类标识符register auto extern register 类外部static 类auto 类 外部类自动类内部静态类 内联函数重载函数递归调用 实现共享减少空间提高速度 strlen ( )strcpy ( )strcat ( ) public private protected 构造函数析构函数友元函数 标识作用域的级别指出作用域的范围给定作用域的大小 构造函数的函数名与类名相构造函数可以重载构造函数可以设置默认参一个类中只能定义一个析构析构函数名与类名不同析构函数的定义只能在类某个对象名某个对象的成员名某个对象的引用 成员函数一定是内联函数成员函数可以重载成员函数可以设置默认值 引用静态数据成员时,可在说明静态数据成员时前面要静态数据成员要在类体外进行初始 提高程序的运行效率加强类的封装性实现数据的隐藏性 A *p int A::*pc=&A::a void A::*pa() 用来表示指向对象指针的使用对象指针通过指向成员使用对象通过指向成员的指针表示 p=f1p=A::f1p=A::f1() A1.p=5A1->p=5A1.*p=5 指向类A的指针为a将a的地址值赋给变量Set a是类A 的对象引用,用来 对象数组的数组名是一个常量指针 对象数组的每个元素是同对象数组的下标是从0开始的 int *p[5]int (*p)[5](int *)p[5] 指向字符常量的指针指向字符的常量指针指向字符串常量的指针void print() const const void print()void const print() 使用它创建对象时要调用它可以用来动态创建对象和使用它创建的对象或对象数组可以 它必须用于new返回的指针它也适用于空指针对一个指针可以使用多次不带参数的构造的构造函数带有一个参数的构造函数带有两个以上参数的构造 定义类模板时只允许有一类模板的成员函数可以是函类模板生成模板类时,必须指定参 一个派生类可以作为另一个派生类至少有一个基类派生类的成员除了它自己公有继承的公有成员公有继承的私有成员公有继承的保护成员 基类的构造函数派生类中子对象的初始化派生类中静态数据成员的 在公有继承下,派生类是基子类型就是指派生类是基类一种类型当它至少提供了另一种类 公有继承下,派生类对象可赋值兼容规则在子类型情况公有继承下,派生类对象不可给基 一个派生类的两个基类中都解决二义性的最常用的方法是对成 基类和派生类中同时出现简化程序消除二义性提高运行效率 与虚基类下面的派生类个数多次二次 多态性是指同名函数对应多多态性表现为重载和覆盖两种方式 重载方式仅有函数重载成员函数非成员函数构造函数 &&[]:: 运算符重载可以改变操作符运算符重载可以改变优先级运算符重载可以改变结合动态联编是以虚函数为基础动态联编是在运行时确定所调用的 动态联编调用函数操作是虚函数是一个静态类型的成虚函数是一个非成员函数基类中说明了虚函数之后纯虚函数是一种特殊的虚函抽象类是指具有纯虚函数的类抽象类可以定义对象 可以说明虚函数可以进行构造函数的重载可以定义友元iostream.h fstream.h stdio.h iostream.h fstream.h iomanip.h cout< D答案Ada C 对象之间通过消息进行通信A C++和C 语言都是面向对象的D 数字字符A ;C 8A float D OxAE C 3E-5A \a'C "ABC\0 "A A+a A 2C 2C char s4[2][3]={ "xyz","mnp"}A 3D D pa是一个具有5个元素的指针数组,每个两个指针在一定条件下,可以相加D *(&a[0][0]+2)A float &t=&m;A &A ~D *=B !=A 单目C ---a+b D m=5,n=3.1,m+n D 在由低向高的类型转换中是保值映射A (a=3)-a--D /B 不一定是.h D 被定义的宏名A 可以是任意表达式D cout<<"\n"A 无限B 无限A 无限D 无限D A switch ( a/10+b ) {case 5:a/5; br 循环体中可以出现开关语句C C break 语句在一个循环体内可以出现多 A 开关语句中case 子句后面的表达式可if 语句的if 体中可以是循环语句C 无A 返回值表达式D 函数返回值类型决定了返回值表达式的 B D 被调用函数中,一个return 语句可返回形参是引用,实参是变量D 实参和形参对应的类型一致,个数任意 C C 设置参数默认值时,应该全部参数都设函数的类型D 自动类标识符C static A 函数形参B 寄存器类C 嵌套调用A 使用方便,提高可读性D strcmp ( )C friend A 复制构造函数C 标识某个成员是属于哪个类的D 构造函数必须指定类型说明D 析构函数可以有一个或多个参数A 某个对象的指针名C 成员函数可以是静态的A 静态数据成员不是所有对象共用的D 增强成员函数的种类A A *pp C 用来表示对象成员的运算A p=f1()B *A1.p=5C C 变量A与a按位相与作为函数Set()的参对象数组只能赋初值,而不能赋值D int *p[]B 指向字符串的常量指针C void print (const)A D 使用它创建对象数组时必须指定初始值 C 指针名前只用一对方括号符,不考虑所默认构造函数B 类模板所描述的是一组类C 派生类中继承的基类成员的访问权限到 D 私有继承的仍有成员A 派生类中一般数据成员的初始化C 子类型关系是不可逆的A B 公有继承下,派生类对象的地址值可以 一个派生类是从两个基类派生来的,而 C 减少目标代码B 一次D 重载方式包含函数重载和运算符重载C 析构函数D new C 运算符重载不可以改变语法结构D 动态联编是在编译时确定操作函数的D C 派生类的虚函数与基类的虚函数具有不 C 抽象类只能作为基类来使用,其纯虚函不能说明其对象D stdlib.h B stdlib.h C cout<