C语言学习大纲

一、C语言基础

1、C语言特点及其运行环境
2、C语言和面向对象语言C++、JAVA的比较
3、介绍基本数据类型、运算符、关系表式
4、条件判断语句if+elseIf + else if + elseswitch +Csae语句
5、循环语句:whiledo + whilefor
6、位操作运算符:&、|、~、^
   逻辑运算符:&&、||、!。

二、C语言函数

 1、自定义的函数声明和定义、以及使用
 2、函数的实参和形参的区别,函数的传值调用和传址调用
 3、Main函数的参数、返回值,与其父进程的关系
 4、递归函数的栈实现原理应和应用特点
 5、迭代函数的特点和应用
 6C库函数里标准I/O的缓冲区

三、C语言数组

1、数组的定义和在内存中的分配排布
2、数组的完全初始化、部分初始化和不初始化
3、数组名在C程序里的意义
4、数组名在函数传参过程中代表的含义及其作用
项目:数字转换器

四、C语言的灵魂:指针

1、指针的定义,和在内存中扮演的角色
2、宏定义
3Const关键字与普通变量、指针变量之间的关系
4、指针变量运算关系的实质
5、函数指针存在的意义及其使用
6、内存之:堆内存的使用和释放
7、引入内存中,虚拟内存和内存映射的关系

五、C语言文件操作

1、标准I\O和系统API之间的关系
2、阻塞函数和非阻塞函数的区别以及如何设置
3、如何打开文件(open\fopen)、读写(writre\fwrite)文件、关闭      (close/fclose)文件
4、内存之:文件映射区
5、静态文件和动态文件管理方式
6、API之:获取文件信息函数(stat)和系统时间函数
7、多进程和多线程
项目1C语言实现终端shell命令:ls
项目2C语言实现终端shell命令:ls-l
项目3C语言实现文件下载(C\S架构)
项目4C语言实现网页访问(B\S架构)
项目5:多进程执行应用程序(二进制文件)
项目6:多进程实现读取硬件设备
项目7:多线程读取硬件设备
项目8:多线程统计终端字符串个数实战
项目9:多进程间通信实战

六、数据结构

1、结构体struct的定义、和自身各成员的类型
2、结构体成员之间内存对齐的实质和指令对齐的操作
3、结构体数组和指针的应用
4、Linux内核中offsetof和container_of宏
5、结构体位字段的使用意义
项目:柔性数组实战
7、Typedef关键字的作用及其使用
8、数组指针、指针数组、函数指针、指针函数
9、用struct模拟面向对象语言实现多态和封装
10、公用体的实质和测试大小端实战
11、 枚举定义和使用
项目1:C语言实现密码锁
项目2:C语言模拟ATM交易系统

七、复合数据和算法

1、模拟数据结构栈的运行机制
2、模拟数据结构队列的运行机制
3C语言常用算法:冒泡排序、选择排序、快速排序、插入排序、shell排序、二分法
4、单链表的实现及算法:链表的创建、遍历、头插法、尾插法、以及链表的逆序
5、双链表的实现及算法:链表的创建、遍历、头插法、尾插法、以及链表的逆序
6、linux内核源码中循环双链表和内核宏的实战分析
7、数据存储:数组存储和链式存储
8、二叉树的实现以及算法:前序、中序、后序遍历。
9、二叉树遍历的递归实现和实战

猜你喜欢

转载自blog.csdn.net/linzetao233/article/details/80158198