第一章 C数据类型及语句01

1.1 C 语言的特点

1.#include<stdio.h> 头文件包含,一定要有

2.每一个 c 语言的程序有且只有一个 main 函数,这是整个程序的开始位置

3.C 语言中()、[]、{}、“”、’’、都必须成对出现,必须是英文符号

4.C 语言中语句要以分号结束。

5.//为注释 /* */为多行注释

1.2 关键字

1、char 字符型

1
char ch1 = 'zifu';

2、short 短整型 占 2 个字节

1
short int a = 11; -32768 - ---32767

3、int 整形,在 32 位占 4 个字节,16 位站 2 个

1
int a = 44; -20 亿---20 亿

4、long 长整型 在 32 位占 4 个字节

1
long int a = 66;

5、float 单精度浮点型(实数),占 4 个字节

1
float b = 3.8f;

6、 double 双精度浮点型 (实数),占 8 个字节

1
double b=3.8;

7、 struct 这个关键字是与结构体类型相关的关键字,可以用它来定义结构体类型

8、 union 这个关键字是与共用体(联合体)相关的关键字

9、 enum 与枚举类型相关的关键字

10、signed 有符号(正负)的意思

1
2
//定义cahr,整形数据使用signed修饰,代表数据是有符号的,可以保存整数,复数
signed int b = -6; //关键字可以省略

11、unsigned 无符号的意思

1
unsigned int a = 101; //只能保存整数和0

12、void 空类型的关键字

1
2
3
4
5
6
7
//void 是用来修饰函数的参数或者返回值,代表函数没有参数或没有返回值
//例:
void fun(void)
{

}
//代表 fun 函数没有返回值,fun 函数没有参数

1.1.2 存储相关关键字

1、register 是寄存器的意思,用 register 修饰的变量是寄存器变量(尽量分配存储空间在寄存器中)

(1): 定义的变量不一定真的存放在寄存器中。

(2):cpu 取数据的时候去寄存器中拿数据比去内存中拿数据要快

(3):因为寄存器比较宝贵,所以不能定义寄存器数组

(4):register 只能修饰 字符型及整型的,不能修饰浮点型

(5):因为 register 修饰的变量可能存放在寄存器中不存放在内存中,所以不能对寄存器变量取地址。因为只有存放在内存中的数据才有地址

1
2
3
register int a;
int *p;
p = &a; //错误的,a 可能没有地址

2、static 是静态的意思

static 可以修饰全局变量、局部变量、函数

3、const 常量的意思

用 const 修饰的变量是只读的,不能修改它的值(可以修改指针

4、auto int a;和 int a 是等价的,auto 关键字现在基本不用

5、extern 是外部的意思,一般用于函数和全局变量的声明

1.1.3 控制语句相关的关键字

if 、else 、break、continue、for 、while、do、switch case、goto、default

1.1.4 其他关键字

1、sizeof

使用来测变量、数组的占用存储空间的大小(字节数)

例 3:

1
2
3
int a=10;
int num;
num=sizeof(a);

2、typedef 重命名相关的关键字

关键字 ,作用是给一个已有的类型,重新起个类型名,并没有创造一个新的类型

以前大家看程序的时候见过类似的变量定义方法

INT16 a;

U8 ch;

INT32 b

3、volatile 易改变的意思

用 volatile 定义的变量,是易改变的,即告诉 cpu 每次用 volatile 变量的时候,重新去内存中取 。保证用的是最新的值,而不是寄存器中的备份。

1
2
//volatile 关键字现在较少适用
volatile int a=10;