目 录
第1章 算法与C语言程序设计 1
1.1 算法 1
1.1.1 基本概念 1
1.1.2 算法表示案例 6
1.2 C语言程序设计 9
1.2.1 分析问题 9
1.2.2 C语言程序设计的基本方法 10
1.2.3 C语言程序的构成和基本格式 10
自我练习 12
第2章 C语言概述 15
2.1 认识C语言 15
2.1.1 C语言的来历 15
2.1.2 C语言的特点 15
2.2 C语言的集成开发环境 16
2.3 书写实验报告 21
2.4 数据类型 22
2.5 标识符与关键字 23
2.6 常量和变量 23
2.6.1 常量 23
2.6.2 变量 24
2.7 表达式 25
2.7.1 算术运算符与算术表达式 25
2.7.2 强制类型转换运算符与强制
类型转换表达式 26
2.7.3 赋值运算符与赋值表达式 26
2.7.4 自增自减运算符 28
2.7.5 逗号运算符与逗号表达式 29
2.8 C语言数据类型、运算符和
表达式实验指导 30
自我练习 31
第3章 顺序结构程序设计 33
3.1 C语句 33
3.1.1 变量定义语句 33
3.1.2 赋值语句 33
3.1.3 由printf( )函数和scanf( )函数
构成的输入/输出语句 33
3.1.4 复合语句 36
3.1.5 空语句 37
3.2 顺序结构程序案例 37
3.3 顺序结构程序设计实验指导 40
自我练习 41
上机实战 42
第4章 选择结构程序设计 43
4.1 关系表达式和逻辑表达式 43
4.1.1 关系表达式 43
4.1.2 逻辑表达式 45
4.2 由if语句实现的选择结构 46
4.2.1 if语句的两种基本形式 46
4.2.2 if语句的嵌套 50
4.3 由switch语句实现的多分支
选择结构 53
4.4 能实现双分支选择结构的条件
表达式 56
4.5 选择结构程序设计实验指导 56
自我练习 57
上机实战 59
第5章 循环结构程序设计 60
5.1 while语句(当型循环) 60
5.1.1 while循环的执行流程 60
5.1.2 while循环案例 61
5.2 do-while语句(直到型循环) 62
5.2.1 do-while循环的执行流程 63
5.2.2 do-while循环案例 63
5.3 for语句(当型循环) 64
5.3.1 for循环的执行流程 65
5.3.2 for循环案例 66
5.4 几种循环的比较 67
5.4.1 比较 68
5.4.2 案例 69
5.5 循环的嵌套 70
5.6 break语句和continue语句 71
5.6.1 释义 71
5.6.2 二者的区别 72
5.7 循环结构程序设计实验指导 73
自我练习 75
上机实战 77
第6章 简单构造数据类型 78
6.1 一维数组 78
6.1.1 一维数组的定义 78
6.1.2 一维数组的引用 79
6.1.3 一维数组的初始化 80
6.1.4 一维数组程序案例 80
6.2 二维数组 83
6.2.1 二维数组的定义 83
6.2.2 二维数组的引用 83
6.2.3 二维数组的初始化 84
6.2.4 二维数组程序案例 85
6.3 字符数组 85
6.3.1 字符数组的定义 85
6.3.2 字符数组的用途 86
6.3.3 字符数组的初始化 86
6.3.4 字符数组的输入与输出 86
6.3.5 字符串处理函数 88
6.4 指针 90
6.4.1 指针和指针变量 90
6.4.2 指针变量的定义与赋值 91
6.4.3 指针变量的使用方法 92
6.5 指针与数组 93
6.5.1 指针与数组的关系 93
6.5.2 指针基本运算 94
6.5.3 使指针指向一个字符串 97
6.6 指针数组 98
6.6.1 指针数组的定义 98
6.6.2 指针数组元素的使用 99
6.7 综合案例 100
6.8 数组程序设计实验指导 103
自我练习 104
上机实战 106
第7章 模块化程序设计 107
7.1 概述 107
7.2 函数的定义 107
7.3 函数的参数和返回值 109
7.3.1 函数的参数 109
7.3.2 函数的返回值 109
7.4 函数的调用 110
7.4.1 函数调用的一般形式 110
7.4.2 对被调用函数的声明和函数
原型 111
7.4.3 函数的嵌套调用 113
7.4.4 函数的递归调用 114
7.5 数组作为函数的参数 117
7.6 变量的作用域 121
7.6.1 局部变量 121
7.6.2 全局变量 122
7.7 变量的存储类别 123
7.8 函数程序设计实验指导 127
自我练习 127
上机实战 131
第8章 复杂构造数据类型 132
8.1 结构体 132
8.1.1 结构体类型定义 132
8.1.2 结构体数组 136
8.1.3 指向结构体类型数据的指针 140
8.2 共用体 142
8.2.1 共用体类型定义 142
8.2.2 共用体类型应用案例 143
8.3 枚举类型 144
8.4 用typedef为类型定义别名 145
8.5 结构体程序设计实验指导 145
自我练习 146
上机实战 148
附录A C语言库函数 149
参考文献 153