数据类型、运算符与表达式
在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。
一、C 中的类型可分为以下几种:
1、基本类型:它们是算术类型,包括两种类型:整数类型和浮点类型。
2、枚举类型:它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。
3、void 类型:类型说明符 void 表明没有可用的值。
4、派生类型:它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。数组类型和结构类型统称为聚合类型。函数的类型指的是函数返回值的类型。
二、常量与变量
常量和符号常量
定义:程序运行过程中,其值不能被改变的量(常数)
分类:直接常量、符号常量
符号常量:用标识符代表常量
一般用大写字母: PRICE 、 PI
定义格式: #define 符号常量 常量,其值在作用域内不能改变和再赋值。
三、变量
定义:其值可以改变的量。
定义格式:数据类型 变量名;
变量应该有名字,并在内存中占据一定的存储单元。
变量名和变量值有不同的含义;变量名实为一个符号地址。
四、标识符
定义:标识变量名、符号常量名、函数名、数组名、
文件名的字符串序列——名字。
命名规则:只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线
大小写字母含义不同,一般用小写,不能使用关键字
TC允许最长32个字符,建议长度不超过8个字符
使用:先定义、后使用
标识符应该“见名知意”,如 total , max
标识符应该“不宜混淆”,如 l与1 , O与0
五、数据类型
1、整型数据
整型常量(整常数)的三种表示方法
十进制整数:由数字0~9和正负号表示.如 123,-456,0
八进制整数:由数字0开头,后跟数字0~7表示.如 0123,011
十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如 0x123,0xff
数值的表示方法——原码、反码和补码
(1)原码:最高位为符号位,其余各位为数值本身的绝对值
(2)反码:
正数:反码与原码相同
负数:符号位为1,其余位对原码取反
(3)补码:
正数:原码、反码、补码相同
负数:最高位为1,其余位为原码取反,再对整个数加1
2、整型常量的类型
整型常量的值在-32768~+32767范围内,编译器认为是int类型 ,整型常量的值超过上述范围,而在-2147483648 ~ +2147483647范围内,编译器认为是long类型。当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量,在整型常量后面加大写L或小写l,则告诉编译器,把该整型常量作为long类型处理。例:123L、0L 。在整型常量后面加u,则按无符号整型方式存放,负数转换成补码再按无符号整型方式存放。
3、浮点型数据
浮点型常量的表示方法
浮点数(float)又称为实数(real)
两种表示方法:
十进制小数形式:必须有小数点
如 0.123 、.123 、123.0 、0.0 、123.
指数形式:e或E之前后必须有数字;指数必须为整数
如 123.456e0、12.3456e1 、1.23456e2 、
0.123456e3 、0.0123456e4 等
4、字符型数据
字符常量定义:用单引号括起来的单个字符或转义字符
字符常量的值:该字符的ASCII码值
定义格式:char 变量名 = 值,转义字符:反斜线后面跟一个字符或一个代码值表示。
5、各类数值型数据间的混合运算,整型、实型、字符型数据间可以混合运算
自动转换
什么情况下发生
(1)运算转换------不同类型数据混合运算时
(2)赋值转换------把一个值赋给与其类型不同的变量时
(3)输出转换------输出时转换成指定的输出格式
(4)函数调用转换------实参与形参类型不一致时转换
运算转换规则:不同类型数据运算时先自动转换成同一类型
6、强制转换
一般形式:(类型名)(表达式)
例:(int)(x+y)
(int)x+y
(double)(3/2)
(int)3.6 ;说明:强制转换得到所需类型的中间变量,原变量类型不变。
7、算术运算符和算术表达式
(1)算术运算符和算术表达式
基本算术运算符: + - * / % 结合方向:从左向右
优先级: - ---->* / % -----> + -
说明:
“-”可为单目运算符时,右结合性
两整数相除,结果为整数
%要求两侧均为整型数据
+ - * / 运算的两个数中有一个数为实数,结果是double型
(2)自增、自减运算符++ --
作用:使变量值加1或减1
种类:
前置 ++i, --i (先执行i+1或i-1,再使用i值)
后置 i++,i-- (先使用i值,再执行i+1或i-1)
8、赋值运算符和赋值表达式
9、逗号运算符和逗号表达式