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、二叉树遍历的递归实现和实战
  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值