C程序设计案例教程(基础)(自主模式)

自主模式

  • 什么是随堂模式?

    随堂模式课程一般为每学期一轮次,课程每周更新,作业、考试有截止时间,由课程提供方老师、助教指导,课程完结,成绩由老师确认后,统一发放证书。

  • 什么是自主模式?

    自主模式课程常年开放加入,课件全部开放,作业、考试无截止时间,有学堂在线招募选拔的助教指导,考核通过即可自动获得证书。

国家级精品

来自于: 中国农业大学 | 分类: 计算机(504)

课程描述

C语言曾开发出UNIX操作系统等经典系统。随着物联网、智能终端等技术的发展,也用于开发应用程序,因其还具有硬件底层执行能力,并且易于使用,能够持久丰富和发展。

什么是认证证书?
免费学习
认证学习
名师签名
实名认证
权威性
纸质证书
付费购买
免费赠送

课程简介

C语言曾开发出UNIX操作系统等经典复杂系统。随着物联网、智能终端等技术发展,也用于开发更多应用程序,还具硬件底层执行能力,且易于使用,因此能持久丰富和发展,成为学习掌握各种编程技术的重要基础。

《C程序设计案例教程》分为基础篇和进阶篇,本课为基础篇,主要结合MOOC教学特点,优化提炼基础部分知识点,通过案例应用来解析相关的知识要点,学习掌握程序算法实现,及相关的语义语法基本规范等相关技术及实验方法。

本课程主要内容包括计算机程序设计算法与实现、C语言程序设计组成结构、编译运行、各种数据存储类型及相关运算、各类程序流程控制命令与控制结构、数组的创建定义与使用、函数定义与变量的作用、编译预处理与宏定义的使用方法等基础知识内容。

本课程学习规划,可按章节自主选择知识点相关内容和学习方式。如各知识要点的授课视频,案例分析视频、编程实验视频、习题分析视频等。每小节均有小节讨论及知识要点综述和相关练习,每章都有单元测试,或自测练习及习题分析解答等。在学习过程中可根据内容自主选择问题讨论、编程练习、自测练习等,以强化知识要点基础训练与计算思维技术方法。本课程提倡跟随案例动手实践,积极参加各种主题讨论等线上线下多种形式学习模式。

C程序设计学习特点:

C语言是现代编程的基础。ANSI标准定义的命令关键字只有32个,运算符34个,程序控制语句也只有9种,这些在学习中都不难理解,也比较易于掌握。

对初学者来说,每当遇到实验或编程分析以解决实际问题时,总体会感觉上“难”掌握。特别是非计算机专业同学,这种现象比较普遍。

要越过心理“难点”这道坎儿,运用计算思维方法养成习惯是关键。通过案例分析和引导,勤动手多实践,训练掌握如何自如地表达实际问题求解过程与程序算法,才能有效编写组织程序,实现相关运算逻辑的计算结果。

计算机程序设计中,掌握知识要点的计算思维方法是核心,通过实验验证则是有效掌握程序算法实现的关键。这是一个实践应用熟练过程。

MOOC学习优势:

MOOC学习是一种基于丰富多样化学习资源,并拥有多种学习选择模式的自主式构建知识点结构体系的学习环境。也特别适合计算机程序设计类课程的基础型学习和创新创意编程的学习,尤其是清华学堂在线。在这里,我们不仅可以随时随地自主选择分享主讲老师精心准备的各种上线资源,同时还可共享国内外名校的精品资源。在学习过程中,可参与各种学习讨论,线上线下分享动手实践和体验。在这里,我们可随时分享自己想得到和想不到的各种问题,或许可以得到来自全球名校各位高手点拨,分享各种创意学习思维方式,分享知识热点讨论和求解思路方法等。

在分享每个知识点的学习体验,提高自主学习效率和学习质量的同时,不断获得学习实践的成就感,哪怕是一点点,积少成多,积点滴则汇成江海河流,就从最简单的案例开始。

展开

课程章节

第0章 课前认知与体验
0.1 C程序设计编程基本结构与实验方法
0.2 本章知识要点自测练习
第1章 计算机程序设计算法实现
1.1 程序设计概述(1.1.1 程序设计语言、1.1.2 程序设计过程)
1.2 程序设计算法与实现(程序设计算法与实现、例1.1案例实验与分析)
1.3 计算机程序算法的表示(1.3.1 自然语言描述、1.3.2 程序流程图描述、1.3.3 N-S图描述、1.3.4 程序设计语言描述)
1.4 程序算法实现案例分析
第1章 自测练习与单元测试
第2章 C程序设计结构组成与编译运行
2.1 C语言程序设计概述(2.1.1 C语言程序设计的发展、2.1.2 C程序设计特点、2.1.3 C程序设计组成结构)
2.2 C程序设计的编译与运行(2.2.1 编辑调试与编译运行步骤、2.2.2 常用编译运行环境)
2.3 C语言程序设计语义规范(2.3.1 C语言程序的基本规范、例2-3案例实验与分析、2.3.2 C语言程序设计标识符、2.3.3 C语言的保留关键字)
第2章 自测练习与单元测试
第3章 数据存储类型与相关运算
3.1 数据存储方式(3.1.1数据存储与数制转换 3.1.2数据存储类型与定义 3.1.3存储地址与占用空间 3.1.4数据常量分类 3.1.5程序变量定义)
3.2 数据存储方式应用(3.2.1数据存储的正负数问题 3.2.2数据变量取值范围 3.2.3实型数据存储方式 3.2.4字符型数据存储方式 3.2.5各种存储类型的混合运算)
3.3 运算符与运算表达式(3.3.1 运算符优先级与数据类型转换 3.3.2 算术运算符与算术运算表达式 3.3.3 赋值运算符与赋值运算表达式(上) 3.3.3 赋值运算符与赋值运算表达式(下) 3.3.4 逗号运算符与逗号运算表达式 3.3.5 关系运算符与关系运算表达式 3.3.6 逻辑运算符与逻辑运算表达式(上) 3.3.6 逻辑运算符与逻辑运算表达式(下) 3.3.7 条件运算符与条件运算表达式)
第3章自测练习与单元测试
第3章单元测试
第4章 顺序结构程序设计
4.1 C程序设计流程控制(4.1.1程序基本流程控制、4.1.2顺序结构流程控制)
4.2 基本顺序结构命令语句(4.2.1 基本顺序命令、4.2.2表达式语句)
4.3 常用基本输入输出函数(4.3.1字符类型输入函数、4.3.2字符类型输出函数、4.3.3.1格式化输出函数的数据格式控制和使用、4.3.3.2格式化输入函数的数据格式控制和使用)
第4章 自测练习与单元测试
第5章 条件分支选择结构程序设计
5.1 条件分支选择结构(5.1.1简单if分支选择结构、5.1.2 if-else分支选择结构、5.1.3嵌套的if-else选择结构、5.1.4 else-if多路分支选择结构算法分析和应用)
5.2 switch~case条件选择开关语句(5.2.1switch-case条件选择结构、5.2.2 switch-case条件选择语句及break命令使用方法和特点)
5.3 条件选择综合案例分析
5.4 算法分析-排序算法基础
第5章 自测练习与单元测试
第6章 循环控制结构程序设计
6.1 循环控制结构(6.1.1 循环控制结构组成要素、6.1.2 while()~循环控制结构、6.1.3 do~while()循环控制结构、6.1.4 for()循环控制结构、)
6.2 循环控制结构的嵌套
6.3 循环控制结构的辅助控制命令(6.3.1 无条件转移命令goto语句、6.3.2 终止循环执行命令break语句、6.3.3 返回循环条件命令continue语句)
6.4 几种循环控制结构的比较
6.5 循环控制结构综合案例分析
6.6 算法分析-迭代算法设计与实现
6.7 算法分析-枚举算法设计与实现
第6章 自测练习与单元测试
第7章 数组定义及应用
7.1 数组的性质
7.2 一维数组的定义与引用(7.2.1一维数组的定义、7.2.2一维数组元素的引用、7.2.3一维数组的初始化、7.2.4一维数组应用案例)
7.3 多维数组定义与应用(7.3.1二维数组的定义与引用、7.3.2二维数组程序算法案例、7.3.3 三维数组的定义与应用、7.3.4多维数组的应用)
7.4 字符数组与字符串操作(7.4.1字符数组的定义与初始化、7.4.2字符串的处理及应用、7.4.3常用的字符串处理函数(puts()函数、gets()函数、strcat()函数、strcmp()字符串比较函数、strcpy()函数、strlen ()函数、strlw()函数、strupr()函等 )、7.4.4 字符数组应用案例)
7.5 算法分析-字符串排序算法设计与实现
第7章 自测练习与单元测试
第7章 单元测试
第8章 函数与变量(上)——函数与调用
8.1 C语言函数分类与应用(8.1.1 C语言函数分类、8.1.2 系统标准库函数、8.1.3 自定义函数)
8.2 自定义函数与函数类型
8.3 自定义函数参数与参数传递(8.3.1形式参数和实际参数、8.3.2数组作为函数参数)
8.4 自定义函数的调用
8.5 函数的嵌套调用
8.6 函数的递归调用
8.6.2 算法分析——递归算法的设计与实现
第8章 函数与变量(下)——变量及函数的操作范围
8.7 函数变量的存储与作用域(8.7.1局部变量、8.7.2 全局变量)
8.8 动态存储变量和静态存储变量(8.8.1 程序变量的存储类型、8.8.2 auto型动态存储变量、 8.8.3 extern全程变量、8.8.4 static静态局部与静态全局变量、 8.8.5 register型寄存器变量)
8.9 全局函数和局部函数(8.9.1 static局部函数、8.9.2 extern全局函数)
8.10 函数与变量综合案例分析
8.11 算法分析-外部函数的设计与实现
8.12 实验分析-外部函数的设计与实现
第8章 自测练习与单元测试
第9章 编译预处理
9.1 编译预处理命令
9.2 宏定义与宏代换(9.2.1 不带参数的宏定义 、9.2.2带参数的宏定义 、9.2.3宏定义作用域的终止 )
9.3 文件包含处理
9.4 条件编译
第9章 自测练习与单元测试
2016结课测试(自主模式)
2016结课测试(自主模式)

授课教师

  • 张莉 中国农业大学 信息与电气工程学院计算机系 教授

    张莉,中国农业大学教授,硕士生导师,教育部宝钢教育优秀教师。研究方向主要有信息系统建模、机器学习、数据库原理、智慧教育环境及农业信息化服务等教学科研。 主持完成主要有国家精品在线开放课程1门、教育部“十一五”国家级规划教材1套,北京市精品教材2部,北京市高等教育教学成果奖1项、校级教学成果奖5项,校级精品教材2部、农业部中华农业教育优秀教材1部等。 相关兼职主要有CCF(中国计算机学会)教育工作委员会委员、ACM SIGCSE China (美国计算机协会计算科学教育专业中国委员会)委员、CCF教育专业委员会委员、全国高等院校计算机教育研究会常务理事、全国高等院校计算机基础教育研究会理事、北京市高教学会计算机教育研究会常务理事等。

精华笔记

精华笔记正在评选中,去看看全部笔记

常见问题

1.本课程主讲教材是什么?

《C程序设计案例教程》(第2版),张莉,清华大学出版社,书号:ISBN 978-7-302-40036-3

2.本课程应该使用那种C/C++集成开发环境?

可使用MS Visual Studio C/C++开发环境、C-Free C/C++开发工具、Dev-C++C/C++开发工具等,各种C/C++集成开发工具都可以,都不会影响本课程编程学习和实验效果。