本课基于迂者在CSDN学院建设的在线课程,为与本职工作相关的人群提供的限期免费课程。视频和课件在专用平台发布,本课程主页提供相关的实践资源。
第1个免费访问期限为2015年7月至2016年2月。2016年2月将向相关人员提供第2个期限的访问方法。
本课与CSDN学院商业版课程的区别在本文最后。
学习流程建议:1、看视频;2、(可选)看讲义;3、做自测;4、(可选)调试课堂示例;5、做程序阅读题;6、做实践项目;7、(强烈建议)在CSDN的博客公开你的实践成果。
祝学习顺利!敬请提出建议和要求。
1.1 人人学点程序设计 问卷
1.2 程序设计语言 自测
1.3 搭建C语言的运行平台
实践要求:按视频指导搭建编程环境并运行程序
1.4 C语言程序初体验 课堂示例
实践: 实践项目
实践参考:点阵图, 长方形的周长和面积, 电阻并联, 温度单位转换, 圆柱体表面积
1.5 分支结构程序体验 课堂示例
实践: 实践项目
实践参考:正差值, 三数最大值, 发工资
2.1 数值数据类型及表示 自测–>课堂示例
2.2 变量 自测–>修改与阅读程序
2.3 标识符及其命名 自测
2.4 算术运算符与算术表达式 自测–>课堂示例
实践:实践项目
实践参考:分离整数和小数部分, 分离各位数, 如何买玫瑰?, 玩数字, 坐标转换
资料: C语言中数学函数, C语言中的运算符
2.5 自增与自减 自测
2.6 数值型数据的存储 课堂示例–>阅读程序
2.7 指针及其运算 自测–>课堂示例–>程序阅读
2.8 数据的输入 自测–>课堂示例–>程序阅读
2.9 数据的输出 课堂示例–>程序阅读
2.10 赋值运算符与赋值表达式 自测–>课堂示例
2.11逗号运算符与逗号表达式 自测
2.12 字符数据及字符类型 自测–>课堂示例
实践:实践项目
实践参考:字母及其编码, 能对齐的数据
资料:C语言中转义字符
3.1 表达“条件”——条件表达式 自测
3.2 将条件“组合”起来——逻辑表达式 自测
3.3 控制结构与流程图
实践:设计
参考解答:单分支-大值, 双分支-大值, 分支嵌套-三等级成绩, 分支嵌套-五等级成绩, 综合-体重监测器
3.4 用if语句实现分支结构 自测–>课堂示例
实践:实践项目
实践参考:被3或者5整除的数,
乱玩数字, 两段函数求值, 三角公式求值, 我的加班费, 前导0的数字
3.5 if语句的嵌套 自测–>课堂示例–>阅读程序
实践:实践项目
实践参考:分段函数求值, 油量监控, 一元二次方程全解, 个人所得税计算器if语句版
3.6 用switch语句实现多分支结构 自测–>课堂示例–>阅读程序
3.7 利用switch语句解决问题 课堂示例
实践:实践项目
实践参考:投票表决器, 成绩等级, 分段函数求值switch语句版, 本月有几天?, 个人所得税计算器switch语句版, 定期存款利息计算器, 构造菜单
3.8 条件运算符和条件表达式 自测–>课堂示例
3.9 实用技能: 调试利器——程序的单步执行
自测–>实践
4.1 算法的基本概念 自测–>课堂示例
4.2 循环控制结构及流程图
实践:设计项目
参考解答:简单循环, 次数不定的循环, 循环的嵌套
4.3 循环思想启蒙:输出小星星 课堂示例
实践:程序阅读–>实践项目
参考解答:星星(3), 所有星星
4.4 三种循环语句 自测–>课堂示例
实践:程序阅读–>实践项目
参考解答:输出这样的整数, 多数中的最大, 求阶乘, 利用循环求和
4.5 用循环累加 课堂示例
实践:程序阅读–>实践项目
参考解答:分数的累加, 麻烦的累加涨功夫
4.6 问题求解方法——迭代 自测–> 课堂示例
实践:实践项目
参考解答:在北京买房, 贪财的富翁, Bessel函数, 反弹的皮球, 另类求和
4.7 用循环处理文字 自测–>课堂示例
实践:实践项目
参考解答:血型统计, 消除多余的空格, 转着圈加密, M$pszi$y是嘛意思?, 有多少符号
4.8 循环嵌套 自测–> 课堂示例
实践:实践项目
参考解答:大奖赛计分, 单位转换对照表, 乘法口诀表, 位乘大于位和
4.9 用break和continue改变流程 自测–>课堂示例
实践:程序阅读–>实践项目
参考解答:大奖赛计分(续一), 打豆豆
4.10 问题求解——求素数 课堂示例
实践:实践项目
参考解答:数字游戏, 完数, n=a!+b!+c!, 反序数, 阿姆斯特朗数, 回文数, 回文日
4.11 问题求解方法——穷举 课堂示例
实践:实践项目 参考解答:小明借书, 水仙花数, 鸡兔共笼, 换分币, 年龄几何, 三色球问题, 找数字, 谁是小偷, 污损的单据
4.12 C语言的程序结构与语句小结
4.13 将数据保存到文本文件 自测–>课堂示例
4.14 从文本文件中读入数据 课堂示例
实践:实践项目
实践参考:由键盘到文件, 文件中的符号个数, 成绩统计, 算工资|
5.1 模块化程序设计及C语言中的函数 课堂示例
5.2 体验自定义函数 自测–>课堂示例
5.3 函数的返回值 自测–>课堂示例
5.4 函数的参数 自测–>课堂示例
实践:程序阅读, 实践项目
实践参考:函数版星号图, 求解分段函数的值, 求最大公约数, 求阶乘函数, 当年第几天, 回文、素数, 太乐了
5.5 参数传递方式:传值与传地址 自测–>课堂示例 –>阅读程序
5.6 返回指针的函数 自测–>课堂示例
5.7 函数的声明、定义和调用 自测–>课堂示例
5.8 函数的嵌套调用 自测–>课堂示例
实践:程序阅读 –> 实践项目
实践参考:k次方之和, 歌手大奖赛计分函数版, 编制三角函数表, 让吃货失望的菜单
技能: 调试技术:进入函数内部去 自测–>课堂示例
实践:实践项目
实践参考:sin泰勒展式中的错误, 总是多一次?
5.9 全局变量和局部变量 自测–>课堂示例
5.10 变量的存储类别 自测–>课堂示例 –>程序阅读
5.11 C语言的库函数 自测
5.12 应用系统结构 课堂示例
5.13 一个程序,多个文件 自测–>课堂示例
5.14 静态函数与外部函数
5.15 外部全局变量和静态全局变量 自测–>课堂示例
实践:程序阅读 –>实践项目
6.1 数组的引入 自测–>课堂示例
6.2 一维数组的定义和引用 自测–>课堂示例
6.3 一维数组应用二三例 课堂示例
6.4 越界的后果 自测–>课堂示例
实践:程序阅读–>程序填空–>实践项目
实践参考:数组大折腾 , 成绩处理 ,当年第几天(数组方案), 一副扑克牌, 发奖金
6.5 经典:查找的艺术 课堂示例
6.6 首尝排序——冒个泡 课堂示例
实践:程序阅读–>实践项目
实践参考:有几个, 二分法解方程, 有序数组中插入数据, 工资的排序
6.7 指针法访问数组元素 自测–>课堂示例
6.8 指针的运算 自测–>课堂示例
6.9 数组名作为函数参数 自测–>课堂示例
6.10 指针作函数参数 自测
实践:程序阅读–>实践项目
实践参考:翻转数组, 成绩处理(函数版)
补充阅读:洗牌
6.11 实现线性表基本操作的函数 课堂示例
6.12 编写查找和排序函数 课堂示例
实践:实践项目
实践参考: 有序数组中插入数据(函数版), 删除数组元素, 数组的排序, 查成绩
6.13 动态存储管理与动态数组的实现 课堂示例
实践:实践项目
实践参考: 学生人数没个准, 动态数组排序, 为动态数组扩容
7.1 二维数组及其定义 自测
7.2 二维数组元素的引用 自测–>课堂示例
实践:程序阅读–>程序填空–>实践项目
实践参考: 折腾二维数组, 矩阵运算
7.3 二维数组的存储 自测
7.4 使用指针操作二维数组 自测–>课堂示例
7.5 多维数组作函数参数 课堂示例
实践:程序阅读–>实践项目
实践参考:二维数组当函数参数, 多科成绩单, 各种“棋盘”
8.1 字符串、字符数组、字符指针 自测–>课堂示例
8.2 实战字符串处理四例 自测–>课堂示例
8.3 字符和字符串处理函数 自测–>课堂示例
8.4 编制自己的字符串函数 自测–>课堂示例
实践:程序阅读–>程序填空–>实践项目
实践参考:M$pszi$y是嘛意思, 字符统计, 字符串复制, 字符串处理函数, 编程处理C源代码
8.5 操作字符串数组 自测–>课堂示例
实践:程序阅读–>实践项目
实践参考:带姓名的成绩单, 电子词典
8.6 main函数的参数 自测–>课堂示例
实践:实践项目
实践参考:用命令行运行程序, 带行号显示文件, 命令行加法器
(这章分类有些“凑”。都放在函数一章,函数的学习负担太重。分别设一章,有些太抬举了。将这两个也很有用的知识点,就这样单独提出来。)
9.1 认识递归 自测–>课堂示例
9.2 递归法问题求解 课堂示例
9.3 递归经典:汉诺塔 课堂示例
实践:程序阅读–>实践项目
实践参考: 参考解答
9.4 预处理之宏定义 自测–>课堂示例–>程序阅读
9.5 预处理之文件包含 自测–>课堂示例
9.6 预处理之条件编译 自测–>课堂示例–>程序阅读
10.1 体验结构体 自测–>课堂示例
10.2 结构体成员的引用 自测–>课堂示例
10.3 结构体数组及其应用 自测–>课堂示例
实践:实践项目
实践参考: 复数结构体, 学生成绩处理, 点结构体, 体重监测器, 个税计算器之码数分离, 日期结构体, 紧急救援
10.4 开发一个电子词典 课堂示例
10.5 指向结构体的指针 自测–>课堂示例
10.6 当结构体成员为指针 自测–>课堂示例
实践:实践项目
实践参考: 学生成绩统计, 玩转日期和时间, 区号查询
10.7 认识链表 自测–>课堂示例
10.8 链表中结点的插入和删除 自测–>课堂示例
10.9 链表应用 课堂示例
实践:程序阅读–>实践项目
实践参考: 链表的合并, 拆分链表, 改造链表, 链表版通信录
11.1 文件概述
11.2 文件结构体及打开方式 自测
11.3 标准文件读写方法 自测–>课堂示例
11.4 文件的随机读写 自测–>课堂示例
11.5 二进制文件及其读写 自测–>课堂示例
实践:程序阅读–>实践项目
实践参考: 小玩文件, 用文本文件保存的学生名单, 处理C语言源代码的程序, 间隔选职工, 二进制文件浏览器
(算是对几个“小”知识点的补遗)
12.1 枚举类型及其应用 自测–>课堂示例
实践:实践项目
实践参考: 对称点, 敲了哪个键?
12.2 联合体及其应用 自测–>课堂示例 –>应用
12.3 自定义类型 自测
12.4 位运算及其应用 自测–>课堂示例 –>程序阅读
附:本课与CSDN学院商业版课程的区别是:
对比 | 本课 | CSDN学院商业版课程 |
---|---|---|
服务平台 | 视频和课件在专用平台发布,利用CSDN博客提供学习过程支持及实践资源 | CSDN学院提供视频和课件,CSDN博客提供学习过程支持及实践资源 |
课程形式 | 一个完整的课程 | 初步、提高、进阶三阶段课程,或套餐购买,相关的课程主页见初步、提高、进阶。 |
费用 | 针对特定人群免费 | 部分课时免费 |
学习期限 | 以半年左右为一个周期开放 | 永久有效 |
内容 | 大学“C语言程序设计”课程大纲中规定的所有内容。 | 增加部分课时,提供学习方法、问题求解方法,以及应用方法的指导,银行储蓄系统从第1版到第6版迭代开发过程的指导。 |