C程序设计导引 第2版
作者:尹宝林 编著
出版时间: 2020年版
内容简介
本书是一本讲解C程序设计的入门教材,根据学生对新知识学习和认知的规律,从C语言和C程序的基本要素以及程序设计的基本方法开始,循序渐进地引入对程序设计专业化的要求和相关的知识。全书全面地介绍了c语言的基本语法及c语言程序的设计方法,内容包括:C程序的创建及其基本结构,常量、变量和表达式,条件语句和开关语句,循环语句和goto语句,函数,数组,指针初步,程序设计的基本方法, 结构和联合,输入/输出和文件。
目录
再版说明
第1版作者自序
教学建议
例题索引
第0章 引言1
第1章 C程序的创建及其基本结构8
1.1 C程序的创建过程8
1.2 C程序的基本组成10
1.3 调试初步—语法错误的定位15
1.4 数据的输入/输出和标准文件18
习题19
第2章 常量、变量和表达式20
2.1 常量20
2.1.1 数字常量20
2.1.2 字符常量23
2.1.3 字符串字面量23
2.2 变量24
2.2.1 变量名和变量类型24
2.2.2 变量的赋值和类型转换26
2.2.3 变量的初始化27
2.2.4 类型限定符const27
2.3 算术表达式28
2.3.1 算术运算符28
2.3.2 增量和减量运算符30
2.3.3 位运算31
2.3.4 复合赋值运算符31
2.4 强制类型转换32
2.5 数据输出/输入函数printf()和scanf()36
2.5.1 数值的输出函数printf()36
2.5.2 数值的输入函数scanf()37
2.6 常量的符号表示方法39
2.6.1 常量宏39
2.6.2 枚举常量40
习题41
第3章 条件语句和开关语句44
3.1 关系运算符和逻辑运算符44
3.2 运算符的优先级46
3.3 从实际问题中的条件到逻辑表达式47
3.4 条件语句48
3.4.1 条件语句中的条件49
3.4.2 复合语句49
3.4.3 条件语句的嵌套和级联51
3.4.4 使用条件语句时的注意事项54
3.4.5 条件运算符和条件表达式55
3.5 switch语句56
习题59
第4章 循环语句和goto语句61
4.1 while语句61
4.2 for语句64
4.3 do while语句67
4.4 循环语句的选择和使用69
4.5 逗号表达式69
4.6 循环语句的嵌套70
4.7 循环语句中的非常规控制73
4.8 goto语句76
习题77
第5章 函数80
5.1 函数的基本概念80
5.2 函数的调用81
5.3 函数的结构84
5.4 函数的定义85
5.5 函数的调用关系和返回值89
5.6 局部变量和全局变量90
5.6.1 局部变量91
5.6.2 全局变量92
5.6.3 对全局变量的访问93
5.7 函数参数的传递94
5.8 标准库函数95
5.8.1 常用的头文件95
5.8.2 常用的数据输入/输出函数96
5.8.3 字符类型判断函数98
5.8.4 字符串处理函数100
5.8.5 其他常用函数100
5.9 递归初步101
习题104
第6章 数组106
6.1 一维数组106
6.1.1 一维数组的定义和初始化106
6.1.2 一维数组元素的使用108
6.1.3 数组的复制111
6.1.4 作为函数参数的一维数组111
6.1.5 数组元素的排序和查找114
6.2 使用一维数组的常用数据结构118
6.2.1 散列表118
6.2.2 栈120
6.2.3 队123
6.3 字符串和字符数组125
6.3.1 字符串126
6.3.2 字符数组126
6.4 常用的标准字符串函数127
6.4.1 字符串输出函数127
6.4.2 字符串输入函数130
6.4.3 字符串复制和追加函数131
6.4.4 字符串比较函数133
6.4.5 字符串检查函数134
6.4.6 字符串扫描函数sscanf()135
6.5 二维数组136
6.5.1 二维数组的定义136
6.5.2 二维数组元素的引用137
6.5.3 二维数组元素的遍历138
6.5.4 二维数组元素的排列方式140
6.5.5 作为参数的二维数组142
习题145
第7章 指针初步148
7.1 地址与指针148
7.2 指针变量150
7.2.1 指针变量的定义和赋值150
7.2.2 通过指针访问数据151
7.2.3 作为函数参数的指针152
7.2.4 返回指针的函数154
7.3 指针运算156
7.3.1 指针与整数的加减156
7.3.2 指针相减157
7.3.3 指针的比较157
7.3.4 指针的强制类型转换和void *160
7.3.5 不合法的指针运算161
7.3.6 指针类型与数组类型的差异161
7.4 指针与数组162
7.5 指向二维数组的指针164
7.6 多重指针165
7.7 指针数组166
7.7.1 一维指针数组166
7.7.2 命令行参数168
7.8 函数指针170
7.8.1 函数指针变量的定义170
7.8.2 具有函数指针参数的库函数171
习题174
第8章 结构和联合177
8.1 结构177
8.1.1 结构类型的定义177
8.1.2 结构成员的访问179
8.1.3 包含结构的结构182
8.2 联合186
8.2.1 联合类型的定义186
8.2.2 联合成员的访问187
8.3 类型定义语句190
8.4 复杂类型的解读193
习题194
第9章 输入/输出和文件196
9.1 输入/输出的基本过程和文件类型196
9.2 文件的打开、创建和关闭197
9.3 文件数据的正文格式读写199
9.4 读写操作中的定位202
9.5 文件数据的二进制格式读写205
习题207
第10章 程序设计的基本方法210
10.1 程序设计的基本过程210
10.2 问题分析211
10.2.1 程序功能和输入/输出数据211
10.2.2 对程序性能的要求213
10.2.3 程序中的错误处理213
10.2.4 程序的测试214
10.2.5 问题分析的结果214
10.3 方案设计216
10.3.1 解题思路216
10.3.2 算法的描述218
10.3.3 数据结构和算法的选择225
10.4 编码:从算法到代码231
10.4.1 代码的结构232
10.4.2 代码的检查238
10.4.3 代码中的注释239
10.5 程序的调试239
10.5.1 调试的基本方法240
10.5.2 调试工具的基本功能和使用241
10.5.3 标准输入/输出的重新定向243
10.6 初学者程序中容易出现的错误244
10.6.1 容易混淆的运算符244
10.6.2 运算符优先级和结合关系244
10.6.3 变量的初始化245
10.6.4 数