2.2C语言的数据类型
数据类型:1.基本类型:整型、字符型、实型(浮点型)
2.构造类型:数组类型、结构体类型、共用体类型、枚举类型
3.指针类型
4.空类型
2.3C语言的常量
2.3.1直接常量
直接常量分为整型常量、实型常量、字符型常量和字串型常量
1.整型常量
即整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制和十六进制表示
十进制表示:由数字0~9,正、负号组成,如369,-663等
八进制表示:以0(数字0)为前缀,其后由数字0~7组成,如0163,036等;八进制一般是无符号数。如0192、-011都是不合法的八进制常量。
十六进制表示:以0x或0X为前缀,其后由数字0~9和字母A~F组成,如0x12cd,0X6Fa等,十六进制一般是无符号数
注意:在一个整型常量后面加一个字母u或U,认为是unsigned int型,如246U
在一个整型常量后面加一个字母l和L,认为是long int型,如,12L
2.实型常量
即实数,又称为浮点数,只能用十进制形式表示,表示方法有两种:小数形式和指数型式
(1)小数形式:由整数部分、小数点和小数部分组成,当整数部分或者小数部分为0时可以省略不写,但小数点不可省略
(2)指数形式:由尾数部分、字母E或e和指数部分组成,格式为:+-尾数E的实数
3.字符型常量
指单个字符,用一对单引号及其括号所括起的字符来表示。如'a' 'B' '='等都是合法的字符常量
特点:1.字符常量只能用单引号括起来,不能用双引号或其他括号
2.字符常量只能是单个字符,不能是字符串
3.字符可以是ASCII字符集中的任意字符
使用字符常量时,每个字符在内存中占用一个字节,用于储存它的ASCII码值
2.1转义字符
转义字符 | 转义功能 | ASCII码值 |
\0 | 空字符 | 0 |
\a | 响铃 | 7 |
\b | 退格Basckpace | 8 |
\t | 水平制表符(即横向跳格) | 9 |
\n | 回车换行 | 10 |
\v | 竖向跳格 | 11 |
\f | 换页 | 12 |
\r | 回车 | 13 |
\'' | 双引号 | 34 |
\' | 单引号 | 39 |
\? | 问号 | 63 |
\\ | 反斜线字符 | 92 |
\ddd | 1~3位八进制所代表的字符 | |
\xhh | 1~2位十六进制所代表的字符 |
单引号是字符,双引号是字符串
4.字符串常量
是由一对双引号括起来的零个或多个字符序列
字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字字符等文字符号
如:‘’‘’表示空串,即不包含任何字符
n个字符组成的字符串,在内存中要占用n+1个字节空间。可以使用sizeof运算符来计算字符串占用的内存空间大小
在字符串中遇到‘/0’('/0's 字符串的结束符)则认为该字符串结束,如"Hello/0World”如果字符串中有转义字符作为一个字符,如“HelloWorld\t"d的长度为11。
2.3.2符号常量
好处:1.增加程序的可读性
2.提高程序的可维护性
3.简化程序代码
4.方便数组的定义
2.4C语言的变量(先赋值,在使用)
1.变量的定义
如int.float.double.char等,用于指定变量的类型,该类型决定编译时分配给变量的内存单元的多少
变量名表可以由一个或多个变量名组成,各变量名用“,”分隔,一般使用小写字母
2.变量的初始化
C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化
如:int x=2;
ints=1,t=1;
float f=3.68;
char ch='x';
2.4.2整型变量
在C语言中可分为:短整型、整型、长整型、无符号整型、无符号短整型和无符号长整型
关键字 | 类型 | 占用字节 | 取值范围 |
short int | 短整型 | 2 | 详见书第33页 |
int | 整型 | 4 | 详见书第33页 |
long int | 长整型 | 4 | 详见书第33页 |
unsigned short | 无符号整型 | 2 | 详见书第33页 |
unsigned int | 无符号短整型 | 4 | 详见书第33页 |
unsigned long | 无符号长整型 | 4 | 详见书第33页 |
2.4.3实型常量
分为单精度float型和双精度double型两类
关键字 | 类型 | 占用字节数 | 取值范围 |
float | 单精度 | 4 | 3.4E-38~3.4E+38 |
double | 双精度 | 8 | 1.7E-308~1.7E+308 |
字符串加“/0”,如hello ,占6个字节
2.4.4字符型变量
详见书第34页
2.5运算符和表达式
2.5.1赋值运算符和赋值表达式
C语言中赋值运算符有“=" “+=” “-=” “*=” “/=”和“%=”等
1.简单赋值运算符
最简单的赋值运算符就是“=”,它的作用是将一个数值赋给一个变量,如r=2的作用是执行一次赋值操作。把常量2赋给变量r也可以将一个表达式的值赋给一个变量
2.复合赋值运算符
运算符 | 应用举例 | 等价形式 |
+= | a+=x | a=a+(x) |
-= | a-=x | a=a-(x) |
*= | a*=x | a=a*(x) |
/= | a/=x | a=a/(x) |
%= | a%=x | a=a%(x) |
3.赋值表达式
赋值语句属于表达式语句。赋值表达式说由赋值运算符将一个变量和一个表达式连接起来的式子所组成,一般形式为:变量=表达式
2.5.2算术运算符和算术表达式
1.基本的算数运算符
运算符 | + | - | * | / | % |
名称 | 加 | 减 | 乘 | 除 | 求余 |
2.自增,自减运算符
C语言有两个特殊运算符“++”和“--”
1.++自增运算符,为单目运算符,其功能是使变量的值自加1.自增运算符有两种使用形式
(1)前缀方式:用于变量前,如“int a =++x;”它是“先算计,后使用”,即先将x的值自加1,然后将x的值自加1,然后将x的值赋给变量a
(2)后缀方式:用于变量后面,如:“int a=x++;”它是"先使用,后使用”,即先将x的值赋给变量a,然后再将x的值自加一
=