1.已知int m=10;
A.int&x=m;
B.float&t=&m;
C.int&y=10;
D.int&z;
引用定义时必须用一个已经存在的变量给他初始化
答案:A
2.下列说明中 const char *ptr;ptr应该是;
A.指向字符常量的指针;
B.指向字符的常量指针;
C.指向字符串常量的指针;
D.指向字符串的常量指针;
答案:AC
3.?:条件运算符level最低
4.c++源程序文件的默认扩展名为cpp
5.C++的字符串“ \t\1024\' ”中包含____个可见的字节
5个,\t \102 6 \ '
6.C语言的跳转语句中,对于break和continue说法正确的是_______
A、continue语句只应用于循环体中
B、break语句只应用于循环体中
C、break是无条件跳转语句,continue不是
D、break和continue的跳转范围不够明确,容易产生问题
答案 A
7.c++源程序文件经过编译后,生成的目标文件扩展名是obj
8.在函数声明中,下面哪项是不必要的
A.函数参数的类型和参数名
B.函数名
C.函数的类型
D.函数体
E.返回值表达式
答案 DE
9.函数的实参是简单变量时,它与对应形参之间的数据传递方式是________
A.单向值传递
B.由实参传给形参,再由形参传回给实参
C.由用户指定传递方式
D.地址传递
答案A
10.在C++中,要实现动态联编,必须使用____调用虚函数
A.类名
B.对象名
C.基类指针
D.派生类指针
答案C
11.下面程序的输出结果是_________。
#include <stdio.h>
void main()
{ char p[ ]={"mop","book","w","sp"};
int i;
for(i=3;i>=0;i--,i--) printf(“%c”,p[i]);
}
A) sb B) spbook
C) sp D) swb
首先定义了一个长度为4的一维指针数组p,分别指向]"mop","book","w","sp"的地址
接下来从3开始,每次减去2(两个i--),输出指针p[i]所指向的字符,字符串的指针实际上是指向字符串的首字符的,所以输出的是p[i]指针所指向地址的字符串的首字符,直到i=0
由for循环可知有效循环两次,依次输出p[3],p[1]指向的首字符,所以为sb,选A
12.cin.getline(p,100,'\n')
输入100字符,p是指针,以\n为分类
14. 派生类不可访问基类的公有继承的保护数据;
15.已知下列语句中的x和y都是int型变量,其中错误的语句
A ) x=y++; B ) x=++y; C ) (x+y)++; D ) ++x=y;
答案.C
16.下列函数原型声明中错误的是【 】
A.void Fun(int x=0,int y=0);
B.void Fun(int x,int y);
C.void Fun(int x,int y=0);
D.void Fun(int x=0,int y);
本题考核函数的定义方法和调用方法。说明一个函数的格式为:<函数类型><函数名>,(<下函数参数表>);在C++中,允许在函数的说明或定义时给一个或多个参数指定默认值。但一旦为某个给定参数定义了缺省值,必须为后继的所有参数也定义缺省值。由此可知,选项D是错误的。
17.在C++中用来实现运行时多态性的是
虚函数
18.一个类可以同时继承多个类,称为多继承。下列关于多继承和虚基类的表述中,错误的是
A.每个派生类的构造函数都要为虚基类构造函数提供实参
B.多继承时有可能出现对基类成员访问的二义性问题
C.使用虚基类可以解决二义性问题并实现运行时的多态性
D.建立最派生类对象时,虚基类的构造函数会首先被调用
答案.C
19.在一个类体的下列声明中,纯虚函数声明virtual void vf()=0; virtual <类型><函数名>(<参数表>)=0;
image.png(*p)[n]:根据优先级,先看括号内,则p是一个指针,这个指针指向一个一维数组,数组长度为n,这是“数组的指针”,即数组指针;
*p[n]:根据优先级,先看[],则p是一个数组,再结合*,这个数组的元素是指针类型,共n个元素,这是“指针的数组”,即指针数组。
网友评论