##### 整数
- 整数
- **整数**是没有小数部分的数字, 基本类型指 `int` , 另外字符类型 `char` 也是是整数类型, 因为实际上储存的是整数而不是字符, 计算机使用数字编码来处理字符, 即用特定的整数表示特定的字符, 主要是ASCII码. 布尔类型也是整数. [[C.stdint.h|stdint.h]] 提供了固定大小的整数类型
- 语法
- [[C.整数字面量|整数字面量]]
- [[C.整数声明|整数声明]]
- [[C.标量初始化|标量初始化]]
- [[C.整数计算表达式|整数计算表达式]]
| [[C.类型说明符\|类型说明符]] | [[C.格式说明符\|格式说明符]] | 描述 | 最小大小(位) | [[C.字面量\|字面量]] |
| ---------------------------------------------------------------------- | ---------------------- | ----------- | ------- | ------------------------------------------------------------------------------- |
| int<br>signed<br>signed int | `%d` `%i`<br>`%o` `%u` | 有符号整型<br> | 16 | 十进制 `[十进制数字]`<br>二进制 `0b/0B[二进制数字]` <br>八进制 `0[八进制数字]` <br>十六进制 `0x/0X[十六进制数字]` |
| short<br>short int<br>signed short<br>signed short int | `%hd` `%hi` | 有符号短整型<br> | 16 | |
| long<br>long int<br>signed long<br>signed long int | `%ld` `%li` | 有符号长整型<br> | 32 | 后缀 `L` |
| long long<br>long long int<br>signed long long<br>signed long long int | `%lld` `%lli` | 有符号长长整型<br> | 64 | 后缀 `LL` |
| unsigned<br>unsigned int | `%u` | 无符号整型<br> | 16 | 后缀 `U` |
| unsigned short<br>unsigned short int | `%hu` | 无符号短整型<br> | 16 | |
| unsigned long<br>unsigned long int | `%lu` | 无符号长整型<br> | 32 | 后缀 `LU` |
| unsigned long long<br>unsigned long long int | `%llu` | 无符号长长整型 | 64 | 后缀 `LUU` |
| char | `%c` | 字符 | 8 | 字符单引号 `'[ASCII字符]'`<br>字符[[C.转义序列\|转义序列]] `'\'` |
| signed char | `%c` | 有符号字符 | 8 | |
| unsigned char | `%c` | 无符号字符 | 8 | |
| _Bool | | 布尔类型 | 8 | |
- 示例
```c
#include <stdio.h>
int main()
{
long long a = 1000000;
printf("%lld\n", a);
printf("%lld\n", 1000000LL);
printf("%d\n", 0b10);
printf("%d\n", 010);
printf("%o\n", 010);
printf("%d\n", 0x10);
printf("%u\n", 0x10);
printf("%c\n", 'a');
printf("%d\n", 'a');
}
```