2.3 C语言的常量
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等。十六进制数一般是无符号数。
注意:
(1)在一个整型常量后面加一个字母u或U,认为是unsigned int型,如246U。
(2)在一个整型常量后面加一个字母l或L,认为是long int型,如12L。
2.实型常量
实型常量即实数,又称为浮点数。C语言中,实数只能用十进制式表示,实数的表示方法有两种:小数形式和指数形式。
(1)小数形式:有整数部分、小数点和小数部分组成,当整数部分或者小数部分为0时,可以省略不写,但是小数点不可省略。如12.345,3.,—,123等均为正确的实数。
(2)指数形式:由尾数部分、字母E或e和指数部分组成,格式为:±尾数E指数。如1.23E—2、3.14E+3等。
注意:
(1)以小数形式表示实数时,必须有小数点,并且小数点的前后至少一边要有数字。
(2)以指数形式表示实数时,字母E(或e)的前后必须有数字,并且指数部分只能是整数。如12.—E3、1.5E、E6都是不正确的实数。
在C语音中,实型常量默认为是double型的实数、如果在数的后面加字母f或F(如1.65f、654.87F),则认为是float型的实数。
3.字符型常量
(1)字符常量只能用单引号括起来,不能用双引号或其他括号。
(2)字符常量只能是单个字符,不能是字符串。
使用字符常量时,每个字符在内存占用一个字符,
4.字符串常量
字符串常量是由一对双引号“ ”括起来的零个或多个字符序列
字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号。
字符串常量在内存中占用一段连续的存储单元,系统自动在每个字符串的尾部加上’\0’作为字符串的结束标志。
2.4 C语言的变量
2.4.1 变量的定义与使用
在C语言中,所有的变量必须先定义后使用
1.变量的定义
(1)类型说明符必须是C语音中的有效数据类型,如int float double char等,用于指定变量的类型,该类型决定了编译时分配给变量的内存单元的多少。
(2)变量名表可以由一个或多个变量名组成,各变量名之间用“,”分隔。
变量的初始化
C语音允许在定义变量的同时对变量赋值,这个过程称为变量的初始化。
2.4.2 整型的变量
在这里插入图片描述
2.4.3 实型变量
2.4.4 字符型常量
字符型变量的类型说明符是char
2.5 运算符和表达式
2.5.1 赋值运算符和赋值表达式
C语言中赋值运算符有“=”、“+=”、“*=”、“/=”和“%=”等。
2.5.2 算术运算符和算术表达式
基本的算求运算符
自增、自减运算符
C语音有两个特殊运算符“++”和“--”。
(1)++自增运算符,为单目运算符,其功能是使变量的值自加1。自增运算符有两种使用形式
①前缀方式:用于产量前面,如“int=++x”;它是“先计算,后使用”,即先将x的值自加1,然后将x的值赋给变量a。
②后缀方式:用于变量后面,如“int=x++”它是“先使用,后计算”,即先将x的值赋给变量a,然后再将x的值自加1。
2.6 数据型转换
2.6.1 自动型转换
2.6.2 强制类型转换
强制类型转换是采用强制类型转换运算符将某种数据类型转换成指定的数据类型,其一般形式为
(类型说明符)(表达式)
进行强制类型转换时需注意:
(1)需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换
(2)强制类型转换是一种不安全的转换,如果是从高级类型换成低级类型。则会损失数据的精度。
(3)强制类型转换并不改变表达式变量的类型和值。