C语言程序设计精髓

​学习程序设计是一件充满挑战、更充满乐趣的事情,然而学习之初,它之所以给你枯燥乏味的感觉,那是因为没有发掘出它的趣味来。本课程力图用最简明的语言、最典型的实例及最通俗的解释将这种趣味性挖掘出来,带给你全新的学习体验,和你一起欣赏C语言之美,领悟C语言之妙,体会学习C语言之无穷乐趣。

开设学校:哈尔滨工业大学;学科:计算机、

C语言程序设计精髓课程:前往报名学习

C语言程序设计精髓视频慕课课程简介:

​学习程序设计是一件充满挑战、更充满乐趣的事情,然而学习之初,它之所以给你枯燥乏味的感觉,那是因为没有发掘出它的趣味来。本课程力图用最简明的语言、最典型的实例及最通俗的解释将这种趣味性挖掘出来,带给你全新的学习体验,和你一起欣赏C语言之美,领悟C语言之妙,体会学习C语言之无穷乐趣。

前往报名学习

C语言程序设计精髓课程列表:

学习本课前你必须知道的那些事儿

-开篇

第一章 初识C语言从认识变量和常量开始

-第一节:为什么要学C语言

--1.1 为什么要学C语言

-第二节:如何定义一个变量

--1.2 如何定义一个变量

-第三节:变量的表数范围和存储形式

--1.3.1 变量占内存的字节数

--1.3.2 不同类型变量的表数范围和存储形式

--1.3.3 实际操作查看变量占内存字节数

--变量在内存中所占的字节数

-第四节:宏变量与const变量

--1.4 宏常量与const常量

--如何对变量进行命名?

--介绍一种CB以外的IDE

--浮点数与定点数

--格式控制字符串中出现的宏名,是否进行宏替换?

--你熟悉哪些编程语言?

--宏常量与const常量

-第一章测验

第二章 数字间的那些事儿,做点计算哈

-第一节:算术运算

--2.1 算数运算

--运算符的优先级和结合性

--求余运算

-第二节:赋值运算

--2.2.1 赋值运算

--2.2.2 变量的定义和赋值的实际操作

--在定义变量的时候对变量进行初始化

-第三节:增1和减1运算

--2.3 增1和减1运算

-第四节:自动类型转换

--2.4 算术表达中的自动类型转换

--不同类型数据的运算

-第五节:强制类型转换

--2.5 强制类型转换运算符

--强制类型转换

-第二章测试

第三章 从键盘中来,到键盘中,开始输入和输出啦

-第一节:数据的格式化屏幕输出

--3.1 数据的格式化键盘输出

--格式字符

-第二节:数据的格式化键盘输出

--3.2 数据的格式化键盘输入

--scanf()函数的深入讨论

-第三节:单个字符的输入输出

--3.3 单个字符的输入输出

--单个字符的输入输出

-第四节:进阶:用getchar()输入数据存在的问题(含错误案例分析)

--3.4 进阶:用getchar()输入数据存在的问题

-第五节:用%c输入数据存在的问题(含错误案例分析)

--3.5 进阶:用%c输入数据存在的问题

--%c格式转换说明

-第三章测验

第四章 无处不在的抉择

-第一节:关系运算符和逻辑运算符

--4.1 关系运算符和逻辑运算符

--判断ch是英文字母(大写或者小写)

-第二节:条件语句

--4.2 条件语句与条件运算符

--条件运算符

-第三节:开关语句——条条道路通罗马

--4.3 从if-else到开关语句——错误实例分析

--多分支选择结构

-第四节:进阶:数值溢出和精度损失问题

--4.4.1 赋值中的数值溢出问题——进阶内容

--4.4.2 赋值中的数值精度损失问题——进阶内容

--赋值中的自动类型转换

--浮点数的表数精度

-第五节:进阶:软件测试与错误实例分析

--4.5程序测试

--程序测试

-第四章测验

第五章 周而复始的循环之道

-第一节:计数控制的循环

--5.1 计数控制的循环——for语句

--逗号运算符

-第二节:递推

--5.2.1 while和do-while语句

--5.2.2 递推法的程序实现

--5.2.3 正向顺推和反向逆推——流程图版

-第三节:条件控制的循环

--5.3 条件控制的循环-猜数游戏

--随机数的生成

--猜数游戏的深入讨论

-第四节:嵌套循环

--5.4 嵌套循环

--嵌套循环

-第五节:穷举

--5.5.1 穷举——程序实现版

--5.5.2 穷举——流程图版

--流程的转移控制

-第六节:进阶:软件调试与错误实例分析

--5.6 程序调试

--程序调试

-第五章测验

第六章 函数:分工与合作的艺术

-第一节:函数定义、调用、参数传递和函数原型

--6.1.1 函数定义、调用和参数传递

--6.1.2 函数原型

--函数的参数和返回值

--函数原型

--分而治之和信息隐藏

-第二节:函数封装与程序的健壮性

--6.2 函数封装与程序的健壮性

--函数封装与程序的健壮性

-第三节:进阶:断言与防御式编程

--6.3 断言与防御性程序设计

--断言

--断言的使用场合

-第四节:进阶:代码风格

--6.4 代码风格

--函数名的命名

-第六章测验

第七章 《盗梦空间》的逻辑:探寻递归的奥秘

-第一节:从嵌套调用到递归调用

--7.1.1 函数的嵌套调用和递归调用——概念和实例

--7.1.2 Hanoi塔问题的递归求解

--函数的嵌套调用和递归调用

--递归的数学基础

-第二节:递归是如何执行的

--7.2 递归函数和函数调用栈

--递归算法的执行过程

--Fibonacci数列

-第三节:进阶:尾递归是什么鬼?

--7.3 一种特殊的递归方法——尾递归

--尾递归

-第四节:变量的作用域

--7.4.1 变量的作用域——概念和实例

--7.4.2 变量的作用域——全局变量的利与弊

--变量的作用域

--全局变量的副作用

-第五节:进阶:变量的生存期

--7.5.1 变量的存储类型——基本概念

--7.5.2 自动变量和静态局部变量的实例分析

--7.5.3 变量的作用域与存储类型的小结

--变量的存储类型与变量的作用域

-第六节:进阶: 多文件结构

--7.6 多文件结构

-第七章测验

第八章 一堆数据来了,你准备好了吗?

-第一节:数组的定义和初始化

--8.1.1 数组的定义和初始化

--8.1.2 数组下标越界访问实例分析

--数组的定义和初始化

--数组的赋值

-第二节:向函数传递一堆相同类型的数据

--8.2 向函数传递一维数组和二维数组

--数组做函数参数

-第三节:查找算法——众里寻他千百度

--8.3.1 计算最大值

--8.3.2 线性查找与二分查找

--计算最大值

--线性查找与二分查找

--二分查找算法的基本思想

-第四节:排序算法——让世界变得更有序

--8.4.1 冒泡排序

--8.4.2 交换排序

-第八章测验

第九章 指针:C语言世界中所向披靡的“金箍棒”

-第一节:指针变量的定义、初始化及其解引用

--9.1 指针变量的定义、初始化及其解引用

--指针的概念

--最具创意的混乱代码

-第二节:指针变量作函数参数

--9.2.1 指针变量作函数参数——参数传递方式

--9.2.2 指针变量作函数参数 - 典型实例

--9.2.3 指针变量作函数参数 - 错误案例分析

-第三节:进阶:函数指针及其应用

--9.3.1 函数指针的定义与引用

--9.3.2 函数指针的典型应用——通用的排序函数

--9.3.3 函数指针的典型应用——计算任意函数的定积分

--函数指针的定义和初始化

-第四节:进阶:数组的趣味应用

--9.4.1 筛法求素数

--9.4.2 文曲星猜数游戏

--9.4.3 进阶——螺旋矩阵

--筛法求素数

--随机生成一个各位相异的4位数

-第九章测验

第十章 字符串:C语言世界中的大力水手

-第一节:字符串的存储与表示

--10.1.1 字符串的输入和输出

--10.1.2 字符串的表示与存储

--字符串的表示与存储

-第二节:字符串处理操作

--10.2 字符串处理函数

--字符串处理函数

-第三节:向函数传递和从函数返回字符串

--10.3.1 向函数传递字符串

--10.3.2 从函数返回字符串

--向函数传递字符串

--从函数返回字符串

-第四节:进阶:缓冲区溢出与缓冲区溢出攻击

--10.4.1 缓冲区溢出与缓冲区溢出攻击

--10.4.2 缓冲区溢出错误案例分析

--打印杨辉三角形

-第十章测验

第十一章 指针的孪生兄弟

-第一节:指针的运算

--11.1 指针的算术运算

--指针的算术运算

-第二节:指针和一维数组间的关系

--11.2 指针和一维数组间的关系

--指针和一维数组

-第三节:指针和二维数组间的关系

--11.3 指针和二维数组间的关系

--元素在二维数组中相对于首地址的偏移量

--计算每个学生的课程总分和平均分

-第四节:进阶:指针数组及其应用

--11.4.1 指针数组及其应用 - 用指针数组表示多个字符串

--字符指针数组

--11.4.2 命令行参数

-第十一章测验

第十二章 海陆空齐上阵:又来了一堆数据

-第一节:结构体类型

--12.1 结构体类型的声明与结构体变量的定义

--关键字typedef

--结构体变量的定义

-第二节:结构体与数组的嵌套

--12.2 结构体数组

--结构体的嵌套

--结构体的嵌套

-第三节:结构体的相关计算和操作

--12.3.1 结构体所占内存的字节数

--12.3.2 对结构体的操作

--结构体类型所占内存的字节数

--对结构体的操作

-第四节:向函数传递一堆不同类型的数据

--12.4.1 对结构体的操作

--12.4.2 向函数传递构造体

--结构体变量的访问

--向函数传递结构体

-第五节:枚举类型和共用体类型有什么用

--12.5.1 枚举类型

--12.5.2 共用体类型

--枚举类型

--共用体类型

-第六节:进阶:典型应用实例——洗发牌模拟

--12.6 第六节:进阶:典型应用实例——洗发牌模拟

-第十二章测验

第十三章 原来内存也可以这么玩,我是指针我怕谁

-第一节:何为动态内存分配

--13.1.1 C程序的内存映像

--13.1.2动态内存分配函数

--13.1.3单向链表1

--13.1.3.单向链表2

--13.1.3.单向链表3

--13.1.3.单向链表4

--13.1.3.单向链表5

--13.1.3.单向链表6

-第二节:动态数组

--13.2.1 动态数组的特点及基本操作

--13.2.2 动态数组的创建

--13.2.3 动态数组的增长和释放

--关于realloc

-第三节:进阶:常见的内存错误及其解决对策

--13.3.1 常见的内存错误及其解决对策-1

--13.3.2 常见的内存错误及其解决对策-2(野指针)

--13.3.3 常见的内存错误及其解决对策-3(内存泄露)

--13.3.4 常见的内存问题及其解决对策-4

--13.3.5 错误案例分析

--指针和内存

-第十三章测验

第十四章 结构设计的艺术

-第一节:数据的链式存储——单向链表

--14.1.1 单向链表的基本概念

--14.1.2 单向链表-建立链表1

--14.1.3 单向链表-建立链表2

--14.1.4 单向链表-其他基本操作-查找

--14.1.5 单向链表-其他基本操作-插入

--14.1.6 单向链表-其他基本操作-删除

-第二节:进阶内容:其他数据结构简介

--14.2.1 队列

--14.2.2 树

--14.2.3 图

-第十四章作业

第十五章 学会保存你的数据

-第一节:二进制文件与文本文件

--15.1 二进制文件、文本文件和标准输入输出流

--stdin和stdout的区别

-第二节:文件的打开和关闭

--15.2 文件的打开和关闭

-第三节:格式化数据的文件读写

--15.3 格式化数据的文件读写

-第四节:字符和字符串的文件读写

--15.4.1 按字符读写文件

--15.4.2 fgetc(),fputc(),feof()的程序实例

--15.4.3 feof()函数在应用中存在的问题原因分析

--15.4.4 按行读写文件

--函数fgetc()和feof()

--fgets()与fputs()

-第五节:内存数据块的文件读写

--15.5 按数据块读写文件

-第六节:随机读写与文件缓冲

--15.6 文件的随机读写与文件缓冲

-第十五章测验

期末考试

-期末考试

C语言程序设计精髓开设学校:哈尔滨工业大学

C语言程序设计精髓授课教师:

苏小红-教授-哈尔滨工业大学-

苏小红,博士,教授,博士生导师,哈尔滨工业大学计算机科学与技术学院国家级实验教学示范中心副主任,航天软件工程研究中心和计算机语言基础教研室主任,校教学带头人,校级教学名师。国家精品开放课程“C语言程序设计”和省精品课程“计算机图形学”的负责人,在中国大学MOOC平台开设“程序设计基础”和“C语言程序设计精髓”两门MOOC课程,累计选课人数超过26万。校内主讲本科生课程“C语言程序设计”、研究生课程“计算机图形学”以及本科生创新研修课“自然景物模拟与分形艺术”。研究方向为:程序分析,软件错误定位,软件缺陷预测,克隆代码分析,无人机航迹规划,目标检测与跟踪等。主持完成国家自然科学基金、国防基础科研等项目多项,发表论文100余篇,已授权发明专利5项,获得软件著作权登记7项,主持研制开发的C语言编程题考试自动评分系统被国内众多院校使用,获黑龙江省科技进步二等奖1项,黑龙江省自然科学二等奖1项,哈尔滨市自然科学技术学术成果一等奖1项。在教学研究方面,获国家级教学成果二等奖1项、黑龙江省教学成果一等奖2项,二等奖2项,校级教学成果一等奖4项。主编教材9部,翻译外版教材2部,与国外大学教师合著教材2部,主审教材2部。2007年获宝钢优秀教师奖。2012年被评为黑龙江省师德先进个人。2014年被评为黑龙江省优秀教师。

赵玲玲-副教授-哈尔滨工业大学-

赵玲玲,博士,哈尔滨工业大学计算机科学与技术学院讲师,硕士生导师。国家精品开放课程“C语言程序设计”团队成员,中国大学MOOC平台开设的MOOC课程“程序设计基础”和“C语言程序设计精髓”的主讲教师之一。校内主讲计算机专业本科生课程“高级语言程序设计”。研究方向包括智能信息处理、目标跟踪。主持完成国家自然科学基金、高等院校博士点基金项目等多项科研项目,发表论文40余篇,已授权发明专利1项,软件著作权登记2项。

叶麟-副教授-哈尔滨工业大学-

叶麟,博士,哈尔滨工业大学计算机科学与技术学院讲师。中国大学MOOC平台开设的MOOC课程“程序设计基础”和“C语言程序设计精髓”的主讲教师之一。校内主讲计算机专业本科生课程“高级语言程序设计(Python)”和“C语言程序设计”。已发表论文10余篇。

也许你还感兴趣的课程:


  1. C语言程序设计精髓(2021秋)

  2. Discovery of China Railway(Round 1)

  3. 母婴护理(2021秋)

  4. 测控电路(2021秋)

  5. Management Consulting(Round 2)

  6. 现代西方哲学认知智慧(2021秋)

  7. Structural Geology(Round 2)

  8. 矩阵分析(下)(2021秋)

  9. A Crash Course in Principles of Microeconomics(Round 2)

  10. Innovation Theory Method & Ecological Civilization Practice(Round 2)

  11. 英语口语(2021秋)

  12. 一舞一世界——世界经典舞蹈赏析(2021秋)

  13. 史学名家的治史历程与方法(2021秋)

  14. 基因工程(2021秋)

  15. 无人机航拍技术(2021秋)

  16. 细胞生物学:细胞社会的奥秘(2021秋)

  17. 烹调工艺学(2021秋)

  18. 人体解剖学(2021秋)

  19. 神奇的普洱茶(2021秋)

  20. 医学伦理学(2021秋)
© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。
欢迎学习『C语言程序设计精髓视频教程-MOOC慕课-网络教育学院-柠檬大学』