1、任务二:C+语言基础2.1 保留字和标识符2.1.1 保留字保留字(Reserved word)也称为关键字(Keyword) ,它们是预先定义好的字符集合,对 C+编译程序有着特殊的含义。表 2-1 C+和 Visual C+兼容的 43 个保留字如下表:auto break case char class constcontinue default delete do double elseenum extern float for friend gotoif inline int long new operatorprivate protected public register ret
2、urn shortsigned sizeof static struct switch thistypeof union unsigned virtual void volatilewhile2.1.2 标识符标识符是程序员定义的有效字符序列标识符的命名应遵循以下规则:(1)不能是 C+保留字(2)只能由英文字母、数字和下划线三种字符组成。第一个字符必须是字母或下划线。(3)中间不能有空格。(4)不要太长,一般以不超过 31 个字符为宜。(5)不要与 C+的库函数名和类名相同。注意区分大小写见名思意表 2-2 标识符的命名方式 -匈牙利命名法 前 缀 含 义 前 缀 含 义a 数组 i 整型b
3、 布尔型 m_ 类的成员函数by 无符号字符(字节) n 短整型或整型c 字符(字节) np 近指针cb 字节计数 p 指针rgb 保留 RGB 颜色值的长整型 l 长整型cx,cy 短整型(计算 x,y 的长度) lp 长指针dw 无符号长整型 sz 以零结束的字符串fn 函数 tm 正文大小h 句柄 w 无符号整型s 字符串 x,y 无符号整型(表示 x 或 y 的坐标)2.2 常量与变量2.3.1 常量常量的概念常量是在程序运行过程中其值不能改变的量常量的类型数值常量字符常量字符串常量符号常量整型常量十进制:十进制整型常量由 09 组成八进制:以 0(零)为前缀,后跟由 07 组成的整型
4、常数十六进制:以 0X(零 X)或 0x 为前缀,后跟由 09 和 AF 组成的整型常数,实型常量小数表示法科学表示法,又称为指数法(E 或 e 表示指数,必须是整数)一般字符常量用一对单引号括起来的一个字符转义字符以反斜杠“ 引导的特殊字符常量表示形式转义字符 功 能 转义字符 功 能a 用于输出响铃 v 用于制表b 用于退回一个字符 用于表示一个反斜杠字符f 用于输出 用于表示一个单引号字符n 回车换行 “ 用于表示一个双引号字符r 回车 ddd 用于表示该 ASCII 码代表的字符t Tab 键 xhh 或Xhh 用于表示该 ASCII 码代表的字符字符串常量由双引号括起来的若干个字符序
5、列字符串在内存中的存储C H I N A 0符号常量可以用一个标识符来表示一个常数,这个标识符就是符号常量。符号常量定义的方法:使用编译预处理命令#define;使用 C+中的常量说明符 const。2.3.2 变量定义变量的格式 类型 变量名列表;变量赋初值的方法定义变量的同时,直接给变量赋一个初值 变量定义后,用赋值语句赋初值2.3 C+的数据类型基本类型 构造类型 指针类型 引用类型 空类型(void)整型字符型浮点型布尔型枚举类型数组类型结构类型共用体类型类类型C+的数据类型2.3.1 基本数据类型C+语言的基本数据类型有如下四种:整型(int)字符型(char)浮点型(实型)单精度浮
6、点型(float)双精度浮点型(double)布尔型(bool)修饰词有符号(signed)无符号(unsigned)短的(short)长的(long) 基本数据类型在计算机中所占的内存位数和取值范围:类 型 名 说 明 长度 (字节) 取 值 范 围bool 布尔型 1 false, truesigned char 有符号字符型 1 -128127unsigned char 无符号字符型 1 0255signed short int 有符号短整型 2 -3276832767unsigned short int 无号短整型 2 065535signed int 有符号整型 4 -231(2 3
7、1-1)unsigned int 无符号整型 4 0(2 32-1)signed long int 有符号长整型 4 -231(2 31-1)unsigned long int 无符号长整型 4 0(2 32-1)float 实型 4 -10381038double 双精度实型 8 -1030810308sizeof 运算符sizeof(类型名)sizeof(变量名)2.3.2 基本数据类型的选取 每一种类型都有固定的取值范围 数据在取值范围内有效,超出取值范围,则出现错误。2.3.3 数组类型什么时候使用数据类型一维数组的定义类型 数组名常量表达式;数组元素的初始化(定义时)类型 数组名常量
8、表达式=值 1,值 2,值 n 数据元素的引用数组名下标;下标可以是整型常量、变量或表达式数组的下标范围为 0N-1 二维数组的定义形式类型标识符 数组名常量表达式 常量表达式行下标 列下标a0 a00 a01 a02 a03 a04a1 a10 a11 a12 a13 a14a2 a20 a21 a22 a23 a24a3 a30 a31 a32 a33 a34二维数组的元素的引用数组名 行下标 列下标;二维数组的初始化 2.3.4 结构体类型为什么要使用结构体类型学号 姓名 年龄 性别 成绩 住址整型 字符数组 整型 字符 浮点型 字符数组构造类型结构体(structure) ,表示一组不
9、同数据类型的集合结构体类型的定义格式struct 结构体名 数据类型 成员名 1;数据类型 成员名 2;:数据类型 成员名 n;; 结构体类型的定义结构体变量的定义结构体变量的成员的引用结构体变量名 . 成员名“.”是成员运算符, 定义结构体变量的初始化方法是依次写出各成员的初始值,系统编译时将它们依次赋给此结构体变量中各成员语法格式如下:结构体名 变量名=初始数据表 ;相同类型的结构体类型变量的赋值2.3.5 共用体类型共用体变量成员的引用共用体变量名.成员名使用共用体变量时注意: 每一瞬时只能存放其中一个,而不是同时存放几个。 能够访问的是共用体变量中最后一次被赋值的成员2.3.6 枚举类
10、型为什么要使用枚举类型枚举类型定义的一般形式为:enum 枚举类型名 枚举值表 ;2.3.7 指针类型变量与变量的地址int a; 取地址符(指针数组 指针数组的每一个元素都是指针变量,并且它们是类型相同的指针变量。 指针数组定义的语法格式为:类型标识符 *指针数组名 数组元素个数 ;const 指针常量指针的定义格式为:const 类型标识符 *指针变量名;指针常量的定义格式为:类型标识符 * const 指针变量名=初始指针值;2.3.8 引用类型引用的概念引用( reference ) 是一个已经定义的变量重新的别名。系统不为引用类型变量分配内存空间定义引用时,需要为其指定一个对象 引用
11、的声明格式 类型标识符 + a; / 等价于 a=a+1;a-; -a ; / 等价于 a=a-1;2.4.6 逗号运算符和逗号表达式一般形式为:表达式 1,表达式 2,表达式 n求解过程是顺序求解表达式 1、表达式 1表达式 n 的值,整个逗号表达式的值是最后一个表达式的值。2.4.7 sizeof 运算符和表达式作用用于计算对象在内存中所占字节数形式sizeof (类型标识符) ;sizeof (变量名) ;sizeof(int ) /整型数据在内存中所占字节数。 double a;sizeof(a); /表示求变量a在内存中所占字节数由于 C+编译器类型和 CPU 类型不同,在定义不同数据类型数据所占的存储空间可能相同2.4.9 条件运算符和条件表达式条件运算表达式的格式表达式 1?表达式 2 :表达式 3条件运算符运算过程先计算表达式 1 的值,并且进行判断。如果表达式 1 的值为非零(真) ,则整个表达式的值为表达式 2 的值,否则(表达式的值为假)整个表达式的值为表达式 3 的值。求两个数的最大值