高级语言程序设计
高级语言程序设计
4万+ 人选课
更新日期:2025/07/16
开课时间2025/03/03 - 2025/07/27
课程周期21 周
开课状态开课中
每周学时-
课程简介

本课程的教学目标是通过学习C语言,建立起程序设计的概念,掌握程序设计的基本方法和技巧,养成良好的程序设计风格,从而具备应用程序设计解决相关专业领域内实际问题的基本能力。本课程在系统介绍程序设计语言基本知识的基础上,注重程序设计思想及能力培养,并引入专业应用的实际问题和工程案例。 


现代计算机遵循了艾伦·麦席森·图灵(Alan Mathison Turing)提出的”图灵机"模型,延续冯·诺依曼(John von Neumann)提出的“存储程序式电子计算机“体系结构。计算机程序(包括指令和数据)在运行时,首先存储到内存中,然后在中央处理器控制下自动执行。在执行过程中,按需从键盘、鼠标等输入设备获取信息,并向显示器、打印机等输出设备输出结果。


既然计算机程序运行于“存储程序式电子计算机“中,因此我们有必要了解构成程序的指令和数据如何表示和存储,也就是说为了能够编写计算机程序,首先要学习一门程序设计语言。在众多程序设计语言中,C语言为构建Unix操作系统而设计,后来的Windows、MacOS、Linux、Android等操作系统,以及众多应用软件均使用C语言开发。时到今日,C语言依然保持强大生命力。 因此本门课程选择了C语言作为学习程序设计的基础。


计算机作为一种计算系统,其数值计算、非数值计算方法与数学、物理、化学、力学等等领域的方法不同,将专业领域的求解方法转换为计算机领域的算法,掌握典型问题的求解算法,是本门课程的重要任务。


本课程围绕如何运算、如何表达逻辑、如何处理集合数据、如何实现代码的分解与重用、如何实现基于内存地址的数据访问、如何表达复杂对象、如何实现数据永久存储、如何实现程序移植,系统介绍表达式运算、输入输出、顺序结构、选择结构、循环结构、数组、函数、指针、结构体、文件、预编译处理等内容。


按照课程计划,本课程安排15周的学习任务,每周发布2个学时理论学习任务。建议各位同学另行安排2个学时完成上机实践。

课程大纲
程序设计入门
在线学习:
1.1 课程概要
1.2 计算机基本原理
1.3 指令与程序
1.4 程序设计语言
1.5 问题求解与算法设计
1.6 C语言概述
上机实践:
1.1 在PC机上,安装Codeblock软件,熟悉基本操作
1.2 在手机上,安装C4driod(安卓平台)、C++(苹果平台),熟悉基本操作
1.3 编写简单程序
信息编码与基本运算
在线学习:
2.1 基本信息与编码
2.2 基本数据类型
2.3 常量
2.4 变量
2.5 基本运算与表达式
2.6 算术运算
2.7 关系运算
2.8 逻辑运算
2.9 位运算
2.10 赋值运算
2.11 其它运算-类型转换运算、条件运算和逗号运算

上机实践:
2.1 编写简单程序
2.2 教材例3-1~3-8
常用函数库与顺序结构
在线学习:
3.1 数学函数库
3.2 字符处理函数库
3.3 复数运算函数库
3.4 标准输入输出函数库-输入输出设备
3.5 标准输入输出函数库-字符输入和输出函数
3.6 标准输入输出函数库-格式输出函数
3.7 标准输入输出函数库-格式输入函数
3.8 程序控制结构概述
3.9 基本语句
上机实践:
3.1 实现教材例3-9~3-13
3.2 实现案例-电影评分计算
3.3 学有余力的同学,完成例3-15、例3-16
逻辑判断与选择结构
在线学习:
4.1 单分支结构-if语句
4.2 双分支结构-if...else
4.3 多分支结构-if...else if...
4.4 多分支结构-switch
4.5 案例-电影评分计算
上机实践:
4.1 编写简单程序
4.2 实现教材例4-1~4-9
4.3 实现案例-电影评分计算
迭代计算与循环结构
在线学习:
5.1 循环结构-while
5.2 循环结构-for
5.3 循环结构-do while
5.4 循环结构-break/continue
5.5 循环结构-嵌套
5.6 实现案例-电影评分计算
上机实践:
5.1 编写简单程序
5.2 实现教材例5-1~5-14
5.3 实现案例-电影评分计算
集合数据及其处理
在线学习:
6.1 数组概念
6.2 一维数组
6.3 二维数组
上机实践:
6.1 编写简单程序
6.2 实现教材例6-1~6-7
字符数据处理
在线学习:
7.1 字符数组
7.2 字符串
7.3 数组与数据存储
7.4 案例-电影评分计算
上机实践:
7.1 编写简单程序
7.2 实现教材例6-9~6-13
7.3 实现案例-电影评分计算
函数实现代码分解和重用
在线学习:
8.1 函数入门
8.2 函数定义
8.3 函数声明
8.4 参数传递
8.5 函数调用
上机实践:
8.1 编写简单程序
8.2 实现教材例7-4~7-10
递归及函数结构
在线学习:
9.1 递归调用
9.2 源程序结构
9.3 内部函数与外部函数
9.4 变量作用域-全局变量与局部变量
9.5 变量如何存储
9.6 案例-电影评分计算
上机实践:
9.1 编写简单程序
9.2 实现教材例7-10~7-14
9.3 实现案例-电影评分计算
内存地址及其指针
在线学习:
10.1 地址与指针
10.2 指针变量
10.3 指针运算
10.4 指针与一维数组
10.5 指针与二维数组
上机实践:
10.1实现教材例8-2~8-3
指针应用
在线学习:
11.1 指针与字符串
11.2 指针数组
11.3 数组指针
11.4 函数与指针
11.5 指向变量的地址-指向指针的指针
11.6 内存管理
11.7 实现案例-电影评分计算
上机实践:
11.1 编写简单程序
11.2 实现教材例8-4~8-16
11.3 实现案例-电影评分计算
复杂对象描述与结构体
在线学习:
12.1 为何引入结构体及其定义
12.2 结构体变量及其初始化
12.3 结构体数据运算
12.4 结构体数组
12.5 结构体指针
12.6 结构体与函数
12.5 共用体
12.6 枚举类型
12.7 类型重定义
上机实践:
12.1 编写简单程序
12.2 实现教材例9-2~9-7
链表及其处理
在线学习:
13.1 链表的定义
13.2 链表的操作
上机实践:
13.1 实现案例-电影评分计算
预编译处理
在线学习:
14.1 预编译处理概述与define
14.2 宏定义
14.3 文件包含与include
14.4 条件编译
上机实践:
14.1 实现教材例10-1~10-5
14.2 实现案例-电影评分计算
文件与数据永久存储
在线学习:
15.1 文件概述
15.2 文件定义
15.3 文件操作基础
15.4 文本文件读写
15.5 二进制文件读写
15.6 定位与随机读写
15.5 综合应用
上机实践:
15.1 编写简单程序
15.2 实现教材例11-8~11-10