C语言基础知识目录大纲

点击返回博客主目录

1.Hello World

1.1 源程序

1.1.1 C语言版

1.1.2 C++版

1.2 注释

1.3 从源程序到可执行程序

1.3.1 集成开发环境

1.3.2 手动编译

1.4 致敬大师

2.Linux 常用基础命令

2.1 版本选择

2.1.1 内核版本

2.1.2 发行版本

2.2 目录结构

2.2.1 系统目录

2.2.2 分区与目录

2.2.2.1 linux U盘(FAT32模式)的使用

2.3 常用命令

2.3.1 命令格式

2.3.2 目录切换

2.3.3 文件操作

2.3.4 用户管理

2.3.5 网络命令

2.4 vim文本编辑

2.4.1 vi编辑器中有三种状态模式

2.4.2 vi编辑器的启动与退出

2.4.3 文件操作

2.4.4 光标移动操作

2.4.5 编辑操作

2.4.6 查找与替换操作

2.4.7 学习工具vimtutor

2.4.8 vim最简配置

2.4.9 结束语

3 C语言和自然语言

3.1 什么是程序

3.2 算法和流程图

3.2.1 算法与流程图简述

3.2.2 请用流程图将a,b,c中最大值放到max中并输出。

4 常/变量与数据类型

4.1 C语言中的关键字

4.2 变量

4.2.1 变量的定义

4.2.2 变量的命名规则

4.2.3 交换两个变量的内容

4.2.4 驼峰命名法

4.3 数据类型

4.3.1 内存模型

4.3.2 计算机的基石补码

4.3.3 小结

4.3.4 类型总揽

4.3.5 基本类型之数值类型

4.3.6 基本类型之字符类型

4.4 常量

4.4.1 常量类型

4.4.2 常量的大小

4.5 格式输入与输出

4.5.1 printf

4.5.2 scanf

4.5.3 putchar && getchar

4.6 类型转化

4.6.1 隐式转化

4.6.2 强制转化

5 运算符与表达式

5.1 运算符的优先级和结合性

5.2 常见运算符及构成的表达式

5.2.1 赋值运算符与赋值表达式

5.2.2 算术运算符与算术表达式

5.2.3 关系运算符与关系表达式

5.2.4 逻辑运算符与逻辑表达式

5.2.5 条件运算符与条件表达式

5.2.6 逗号运算符与逗号表达式

5.2.7 sizeof运算符及其表达式

5.2.8 小结

5.2.9 运算符综合练习

6 程序结构设计

6.1 选择

6.1.1 if else

6.1.2 switch

6.1.3 小结

6.1.4 练习判断按键

6.2 循环

6.2.1 while “当”型循环

6.2.2 do while “直到”型循环

6.2.3 for “列表”型循环

6.2.4 循环小结

6.2.5 循环的嵌套

6.2.6 循环建议

6.2.7 练习

6.3 跳转

6.3.1 break

6.3.2 continue

6.3.3 return

6.3.4 goto

7 数组

7.1 一维数组

7.1.1 声明与逻辑

7.1.2 实始化

7.1.3 访问

7.1.4 一维数组的存储

7.1.5 课堂练习

7.2 二维数组

7.2.1 声明与逻辑

7.2.2 初始化

7.2.3 访问

7.2.4 二维数组的存储

7.2.5 课堂练习

7.3 数组名的二义性

7.3.1 一维数组

7.3.2 二维数组

7.4 练习

7.4.1 无序数组查找,返回下标(线性查找)

7.4.2 有序数组查找(折半查找)

7.4.3 有序数组去重,并返回元素的个数

7.4.4 合并两个有序数组到第三个中去,并使其依然保持有序

8 指针

8.1 认识内存

8.1.1 线性的内存

8.1.2 取地址运算符(&)

8.1.3 间接访问运算符(*)

8.2 指针

8.2.1 指针是有类型地址常量

8.3 指针变量

8.3.1 定义

8.3.2 解析

8.3.3 初始化及间接访问

8.3.4 NULL(色即空)

8.3.5 练习

8.4 指针运算

8.4.1 赋值运算

8.4.2 算术运算

8.4.3 比较运算

8.4.4 小结

8.5 数组遇上指针

8.5.1 一维数组的访问方式

8.5.2 二维数组的访问方式

9 函数

9.1 c标准库及普通库函数

9.1.1 库存在的意义

9.1.2 如何使用库函数

9.1.3 示例

9.1.4 常用库函数

9.2 自定义函数

9.2.1 语法格式

9.2.2 调用方法

9.2.3 前向声明

9.3 函数返回值

9.4 传值与传址

9.4.1 传值与传址的比较

9.4.2 如何来传递一个一维数组

9.4.3 如何来传递一个二维数组

9.5 递归

9.5.1 函数调用

9.5.2 推算年龄

9.5.3 猴子吃桃子的问题

9.5.4 递归小结

9.5.5 递归与循环

9.5.6 递归练习

10 变量作用域及修饰符

10.1 变量之分

10.1.1 作用域

10.1.2 生命周期

10.2 修饰符

10.2.1 auto 大将军

10.2.2 register 小太监

10.2.3 extern 通关文牒

10.2.4 static 柱国老臣 限离出境

11 字符串

11.1 引入

11.2 字符串常量

11.2.1 字符串长度

11.2.2 字符串存储

11.2.3 C语言是如何处理字符串常量

11.3 字符串与字符数组

11.3.1 常量字符串不可更改

11.3.2 字符串与字符数组比较

11.3.3 字符数组存储字符串

11.4 字符串的输入与输出

11.4.1 输出

11.4.2 输入

11.5 字符串操作函数

11.5.1 字符数组原生操作

11.5.2 库函数操作

11.6 字符串操作函数自实现

11.6.1 myStrlen

11.6.2 myStrcpy

11.6.3 myStrcat

11.6.4 myStrcmp

11.7 指针数组

11.7.1 定义

11.7.2 应用

12 内存管理(Memory)

12.1 进程空间

12.1.1 进程 vs 程序

12.1.2 进程空间图

12.2 栈内存

12.2.1 栈大小

12.2.2 常见栈溢出案例

12.2.3 栈内存使用特点

12.3 堆内存

12.3.1 堆大小

12.3.2 堆内存的申请与释放

12.3.3 堆内存使用特点

12.3.4 常见模型

13 结构体(Struct)

13.1 引例

13.2 为什么要用结构体

13.3 结构体类型定义

13.3.1 无名构造类型

13.3.2 有名构造类型

13.3.3 别名构造体类型

13.3.4 小结

13.4 结构体类型实例化及成员访问

13.4.1 实例化及访问

13.4.2 赋值

13.5 结构体数组

13.5.1 定义及初始化

13.5.2 内存存储形式

13.5.3 实战

13.6 结构体类型嵌套

13.6.1 结构体中可以嵌套结构体

13.6.2 嵌套结构体变量和实例化

13.7 结构体类型作参数或者返回值

13.7.1 结构体变量作参数和返回值

13.7.2 结构体指针作参数

13.7.3 获取当前时间函数的使用

13.8 结构体类型的大小

13.8.1 结构体成员内存分布

13.8.2 内存对齐

13.9 结构体使用注意事项

13.9.1 向结构体内未初始化的指针拷贝

13.9.2 未释放结构体内指针所指向的空间

13.9.3 深拷贝与浅拷贝

13.10 练习

13.10.1 栈的自实现

13.11 typedef 类型重命名

13.11.1 typedef 作用

13.11.2 定义新类型

13.11.3 typydef和#define的区别

13.11.4 小结

14 共用(Union)和枚举(Enum)

14.1 共用体

14.1.1 类型定义与变量定义

14.1.2 内存分析

14.1.3 变量定义及实始化

14.2 枚举

14.2.1 枚举类型定义

14.2.2 枚举类型变量与初始化

14.2.3 应用

15 单向链表(List)

15.1 链表价值

15.2 静态链表

15.2.1 链表节点定义

15.2.2 图示节点

15.2.3 图示链表结构

15.2.4 代码实现

15.3 动态链表

15.3.1 创建

15.3.2 遍历

15.3.3 求长度

15.3.4 插入

15.3.5 查找

15.3.6 删除

15.3.7 排序

15.3.8 链表翻转

15.3.9 环形链表

16 文件(File)

16.1 文件流

16.1.1 文件概念

16.1.2 文件类型

16.1.3 文件缓冲

16.2 文件的打开和关闭

16.2.1 FILE结构体

16.2.2 fopen

16.2.3 fclose

16.3 一次读写一个字符(文本操作)

16.3.1 fputc

16.3.2 fgetc

16.3.3 关于feof的问题

16.3.4 注意事项

16.3.5 练习

16.3.6 文本等号以后求和

16.5 一次读写一块字符(二进制操作)

16.5.1 fwrite/fread

16.5.2 试读文本文件

16.5.3 返回值的陷阱

16.5.4 本是读写二进制的

16.5.5 练习

16.6 文件指针偏移

16.6.1 rewind

16.6.2 ftell

16.6.3 fseek

16.7 练习

16.7.1 文本文件内容排序(行数不能变)

16.7.2 读写文件生成链表

17 位操作

17.1 位操作与逻辑操作

17.2 数据的二进制表示

17.2.1 8位二进制数据的补码

17.2.2 二进制打印

17.3 位操作

17.3.1 位与(&)

17.3.2 位或

17.3.3 位取反(~)

17.3.4 位异或(^)

17.3.5 左移(<<)

17.3.6 右移(>>)

17.4 应用

17.4.1 掩码

17.4.2 功能

17.4.3 生成

17.4.4 练习

17.5 提高

17.5.1 无参交换

17.5.2 异或加密

17.5.3 循环移位加密

17.6 练习

17.6.1 练习加密二进制文件

18 条件编译

18.1 发生时机

18.2 不带参宏

18.2.1 宏常量

18.2.2 宏类型

18.3 带参宏(宏函数)

18.3.1 宏函数

18.4 取消宏

18.4.1 取消宏常量

18.4.2 取消宏函数

18.5 条件编译

18.5.1 单#if #endif 双#if #else #endif路

18.5.2 多#if #elif #elif #endif路

18.6 头文件包含

18.6.1 包含的意义

18.6.2 包含的方式

18.6.3 多文件编程

18.6.4 定义头文件

18.7 其它

18.7.1 #运算符 利用宏创建字符串

18.7.2 ##预处理的粘合剂

18.7.3 预定义宏

19 项目

20 附录常用表

20.1 运算符优先级

20.2 易错优先级集锦

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程英文名称:The C Programming Language 先修课程名称:大学计算机基础 适用类型、层次、专业:本、专科专业。 一、课程的性质和任务   《C语言程序设计》课程包括程序设计语言、程序设计及方法、数据结构等方面的内容,是大学生计算机应用后继课程的重要基础课程。该课程属于高级语言,但具有低级语言的许多特点,是一种结构化程序设计语言,它既适合于编写系统软件,又适合于编写应用软件。   通过本课程的学习,学生应能掌握C语言的语法、语义规则、语言的数据类型及程序结构。能运用结构程序设计的思想,进行正确地阅读、分析程序和设计编制程序,具有程序设计的能力。 二、教学基本要求 1.理论教学   ⑴ 绪论 《C语言程序设计》课程是一门概念性和实践性很强的基础课程。学习本课程的重点应突出设计的方法与技巧,把C语言的语法规则作为工具,运用这个工具熟练地阅读、分析程序和设计、编制程序。   学习本课程的重要环节是针对每章内容完成相应的习题和上机操作实践,既可检测对课程掌握的程度,也巩固了所学的知识。在机器上调试、运行程序是提高程序设计能力,加深理解C语言的基本概念和语法规则的最好途径,只有多作练习、多上机,才能牢牢掌握的程序设计的方法与技能。   课程考试命题基本覆盖各章节要求掌握的内容,并适当突出重点章节,加大重点内容的覆盖密度。本课程考核采用闭卷考试的方法。考试试题的题型可包含:判断题、选择题、改错题、写达式、填空题、程序阅读题、编程题、应用题等七种。  ⑵ C语言概述   掌握:在VC++6.0环境下C程序的运行过程;   理解:C语言程序的结构及描述方法及C语言程序的开发过程;   了解:计算机语言、C语言的发展与特点。  ⑶ 基本数据类型和达式   掌握:整型、实型、字符型等基本数据类型及其说明方法;常量和变量的概念及其值的输出;变量的初始化;赋值运算符、赋值达式、赋值语句、复合赋值运算符;增量运算符与增量达式;关系运算符和关系达式;逻辑运算符和逻辑达式;条件运算符和条件达式,逗号运算符和逗号达式;   理解:字符常量和字符串常量的区别;赋值运算;达式中不同数据类型的运算操作数据的转换;运算符优先级和结合方向;简单的顺序结构程序设计;  了解:保留字和标识符;标准库函数调用。   ⑷ 简单语句和选择语句   掌握:选择语句的if、if else和else if结构的条件语句,switch语句的判断结构的程序设计;输入函数scanf和字符输入输出函数,达式语句,复合语句;   理解:分支结构程序设计的实现;条件语句语句的嵌套;  了解:结构化程序设计的概念;结构化流程图的画法. ⑸ 循环语句和转移语句   掌握:使用for循环、while循环、do while循环进行重复结构的程序设计;利用break语句、continue语句实现对循环过程的控制。    理解:循环的概念;多重循环的执行过程。   了解:goto语句。 ⑹ 数组   掌握:一维数组、二维数组和字符数组的定义及数据的引用方法;二维数组的存储顺序;二维数组的应用;一维数组的典型操作;字符数组的输入输出;字符串处理函数的应用。   理解:数组的基本概念;数组的特性,数组的定义和初始化的含义及数据的引用方法。   了解:应用数组知识编制简单事物处理系统的应用程序。 ⑺ 函数   掌握:函数的定义和函数调用的方法;函数调用的形式参数与实际参数的对应关系;函数参数及函数间的数据传递过程;全局变量、局部变量与静态变量的存储属性及作用域;内部函数和外部函数的区别和应用。   理解:函数的概念及其在结构程序设计中的作用;函数的递归调用技术;函数的嵌套调用技术;用函数进行结构程序设计的方法和技巧。  了解:运用函数的知识实现模块化程序设计   ⑻ 指针   掌握:指针的基本概念,指针变量的定义、引用、运算及操作,给指针变量赋值、移动指针、指针比较、通过指针变量引用存储单元;函数调用参数为指针变量时,实参和形参之间的数据传递,返回地址值的函数;数组与指针;指针与字符串。   理解:函数型指针的定义、赋值、引用。  了解:命令行参数。   ⑼ 结构与联合   掌握:结构定义;结构变量的定义、引用、初始化;结构数组定义、引用、初始化。   理解:动态数据结构和静态数据结构的区别;指向结构的指针、结构与函数。引用自身的结构,字段结构。   了解:枚举类型的含义、定义和引用;联合,指向联合的指针;结构数组、联合数组的作用和区别;动态申请内存空间和释放内存空间的操作。   ⑽ 预处理和标准函数   掌握:宏定义、宏调用、宏展开;文件包含中各头文件的使用。   理解:格式输出

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值