2.1数据类型

2.1.1分类

分类1:

逻辑类型。只有两个量true和false,表示逻辑真值和逻辑假值。
整数类型。C支持四种整数类型:char, short, int和long,整数类型用于处理整数。
浮点类型。C支持两种浮点类型:float和double,浮点类型用于处理包含小数部分的数值。
void类型。该类型也叫缺省型,用于描述值为空集, 主要用于说明不返回值的函数或指向任一类型的指针等。

分类2:

1)基本数据类型(分配大小,解释方式)
注意:signed unsigned
整型 char(1个字节) short(2个字节) int(4个字节) long(4个字节)
浮点型 float(4个字节) double(8个字节)

2)构造数据类型
数组
struct(结构体)
union
enum
3)指针类型
4)void

2.1.2常量与变量

2.1.2.1常量

常量是指在程序运行期间其数值不发生变化的数据。
注意:标识常量也叫符号常量,为了不与一般变量的名称相混淆,标识常量的名称一般使用大写英文字母的标识符。标识常量在使用之前必须预先定义。
标识常量的一般说明形式为:
#define <标示常量名称> <常量>

2.1.2.2变量

C语言的变量在程序中用变量名表示。变量名由用户根据其用途任意命名,变量名命名遵从标识符的起名规则(只能由字母\数字\下划线组成且头一个字母只能是字母或下划线. 变量不能是C的特殊字符)。
在程序运行时,变量占据一定大小的存储空间,其大小由其数据类型来决定的,作为某变量的内存空间的首地址,称为变量的地址。
格式:<存储类型> <数据类型> <标识符>
存储类型:
auto :默认,一般省略,自动分配
局部变量 :存放在栈区
全局变量 :存放在数据区
static :修饰全局变量,限制作用本模块使用(隐藏)
修饰函数,限制作用本模块使用(隐藏)
修饰局部变量,改变声明周期,存取在全局区域,作用域还是局部
extern :外部引用变量或函数
register:寄存器类型,申请到寄存器类型,失败变为自动类型

注意:局部变量不赋初值默认随机值,
全局变量不赋初值默认是0。
强制数据类型的转换
自动转换:低级数据向高级数据转换,有符号向无符号转换
强制转换:(数据类型名称) <表达式>

2.2 运算符与表达式

2.2.1算术运算符

C提供的算术运算符:+,-,*,/,%,++,–。
注意:%都要求是整数

2.2.2关系运算符

C语言的关系运算符:>,>=,<,<=,==,!=。

2.2.3逻辑运算符

C语言的逻辑运算符:!,&&,||。

2.2.4位运算符

C语言的位运算符如下:~,&,|,^,>>,<<。

2.2.5赋值运算符与赋值复合运算符

赋值运算符为“=”,其运算的一般形式如下:
<左值表达式> = <右值表达式>
赋值复合运算符其运算的一般形式如下:
<变量> <操作符>= <表达式>
相当于下列式子:
<变量> = <变量> <操作符> <表达式>
C语言的赋值复合运算符如下:

表2-1赋值复合运算符

第2章 运算符&表达式&数据类型

2.2.6 C语言的特殊运算符

条件运算符”? :”
条件运算符”? :”是一个三目运算符, 其运算的一般形式是:
<表达式1> ? <表达式2> : <表达式3>
逗号“,”运算符
sizeof运算符
sizeof运算符运算的一般形式如下:
sizeof(<类型或变量名>)
注意:它只针对数据类型,而不针对变量!
C语言运算符的优先级和结合规律如下:

表2-2运算符的优先级和结合规律

第2章 运算符&表达式&数据类型

小贴士:

1.#define //宏定义
优点:
1)可读性强
2)方便修改
注意:宏定义仅仅是替换而已,注意写宏函数应该多加括号
2.“\n”的使用
在使用scanf函数时,应该注意慎用“\n”

相关文章: