C语言基础:第4-6周期间学习(部分与Linux基础部分同时进行)
课程知识点 | 具体课程掌握知识点 | 与知识点相关的项目 | 与知识点相关的作业与实验 |
基本数据类型和格式化输入输出函数 | 数据在计算机的存储、原码补码、各种数据类型及存储方式、常量、转义字符,大端小端。printf和scanf等基本输入输出函数 |
| 原码补码习题练习,大端小端练习,printf和scanf练习 |
运算符、表达式和语句 | 基本运算符,运算符的优先级,sizeof,自增自减运算符,类型转换,复合语句。 |
| sizeof的使用练习,自增自减的分析,运算中隐式类型升级练习 |
控制结构和输入输出缓冲区 | 循环、分支跳转语句、逗号运算符和条件运算符。标准输入输出函数的缓冲区介绍。 |
| C语言语句分析,一些逻辑思维题目练习 |
函数和进程的内存布局 | 函数定义及返回值,取地址符&,函数参数值传递和地址传递,全局变量和static变量,static函数和内联函数,进程的内存布局,函数调用过程中的栈结构,递归函数的基本原理及函数调用分析 |
| 代码书写规范,递归函数的调用分析与实践 |
预处理指令和常用库函数 | 宏定义的书写规则,文件包含,条件编译。宏和函数的区别,头文件的书写规则。数学库和随机数函数,exit和atexit函数,断言。 |
| 库函数的使用,宏定义的习题,分析宏的利弊。条件编译的使用。 |
数组和指针 | 一维和多维数组定义、初始化和使用及内存布局,多维数组是数组的数组,字符数组和字符串。指针的基本概念,*解引用,指针的运算,数组和指针的异同(这块需要总结加实践),函数指针,复杂声明的分析。 |
| 指针练习题,结合函数练习指针的用法。 |
字符串和字符串函数 | 程序中定义字符串,字符串输入和输出函数,字符串处理函数,内存处理函数,malloc/free函数,内存泄露及段错误问题。 |
| 函数的使用和代码实现。malloc/free函数的代码分析。 |
结构体和链表 | 结构体定义、初始化及使用,结构体与指针,结构体作为函数参数,typedef定义新类型,类型对齐及结构体填充,链表练习;共用体 | malloc和free功能的模拟实现 | 结构体代码分析,结构体对齐的代码分析,链表练习题。 |
位运算 | 优先级,结构体的位字段。 |
| 位运算常考题练习 |
文件输入输出函数 | 命令行参数,文件打开与关闭,读写,定位操作,文件缓冲区设置函数。 | 待定 | 常用文件操作函数的练习题目 |