c语言记录

# c语言

## 一 语法

### 第一章 类型,运算符与表达式

#### 1.变量

##### 1.1 变量名

变量标识符只可以使用字母,下划线以及数字,其中标识符的开头必须是字母或下划线。

下划线开头的变量一般是扩展或实现,用户不应该直接使用。

变量是区分大小写的,我们一般用小写来标识变量,大写来标识常量。

变量名不能与关键字冲突。

##### 1.2 变量与常量

变量是可以变化的,有的时候我们不想要变量被改变,可以使用 `#define`定义一个宏,或者使用 `const`关键字对变量进行限定。前者是狭义上的常量。

#### 2. 数据类型及长度

##### 2.1 基本数据类型c89

- `char`: 1个字节

- `short`: 2个字节

- `int`: 2 或 4个字节

- `long`: 4 或 8个字节

- `float`: 4 个字节

- `double`: 8 个字节

添加 `unsigned`,长度不变,范围则从0开始。

##### 2.2 新增数据类型c99

- `long long`:8 个字节

- `long doble`: 长度不定

- `_Bool`: 1个字节,需要包含 `stdbool.h`

- `int_8`, `int_16`, `int_32`... 需要包含`inttypes.h`

#### 3. 常量

##### 3.1 数字类型常量

- `123`:  默认为`int`类型的常量, 后缀 `l` 或 `L` 则为 `long` 类型, 如 `123L`。

- 如果一个数字太大,超过 `int` 的范围,则被当作 `long` 类型进行处理。

- 无符号常量用 `u` 或 `U`进行结尾, 如 `123u` 表示 `unsigned int` 类型, `u`/`U` 可以与 `l`/`L`一起使用, 如 `1111UL` 表示 `unsigned long int` 类型。

- `123.45`: 浮点数默认为 `double` 类型,后缀 `f`/`F`, 则表示为 `float` 类型。

##### 3.2 八进制,十六进制的整型

- `011`: 0开头的数字表示8进制,这里`011` 即十进制的 `9`

- `0X11` / `0x11`: `0x`或`0X`开头的数字表示16进制整数, 这里的 `0x11` 即 17

##### 3.3 字符常量

字符常量是整数类型的一种, 因此可以直接与整数进行运算:

```c

```

## 二 标准库

## 三 三方库

## 四 c语言标准变化

## 五 gcc

你可能感兴趣的:(c语言记录)