1.switch©语句中,c不可以float类型,必须是整数表达式
2.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是
答案:追加、读或读写
3.resize和reserve
resize(),设置大小(size)
reserve(),设置容量(capacity)
打个比方:正在建造的一辆公交车,车里面可以设置40个座椅(reserve(40);),这是它的容量,但并不是说它里面就有了40个座椅,只能说明这部车内部空间大小可以放得下40张座椅而已。而车里面安装了40个座椅(resize(40)😉,这个时候车里面才真正有了40个座椅,这些座椅就可以使用了
4.定义在class声明内的成员函数默认是inline函数
5.static是加了访问控制的全局变量,不被继承
类和子类对象,static变量占有一份内存
6.在C++语言程序中,函数的定义不可以嵌套,但函数的调用可以嵌套
7.结构体类型中的成分只能是C语言中预先定义的基本数据类型,这句话对吗?
答案:错。结构体里可以有其它已定义的结构体类型,一个结构体类型可以由多个称为成员(或域) 的成分组成
8.参加位运算的操作数只能是整型或者字符型的数据
9.C++中,若局部变量和全局变量重名,局部变量会屏蔽全局变量,要使用全局变量,需要使用“::”
10.有定义int a=8, b=5, c;,执行语句c=a/b+0.4;后,c的值为?
答案:1。a/b的结果为1,1+0.4 = 1.4,c为int型,所以最终为1
*11.设有下面的程序段:char s[]="china";char p=s,p 和 s 可以随意替换使用吗?
答案:不可以。数组名作为指针是一个常量,指针是一个变量,不能等同
12.声明枚举变量三种方法
①先声明枚举类型后定义枚举类型变量
enum WeekdayType
{
sun,mou,tue,wed,thu,fri,sat
};
enum WeekdayType today,yesterday,tomorrow;
②声明枚举类型的同时定义枚举类型变量
enum WeekdayType
{
sun,mou,tue,wed,thu,fri,sat
}today,yesterday,tomorrow;
③直接定义枚举类型变量
enum
{
sun,mou,tue,wed,thu,fri,sat
}today,yesterday,tomorrow;
13.对于派生类的构造函数,创建对象时构造函数执行的顺序为?
1.成员对象构造函数
2.基类的构造函数
3.派生类本身的构造函数
答案:213。简单理解:先父亲(父类构造),再客人(成员构造),最后自己(自身构造)
14.C++中,能作为函数重载判断依据的是?
A.Const
B.返回类型
C.参数类型
D.参数个数
答案:ACD
1.函数形参的个数
2.函数形参的类型
3.形参的顺序
4.不能把返回值作为函数重载的条件,原因是编译器在编译时不会去判断函数的返回类型,函数只有调用后,编译器才会去验证返回类型,所以返回值不能作为函数重载的依据
5. 常函数 const 可以作为函数重载判断依据,原因:重载[]运算符时,有没有const的区别是:有const只读,没有const读写都可以
15.在C++面向对象编程语言中,以下阐述不正确的是:
A.接口中可以用虚方法
B.一个类可以实现多个接口
C.接口不能被实例化
D.接口中可以包含已经实现的方法
答案:AD
接口是指只包含纯虚函数的抽象类,和普通的抽象类含不一样
16.struct 能包含成员函数,能继承,能实现多态,和class的区别在于默认访问控制类型不同,struct是public的,class是private,就算把程序中的class全换成struct,程序依然能正常运行。 另一个区别是:class 可以用于定义模板参数,但是struct不行