速查表
写代码时对照;先理解再抄格式。
数据类型与格式化
| 名称 | 写法 | 说明 |
|---|---|---|
int | %d | 整数 |
float/double | %f | 小数 |
char | %c | 单个字符 |
字符串 | %s | char 数组,以 \0 结尾 |
取地址 | &变量 | scanf 必须用 |
解引用 | *指针 | 取指针指向的值 |
常用头文件
| 名称 | 写法 | 说明 |
|---|---|---|
stdio.h | printf / scanf | 输入输出 |
string.h | strlen strcpy strcmp | 字符串 |
stdlib.h | atoi rand | 转换与随机 |
math.h | sqrt pow | 数学(链 -lm) |
流程控制骨架
| 名称 | 写法 | 说明 |
|---|---|---|
if | if (条件) { } else { } | 分支 |
switch | switch(x){case 1: break;} | 离散多分支 |
for | for(i=0;i<n;i++) | 固定次数 |
while | while(条件) | 条件循环 |
break/continue | 跳出 / 跳过本次 | 循环控制 |
位运算四件套
| 名称 | 写法 | 说明 |
|---|---|---|
置位 | x |= BIT(n) | 第 n 位变 1 |
清零 | x &= ~BIT(n) | 第 n 位变 0 |
翻转 | x ^= BIT(n) | 第 n 位取反 |
判断 | if (x & BIT(n)) | 第 n 位是否为 1 |
宏 | #define BIT(n) (1<<(n)) | 生成掩码 |
scanf / printf 套路
| 名称 | 写法 | 说明 |
|---|---|---|
读整数 | scanf("%d", &n) | 必须 & |
读字符串 | scanf("%31s", buf) | 限长防溢出 |
读字符 | scanf(" %c", &c) | 前导空格吃掉回车 |
保留两位小数 | printf("%.2f", x) | 浮点展示 |
右对齐宽度 | printf("%5d", n) | 表格对齐 |
调试清单(出 bug 先查这些)
| 名称 | 写法 | 说明 |
|---|---|---|
漏分号 | 编译 error 指向下一行 | 看报错上一行 |
= 当 == | 条件总成立 | 改 == |
数组越界 | 随机崩溃/改坏变量 | 检查下标 < n |
漏 & | scanf 崩溃 | 变量前加 & |
未初始化 | 结果怪 | 定义时就赋值 |