跳转至

C 经典100例

本页整理适合练习 C 基础语法、控制流、数组、指针、字符串、结构体和文件操作的经典题型。建议每题都独立编写、编译并测试边界输入。

入门题

  1. 输出 Hello World。
  2. 输入两个整数并输出和。
  3. 摄氏温度和华氏温度转换。
  4. 判断奇偶数。
  5. 判断闰年。
  6. 求三个数最大值。
  7. 交换两个变量。
  8. 计算圆面积。
  9. 求阶乘。
  10. 打印乘法表。

控制流与函数

  1. 判断素数。
  2. 输出指定范围内的素数。
  3. 求最大公约数。
  4. 求最小公倍数。
  5. 斐波那契数列。
  6. 递归求阶乘。
  7. 递归求字符串长度。
  8. 判断回文数。
  9. 判断水仙花数。
  10. 简单计算器。

数组与排序

  1. 数组求和。
  2. 数组最大值和最小值。
  3. 数组逆序。
  4. 冒泡排序。
  5. 选择排序。
  6. 插入排序。
  7. 二分查找。
  8. 合并两个有序数组。
  9. 去除数组重复元素。
  10. 统计数组元素频率。

字符串

  1. 统计字符个数。
  2. 字符串复制。
  3. 字符串连接。
  4. 字符串比较。
  5. 字符串反转。
  6. 判断回文字符串。
  7. 统计单词数量。
  8. 查找子串。
  9. 字符大小写转换。
  10. 删除字符串中的空格。

指针与内存

  1. 指针交换两个变量。
  2. 指针遍历数组。
  3. 动态分配数组。
  4. 动态二维数组。
  5. 函数返回状态并通过指针输出结果。
  6. 函数指针调用。
  7. 使用 qsort 排序整数。
  8. 使用 qsort 排序结构体。
  9. 实现简单动态字符串。
  10. 检查内存分配失败。

结构体与文件

  1. 学生结构体输入输出。
  2. 结构体数组排序。
  3. 链表创建。
  4. 链表插入。
  5. 链表删除。
  6. 链表查找。
  7. 文本文件复制。
  8. 统计文件行数。
  9. 读取 CSV 简单字段。
  10. 二进制文件读写结构体。

综合练习

  1. 通讯录管理。
  2. 学生成绩管理。
  3. 简单词频统计。
  4. 简单日志过滤器。
  5. 简单十六进制查看器。
  6. Base64 编码理解练习。
  7. 简单 XOR 编码器。
  8. 命令行参数解析。
  9. 简单配置文件解析。
  10. 简单栈实现。

进阶练习

  1. 简单队列实现。
  2. 循环队列实现。
  3. 哈希表实现。
  4. 二叉树遍历。
  5. 表达式括号匹配。
  6. 简单计算表达式求值。
  7. 迷宫 DFS。
  8. 迷宫 BFS。
  9. 文件加密解密练习。
  10. 简单压缩统计。

安全与边界

  1. 安全读取一行输入。
  2. 检查整数溢出。
  3. 安全拼接字符串。
  4. 避免数组越界。
  5. 避免格式化字符串漏洞。
  6. 检查 malloc 返回值。
  7. 防止 use-after-free。
  8. 防止 double free。
  9. 使用 AddressSanitizer 检查程序。
  10. 使用 UndefinedBehaviorSanitizer 检查程序。

项目题

  1. 简单 Todo 程序。
  2. 简单文本数据库。
  3. 简单 HTTP 请求解析器。
  4. 简单 ELF 魔数检测器。
  5. 简单 PNG 文件头检测器。
  6. 简单端口配置解析器。
  7. 简单单元测试框架。
  8. 简单 Makefile 多文件项目。
  9. 简单命令行工具。
  10. 综合复习项目。