hi,小慕
课程

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

hi,小mooc
认证学习
计算机程序设计基础
第14次开课
开课时间: 2025年02月17日 ~ 2025年06月15日
学时安排: 3-5小时每周
进行至第11周,共17周 已有 549 人参加
认证学习
认证成绩和证书
智能问答和解析
视频学习辅助
立即参加
课程详情
课程评价(24)
spContent=在学习程序设计时,往往都有这样的困惑:课能听懂,书也能看懂,但一到自己编写程序时就不知从何下手了。本课程以C语言作为程序实现工具,围绕“如何编写程序”这条主线,从问题分析到算法设计,再到程序实现,讲清问题求解的基本思路和编写程序的过程,让大家学会利用计算机进行问题求解的思维方法。
在学习程序设计时,往往都有这样的困惑:课能听懂,书也能看懂,但一到自己编写程序时就不知从何下手了。本课程以C语言作为程序实现工具,围绕“如何编写程序”这条主线,从问题分析到算法设计,再到程序实现,讲清问题求解的基本思路和编写程序的过程,让大家学会利用计算机进行问题求解的思维方法。
—— 课程团队
课程概述

       在云计算、大数据、人工智能、物联网、移动计算等新一代信息技术背景下,程序设计成为人们必须掌握的一项基本技能。计算机程序设计基础也是高等学校非常重要的课程,其目的是介绍程序设计的基础知识,使学生掌握高级语言程序设计的基本思想、方法和技术,理解利用计算机解决实际问题的基本过程和思维规律,从而更好地培养学生的创新能力,为未来应用计算机进行科学研究与实际应用奠定坚实的基础。

       C语言是一种基础性的高级语言,它历久弥新,从其诞生至今,一直广受编程爱好者及专业开发人员的青睐。本课程以C语言作为程序实现工具,遵循以利用计算机进行问题求解的能力(计算思维能力)培养为切入点的教学思路,介绍程序设计的基础知识与基本方法。课程主要内容有程序设计概述、程序的数据描述、顺序结构、选择结构、循环结构、程序设计综合举例、函数与编译预处理、数组、指针、字符串处理、构造数据类型、文件操作等。

       本课程考虑到初学者的认知特点以及培养程序设计能力的教学要求,以实际问题的求解过程为向导,突出从问题到算法,再到程序的一种思维过程,强调计算机求解问题的思路引导与程序设计思维方式的训练,重点放在程序设计的思想与方法上。实例讲解采用自顶向下、逐步求精的方法,将要解决的问题分解为一个一个小问题,先逐个解决小的问题,再解决大的问题,从而避免陷入繁杂的细节,使程序设计过程有一个清晰明了的思路,突出“如何编写程序”的课程主线。

授课目标

通过本课程的学习,要求掌握C语言的基本特征与组成要素,进而能举一反三地学习和应用其他高级语言;掌握程序设计的基本方法,能设计问题的求解算法,并编写和调试程序,进而理解利用计算机进行问题求解的基本规律,为将来进一步进行应用计算机解决实际问题打下良好基础。

课程大纲
专题〇 课程导入
课时目标:了解学习程序设计的重要性、课程的目标和主要内容。
课程导入
专题1 程序设计概述
课时目标:掌握程序设计的概念与基本步骤、算法的概念与描述方法以及C程序的框架结构和上机运行方法。
1.1 程序设计的概念与步骤
1.2 算法及其描述
1.3 C程序的基本结构
1.4 C程序的运行
专题2 程序的数据描述
课时目标:掌握不同类型数据的表示方法、各种运算对象的表示方法及运算规则。
2.1 C语言的数据类型
2.2 常量的表示
2.3 变量的概念与定义
2.4 算术运算与表达式
2.5 逗号运算与位运算
专题3 顺序结构
课时目标:了解C的语句,掌握赋值运算、输入输出操作以及顺序结构程序设计方法。
3.1 C的语句
3.2 赋值运算与赋值语句
3.3 数据输入输出
3.4 顺序结构程序举例
专题4 选择结构
课时目标:掌握条件的描述方法、if语句和switch语句的用法以及选择结构程序设计方法。
4.1 条件的描述与条件运算
4.2 if选择结构
4.3 switch选择结构
4.4 选择结构程序举例
专题5 循环结构
课时目标:掌握while语句、do-while语句和for语句的用法以及循环结构程序设计方法。
5.1 while循环
5.2 do-while循环
5.3 for循环
5.4 循环辅助控制语句
5.5 循环的嵌套
5.6 循环结构程序举例
专题6 程序设计综合举例
课时目标:掌握迭代、穷举等程序设计思想以及程序调试的方法,会使用调试工具。
6.1 求π的近似值
6.2 求定积分的近似值
6.3 求一元方程的根
6.4 求勾股数
6.5 求梅森素数
6.6 程序调试
专题7 函数与编译预处理
课时目标:掌握函数的定义与调用方法、调用函数时的参数传递规则、变量的作用域与存储类别以及编译预处理命令。
7.1 函数的定义与调用
7.2 函数的参数传递
7.3 函数的递归调用
7.4 变量的作用域与存储类别
7.5 编译预处理命令
专题8 数组
课时目标:掌握数组的概念与使用方法、利用数组进行程序设计的方法。
8.1 数组的定义与基本操作
8.2 用数组作为函数的形参
8.3 一维数组应用举例
8.4 二维数组应用举例
专题9 指针
课时目标:掌握指针的概念以及指针在数组、函数和动态内存管理等方面的应用。
9.1 指针变量
9.2 指针与一维数组
9.3 指针与二维数组
9.4 指针与函数
9.5 指针与动态内存管理
专题10 字符串处理
课时目标:掌握字符串的表示与使用方法、输出输出、常用的字符串处理函数以及字符串的应用。
10.1 使用字符数组表示字符串
10.2 使用字符指针表示字符串
10.3 字符串的输入与输出
10.4 字符串处理常用函数
10.5 字符串应用举例
专题11 构造数据类型
课时目标:掌握结构体类型与结构体变量、结构体数组、指向结构体的指针,以及共用体和枚举的概念、定义和使用。
11.1 结构体类型与结构体变量
11.2 结构体数组
11.3 指向结构体的指针
11.4 共用体
11.5 枚举
拓展知识:链表的操作
专题12 文件操作
课时目标:掌握文件的基本概念、常用的文件操作方法以及文件的应用。
12.1 文件与文件类型指针
12.2 文件的打开与关闭
12.3 文件的顺序读写
12.4 文件的随机读写
12.5 文件应用举例
展开全部
预备知识

高等数学,大学计算机

参考资料

[1] 刘卫国.C程序设计(慕课版).中国水利水电出版社,2023.

[2] 刘卫国.C程序设计实践教程.中国水利水电出版社,2023.

常见问题

       Q1:本课程的适用对象有哪些?

       A1:本课程是涉及面最广的计算机公共课,适合作为第一门程序设计语言,适用于理工类各专业的在校学生学习。此外,本课程也适用于广大的程序设计爱好者学习参考。

       Q2:为什么选择C语言?与C++语言有何关系?

       A2:C语言从其诞生至今,一直广受编程爱好者及专业开发人员的青睐。它数据类型丰富,对计算机资源的操控能力强,程序执行效率高。无论是语言特性还是应用范围,C语言是最基础性的高级语言,学会了它再学其他的程序设计语言就很容易了。以C语言为基础,纵向可以继续学习数据结构与算法方向的相关知识,横向也可以为继续学习面向对象的C++或Java语言奠定基础。因此,C语言不失为计算机程序设计入门的合适语言。其实,C语言是C++语言的子集,C++语言对C语言的扩充主要体现在面向对象部分,因此,本课程内容可以理解为C++语言的非面向对象部分,相当于简化的C++语言。

       Q3:本课程使用什么集成开发环境?

       A3:现在基本上都是利用C++集成开发环境中来运行C语言程序,本课程也是利用C++的集成开发环境来介绍C语言。在教学过程中,使用Visual Studio(2010)和Dev-C++两种集成开发环境(课程中有详细的操作演示),但不妨碍大家使用别的开发环境(如Code::Blocks)或别的系统版本,因为在不同开发环境或版本中大部分的功能和基本的操作方法是一样的,当然也会有细微的差异,在实际使用时要注意区分。

       Q4:学习本课程需要哪些先导知识?

       A4:其实没有太多的要求,对于某些算法(如求定积分、矩阵计算)会涉及到一些数学概念,但都是基本的,通过课程讲解也能理解的;还有,课程中会用到十进制、二进制、十六进制等数制转换的知识,需要时可以看看“大学计算机”课程的相关内容,也可以直接在课程讨论区提问。

       Q5:本课程的教学内容是如何组织的?

       A5:学习程序设计涉及到程序设计方法和程序设计语言两方面的问题,本课程针对学习程序设计的重点和难点,围绕“如何编写程序”这个主线来组织教学内容,力争把从问题到算法,再到程序的变换过程讲清楚。不是罗列现成的程序,而是讲清楚程序是怎么来的,怎样才能得到程序。为了突出课程的主线,避免初学者陷入到繁琐的语法当中,课程内容不拘泥于语言的语法细节,而是把主要的语法知识教给大家,让大家在应用实践中掌握语言工具。课程中有大量的应用实例,采用自顶向下、逐步求精的设计思想,引导大家建立清晰明确的编程思路,提高程序设计能力,学会利用计算机解决问题的思维方式。

中南大学
4 位授课老师
刘卫国

刘卫国

教授

吕格莉

吕格莉

副教授

罗芳

罗芳

副教授

推荐课程

沟通心理学

裴秋宇

157780人参加

概率论与数理统计CAP

张帼奋

34569人参加

C语言程序设计

翁恺

892930人参加

高级语言程序设计(Python)

车万翔

129352人参加
下载
下载

下载App