第一章 快速入门,第二章 变量和基本类型
1.int,long和short类型之间有什么差别?
ANS:他们的最小存储空间不同,分别为16位,32位和16位。一般而言,short类型为半个机器字长,int类型为一个机器字长,而long类型为一个或两个机器字长(在32位机器中,int类型和long类型的字长通常是相同的)。因此,他们表示的范围不同。
2.unsigned 和signed类型有什么差别
ANS:前者为无符号型,只能表示大于或等于0的数。后者为带符号类型,可以表示整数、负数和0.对于unsigned类型来说,编译器必须调整越界值使其满足要求。编译器会将该
值对unsigned类型的可能取值数目求模,然后取所得值。
3.float和double类型有什么差别?
ANS:二者的存储位数不同(一般而言,float类型为32个二进制位,double为64个二进制位),因而取值范围不同,精度也不同(前者保证6位有效数字,后者至少能保证10位有效数字)。和
4.区分左值和右值
ANS:左值就是变量的地址,或者是一个代表“对象在内存中的位置”的表达式。
右值就是变量的值。
变量名出现在赋值运算符的左边,就是一个左值;而出现在赋值运算符的右边的变量名或字面常量就是一个右值。
5.标准库的头文件用尖括号<>括起来,非标准库的头文件用双引号“”括起来。
6.声明和定义
ANS:声明用于向程序表明变量的类型和名字。定义也是声明:当定义变量时我们声明了它的类型和名字。可以通过extern关键字声明变量而不定义它。
定义用于为变量分配存储空间,还可以为变量指定初始值。在一个程序中,变量有且仅有一个定义。
7.定义const变量(常量)时必须进行初始化。
8.区分类中的public部分和private部分
ANS:类中public部分定义的成员在程序中的任何部分都可以访问。通常在public部分放置操作,以便程序中的其他部分可以执行这些操作。
类中private部分定义的成员只能被作为类的组成部分的代码(以及该类的友元)访问。通常在private部分放置数据,以对对象内部数据进行隐藏。
9.class和struct的区别
ANS:用class和struct关键字定义类的唯一差别在于默认访问级别:默认情况下,struct的成员为public,而class的成员为private。
10。预处理器变量有两种状态:已定义和未定义。
定义预处理器变量和检测器状态所用的预处理器指示不同。
#define指示接受一个名字并定义为预处理器变量。
#ifndef指示检测指定的预处理器变量是否未定义,如果预处理器变量未定义,那么跟在其的所有指示都被处理,直到出现#endif.
为了避免名字冲突,预处理器变量经常用全大写字母表示。