C语言程序设计(上)
C语言程序设计(上)
50万+ 人选课
更新日期:2025/10/21
开课时间2025/09/15 - 2025/12/31
课程周期16 周
开课状态开课中
每周学时-
课程简介

我们一如既往还说C,因为它称霸于计算机语言,超乎我们的想象——尤其在人工智能浪潮席卷全球的今天。

若想深刻理解这个时代,就必须理解计算机编程!编程是实现一切计算任务的核心,它不仅改变着我们解决问题的方式,更重新塑造着人类的思维方式。在AI蓬勃发展的背景下,编程愈发成为连接人类与智能机器的关键桥梁。编程世界中每天都在发生激动人心的突破,让我们一步步接近过去只能想象的未来。

C语言作为面向过程程序设计的典范,在系统开发、嵌入式设计、高性能计算乃至AI底层架构中仍无可替代。它简洁而强大,是构建计算机科学根基的理想选择,因此也成为程序设计入门的基础课程。无论是计算机专业还是非计算机专业的学习者,在AI辅助编程日益普及的今天,掌握C语言更具有深远意义:对计算机类专业学生而言,程序设计是专业基础课,它是后续专业课程的基础;对于非计算机类专业,程序设计将会改变我们的思维,学会以“计算”的视角看待本领域问题,并能够借助AI工具更高效地开发、优化与跨领域创新。这门课程不仅传授C语言语法,更将你置于人机协同、AI增强的新编程范式之下——让我们在智能时代,既读懂过去,也编写未来。

本学期开始本课程注入全新的智能学习体验:我们融合知识图谱技术,系统梳理C语言核心知识与编程范式,帮助学习者构建清晰的知识脉络;引入AI助教,随时答疑解惑、提供个性化学习路径与实时反馈;更结合AI辅助编程,助力代码调试、优化与理解,让编程实践更加高效与深入。

为了循序渐进,我们将《C语言程序设计》这门课程分为上、下两部分完成。以数组为分割点,由《C语言程序设计(上)》和《C语言程序设计(下)》,前者8周,后者10周。采用分而治之,旨在由浅入深,坚固基础,追求完备。

我们的课堂将从零基础开始,为大家介绍“什么是程序设计?如何实现程序设计?”。本课程以计算思维为导向,以应用问题为牵引,以能力培养为目标,实施 “传授知识与思维训练相结合,编程语言与程序设计相结合,自主学习与平台引导相结合”的教学模式。

为了使大家对重点难点内容易于学习,对算法设计有直观理解,我们在课程里增设了虚拟实验栏目,大家注意每周的内容发布。也欢迎大家到北京理工科惠提供的虚拟实验工场平台去尝试更多的虚拟实验学习(https://www.vrsygc.com/index)。

温馨提示:

《C语言程序设计(上)》和《C语言程序设计(下)》是一个系统的课程,考虑学期时间限制和大家的时间安排才分为两个相对独立的部分。(上)完成的是程序设计的基础部分教学,可以独立学习。尤其对于初学程序设计的读者,可以先尝试学习,循序渐进。而《C语言程序设计(下)》则最好是在有了上的基础上进行学习,这样便于理解和有效跟进。我们安排先开放 (上),五周之后再开放(下),这样大家既可以系统学习,也可以按需选择。当然,对于有C语言基础的朋友,可以直接从(下)开始,或者通篇选择学习。

(上)、(下)按两门课程管理,成绩和证书都是分别计入。

欢迎大家在这里学习课程,分享快乐,贡献精彩!

课程大纲
第一周:从问题到C语言程序设计
1.1计算机的问题求解方法
1.2C语言与C程序
1.3C语言处理系统与程序调试运行
1.4程序中的人机交互
【用AI写程序】AI辅助C编程及伦理问题
【AI计算专栏】用C语言实现AI算法:挑战与实践
第二周:数据计算实现与顺序结构程序设计(一)
2.1算术运算的C程序实现
2.2关系运算的C程序实现
第二周作业
第三周:数据计算实现与顺序结构程序设计(二)
2.3逻辑运算的C程序实现
2.4位运算的C程序实现
2.5几种很个别的运算
2.6混合运算及数据类型转换
2.7顺序结构程序实例
【用AI写程序】:用AI生成一段C代码并读懂它
【AI计算专栏】:矩阵运算
第三周编程作业
第四周:选择结构的程序设计
3.1程序中的路径选择实现
3.2路径中的再选择——嵌套判断
3.3复杂判断问题的C程序设计
3.4多分支问题的C程序设计
3.5GOTO的适当使用
3.6选择结构的程序实例
【用AI写程序】:AI帮你调试C代码
【AI计算专栏】:一元线性回归
第四周作业
第四周编程作业
第五周:循环结构的程序设计(一)
4.1需要重复执行的程序
4.2至少要执行一次的循环
4.3已知循环次数用for语句
4.4循环控制——简单循环应用
第五周编程作业
第六周:循环结构的程序设计(二)
4.5循环的嵌套
4.6break与continue
4.7循环的综合应用
【虚拟实验】:循环程序设计实验
【用AI写程序】:AI帮你理解复杂算法
【AI计算专栏】:简单的神经网络
第六周编程作业
第六周作业
第七周:数组(一)
5.1同类有序数据处理问题
5.2一维数组的定义和引用
5.3一维字符串数组
5.4字符串处理函数
第七周编程作业
第七周作业
第八周:数组(二)
5.5二维数组的定义与使用
5.6二维数组的输入输出
5.7二维数组的应用‍
5.8二维字符数组
5.9数组综合应用
【虚拟实验】:冒泡排序算法程序设计实验-按考生成绩排序
【用AI写程序】:比较AI生成的不同算法
【AI计算专栏】:用C实现手写数字识别
本期课程结束语
第八周编程作业
期末考试复习题
期末考试复习题
期末考试复习题答案
期末考试复习题答案