第二章数据类型、运算符、表达式
一.数据类型
基本类型:是C语言数据类型的基本型,其值不可再分解为其他类型。
构造类型:一种由单种或多种数据类型构造而成的数据类型。 数组 结构 共用体 枚举类型
指针类型:一种特殊的数据类型,其值为某个量的内存地址。
空类型:一种无返回值函数的数据类型。 void
1.基本类型
基本类型: 数值类型 :整型int 。浮点型 float
字符类型:char
1.整数类型: short 2个字节 数值范围 -32768~+32767 %hd
i nt 4个字节 - 21亿~+21亿之间 %d
long 4个字节 与int 没有差别 %ld
2.小数类型: float 4个字节 数值范围 10^38~10^-38之间 %f
double 8个字节 10^308~10^-308之间 %lf
3.字符类型 char 1个字节 c标准中字符一共有128个 %c / %d
2.构造类型
在实际应用中,对于复杂问题的解决,C语言还提供了新的数据类型,这些数据类型的元素或成员的数据类型仍然是基本数据类型。
C语言中构造类型共有四种:数组、结构体、共用体(联合体)、枚举。
3.指针类型
C语言里,变量存放在内存中,而内存其实就是一组有序字节组成的数组,每个字节有唯一的内存地址。CPU 通过内存寻址对存储在内存中的某个指定数据对象的地址进行定位。这里,数据对象是指存储在内存中的一个指定数据类型的数值或字符串,它们都有一个自己的地址,而指针便是保存这个地址的变量。也就是说:指针是一种保存变量地址的变量。
4.空类型
一类函数调用后并不需要向调用者返回函数值, 这种函数可以定义为“空类型”。其类型说明符为void,不需要向调用者返回函数值 。
void的语义有多种: 1、作为参数表示无参数 2、作为返回值代表无返回值 3、修饰指针变量代表未知类型的指针
二 常量、变量
-常量是固定值,在程序执行期间不会改变。这些固定的值,又叫做字面量。
C语言中的常量: -整型常量 -浮点型常量 -字符型常量 -字符串常量 -地址常量 -定义常量
1.整形常量
整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
常量加前缀:代表不同的进制表现
常量加后缀:代表常量的类型
不加后缀 默认为int类型的常量 L 表示常量为long类型 U 表示常量为无符号的int UL 无符号的long类型(无符号 unsigned 代表没有负数 只有正)
后缀 不区分大小写
2 浮点型常量
浮点常量由整数部分、小数点、小数部分和指数部分组成(十进制),可以使用小数形式或者指数形式(科学计数法)来表示浮点常量。 当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时,字母E/e前必须有数字, 而E后面的阶码必须为整数。
两种表现形式
十进制小数 指数(科学计数法)
小数形式默认是double类型
例如:1234.56 数学中 可以写成 1.23456*10^3
C语言中 1.23456e+003
-0.0012345 -1.2345E-3
+ 可以省 00也可以省,
E前面必须有数字 E后面必须是整数
输出时 默认保留六位小数 并且 四舍五入
输出小数时 % .n f 就代表保留n个小数输出
3,字符常量:
字符常量是括在单引号中,例如,'x' 可以存储在 char 类型的简单变量中。
字符常量可以是一个普通的字符(例如 'x')、一个转义序列(例如 '\t'),或一个通用的字符(例如 '\u02C0’)。
在内存中,字符常量以ASCII码存储,一个字符占一个字节。
` 由于字符常量是按整数存储的,可以像整数一样在程序中参与相关的运算。如: ‘a’-32 // 执行结果9 7- 32 = 65 ‘9’-9 // 执行结果5 7- 9 = 48