hi,小慕
课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
高级语言程序设计
第21次开课
开课时间: 2025年02月24日 ~ 2025年05月30日
学时安排: 2-5小时每周
进行至第6周,共14周 已有 154 人参加
认证学习
认证成绩和证书
智能问答和解析
视频学习辅助
立即参加
课程详情
课程评价(1059)
spContent=本课程面向无编程基础,并致力于编程的学生,使其掌握结构化程序设计的基本概念、思想和方法,并培养其计算思维能力。通过本课程学习,学生能够掌握程序设计语言的基本语法、结构化程序设计的思想和方法,养成良好的编程风格;最终能在这些方法和思想的指导下,使用C语言写出解决实际问题的程序。
本课程面向无编程基础,并致力于编程的学生,使其掌握结构化程序设计的基本概念、思想和方法,并培养其计算思维能力。通过本课程学习,学生能够掌握程序设计语言的基本语法、结构化程序设计的思想和方法,养成良好的编程风格;最终能在这些方法和思想的指导下,使用C语言写出解决实际问题的程序。
—— 课程团队
课程概述

‍‍荷兰著名计算机学家Edsger W. Dijkstra曾说过,“我们所使用的工具深刻地影响着我们的思维方式和思维习惯,进而也将深刻地影响着我们的思维能力”。 计算机技术的普及已经深刻影响了现代人类生活的各个方面。“计算思维”就如同读、写、算能力一样,是所有人必须具备的思维能力。


计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。编程能力即是这种思维能力的一种体现。


本课程目标是通过对C语言的学习和使用,使您掌握结构化程序设计语言的基本概念、思想和方法,从而获得初步的程序设计能力(能够编写小规模程序解决实际问题),逐步养成并具备一定的计算思维能力。


课程以实际应用为背景,以“案例驱动”不断引入相关知识点,随着案例不断深入,将程序设计各相关知识点展现在读者面前,形成一条完整知识链条。因案例都是常见实际应用或初等数学问题,和生活密切相关,所以您大可不必担心学不会。


课程注重计算思维训练,即对实际问题求解过程、逻辑过程的抽象、理解和应用;因此大量使用PAD(Problem Analysis Diagram)描述程序逻辑结构,而非直接使用代码讲解;目的是帮助您不受编程语言限制,理解抽象过程;最终达到举一反三,融会贯通,掌握结构化程序设计的思想和方法,形成初步的编程和计算思维能力。


为什么选C语言作为载体语言?C语言作为当代最优秀的程序设计语言之一,它的优点远远超过了它的缺点。经验表明,程序设计人员一旦学会使用C语言之后,就会对它爱不释手;而且很多语言都是在它基础上发展起来的;所以C语言当之无愧地成为思想交流的首选载体语言。

       

时间安排:我们将用12周时间来学习具体的C语言语法、结构化程序设计基本概念、思想和方法(观看视频、随堂测验、参与讨论等进行学习),客观题周测用来检验您对基本概念的掌握情况,主观编程题周测用来训练您的编程和计算思维能力。期末主讲教师会用1周左右的时间,通过公告在网上带领大家进行知识梳理回顾,帮助您对所学知识进行整理、归纳形成一个完整的知识体系。最后1周则是期末考试(包含客观和主观编程题),检验总体学习情况。

  

授课目标

本课程目标是通过对C语言的学习和使用,使您掌握结构化程序设计的基本概念、思想和方法,经过编程实践,获得初步的程序设计能力(能够编写小规模程序解决实际问题),逐步养成并具备一定的计算思维能力。

课程大纲

第一讲:绪论与程序初步

1.1 鸡兔同笼——计算

1.2 算法

1.3 程序

2.1 求绿化带宽度

2.2 基本符号

第一讲:绪论与程序初步--客观题

第一讲:绪论与程序初步--编程题

第二讲:顺序程序设计

2.3 数据

2.4 语句

2.5 表达式

2.6 顺序控制结构

2.7 数据类型

2.8 输入输出

第二讲:顺序程序设计--客观题

第二讲:顺序程序设计--编程题

第三讲:分支和循环初步

3.1 判断成绩是否及格——双分支程序设计

3.2 成绩加上获奖信息——单分支程序设计

3.3 逻辑判断——布尔类型

3.4 获奖分等级——多分支程序设计

4.1 计算平均成绩——循环程序设计

第三讲:分支和循环初步--客观题

第三讲:分支和循环初步--编程题

第四讲:循环进阶

4.2 计算全班每人平均成绩——多重循环

4.3 程序设计实例

第四讲:循环进阶--客观题

第四讲:循环进阶--编程题

第四讲:循环进阶--编程题--拓展篇(不计入成绩)

第四讲:循环进阶--编程题--反弹距离(修正)(不计入成绩)

第五讲:函数和数组初步

5.1 求给定三角形重心

5.2 函数

6.1 成绩统计——数组类型

6.2 统计多科成绩——多维数组

6.3 程序设计实例

第五讲:函数和数组初步--客观题

第五讲:函数和数组初步--编程题

第六讲:数组应用

6.4 线性表——分类与检索

6.5 带学号的成绩排序——数组初值

6.6 表示姓名——字符串

第六讲:数组应用--客观题

第六讲:数组应用--编程题

第六讲:数组应用--编程题--拓展篇(不计入成绩)

第七讲:数组进阶与指针初步

6.7 类型定义

6.8 线性表——栈和队列

7.1 指针与变量

第七讲:数组进阶与指针初步--客观题

第七讲:数组进阶与指针初步--编程题

第八讲:指针应用与结构体

7.2 指针操作

7.3 指针与数组

7.4 指针与字符串

8.1 成绩单管理

8.2 保存成绩单——结构体

8.3 程序设计实例

第八讲:指针应用与结构体--客观题

第八讲:指针应用与结构体--编程题

第八讲:指针应用 & 结构体--编程题--拓展篇(不计入成绩)

第九讲:函数进阶与递归程序设计

9.1 参数

9.2 函数值

10.1 递归程序设计

10.2 程序设计实例

第九讲:函数进阶与递归程序设计--客观题

第九讲:函数进阶与递归程序设计--编程题

第九讲:函数进阶与递归程序设计--编程题--拓展篇(不计入成绩)

第九讲:函数进阶与递归程序设计--编程题--递归求解最大字符串(修正)(不计入成绩)

第十讲:文件

11.1 户籍管理

11.2 文件概述

11.3 文件打开关闭

11.4 文件IO操作

第十讲:外部数据组织--文件--客观题

第十一讲:程序开发与动态变量

12.1 自顶向下逐步求精

12.2 结构化程序设计原则

12.3 程序风格

13.1 保存实数序列——动态数据结构

13.2 动态变量

第十一讲:程序开发与动态变量--客观题

第十一讲:程序开发与动态变量--编程题

第十二讲:动态变量应用——链表

13.3 链表

13.4 程序设计实例

第十二讲:动态变量应用--客观题

第十二讲:动态变量应用--编程题

展开全部
预备知识

零起点课程,具有初中水平的数学和英语知识即可学习。

参考资料

1. 新形态教材:《程序设计基础》(第三版)陈娟、张长海,2019年8月 北京 高等教育出版社

京东  本教材提供了相应内容的电子教案、例题代码、部分作业参考答案,以及重点内容的视频;可以扫描书上的二维码获得,或者访问https://abook.hep.com.cn/1860420 使用书后粘贴的用户名和密码登录访问。

2. 习题集:《程序设计基础习题集》张长海、陈娟、兰书梅,2008年7月 北京 清华大学出版社 当当网 。本书为大家提供了更多题目,由浅入深训练编程能力。

3. C语言规范:《C语言参考手册(原书第5版)》(美)Samuel P. Harbison III / Guy L. Steele Jr.  邱仲潘 等译  2003年8月 机械工业出版社。此书先后有多个译本,都能在网上搜到。如果您想更加深入了解C语言的特性,此书可以为你提供更多的帮助。  

显示全部
常见问题
  • Q1: 如何学好该课程?
  • A1: “程序设计”是实践性极强的课程,想要学好就必须上机实践。对于零基础的同学可以分成如下3步:
  • (1) 线上学习。通过线上视频和相关资料学习,记忆并理解课程知识点、体会例题代码编写思路、读懂并记下例题代码。请注意这里不是死记硬背,而是理解记忆,举个例子比如某个判断是"a大于等于b",您需要明白为什么要判断"a大于等于b",在您临摹代码时您很可能会将此判断写成"a不小于b",同样合理。
  • (2) 临摹代码。线上学习后,线下需要自己动手在开发环境中临摹例题代码,即将您记忆的代码录入到开发环境、运行调试。这期间代码可能会正常执行;但更多时候会会出现各种各样错误,此时就需要和例题代码比较找不同,分析造成不同的原因和由此带来的后果,反复修正代码;达到强化学习的目的。
  • (3) 自主编程。在您将所有例题代码弄懂调通后。此时完成作业,将想法写成代码并运行调试,使其通过所有测试点,训练自己编程解决实际问题的能力。通常一道题有用多种解法(代码),不妨试着分析比较不同方法间的差别或优劣,这对提高编程能力有很大帮助。

  •       “三个臭皮匠能顶一个诸葛亮”说明了群体学习的重要性。作为初学者,难免会遇到问题,除了问老师;我们鼓励各位同学,组成虚拟学习小组进行交流:如在平台论坛中分享你的学习经验、回帖讨论问题等。

  •       如果您还有参加ACM程序设计大赛的计划,则可以去网上各类ACM在线评测系统刷题,得到进一步的提高。有关ACM程序设计大赛的内容,请查看百度百科。


  • Q2:  使用什么样的C语言开发环境?
  • A2:  Code::Blocks和VC6.0 是本课程所涉及的两种开发环境。当然还有其他开发环境可以免费获得,完全由您自己决定。
  • (1)VS community 微软免费环境:
  • https://visualstudio.microsoft.com/zh-hans/vs/community/、
  • (2)Codeblocks 开源跨平台多语言开发环境:
  • https://www.codeblocks.org/downloads/26
  • (3)DEVC++ :
  • https://bloodshed-dev-c.en.softonic.com/



  • Q3:  如何在win10下安装VC++6.0?
  • A3:VC++6.0是非常经典的C/C++语言开发环境,小巧精炼、功能强大;但由于windwos操作系统在XP后对其兼容性变差,导致win10下运行VC常出现错误。具体解决方法可以参照"百度经验"
  • https://jingyan.baidu.com/article/da1091fb6e5cba027849d6be.html 。



  • Q4:学习中有了问题怎么办?
  • A4:(1)在课程论坛里问老师和同学。(2)问百度(https://www.baidu.com )关键字搜索。(3)试着去CSDN论坛(https://bbs.csdn.net/ )看看技术大佬们怎么回答。
吉林大学
1 位授课老师
张长海

张长海

教授/博士生导师

推荐课程

【DeepSeek适用】小白玩转AI大模型应用开发

林粒粒

195人参加

小白玩转 Python 数据分析

林粒粒

75人参加
下载
下载

下载App