数据类型、运算符与表达式

在 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、逗号运算符和逗号表达式

(0)

相关推荐