|
編輯推薦: |
本书内容丰富、结构合理、思路清晰、语言简洁流畅、示例翔实。本书以C89/C90标准为主线,兼顾了C99和C11标准。正文结合所讲述的关键技术和难点穿插了大量典型案例,并配有针对性的练习题。实验指导章节中的每个实验都安排了大量有针对性的实验任务,从而保证学习成果的达成度。
|
內容簡介: |
《C语言程序设计(第三版)》由编者根据20余年的教学经验编写而成,历经多次修正及改版,是适合C语言初学者的一部经典之作。《C语言程序设计(第三版)》内容循序渐进,浅显易懂,既有广度又不失深度,内容与案例以及讲解方式专为编程初学者而设计。该书从分析C语言程序的基本结构入手,介绍常量、变量、表达式和常用的输入/输出函数、流程控制、数组和字符串处理、函数、指针、编译预处理命令、结构体和共用体、文件、C语言高级程序设计和实验指导等知识点。书中以C89/C90标准为主线,兼顾C99和C11标准,示例程序都可在Visual C 6.0环境下编译和运行,每一章后面均附有习题,所涉及的内容全面,例题丰富。 《C语言程序设计(第三版)》既可作为高等院校相关专业的C语言课程教学用书,也可作为程序设计入门的参考书或培训教材。 《C语言程序设计(第三版)》配套的电子课件、实例源文件、习题答案可以通过http://www.tupwk.com.cn/downpage网站下载,也可以通过扫描前言中的二维码下载。
|
關於作者: |
《C语言程序设计(第三版)》由编者根据20余年的教学经验编写而成,历经多次修正及改版,是适合C语言初学者的一部经典之作。《C语言程序设计(第三版)》内容循序渐进,浅显易懂,既有广度又不失深度,内容与案例以及讲解方式专为编程初学者而设计。该书从分析C语言程序的基本结构入手,介绍常量、变量、表达式和常用的输入/输出函数、流程控制、数组和字符串处理、函数、指针、编译预处理命令、结构体和共用体、文件、C语言高级程序设计和实验指导等知识点。书中以C89/C90标准为主线,兼顾C99和C11标准,示例程序都可在Visual C 6.0环境下编译和运行,每一章后面均附有习题,所涉及的内容全面,例题丰富。 《C语言程序设计(第三版)》既可作为高等院校相关专业的C语言课程教学用书,也可作为程序设计入门的参考书或培训教材。 《C语言程序设计(第三版)》配套的电子课件、实例源文件、习题答案可以通过http://www.tupwk.com.cn/downpage网站下载,也可以通过扫描前言中的二维码下载。
|
目錄:
|
第1章 C语言概述 1 1.1 程序设计语言及其发展 1 1.1.1 机器语言 1 1.1.2 汇编语言 2 1.1.3 高级语言 2 1.2 C语言的历史 3 1.3 C语言的标准 4 1.4 C语言的程序结构 5 1.4.1 简单的C语言程序剖析 5 1.4.2 C语言程序的基本结构 9 1.5 C语言程序的运行 9 1.5.1 运行C语言程序的步骤 9 1.5.2 集成开发环境 10 1.6 本书的约定 10 1.6.1 示例代码的约定 10 1.6.2 图示的约定 10 1.6.3 本书使用的C语言标准 11 1.7 本章小结 11 1.8 习题 11 第2章 C语言程序设计基础 13 2.1 常量 13 2.1.1 整型常量 13 2.1.2 浮点型常量 14 2.1.3 单字符常量 14 2.1.4 字符串常量 16 2.1.5 符号常量 16 2.2 变量 17 2.2.1 变量名 17 2.2.2 变量的类型 18 2.2.3 sizeof运算符 20 2.2.4 变量的定义及操作 21 2.3 运算符与表达式 22 2.3.1 算术运算符和算术表达式 23 2.3.2 关系运算符和关系表达式 24 2.3.3 逻辑运算符和逻辑表达式 24 2.3.4 赋值运算符和赋值表达式 26 2.3.5 自增、自减运算符 27 2.3.6 条件运算符 28 2.3.7 逗号运算符和逗号表达式 28 2.4 运算符的优先级与结合性 29 2.4.1 优先级 29 2.4.2 结合性 29 2.5 类型转换 30 2.5.1 隐式类型转换 30 2.5.2 显式类型转换 31 2.6 本章小结 32 2.7 习题 32 第3章 输入与输出 35 3.1 读入一个字符:getchar函数 35 3.2 输出一个字符:putchar函数 36 3.3 格式化输入:scanf函数 37 3.3.1 整数的输入 38 3.3.2 实数的输入 39 3.3.3 单个字符的输入 39 3.3.4 字符串的输入 40 3.3.5 使用scanf函数的注意事项 40 3.3.6 scanf函数常用的转换码 41 3.3.7 scanf函数的返回值 42 3.4 格式化输出:printf函数 43 3.5 程序举例 45 3.6 本章小结 48 3.7 习题 48 第4章 选择结构程序设计 51 4.1 程序流程图简介 51 4.2 if语句 52 4.2.1 简单if语句 52 4.2.2 if...else语句 53 4.2.3 嵌套if...else语句 54 4.2.4 阶梯式if...else语句 56 4.3 switch语句 57 4.4 本章小结 59 4.5 习题 59 第5章 循环结构程序设计 63 5.1 goto语句 63 5.2 while语句 65 5.3 do...while语句 67 5.4 for语句 68 5.5 break语句与continue语句 70 5.5.1 break语句 70 5.5.2 continue语句 71 5.6 循环的嵌套 72 5.7 本章小结 73 5.8 习题 74 第6章 数组 77 6.1 一维数组 77 6.1.1 一维数组的定义 77 6.1.2 一维数组的引用 78 6.1.3 一维数组的初始化与赋值 79 6.1.4 一维数组的应用举例 80 6.2 二维数组 81 6.2.1 二维数组的定义 82 6.2.2 二维数组的引用 82 6.2.3 二维数组的初始化与赋值 83 6.3 字符数组与字符串 84 6.3.1 字符数组的定义 85 6.3.2 字符数组的初始化与赋值 85 6.3.3 字符串和字符数组 86 6.3.4 字符数组的输入/输出 87 6.3.5 字符串处理函数 88 6.4 本章小结 92 6.5 习题 93 第7章 函数 97 7.1 函数概述 97 7.2 函数声明 100 7.3 函数定义和函数调用 101 7.3.1 函数定义 101 7.3.2 函数调用 102 7.3.3 参数传递 103 7.4 程序举例 106 7.5 函数的嵌套调用和递归调用 108 7.5.1 函数的嵌套调用 108 7.5.2 函数的递归调用 109 7.6 变量的作用域 112 7.6.1 局部变量 113 7.6.2 全局变量 114 7.7 变量的存储类别 116 7.8 本章小结 118 7.9 习题 118 第8章 指针 123 8.1 指针概述 123 8.2 访问变量的地址 124 8.3 指针变量的定义与运算 125 8.3.1 指针变量的定义 125 8.3.2 指针变量的初始化与赋值 126 8.3.3 通过指针访问变量 126 8.3.4 指针的运算 130 8.4 指针与一维数组 130 8.4.1 指针的偏移 130 8.4.2 数组名与指针的关系 131 8.4.3 指针法访问数组元素 134 8.5 指向指针的指针与指针数组 136 8.5.1 指向指针的指针 136 8.5.2 指针数组 138 8.6 指针与二维数组 141 8.6.1 指向二维数组元素的指针 141 8.6.2 二维数组名与指针 142 8.6.3 二维数组与指向一维数组的 指针变量 145 8.7 指针与字符串 146 8.8 指针兼容性 149 8.8.1 指针大小兼容 149 8.8.2 void指针 150 8.8.3 指针转换 151 8.9 指针与函数 152 8.9.1 指针作为实参 152 8.9.2 数组作为实参 154 8.9.3 指针型函数 156 8.9.4 函数指针变量 158 8.10 main函数的参数 159 8.11 本章小结 160 8.12 习题 160 第9章 编译预处理 165 9.1 概述 165 9.1.1 预处理器的工作方式 165 9.1.2 编译预处理命令 166 9.2 宏定义 166 9.2.1 不带参数的宏定义 167 9.2.2 带参数的宏定义 168 9.3 文件包含 169 9.4 条件编译 171 9.5 本章小结 172 9.6 习题 173 第10章 结构体、共用体与枚举类型 175 10.1 结构体 175 10.1.1 定义结构体类型 175 10.1.2 定义结构体变量 177 10.1.3 访问结构体成员 179 10.1.4 结构体变量的初始化 181 10.1.5 结构体嵌套 182 10.1.6 结构体数组 183 10.1.7 结构体指针变量 184 10.1.8 结构体与函数 187 10.2 共用体 190 10.2.1 定义共用体类型 190 10.2.2 定义共用体变量 190 10.2.3 访问共用体成员 192 10.2.4 共用体变量的赋值 192 10.2.5 共用体变量的初始化 192 10.2.6 共用体的应用 192 10.3 枚举类型 194 10.3.1 定义枚举类型 194 10.3.2 定义枚举类型变量 194 10.4 用typedef定义类型 195 10.5 本章小结 197 10.6 习题 197 第11章 文件管理 201 11.1 概述 201 11.2 文件的打开与关闭 202 11.2.1 文件指针 202 11.2.2 文本文件与二进制文件 203 11.2.3 文件的打开 203 11.2.4 文件的关闭 205 11.3 文件的读/写 206 11.3.1 fputc函数和fgetc函数 206 11.3.2 fread函数和fwrite函数 209 11.3.3 fscanf函数和fprintf函数 212 11.3.4 fgets函数和fputs函数 214 11.4 文件的定位 215 11.5 本章小结 218 11.6 习题 218 第12章 C语言高级程序设计 221 12.1 位运算 221 12.1.1 位运算符 222 12.1.2 按位与运算 222 12.1.3 按位或运算 223 12.1.4 按位异或运算 223 12.1.5 按位取反运算 224 12.1.6 左移运算符(<<) 224 12.1.7 右移运算符(>>) 225 12.1.8 程序举例 225 12.2 动态存储分配 226 12.2.1 malloc函数 227 12.2.2 calloc函数 229 12.2.3 realloc函数 230 12.2.4 free函数 230 12.3 链表 231 12.3.1 链表概述 231 12.3.2 单向链表的构造 234 12.3.3 单向链表的遍历 236 12.3.4 查找数据项 238 12.3.5 插入节点 239 12.3.6 删除节点 241 12.3.7 清空链表 242 12.4 本章小结 250 12.5 习题 250 第13章 C语言程序设计实验指导 253 实验一 C语言程序开发环境和C语言 程序基本结构 253 实验二 C语言程序设计基础 264 实验三 输入与输出 269 实验四 选择结构程序设计 275 实验五 循环结构程序设计 285 实验六 数组 292 实验七 函数 299 实验八 指针 306 实验九 编译预处理 316 实验十 结构体、共用体与枚举类型 322 实验十一 文件管理 329 实验十二 C语言高级程序设计 334 参考文献 341 附录A 部分ASCII码表 343 附录B C语言的部分关键字 345 附录C 运算符的优先级和结合性 347
|
內容試閱:
|
欢迎学习C语言!C语言作为一种语法清晰、功能强大、应用广泛的高级语言,长期以来被国内外高校定为程序设计的必修课。可以说掌握了C语言,就很容易掌握其他编程语言,如Java、Python、C 、C#、PHP等。但是很多初学者对学习C语言感到无从下手,究竟该怎样学习C语言?编者认为拥有一本合适的C语言教程是C语言入门的关键。 《C语言程序设计(第三版)》专为高等院校本科和专科相关专业的学生、软件开发人员和IT行业的专业人士而编写,具有如下特色: (1) 《C语言程序设计(第三版)》由编者根据多年的教学经验编写而成,将C语言的知识体系做了精心编排。知识点涵盖了数据类型与表达式、流程控制、数组、函数、指针、编译预处理、结构体和文件等。授课教师可根据学生的情况对知识点进行调整或取舍。 (2) 每一章精心挑选具有代表性的例题,例题全部在Visual C 6.0环境下调试通过。 (3) 根据每章知识点精选了课后习题,读者应尽量独立完成课后习题,这对检验和巩固知识点大有益处。 (4) 《C语言程序设计(第三版)》以C89/C90标准为主线,兼顾C99和C11标准。为保证教材质量,编者查阅了大量的文献,研读了所有的C语言标准,尽量保证描述的准确性。 (5) 《C语言程序设计(第三版)》的实验指导章节是《C语言程序设计(第三版)》的特色,以成果导向教育(OBE)为理念,每个实验都设置了很多具体的实验任务,读者应尽可能完成所有实验任务,从而保证学习成果的达成度。 《C语言程序设计(第三版)》内容共分为13章,北华大学刘柏生老师编写了第1~6章,吉林工程技术师范学院刘国成老师编写了第7~11章,吉林工程技术师范学院倪丹老师编写了第12~13章。全书由刘国成老师统稿。 《C语言程序设计(第三版)》的出版得到了清华大学出版社相关同志的热切关心和大力支持。许多老师和读者也对《C语言程序设计(第三版)》的编写提出了诸多宝贵建议和修改意见,在此我们一并表示由衷的感谢。 由于编者水平有限,书中错误和不当之处在所难免,恳请读者批评指正。我们的邮箱是huchenhao@263.net,电话是010-62796045。 《C语言程序设计(第三版)》配套的电子课件、实例源文件、习题答案可以通过http://www.tupwk.com.cn/downpage网站下载,也可以通过扫描下方的二维码下载。 编 者 2020年10月
|
|