课程名称 | 课程内容 | 学习目标 |
教学环境搭建 | Unix/Linux安装 | 可以独立安装当下流行的Unix/Linux操作系统,为接下来的课程做好准备。 |
愉快的开端 | C语言发展史、前景 | 了解C语言的历史和未来,学会Visual Studio的安装和操作,会编写简单的hello world程序。 |
Hello world | 认识Visual Studio |
第一个C语言程序 |
数据类型 | 数据的存储原理 | 理解数据存储原理; |
与运算符 | 关键字和标识符 | 掌握常量、变量的定义和实用; |
ASCII码 | 熟练应用数据类型的转换; |
常量与变量 | 掌握每一种运算符的使用,能写出可以处理一些计算的操作的简单程序。 |
变量的类型转换 | 理解运算符优先级、结合方向; |
运算符与表达式 | |
运算符的优先级和结合性 | |
流程控制 | 流程图 | 理解什么是流程控制,流程控制都有哪些,它们有怎样的特点; 掌握各种流程控制语言的使用以及其嵌套符合使用; |
基本语句 |
顺序结构语句 |
选择结构语句 |
循环结构语句 |
跳转语句 |
数组与字符串 | 数组的基本概念 | 理解数组的存储原理,并能熟练使用一维和二维数组;掌握数组操作中的遍历、查找、和排序;一些常见算法,比如冒泡排序、选择排序和快速排序等要掌握;能够通过数组来处理现实生活中的需要批量操作的问题,进一步提高编程能力。 |
数组内存分配的细节 | 字符串是常用的知识点,需要掌握字符串的输入输出,和字符串的操作函数,还要理解字符串作为函数参数时的应用。 |
一维数组 | |
二维数组 | |
数组作为函数参数 | |
多维数组 | |
字符串和字符数组 | |
字符串的输入输出 | |
字符串操作函数 | |
字符串作为函数参数 | |
函数 | 函数的基本概念 | 理解函数的作用与重要性,深入理解函数参数、函数返回值、函数声明的作用及应用,掌握如何编写函数,如何使用函数进行多文件开发, 能够通过函数来消除代码重复和提高代码的可读性。 |
函数的声明与定义 |
函数的调用 |
函数的形参与实参 |
函数的返回值 |
外部函数、内部函数 |
递归函数 |
指针 | 指针的基本概念 | 理解什么是指针及指针的作用,什么是地址传递,数组通过的角标访问元素的内部实现原理;掌握如何定义和使用指针了解动态存储空间是如何分配和释放的,什么是指针数组、指向数组的指针、指针函数、函数指针;理解C语言中内存分区,不同的分区有什么特点; |
指针的内存分区 |
指针的运算 |
指针与数组的关系 |
指针与函数的关系 |
指针数组和二级指针 |
内存申请和操作 |
指针与const限定符 |
内存管理 | 堆 | 掌握内存工作原理,了解操作系统内存管理模型以及进程与内存的关系。 |
栈 |
代码区 |
常量区 |
进程内存模型 |
结构体和共用体与typedef | 结构体类型和结构体变量 | 理解全局变量的定义与声明,结构体、共用体的作用,掌握如何定义和使用结构体处理现实生活的中的问题以及如何通过枚举消除魔法数字,提高代码可读性。 |
结构体的内存分析 |
结构体数组 |
结构体指针变量 |
结构体数组指针 |
结构体嵌套定义 |
结构体类型数据在函数间的传递 |
共用体的概念和内存原理 |
共用体变量的引用和初始化 |
给类型取别名 |
文件操作 | 文件概述 | 掌握文件的各种打开关闭操作,并能正确的读取和存储文件以及完成对文件的更改。 |
文件的顺序读写 |
文件的随机读写 |
文本文件处理技巧 |
二进制文件处理技巧 |
基础数据结构 | 排序算法 | 了解数据结构的思维理念,掌握冒泡排序,选择排序的C语言实现技巧,讨论二分查找的循环实现与递归实现的不同。掌握单项链表的操作和内存管理 |
查找算法 |
链表操作 |