图书简介:
目 录
第1章 初识C语言 1
1.1 C语言概述 1
1.2 C语言开发环境 1
1.2.1 运行C语言程序的步骤和方法 2
1.2.2 最简单的C语言程序 3
1.3 算法 4
1.3.1 算法的定义 4
1.3.2 算法的表示 4
1.3.3 算法举例 6
本章小结 10
习题1 10
第2章 C语言知识在实践中的应用 11
2.1 案例介绍 11
2.2 案例分析 12
2.2.1 显示单个数字 12
2.2.2 依次显示数字 14
2.2.3 无限次或有限次循环显示数字0~9 15
2.2.4 循环显示任意一位指定数字 15
2.2.5 保存显示过的所有数字 15
2.2.6 显示多位整数或小数 15
2.3 增量划分和进度安排 16
2.4 LED数码管接口文件 16
本章小结 18
习题2 18
第3章 基本数据类型 19
3.1 基本技能 19
3.1.1 C语言的数据类型 19
3.1.2 标识符 20
3.1.3 常量 21
3.1.4 变量 23
3.1.5 数据的输入、输出 26
3.2 增量式项目驱动 31
本章小结 33
习题3 34
第4章 运算符与表达式 37
4.1 基本技能 37
4.1.1 算术运算符 38
4.1.2 关系运算符 40
4.1.3 逻辑运算符 40
4.1.4 条件运算符 42
4.1.5 逗号运算符 43
4.1.6 位运算符 43
4.1.7 赋值运算符 45
4.1.8 不同数据类型间的转换 46
4.1.9 C程序的结构 47
4.1.10 顺序结构的C语言程序 48
4.2 增量式项目驱动 49
本章小结 51
习题4 52
第5章 选择结构程序设计 54
5.1 基本技能 54
5.1.1 单分支if语句 54
5.1.2 双分支if-else语句 56
5.1.3 if-else if结构 58
5.1.4 if语句的嵌套 59
5.1.5 开关语句 62
5.2 增量式项目驱动 65
本章小结 73
习题5 74
第6章 循环结构程序设计 78
6.1 基本技能 78
6.1.1 while循环语句 78
6.1.2 do-while循环语句 80
6.1.3 for循环语句 82
6.1.4 循环的嵌套 85
6.1.5 break语句 86
6.1.6 continue语句 87
6.2 增量式项目驱动 88
本章小结 100
习题6 100
第7章 函数调用 102
7.1 基本技能 104
7.1.1 函数的分类和定义 104
7.1.2 函数的参数和函数的值 105
7.1.3 函数的调用 108
7.1.4 函数的嵌套和递归调用 109
7.1.5 变量的作用域 111
7.1.6 变量的存储方式和生存期 114
7.2 增量式项目驱动 116
本章小结 128
习题7 128
第8章 数组 132
8.1 基本技能 132
8.1.1 数组的分类和定义 132
8.1.2 二维数组 139
8.1.3 数组作为函数参数 142
8.2 增量式项目驱动 144
本章小结 151
习题8 151
第9章 指针 157
9.1 基本技能 157
9.1.1 指针概述 157
9.1.2 指针变量 158
9.1.3 指针与数组 161
9.1.4 指针与函数 167
9.1.5 指针的内存处理 170
9.2 增量式项目驱动 171
本章小结 177
习题9 177
第10章 字符串处理 182
10.1 字符数组、字符串与指针 182
10.1.1 字符数组、字符串与指针概述 182
10.1.2 字符数组的输入和输出 184
10.2 字符串处理函数 186
本章小结 192
习题10 193
第11章 结构体、共用体和枚举 198
11.1 基本技能 198
11.1.1 结构体类型 198
11.1.2 结构体数组 201
11.1.3 结构体指针和函数 203
11.1.4 共用体类型 206
11.1.5 枚举类型 207
11.2 增量项目驱动 209
本章小结 213
习题11 213
第12章 读写文件 219
12.1 基本技能 219
12.1.1 文件 219
12.1.2 读文本文件 220
12.1.3 写文本文件 222
12.1.4 读写二进制文件 224
12.1.5 随机读写文件 228
12.2 增量项目驱动 231
本章小结 232
习题12 233
第13章 预编译命令 238
13.1 预编译的概念和作用 238
13.2 文件包含 238
13.3 宏定义 239
13.4 条件编译 243
本章小结 244
习题13 244
附录A ASCII表 246
附录B C语言中的关键字 248
附录C 运算符、优先级和结合性 250
附录D C语言中的常用库函数 251
附录E C语言中的标准头文件 253
展开
前 言
本书是作者多年教学和实践经验的总结,按照增量式项目驱动一体化的教学模式安排教学内容,融知识点、实践案例于一体,重点讲解如何将各知识点应用于实践。
由于大学新生初次接触程序设计语言,以及C语言上课枯燥的特点,本教材教学团队抛弃传统教材单纯讲解C语言语法的形式,将知识点贯穿于案例中,以案例驱动,循序渐进、由浅入深;采取知识点与案例相对应的方式,安排教学内容;采用增量式的程序设计模式安排教学内容,将任务进行分解、简化;最终使读者既能掌握编程语言的思想和方法,又能学有所获。
本书为广东省重点专业、应用型专业转型、广东省质量工程项目成果。
书中每章都列出了核心知识点,并通过简单、可理解的示例,帮助读者理解和掌握核心知识的应用,增量式项目驱动能够训练读者的编程能力、知识点的综合应用能力。
第1章主要讲解C语言的基本概念、C语言开发环境和C程序的开发步骤,要求读者初步认识C语言,并通过C语言开发环境开发简单的C程序。
第2章介绍增量项目——LED数码管,并对整个项目进行了增量划分,将每个增量与后续的章节进行知识点与增量任务的对应。
第3章介绍C语言的基本数据类型,要求读者熟练使用C语言数据类型来定义数据。
第4章介绍C语言的运算符和表达式,要求读者熟练应用各种运算符和表达式进行计算和语句表达。
第5章介绍选择结构程序设计,第6章介绍循环结构程序设计,要求读者掌握使用控制结构进行复杂程序设计的能力。
第7章介绍函数的结构、函数的定义和调用等内容,要求读者掌握用函数进行模块化程序设计的思想,并在LED数码管增量上使用函数对功能模块进行封装。
第8章介绍数组,强调数组在解决实际问题中的重要性及使用。
第9章介绍C语言的重要内容——指针,用简单明了的方式介绍了指针的应用。
第10章介绍字符串的应用。
第11章介绍结构体、共用体和枚举类型。
第12章结合实例介绍文件的操作和使用。
第13章简单介绍C语言中的预编译命令。
本书在内容上侧重C语言基本语法的学习和应用,采用增量的方式贯穿全书,并介绍了一个LED数码管程序的开发过程,适合初学者对C语言的理解,并通过对案例的学习和模拟,用C语言基本技能实现其他应用。
本书采用开源软件CodeBlocks作为C语言开发环境,CodeBlocks可以从官方网站下载、安装和使用。本书配有《C语言程序设计实验教程(第2版)》(ISBN 978-7-121-36870-7),可以与本书配套使用。
本书可以作为计算机及相关专业程序设计课程的教学用书,不同专业在讲授时可根据学生、学时等具体情况有选择讲授不同章节的内容,还可以作为计算机等级考试的学习或参考用书。
对于计算机专业的学生,建议授课学时为54+36学时,其中54学时为课堂讲授,36学时为上机实验。各章节学时分配可参考如下。
课程内容 学时(理论+实验)
第1章 初识C语言 2+1
第2章 C语言知识在实践中的应用 1+1
第3章 基本数据类型 3+2
第4章 运算符与表达式 6+4
第5章 选择结构程序设计 6+4
第6章 循环结构程序设计 6+4
第7章 函数调用 6+4
第8章 数组 6+4
第9章 指针 6+4
第10章 字符串处理 3+2
第11章 结构体、共用体和枚举 4+2
第12章 读写文件 3+2
第13章 预编译命令 2+2
本书第1~3章由陈海山编写,第4~7章由苑俊英编写,第8~9、13章由何广赢编写,第10~12章由谭志国编写。书中LED数码管案例的增量实现由陈海山、李瑞程完成,全书由苑俊英负责统稿和定稿。
本书在编写过程中得到了中山大学信息科学与技术学院杨智教授、中山大学南方学院洪维恩教授的支持与帮助,在此表示诚挚的谢意。在本书编写过程中,中山大学南方学院的李瑞程、佘聪、白凯凯、邱洋等同学参与了本书代码的测试工作。同时感谢电子工业出版社及所有编辑为本书完成所做的工作。
本书还配有教学课件、实例代码、增量项目源码和实验,有需要的读者可发邮件至cihisa@126.com,也可以登录到http://www.hxedu.com.cn,注册后进行下载。
由于作者水平有限,编写时间仓促,在本书中难免有一些错误,恳请读者提出宝贵建议。
作 者
展开