C语言程序设计基础(通识版 慕课版)

国家精品课程配套教材,工信部十四五规划教材,在线实训平台,配套丰富资源
分享 推荐 0 收藏 8 阅读 887
苏小红 (作者) 978-7-115-65645-2

关于本书的内容有任何问题,请联系 刘博

1)教学名师亲自主笔。
2)教材内容取材新颖,聚焦程序设计的基础知识和核心问题,案例紧密结合实践。
3)在教材中融入思政元素。
4)教材内容体系完整,内容兼顾深广度。
5)教辅资料完备,提供了全方位多元化的教学资源。
¥59.80 ¥50.83 (8.5 折)

内容摘要

本书是国家精品在线开放课程、国家级一流课程“C语言程序设计精髓”和“程序设计基础”的参考教材,适合作为高等院校各专业计算机公共基础课教材。本书共10章,具体包括:程序设计的计算机基础,基本I/O和基本运算,基本控制结构,模块化程序设计与函数,常用的问题求解策略,数组和排序查找算法,指针及其应用,字符串和文本处理,结构体和动态数据结构,文件读写和综合应用。
本书力求以通俗易懂、简洁明快的语言,从现代视角解读C语言的神韵,帮助读者快速掌握能够以不变应万变的“编程之魂”,达到灵活使用C语言解决实际问题的目的。此外,本书还为任课教师免费提供多媒体课件、例题和习题源代码,以及程序设计远程在线考试平台等教学资源。
本书可作为高等学校C语言程序设计类课程的配套教材,还可作为各类计算机培训、自学人员的参考书。

目录

1.1 计算机与人工智能 1
1.2 计算机系统 2
1.3 计算机的基本工作原理 3
1.4 数据在计算机中的表示与存储 4
1.5 程序设计语言 5
1.5.1 机器语言、汇编语言与高级语言 5
1.5.2 高级语言的分类 6
1.5.3 C语言简介 8
1.6 编写程序的基本步骤 9
1.7 如何学习编程 10
1.8 何为AI编程 11
习题1 12

2.1 认识C语言程序从Hello World开始 14
2.2 变量及其数据类型 15
2.2.1 变量的数据类型和变量的定义 15
2.2.2 变量的数据类型决定了什么 16
2.2.3 标识符的命名规则 19
2.3 常量 20
2.3.1 常量的表示 21
2.3.2 宏常量和const常量 21
2.4 键盘输入和屏幕输出 22
2.4.1 单个字符的输入输出 23
2.4.2 数据的格式化屏幕输出 24
2.4.3 数据的格式化键盘输入 25
2.5 算术运算 28
2.6 赋值运算 29
2.7 增1和减1运算 31
2.8 混合运算中的类型转换 31
2.8.1 自动类型转换 32
2.8.2 强制类型转换 33
2.9 AI编程的基本流程 34
2.10 本章知识点思维导图 34
习题2 34


3.1 算法的概念与算法的描述方法 36
3.1.1 算法的概念 36
3.1.2 算法的描述方法 36
3.2 顺序结构 37
3.3 选择结构 38
3.3.1 选择结构的控制方式 38
3.3.2 条件语句 39
3.3.3 开关语句 45
3.4 循环结构 49
3.4.1 循环控制方式 49
3.4.2 计数控制的循环和for语句 50
3.4.3 条件控制的循环、while和do-while语句 55
3.4.4 嵌套循环 61
3.5 结构化程序设计与流程转移控制 63
3.5.1 结构化程序设计方法 63
3.5.2 goto语句 63
3.5.3 break语句 64
3.5.4 continue语句 65
3.6 学习AI编程的首要任务——清晰地表达需求 67
3.7 本章知识点思维导图 68
习题3 68


4.1 模块化程序设计 70
4.2 函数的定义 73
4.3 函数调用和参数传递 75
4.4 断言和防御式编程 82
4.5 多文件编程 88
4.6 变量的作用域和存储类型 93
4.6.1 变量的作用域 94
4.6.2 变量的存储类型 95
4.7 程序调试方法 98
4.8 AI辅助编程实例 100
4.9 本章知识点思维导图 101
习题4 102


5.1 计算机的问题求解过程与问题求解策略 104
5.2 枚举 105
5.3 递推 108
5.3.1 正向顺推 108
5.3.2 反向逆推 110
5.4 递归 112
5.4.1 递归的内涵与数学基础 112
5.4.2 递归函数及其基本要素 112
5.4.3 递归的执行过程 115
5.4.4 递归与迭代的关系 116
5.4.5 尾递归 121
5.5 AI辅助编程实例 123
5.6 本章知识点思维导图 127
习题5 127


6.1 一维数组和二维数组 130
6.2 数组作函数参数 133
6.2.1 按值调用与模拟按引用调用 134
6.2.2 一维数组作函数参数 134
6.2.3 二维数组作函数参数 139
6.3 查找算法 142
6.3.1 顺序查找 142
6.3.2 二分查找 144
6.4 排序算法 146
6.4.1 冒泡排序算法 146
6.4.2 交换排序算法 150
6.4.3 选择排序算法 151
6.5 AI辅助编程实例 152
6.6 本章知识点思维导图 153
习题6 153

7.1 指针的概念 156
7.1.1 变量的地址和变量的寻址方式 156
7.1.2 指针变量的定义、初始化及其解引用 156
7.2 指针变量作函数参数 159
7.3 函数指针及其应用 164
7.3.1 函数指针的概念 164
7.3.2 函数指针的应用 168
7.4 指针与一维数组的关系 170
7.4.1 指针的运算 170
7.4.2 利用指针访问一维数组 172
7.5 AI辅助编程实例 175
7.6 本章知识点思维导图 176
习题7 176


8.1 字符串的存储、表示与处理 179
8.1.1 字符串的存储与表示 179
8.1.2 字符串的输入和输出 182
8.1.3 字符串处理函数 183
8.1.4 字符串处理函数的安全性 186
8.2 字符串的应用 186
8.2.1 向函数传递字符串 187
8.2.2 从函数返回字符串 192
8.3 指针数组及其应用 194
8.3.1 指针和二维数组间的关系 194
8.3.2 字符指针数组和二维字符数组 197
8.4 AI辅助编程实例 202
8.5 本章知识点思维导图 203
习题8 203


9.1 结构体类型 206
9.1.1 结构体类型的声明和结构体变量的定义 206
9.1.2 结构体成员的初始化和访问 209
9.1.3 结构体占内存的字节数 212
9.1.4 结构体的相关计算和操作 214
9.2 结构体作函数参数 215
9.2.1 在函数之间传递结构体数据 215
9.2.2 结构体应用实例 219
9.3 共用体类型及其应用 221
9.4 枚举类型及其应用 223
9.5 动态内存分配和动态数据结构 224
9.5.1 动态内存分配 224
9.5.2 动态数据结构之链表 227
9.5.3 常见的内存错误及其解决对策 234
9.6 AI辅助编程实例 235
9.7 本章知识点思维导图 236
习题9 237


10.1 文本文件和二进制文件 240
10.2 缓冲文件系统和非缓冲文件系统 241
10.3 文件的打开与关闭 242
10.4 标准输入输出重定向 244
10.5 文本文件的读写操作 246
10.5.1 按格式读写文件 246
10.5.2 按字符读写文件 248
10.5.3 按字符串读写文件 249
10.6 应用实例 250
10.6.1 幸运大抽奖 250
10.6.2 人机交互走迷宫 252
10.7 本章知识点思维导图 256
习题10 256


附录A C语言关键字 259
附录B GCC中数据类型占内存的字节数和取值范围 260
附录C 运算符的优先级与结合性 262
附录D 字符十进制编码的ASCII值 263
附录E 二进制补码的计算方法 265
附录F 位运算 267
附录G 输入输出格式转换说明符 269
附录H 常用的ANSI C标准库函数 272
附录I 基本编码规范 279

参考文献 282

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

苏小红 哈尔滨工业大学计算机学院教授,博士生导师,中国计算机学会高级会员,哈尔滨工业大学计算机科学与技术国家级实验教学示范中心副主任,航天软件工程研究中心主任,计算机语言基础教研室主任。 出版过十二五国家规划教材《C语言程序设计》等多部著作。

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部