C语言问题观:linux
1、环境搭建问题:linux,(能够是w10下linux子系统);vim(notepad++),gcc编译器,gdb调试器,make自动编译工具,ddd分析工具和valgrind分析工具git
2、输入输出问题:输出函数和输入函数算法
3、条件选择问题:if……else或switch……case或if语句块编程
4、重复操做问题:for语句块、do……while语句块、while语句块vim
5、批量数据问题:数组或字符串数组
6、操做封装问题:函数的实现网络
7、内存管理问题:内存分配与释放数据结构
8、文件操做问题:文件的读取与写入多线程
9、结构数据问题:编辑器
计算机硬件:处理器(运算器和控制器)、存储器、I/O系统和总线系统
C语言要素:标识符、变量、复合类型、自定义类型、运算符、格式(注释、空白、分块)、语句、函数、库
复合类型:数组、结构、联合、枚举、字符串、指针
C语言分析:自顶向下,功能不停细分、流程图、伪码、实现
C语言设计:自下而上,语句、函数、接口、库等
计算机技术是我的成长路上很重要的一门科学,关乎大学可否顺利毕业,影响工做的范围,甚至在不少职业中也是以计算机为工做基础。主要有如下三种思惟方式:
一、以观察和总结天然规律为特征的实证思惟(以物理学科为表明)。
二、以推理和演绎为特征的推理思惟(以数学学科为表明)。
三、以设计和构造为特征的计算思惟(以计算机学科为表明)。
其中计算思惟包括三个步骤:理论、设计和实现三个方面。
C语言学习的五各层次:
1、C语言入门
一、硬件系统:内存和寄存器还有I/O系统、指针是硬件和软件的桥梁
二、开发环境:OS(Linux)、编辑器(VIM)、编译器(GCC)、调试器(GDB)、自动编译工具(make)、调试工具ddd和valgrind
三、开发步骤:编辑源码、编译、连接和执行
四、代码规范:标识符、注释、空白字符、空行、空格、tab键、逻辑块
五、关键字:C语言有32各关键字
六、内存管理:内存分配和内存释放
七、文档和库:内置库和man文档
2、C语言基础
0、数据及类型:数值和数据、基本类型
一、变量:类型、数据和地址;自定义类型(typedef)
二、运算符:基本的和自定义、位运算
三、语言单位:语句,语句块、逻辑块
四、结构控制:分支控制和循环控制、条件控制
五、数组和字符串、指针
六、预处理和宏定义
七、流程图和函数
八、复合类型:结构体、联合体和枚举类型、其余类型(变量、数组、字符串、指针、函数、结构体、联合体、枚举类型、自定义类型)和指针的结合
九、结构体中的特殊:内存对齐和位操做
十、指针的特殊:函数指针、数组指针、结构体与指针、常量与指针、指针与硬件等
十一、文件操做
3、算法:
一、查找:
二、排序
三、递归
4、C语言高级
一、接口:头文件与实现文件的定义及实现
二、多线程:
三、网络:
四、自动编译make
五、程序调试和分析gdb和valgrind
六、程序测试
5、C语言专家:
一、神样的编辑器vim
二、防护性编程
三、打包库文件
四、重构代码
五、代码同步git使用
6、C数据结构:
一、线性表
二、栈和队列
三、数和二叉树
四、图