C++复习题知识点记录:
标识符命名规则:不能是关键字,只能由字母,数字,下划线组成,第一个不能是数字。
数据类型存在意义:给变量分配合适的内存空间
整型:short 短 2 long 长 4/8 long long 长长 8 他们区别在于占的内存空间不同
sizeof()类型所占内存大小
实型(浮点型)float 4 7位有效数字 double 8 15-16位有效数字
字符型 char 用于表示单个字母 1字节 把对应的ASCII编码放入存储单元而不是字符本身
字符串型 char 变量名[ ]="字符串值" 有[]是C语言风格,没有是C++风格
转义字符: /t水平制表符,占八个位置,使后面的对齐
布尔类型bool只占1字节大小true 1 false 0
除法运算中,两个整数相除是整数,两个小数相除除不尽是小数,除得尽是整数。
取模运算中,只可以整数取模,小数不可以。
if嵌套
switch
while
while(1)一直循环,注意避免死循环
do while
在定义结构体类型时,不可以为成员设置默认值。
在公用一个共用体变量时。系统为其分配存储空间的原则是按成员中占内存空间最大者分配
a' ,L'a', "a", L"a" 字符 长字符 字符串 长字符串
布尔类型只有两个值 false--假 本质是0,true--真 本质是1,只占用一个字节大小
函数的声明可以多次,但定义只能有一次。
指针大小32位下4个字节,64位下占8个字节。
引用语法:数据类型 &别名=原名。
int * a = new int (10);delete a;
int * arr= new int [10];
for(int i=0;i<10;i++)
{
arr[i] = i+100 //给10个元素赋值100~109
}
delete [ ] arr; //释放数组一定要在这个指针前面加一个中括号
C++语言中, 最基本的数据类型包括 : 整型、实型、字符型 。
只能在循环体内或switch语句体内使用break语句
声明函数时,形参名可以省略,但形参的类型、个数不能省略
循环体不是必须至少执行一次
如果一个类中至少有一个纯虚函数,那么,该类就称为抽象类
基类成员的访问权限,在其派生类中会变
允许友元函数访问该类的私有成员
基类的私有成员对于派生类是不可见的即不能直接访问
变量的引用与指针变量的区别之一是:引用关系一旦建立(初始化后)就不可改变,而指针通常可以改变指向。
文本文件是顺序访问文件,不能实现随机读写,只有二进制文件能够实现随机读写。
判断char型变量n是否为小写字母的正确表达式是( D )。
A)’a’<= n <=’z’ B)(n>=a)&&(n<=z)
C)(’a’>=n)| |(’z’<=n) D)(n>=’a’)&&(n<=’z’) 指出下面字符串常量中的字符数? 15
"who are \n you ?"关于虚函数与抽象类,下列描述正确的是(A )
A)虚函数必须是类的成员函数 B)虚函数是没有函数体的函数
C)有虚成员函数的类为抽象类 D)构造和析构函数都不能是虚函数
重载操作符不能改变操作符的基本功能
下列运算符中,( C )运算符不能重载。
A&& B)[ ] C):: D)++
- 已有定义:char word[ ][8] = { "China", "English", "Japan", "Tailand" } ;
用一条cout<< 语句输出word中"English"的正确语句是 ① cout<<word[1]; 。
用一条cout<< 语句输出word中"Tailand"之子串"land"的正确语句是 ② cout<<word[3]+3;。
- 复合语句就是把两条或两条以上的语句放在一对 ③{} 内组成的。
- 已有函数模板的声明如下:
④ template < class T > // class可改为typename
T max( T a, T b ) ;
当编译器处理函数调用时,类型T由调用函数的 ⑤实参的类型 确定。
- 已有类A和类B,B中嵌入了A的对象。当B的对象即将消亡时由系统调析构函数,其调用顺序是:先调用 ⑥ B 类的析构函数,后调用 ⑦ A 类的析构函数。
- 若派生类的新增成员变量与基类成员变量同名,则派生类成员变量 ⑧ 覆盖基类的同名成员变量。
- 已知派生类新增的成员函数与基类成员函数同名:如果同名函数的参数类型和个数都相同,则派生类成员函数 ⑨ 覆盖 基类的同名函数;如果同名函数的参数类型和个数不完全相同,则派生类成员函数 ⑩ 重载 基类的同名函数..。
- 类的继承是指子类继承基类的___数据成员___和 ⑨ 构造函数
关于 ASCII 编码, 下列描述错误的是(C)
B.0-9 编码小于字母编码。
C.a-z 编码小于 A-Z 编码
A. 0-9 或 A-Z 或 a-z 的编码是连续的。D.a 与 A 编码之差为 32(十进制)
下面的(A ) 均是 C++语言的整型常量。 A.0xffff 和 611 B.01b 和 0xa1 C.986.012 和 0667 D.2e4 和 0x
下列正确的八进制整型常量表示是( B) A) 0a0 B) 015 C) 080 D) 0x10 5. 下列错误的十六进制整型常量表示是( C ) A) 0x11 B) 0xaf C) 0xg D) 0x1f