C语言程序设计(第二版)
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书是C语言程序设计课程的入门教材,以培养学生程序设计基本能力为目标。
本书以Microsoft Visual C++ 2010集成开发环境为平台,系统讲解C语言的基本语法知识及程序设计方法。内容既包含概念的详细阐述,又着重剖析程序设计的思想与方法,在编排上力求通俗易懂、循序渐进、重点突出。所有程序均遵循模块化程序设计思想编写,并辅以必要注释,便于读者分析、理解和自学;书中涉及的每一段代码都已在Visual C++ 2010 中调试运行,算法采用N-S图描述。此外,每章末均配有精选习题,以帮助读者巩固所学知识,提升逻辑分析与程序设计能力。
本书可作为普通高等院校各专业C语言程序设计的教学用书,也可作为C语言的初学者和相关培训机构、等级考试的参考书或培训教材。
内容全面:包含丰富例题和课后习题,着重培养逻辑分析和程序设计能力。
结构紧密:针对C 语言特点设计课程理论体系,各章节模块之间紧密衔接。
循序渐进:从零起点开始,由浅入深安排知识点层次,逐步提升案例难度。
前 言
C语言是一种结构化程序设计语言,既具备高级语言的表达力,又拥有底层操作的灵活性,代码简洁、运行高效、功能强大,广泛应用于系统软件与应用软件的开发。从实用性、易学性和教学适应性来看,C语言是计算机高级语言中的典范,也是绝大多数高校计算机及相关专业的必修课程。
全书内容组织循序渐进、由浅入深,共分10章:第1章介绍C语言基础知识及Microsoft Visual C++ 2010环境下的程序调试方法;第2章讲解数据类型、运算与顺序结构程序设计;第3~4章聚焦选择结构与循环结构的控制语句及基本编程方法,帮助读者解决较复杂的实际问题;第5章阐述一维数组、二维数组、字符数组的定义与使用,以及常用字符串处理函数;第6章介绍函数的定义、调用、参数传递及变量作用域;第7章讨论编译预处理命令;第8 章深入指针的定义与应用—这一章既是C语言学习的重点和难点,也是体现C语言“高级”能力、兼具低级语言特性的关键所在;第9章讲解结构体、共用体、枚举类型的定义与使用,以及单向链表的基本操作;第10章涵盖文件操作、读写函数、文件定位与错误检测等内容。
本书基于编者多年的教学经验编写而成,注重理论与实践相结合,知识传授与能力培养相融合。通过本书的学习,读者不仅可以快速掌握C语言的基础知识,还能逐步提升编程技巧与解决实际问题的能力。
本书由姜雪担任主编,朱姬凤、杨毅、姚晓杰、王锦、王嘉月担任副主编,秦凯担任主审。第1章、第5章由姚晓杰编写,第2章、第4章、附录由姜雪编写,第3章、第7章由王锦编写,第6章、第10章由杨毅编写,第8章、第9章由朱姬凤编写,本书中涉及的所有例题、习题,均由王嘉月实践验证。全书由姜雪统稿。感谢刘立君、张春芳、王毅、王立武、梁宁玉、杨明学、于鲁佳、陈艳等在书稿编写过程中给予的帮助。
由于编者水平有限,书中难免存在不足之处,恳请有关专家和读者批评指正。
编 者
2026年3月
第1章 C语言概述 1
1.1 C语言的发展及特点 1
1.1.1 C语言的发展 1
1.1.2 C语言的特点 1
1.2 C语言的标识符与关键字 2
1.2.1 字符集 2
1.2.2 标识符 2
1.2.3 关键字 3
1.3 C语言程序概述 3
1.3.1 C语言程序的基本组成 3
1.3.2 C语言程序的书写风格 5
1.4 C语言程序上机调试 5
1.4.1 Microsoft Visual C++ 2010集成
开发环境 5
1.4.2 C语言程序的上机调试步骤 6
习题1 9
第2章 数据、运算与顺序结构程序设计 11
2.1 数据类型 11
2.2 常量 12
2.2.1 整型常量 12
2.2.2 实型常量 12
2.2.3 字符常量 13
2.2.4 字符串常量 14
2.2.5 符号常量 15
2.3 变量 15
2.3.1 变量的定义和初始化 15
2.3.2 整型变量 17
2.3.3 实型变量 17
2.3.4 字符变量 18
2.4 基本输入/输出函数 19
2.4.1 字符输出函数putchar() 19
2.4.2 字符输入函数getchar() 20
2.4.3 格式输出函数printf() 21
2.4.4 格式输入函数scanf() 24
2.5 运算符和表达式 28
2.5.1 算术运算符和算术表达式 29
2.5.2 赋值运算符和赋值表达式 30
2.5.3 自加、自减运算符及其表达式 31
2.5.4 强制类型转换运算符 33
2.5.5 关系运算符和关系表达式 34
2.5.6 逻辑运算符和逻辑表达式 35
2.5.7 条件运算符和条件表达式 36
2.5.8 逗号运算符和逗号表达式 37
2.5.9 求字节数运算符 38
2.5.10 位运算符和位运算 38
2.6 顺序结构程序设计 40
2.6.1 程序设计基础 40
2.6.2 C语言的基本语句 42
2.6.3 顺序结构程序设计举例 43
习题2 44
第3章 选择结构程序设计 48
3.1 if语句 48
3.2 switch语句 57
习题3 60
第4章 循环结构程序设计 64
4.1 while语句 64
4.2 do-while语句 67
4.3 for语句 69
4.4 转向语句 73
4.4.1 break语句 73
4.4.2 continue语句 74
4.4.3 goto语句 75
4.5 多重循环 76
4.6 循环结构程序设计举例 77
习题4 79
第5章 数组 82
5.1 一维数组 82
5.1.1 一维数组的定义 82
5.1.2 一维数组元素的引用 83
5.1.3 一维数组的初始化 84
5.1.4 一维数组程序应用举例 85
5.2 二维数组 89
5.2.1 二维数组的定义 89
5.2.2 二维数组元素的引用 90
5.2.3 二维数组的初始化 90
5.2.4 二维数组程序应用举例 91
5.3 字符数组 94
5.3.1 字符数组的定义 94
5.3.2 字符数组元素的引用 94
5.3.3 字符数组的初始化 95
5.3.4 字符串与字符数组 95
5.3.5 字符数组的输入/输出 96
5.3.6 常用的字符串处理函数 97
习题5 101
第6章 函数 107
6.1 函数概述 107
6.1.1 C语言程序的结构 107
6.1.2 函数的分类 108
6.2 函数的定义 109
6.2.1 函数定义的形式 109
6.2.2 函数的参数与返回值 110
6.3 函数的使用 111
6.3.1 函数的调用 111
6.3.2 函数的声明 112
6.4 函数的调用方式 113
6.4.1 函数的嵌套调用 113
6.4.2 函数的递归调用 114
6.5 函数的参数传递方式 117
6.5.1 单向值传递方式 117
6.5.2 地址传递方式 118
6.6 变量的作用域与存储类别 120
6.6.1 变量的作用域 120
6.6.2 变量的存储类别 122
6.7 内部函数和外部函数 126
6.7.1 内部函数 126
6.7.2 外部函数 126
习题6 127
第7章 编译预处理 132
7.1 宏定义 132
7.2 文件包含 136
7.3 条件编译 139
习题7 140
第8章 指针 142
8.1 地址与指针的概念 142
8.1.1 地址与指针 142
8.1.2 变量的指针 142
8.2 指针变量 143
8.2.1 指针变量的定义及初始化 143
8.2.2 指针变量的引用 146
8.3 指针与数组 148
8.3.1 数组的指针和指针变量 148
8.3.2 指针运算 148
8.3.3 通过指针引用数组元素 150
8.3.4 指针与二维数组 153
8.4 字符串与字符指针 157
8.4.1 字符指针变量 157
8.4.2 字符指针与字符数组的区别 158
8.5 指针数组 159
8.5.1 指针数组概述 159
8.5.2 指针数组作为main()函数的参数 162
8.6 指向函数的指针与返回指针值的函数 163
8.6.1 指向函数的指针变量 163
8.6.2 返回指针值的函数 165
8.7 指针作为函数的参数 166
8.8 多级指针 170
习题8 172
第9章 结构体与共用体 176
9.1 结构体类型与结构体变量 176
9.1.1 结构体类型的定义 176
9.1.2 结构体变量 177
9.1.3 结构体变量的引用 179
9.2 结构体数组 181
9.2.1 结构体数组的定义及初始化 182
9.2.2 结构体数组元素的引用 182
9.3 指向结构体类型数据的指针 183
9.3.1 指向结构体变量的指针变量 184
9.3.2 指向结构体数组的指针变量 185
9.4 单向链表 186
9.4.1 单向链表的数据结构 187
9.4.2 动态分配和释放空间函数 187
9.4.3 单向链表的基本操作 188
9.5 共用体 197
9.5.1 共用体类型的定义 197
9.5.2 共用体变量的定义 197
9.5.3 共用体变量的引用 198
9.5.4 共用体变量的赋值 199
9.6 枚举类型 200
9.7 用typedef定义类型 202
习题9 203
第10章 文件 206
10.1 文件概述 206
10.1.1 文件系统概述 206
10.1.2 文件类型指针 207
10.1.3 使用文件的步骤 208
10.2 文件的打开与关闭 208
10.2.1 文件的打开 208
10.2.2 文件的关闭 210
10.3 文件的读/写 210
10.3.1 字符读/写函数 211
10.3.2 字符串读/写函数 212
10.3.3 格式化读/写函数 213
10.3.4 数据块读/写函数 215
10.4 文件的定位 217
10.5 文件的出错检验 218
习题10 219
附录A 常用字符与ASCII码对照表 223
附录B C语言常用库函数 224
参考文献 229
- 商业摄影 [彭湘]
- 工智能图形化编程 [吴涛 曾绍庚]
- 机电一体化技术实训教程 [李旭仕 欧阳雅坚]
- OPC:多智能体协同与自动化 [何伟 孟伟坡 著]
- 计算机网络技术项目教程 [主编 高良诚 许鹏]
- 电工技术(第三版) [主编 姜燕 江亚群]
- 单词密码:用美国人的方法背单词 [朱子熹 编著]
- AI领导力突围:从校园到职场 [刘言午 著]
- 影响你一生的英语背诵范文大全•生如夏花(3000词汇量版)(第2版) [成琳 陈丽霞 成应翠]
- 动态影像技术(活页式) [吕米佳 邱一恒]
- 超高清HDR视频制作项目式教程(微课版) [孙晔]
- 人工智能应用项目化教程 [主编 金忠伟 太淑玲]
- OpenFOAM理论与复杂物理场仿真计算 [黄先北 曹九发]
- 基于深度学习的温室智能除草机器人目标检测研究 [颜辉 郭煌彬 龙多]
- 电厂辅机设备及工程实践(微课版) [张晓燕 班淑珍 王玮]
- 电池状态估计与安全检测技术 [武明虎 张凡 杜万银]
- Python+MySQL全栈开发实战(微课版) [梁竞敏 宋广科 王伟城 许义海]
- 单片机应用实践研究 [谢元成]
- 文件鉴定技术 [何海洋 柯昌林]
- 平面设计项目教程 [刘永华 陈瑶 左悦]
- 人工智能编程理论与实践 [卢利琼 彭增焰]
- 优化“心”能量:培养幸福的孩子 [李明]
- 未来归来 [俞善锋]
- 嵌入式物联网系统设计与实践 [刘雯]
- 光纤通信中的物理现象及应用实例 [钟昆 董加强 著]
- 数字化转型中高校外语教育创新 [吴丽 著]
- 中国通信工业协会教育专委会2024年会议论文集 [主编 中国通信工业协会教育专委]
- 系统规划与管理师真题及模考卷精析(适用机考) [主编 薛大龙]
- 机械制图习题集 [主编 于景福]
- 机械制图 [主编 于景福]

