关键字:
C语言预先规定的,具有特定意义的字母组合,共有32个。
标识符:
如变量名、函数名、文件名、类型名等。
只能由字母、数字、下划线组成,且首字符必须为字母或下划线。
变量:
必须先定义后使用。
在定义时对其赋值,称为初始化。
数据类型:
整型数据:
标识符 | 类别 | 占用字节数 |
---|---|---|
int | 基本整型 | 4个字节 |
short int(short) | 短整型 | 2个字节 |
long int(long) | 长整型 | 4个字节 |
unsigned int(unsigned) | 无符号基本整型 | 4个字节 |
unsigned short int(unsigned short) | 无符号短整型 | 2个字节 |
unsigned long int(unsigned long) | 无符号长整型 | 4个字节 |
字符型、实型数据:
标识符 | 类别 | 占用字节数 |
---|---|---|
char | 字符型 | 1个字节 |
float | 单精度实型 | 4个字节 |
double | 双精度实型 | 8个字节 |
long double | 长双精度实型 | 8个字节 |
sizeof 运算符
功能:获取变量和数据类型所占内存大小(字节数)
格式:
sizeof(int);
sizeof int;
不同数据类型的数据表示范围:
整型数据的存储方法:
整形的数值溢出:
数据超出所能表示的范围。
浮点数的表示:
标识符 | 数符 | 阶码 | 尾数 | 有效数字 |
---|---|---|---|---|
float | 1位 | 8位 | 23位 | 6~7位 |
double | 1位 | 11位 | 52位 | 16位 |
尾数的位数 决定 数的精度
阶码的位数 决定 数的范围
浮点数都是近似值,多个浮点数运算会产生误差。
常量:
在程序运行中,其值保持不变的量。
分类:数值常量、符号常量、字符常量、字符串常量。
整型常量:
十进制数:0~9
八进制数:0~7,以0开头
十六进制数:0~9 ,A~F / a~f,以0x或0X开头
实型常量:
十进制数形式:
由数字、小数点及正负号组成。
指数形式:
由数字、小数点、字母e或E及正负号组成。(e或E之前必须有数字,且后指数必须为整数。
符号常量:
用一个符号代表一个常量,必须在函数开始用宏定义声明后使用。
#define 宏名 字符串
const常量:
const double pi=3.1415;
字符常量:
用单引号括起来的一个字符。
字符串常量:
用双引号括起来的一串字符。
转义字符:
转义字符 | 功能 |
---|---|
\n | 换行 |
\v | 垂直制表 |
\b | 退格 |
\r | 回车 |
\f | 走纸换页 |
\t | 跳到下一个制表位(8列) |
\ | 反斜线字符 |
’ | 单引号字符 |
" | 双引号字符 |
\ddd | 1至3位八进制数表示的字符 |
\xdd | 1至2位十六进制数表示的字符 |
数据类型转换
自动进行——隐式转换:
整型、实型和字符型可以混合运算,系统自动转换成占内存字节数最大的操作数类型。
转换规则:
short,char → int → unsigned int → long int → unsigned long → float → double
1.一般类型转换为标准类型;float型转成double型;char和short int型转为int型
2.不同类型转为相同类型,转换原则是“由低到高”。
示例:
int i;long e;float f;double d;
f = 10+'a' + i*f - d/e ;
//等号右边的运算结果为double型
//f是float型,又将运算结果转为float型
强制进行——显式转换:
//(类型名)表达式
(double)(a+b);
得到的是所需类型的中间变量,没有改变原来变量的类型