新書推薦:
《
甲骨文丛书·剑桥世界暴力史(第一卷):史前和古代世界(套装全2册)
》
售價:NT$
959.0
《
甲骨文丛书·中华早期帝国:秦汉史的重估
》
售價:NT$
1367.0
《
欲望与家庭小说
》
售價:NT$
449.0
《
惜华年(全两册)
》
售價:NT$
320.0
《
甲骨文丛书·古代中国的军事文化
》
售價:NT$
454.0
《
中国王朝内争实录(套装全4册):从未见过的王朝内争编著史
》
售價:NT$
1112.0
《
半导体纳米器件:物理、技术和应用
》
售價:NT$
806.0
《
创客精选项目设计与制作 第2版 刘笑笑 颜志勇 严国陶
》
售價:NT$
281.0
|
內容簡介: |
本书介绍了C语言基础知识。全书共8章,分别为程序设计与C语言、数据对象与计算、程序流程控制、函数、数组、指针、结构体以及文件。
本书每一章都从一个实际应用问题出发,一步步启发读者解决问题,并将各个知识点自然穿插其中。读者通过解决问题,进行自动代入式学习与实践,通过丰富有趣的实用案例,获得分析问题和使用C语言进行程序设计的能力。
本书可作为高等院校C语言课程的教材,也可作为C语言初学者的入门教材。
|
目錄:
|
第1章 程序设计与C语言 1
1.1 引言 1
1.2 程序设计概述 1
1.2.1 程序设计方法 1
1.2.2 程序设计语言 3
1.2.3 语言实现及开发环境 4
1.3 C语言概述 5
1.3.1 C语言历史 6
1.3.2 C语言特点 6
1.3.3 第一个C语言程序 7
习题1 11
第2章 数据对象与计算 12
2.1 引言 12
2.2 数据对象表示 13
2.2.1 C语言基本语法元素 13
2.2.2 变量 14
2.3 计算过程 20
2.3.1 运算符 21
2.3.2 表达式 22
2.4 用户交互 25
2.4.1 格式化输出函数printf 26
2.4.2 格式化输入函数scanf 31
习题2 35
第3章 程序流程控制 37
3.1 引言 37
3.2 如何表示条件 38
3.2.1 关系表达式 38
3.2.2 逻辑表达式 39
3.3 结构化程序设计基础 41
3.4 顺序结构 42
3.4.1 表达式语句 42
3.4.2 复合语句 44
3.4.3 空语句 44
3.5 选择结构 45
3.5.1 if语句 45
3.5.2 switch语句 51
3.5.3 选择结构程序综合举例 54
3.6 循环结构 56
3.6.1 while语句 56
3.6.2 do-while语句 58
3.6.3 for语句 60
3.6.4 while与for的比较 61
3.6.5 循环结构的特殊控制 64
3.6.6 循环结构的嵌套 66
3.6.7 循环结构程序综合举例 69
习题3 72
第4章 函数 73
4.1 引言 73
4.2 函数定义 74
4.2.1 定义函数的目的 74
4.2.2 函数定义形式 75
4.2.3 函数返回值 75
4.2.4 函数参数 77
4.2.5 函数的分类 78
4.3 函数调用 79
4.3.1 函数调用方法 79
4.3.2 函数的嵌套调用 81
4.3.3 参数传递机制 82
4.3.4 函数应用示例 83
4.4 C语言常用库函数 87
4.4.1 输入输出函数 88
4.4.2 数学函数 89
4.4.3 字符处理函数 90
4.4.4 时间函数 91
4.4.5 其他实用工具函数 92
4.5 函数与递归 93
4.5.1 递归函数的分类 93
4.5.2 递归函数的作用及调用过程 94
4.5.3 使用递归函数的条件 95
4.5.4 递归的缺点 97
4.6 变量和函数的时空性 101
4.6.1 变量的分类 101
4.6.2 变量的作用域 101
4.6.3 变量的生命周期 105
4.6.4 内部函数和外部函数 108
习题4 109
第5章 数组 110
5.1 引言 110
5.2 数组的定义和使用 111
5.2.1 定义数组的方法 111
5.2.2 数组在内存中的实现 112
5.2.3 访问数组元素 113
5.2.4 数组初始化 113
5.2.5 数组的应用 114
5.2.6 排序算法 118
5.3 二维和多维数组 123
5.3.1 定义二维数组的方法 123
5.3.2 二维数组在内存中的实现 124
5.3.3 访问二维数组元素 124
5.3.4 二维数组初始化 124
5.3.5 二维数组的应用 126
5.4 函数与数组 128
5.4.1 数组元素作为函数参数 128
5.4.2 数组作为函数参数 129
5.4.3 数组与函数返回值 131
5.5 字符数组和字符串 132
5.5.1 字符数组 132
5.5.2 字符串 133
5.5.3 字符串处理函数 135
习题5 139
第6章 指针 141
6.1 引言 141
6.2 内存、地址与指针 142
6.3 指针变量的声明 144
6.4 取地址与间接寻址 144
6.4.1 取地址运算符 144
6.4.2 间接寻址运算符 145
6.5 指针的相关问题 146
6.5.1 野指针 146
6.5.2 空指针 146
6.5.3 通用指针与指针类型转换 147
6.6 指针作为函数参数 148
6.7 指针与数组 152
6.7.1 指针指向数组元素 152
6.7.2 指针的算术运算 153
6.7.3 指针用于数组处理 155
6.8 指针和多维数组 159
6.8.1 指针处理多维数组元素 159
6.8.2 指针处理多维数组的行 161
6.8.3 指针处理多维数组的列 161
6.9 指针与字符串 162
6.10 动态存储管理 171
6.10.1 动态存储分配 171
6.10.2 动态存储释放 174
6.11 链表 176
6.11.1 声明结点类型 176
6.11.2 创建结点 176
6.11.3 -运算符 177
6.11.4 插入结点 177
6.11.5 搜索链表 179
6.11.6 删除结点 180
6.12 指向指针的指针 182
6.13 指向函数的指针 184
6.13.1 函数指针的定义和使用 184
6.13.2 函数指针作为函数的参数 185
6.13.3 qsort函数 185
6.13.4 函数指针的其他用途 186
6.14 复杂类型描述与解读 186
习题6 187
第7章 结构体 188
7.1 引言 188
7.2 结构体的定义与使用 188
7.2.1 定义结构体类型 189
7.2.2 定义结构体类型变量 190
7.2.3 结构体的嵌套 192
7.2.4 结构体变量的初始化和访问 192
7.2.5 结构体数组 194
7.3 结构体指针 197
7.3.1 指向结构体变量的指针 197
7.3.2 指向结构体数组的指针 199
7.4 结构体与函数 200
7.4.1 结构体类型作为函数参数 200
7.4.2 结构体类型作为函数返回值 202
习题7 206
第8章 文件 207
8.1 引言 207
8.2 文件的基本概念 207
8.2.1 什么是文件 207
8.2.2 文件类型 208
8.2.3 文件指针 208
8.3 文件的基本操作 209
8.3.1 文件打开操作 209
8.3.2 文件关闭操作 211
8.3.3 文件状态检测操作 212
8.3.4 文件指针定位操作 213
8.4 文件的读写 215
8.4.1 面向字符的文件读写操作 215
8.4.2 面向字符串的文件读写操作 217
8.4.3 面向格式化输入输出的文件读写操作 219
8.4.4 面向信息块的文件读写操作 221
习题8 225
附录A ASCII码字符对照表 227
参考文献 232
|
|