软件技术基础

C语言

施展
武汉光电国家研究中心 & 计算机学院
华中科技大学
2026-09-29 (第5周周二) 至 2026-12-24 (第16周周四) @ 东九楼A407

授课教师

基本信息

背景知识

if not 学习过"缺失的一课",至少第6讲:
    if not 独立维护过Github或Gitee等开放Git仓库:
        随我进行课堂练习

计算机教育中缺失的一课,官网,B站

与本次课程相关的基础训练

  • 1/13: 课程概览与 shell
  • 1/14: Shell 工具和脚本
  • 1/22: 版本控制(Git)

学习内容(1~5章)

授课章节 主要内容概要 周二(7-8) 周五(3-4)
0 关于这门课 课堂基本信息 09-29
1 概论 基础知识 10-01
2 基本元素 字符、标识、数据类型、常量与变量 10-06
运算符和表达式、位运算、类型转换 10-08
3 格式化输入与输出 字符输入输出、格式化输入输出 10-13 10-15
4 流程控制 条件、循环、转移、实例 10-20 10-22
5 函数 模块化、自定义函数、参数类型 10-27 10-29
递归、多文件程序 11-03 11-05

学习内容(6~10章)

授课章节 主要内容概要 周二(7-8) 周五(3-4)
6 编译预处理 宏定义、文件包含、条件编译 11-10
7 数组 一维/二维数组、字符数组 11-12
排序与查找算法 11-17
8 指针 指针概念、指针与数组/字符串 11-19
指针数组、函数指针 11-24 11-26
9 结构与联合 结构体、联合体 12-01 12-03
结构数组、单链表操作 12-08 12-10
10 文件 文件操作、顺序/随机读写、文件状态检测 12-15 12-17

实验课:11-26、12-03、12-10、12-24,(周五9-12节),工程实践创新中心A座

AI 时代,为什么这门课还要手写 C?

本课程定位为第一门编程课:目标不是"熟悉一门语言",而是建立编程判断力。

  • 基础不减:手写 C(尤其指针、内存、调试)是训练"不可外包的底层判断力"的场地。AI 生成的代码一旦出错(段错误、野指针),你能不能打开黑盒、解释机理、定位问题?
  • 能力保护区:下列练习必须关闭 AI、独立完成——指针 / 数组边界、内存分配与释放、调试排错、手写排序与链表。
  • AI 是"书童式助教",不是"智能秘书":可答疑、给提示、检查错误;但任务所有权、判断权、最终责任仍归你。
  • 验证本能:写完代码先问"它真的对吗?"——构造反例、设计测试、用 assert 设栅栏(第 6 章),这是 AI 时代不可退让的底线。

观点来源:CCCF 2026 年第 9 期《当 AI 开始批量生产代码,高校究竟该培养什么?》(FCES 2026 专题论坛综述)