第1章 C语言概述
1.1 C语言发展简介
1.2 C语言的特点
1.2.1 C语言是中级语言
1.2.2 C语言是结构化语言
1.2.3 c语言是程序员的语言
1.3 C语言的结构
1.4 C语言的开发步骤和关键字
1.5 习题
第2章 数据类型及其运算
2.1 C的数据类型及其定义方法
2.1.1 C的数据类型
2.1.2 常量和变量
2.1.3 整型数据
2.1.4 实型数据
2.1.5 字符型数据
2.2 运算的种类、优先级和结合性
2.2.1 算术运算
2.2.2 关系运算和逻辑运算
2.2.3 位运算
2.2.4 赋值运算
2.2.5 其他运算
2.2.6 运算符优先级与表达式求值次序
2.3 数据类型的转换
2.3.1 自动类型转换
2.3.2 强制类型转换
2.3.3 赋值表达式中的类型转换
2.4 习题
第3章 基本语句
3.1 表达式语句、空语句及复合语句
3.1.1 表达式语句
3.1.2 空语句
3.1.3 复合语句
3.1.4 带标号的语句
3.2 数据的输入和输出及输入输出函数的调用
3.2.1 scanf( )函数(格式化输入函数)
3.2.2 printf( )函数
3.2.3 getchar( )函数与putchar( )函数
3.3 顺序结构程序设计
3.4 习题
第4章 选择结构程序设计
4.1 用if语句实现选择结构
4.1.1 if语句的两种基本形式
4.1.2 if…else if语句
4.2 用switch语句实现多分支选择结构
4.3 选择结构的嵌套
4.3.1 if语句嵌套
4.3.2 switch语句嵌套
4.4 习题
第5章 循环结构程序设计
5.1 while和do while循环结构
5.1.1 while循环语句
5.1.2 do-while循环语句
5.2 for循环语句
5.2.1 for循环语句的一般形式
5.2.2 for循环变量
5.2.3 无限循环
5.2.4 没有循环体的for循环语句
5.3 循环嵌套
5.4 continue和break语句
5.4.1 continue语句
5.4.2 break语句
5.5 go to语句和语句标号的使用
5.6 例题分析
5.7 习题
第6章 数组的定义和引用
6.1 一维数组定义、初始化和引用
6.1.1 一维数组的定义
6.1.2 一维数组的初始化
6.1.3 一维数组的引用
6.2 二维数组定义、初始化和引用
6.2.1 二维数组的定义
6.2.2 二维数组的初始化
6.2.3 二维数组的引用
6.2.4 多维数组
6.3 字符数组
6.3.1 字符数组的定义
6.3.2 字符数组的初始化
6.3.3 字符数组的引用
6.3.4 字符数组的输入输出
6.3.5 字符串数组
6.4 习题
第7章 函数
7.1 标准库函数的正确调用
7.2 函数的定义
7.3 函数的作用域规则
7.4 函数的类型和返回值
7.5 函数的参数
7.6 函数的调用
7.6.1 函数的正确调用
7.6.2 函数原型——对被调用函数的声明
7.6.3 函数的嵌套调用
7.6.4 函数的递归调用
7.7 内部函数与外部函数
7.7.1 内部函数(静态函数)
7.7.2 外部函数
7.8 局部变量、全局变量及变量的存储类别
7.8.1 局部变量
7.8.2 全局变量
7.8.3 变量的存储类别
7.9 习题
第8章 编译预处理
8.1 宏定义
8.1.1 #define
8.1.2 定义带参的宏
8.2 文件包含
8.3 条件编译命令
8.4 习题
第9章 指针
9.1 地址、指针和指针变量的概念
9.2 指针与变量
9.2.1 指针变量的定义和类型
9.2.2 指针变量的引用和运算
9.2.3 指针和指针变量作为函数的参数
9.3 指针与数组
9.3.1 指向一维数组及其元素的指针和指针变量
9.3.2 一维数组名作函数参数
9.3.3 二维数组的指针和指向二维数组的指针变量
9.3.4 二维数组的指针或指针变量作为函数的参数
9.3.5 字符数组的指针和指向字符数组的指针变量
9.4 指针与函数
9.4.1 函数的指针和指向函数的指针变量
9.4.2 返回指针值的函数
9.5 指针数组与指向指针的指针变量
9.5.1 指针数组
9.5.2 指向指针数据的指针变量
9.5 -3指针数组作main函数中的参数
9.6 习题
第10章 结构体、共用体、枚举类型和自定义类型
10.1 结构体类型及其变量的定义和引用
10.1.1 结构体类型的定义
10.1.2 结构体变量的定义
10.1.3 结构体变量的初始化
10.1.4 结构体变量的引用
10.1.5 结构体变量的输入输出
10.2 结构体数组
10.2.1 结构体数组的定义
10.2.2 结构体数组的初始化
10.2.3 结构体数组的引用
10.3 指向结构体类型数据的指针
10.3.1 指向结构体变量的指针变量的定义和引用
10.3.2 通过(指针或)指针变量访问结构体数组
10.4 结构体与函数
10.4.1 结构体变量作为函数参数——单向值传递
10.4.2 结构体变量的指针(或指针变量)作为函数参数一传地址
10.4.3 返回结构体类型值的函数
10.5 简单(单向)链表的建立、输出、删除和插入
10.5.1 什么是单向链表
10.5.2 建立动态单向链表
10.5.3 删除单向链表的结点
10.5.4 向单向链表中插入结点
10.5.5 综合操作单向链表
10.6 共用体
10.6.1 共用体的概念
10.6.2 共用体的定义
10.6.3 共用体变量的引用
10.7 枚举类型
10.7.1 枚举类型和枚举变量的定义和引用
10.7.2 枚举变量的输入输出
10.8 自定义数据类型名
10.8.1 自定义数据类型名的定义
10.8.2 常见自定义类型名举例
10.9 习题
第11章 位运算
11.1 位运算的含义
11.2 简单位运算
11.2.1 按位与运算
11.2.2 按位或运算
11.2.3 按位异或运算
11.2.4 取反运算
11.2.5 左移运算与右移运算
11.3 习题
第12章 文件操作
12.1 C文件概述
12.2 文件类型指针
12.3 文件的打开与关闭
12.3.1 文件的打开(fopen函数)
12.3.2 文件的关闭(fclose函数)
12.4 文件的读写
12.4.1 读写字符(fgetc和fputc函数)
12.4.2 使用feof( )函数
12.4.3 读写字符串(fgets和fputs函数)
12.4.4 格式化读写(fscanf和fprintf函数)
12.4.5 块读写(fread和fwrite函数)
12.5 文件的定位
12.6 习题
习题和参考解答
参考文献