计算机类专业教育 > 程序设计类

C语言程序设计

书号:9787113140991 套系名称:高等学校计算机类课程应用型人才培养规划教材

作者:李晓东 庞岩梅 娄嘉鹏 谭思哲 出版日期:2012-01-01

定价:30.00 页码 / 开本:276 /16

策划编辑:严晓舟 焦金生 责任编辑:周海燕 冯彩茹

适用专业:无 适用层次:高等院,高职高专

最新印刷时间:

资源下载
教学课件 教学素材(暂无)
习题答案(暂无) 教学案例
教学设计(暂无) 教学视频(暂无)
内容简介 前言 目录 作者介绍 图书特色
  •         本书由“入门篇、初级篇、中级篇、提高篇、综合篇”5部分组成:入门篇是本书的先导部分,让读者了解计算的机器、高级语言、C语言的历史和特点等;初级篇是让读者掌握简单问题的C语言编程,学会把C语言和已有的知识和想法建立关联,对于简单问题能由想法写出代码;中级篇是让读者掌握复杂问题的C语言编程,学会通过算法解决问题,对于复杂的问题能由想法获得算法,再由算法写出代码;提高篇是让读者掌握如何写出高质量的代码,前面各篇立足于能编出代码解决问题即可,本篇则让读者学会编写高质量的代码,在C语言编程上产生由量到质的提升;综合篇是让读者掌握应用领域编程及实用工具的开发过程。本书中以星号(*)开头的节为知识点的详细讲解,供读者编程实践时参考。

            本书适合为应用型高等学校电气信息类专业学习C语言程序设计的教材,高职高专院校可酌情选为相关专业的教材,本书也适于作为C语言爱好者的自学用书。
  •         现有的《C语言程序设计》教科书通常都是围绕知识点进行讲解,结果过分地强调了知识细节,学生记忆了大量的知识细节,学习结束后却不会编程。本书的出发点在于围绕问题的解决讲解C语言编程。C语言是为解决问题而诞生的,它是一种出色的解决问题的工具,并经历了长期的实践检验。把握一个工具最好的途径是去体会它为什么能出色地解决问题。例如,当我们在使用一把特殊钳子时体会到它的妙处,马上就会认为好的钳子就应该是这样的。这时,不用记忆,我们也会把握钳子的使用要领,甚至加以发挥。因此,越好的语言越容易掌握,因为它正是用来方便我们解决问题的。本书围绕问题解决讲解C语言编程,让学生在问题解决中感性切入并逐步提升,而不是在C语言的知识细节中徘徊。

            本书具有以下特点:
            (1)框架完整,知识细节不要求必须记忆,但要求掌握如何探索知识细节。

            (2)按照问题解决的需要分多个层次逐步讲解C语言编程,依次为:能够由解决问题的想法映射到代码,能够由解决问题的想法到算法再到最终的代码,能够写出高质量的代码,能够进行应用领域编程,以及能够进行简单实用工具的开发。实际应用中大多数的编程属于简单编程,这就是说我们只要学会由解决问题的想法到程序代码的映射,已能够解决大多数的实际应用问题。

            (3)注意与其他课程的衔接。本书针对学生以后学习数据结构、面向对象编程、嵌入式开发编程、图形界面编程、软件工程等课程进行了铺垫和延伸,有助于学生过渡到后续课程的学习。

            (4)本书在附录中特意提供了针对遇到什么问题应参考书籍的指南。

            本书的内容分为入门篇、初级篇、中级篇、提高篇、综合篇,各篇的划分总体体现了入门、简单、复杂、深化、综合的线索。入门篇是本书的先导部分,让学生了解计算的机器、高级语言、C语言的历史和特点等;初级篇是让学生掌握简单问题的C语言编程,学会把C语言和已有的知识和想法建立关联,对于简单问题能由想法写出代码;中级篇是让学生掌握复杂问题的C语言编程,学会通过算法解决问题,对于复杂的问题能由想法获得算法,再由算法写出代码;提高篇是让学生掌握如何写出高质量的代码,前面各篇立足于能编出代码解决问题即可,本篇则让学生学会如何编写高质量的代码,在C语言编程上产生由量到质的提升;综合篇是让学生掌握如何进行应用领域编程及实用工具的开发过程。

            本书的第1章和第3章以及第2章和第6章的部分由李晓东编写,第4章和第5章以及第2章的部分由庞岩梅编写,第7章~第9章由娄嘉鹏编写,第6章的部分由谭思哲编写。徐小青、章小莉、张晓昆、刘瑾、谢绒娜在本书的编写过程中提出了许多宝贵的建议,史九林教授审阅了全书,在此一并表示感谢。

            由于时间仓促,加之编者水平有限,书中难免存在不足和疏漏之处,恳请广大读者批评指正。

    编  者 
    2011年9月
     

  • 第一篇  入  门  篇
    第1章  高级语言简介 3
    1.1  计算的机器 3
    1.2  如何与机器交流 4
    1.3  C语言简介 5
    1.3.1  C语言的历史 5
    1.3.2  C语言的特点 6
    本章小结 7
    习题 7
    第二篇  初  级  篇
    第2章  基本编程 11
    2.1  C语言实例演示 13
    2.2  熟悉C语言开发环境 18
    2.2.1  C语言程序编制简单流程 18
    2.2.2  开发环境的建立 18
    2.2.3  自动生成Hello World! C语言代码 19
    2.2.4  编译和连接程序 24
    2.2.5  运行程序显示hello world! 25
    2.2.6  改变程序的显示内容 25
    2.2.7  让非自动生成的C语言代码可以直接运行 26
    2.3  读懂一个C语言程序 26
    2.4  编一个程序输出一段文字 28
    2.4.1  输出一行字符 28
    2.4.2  输出多行字符 28
    2.4.3  ASCII码 29
    2.4.4  语句的概念 29
    2.4.5  如何调用外部函数 30
    *2.4.6  printf()函数的使用 30
    2.5  编一个程序完成密码算法中的回归 32
    2.5.1  C语言代码 32
    2.5.2  变量声明及初始化 33
    2.5.3  如何在C语言中做判断 34
    2.5.4  判断的嵌套 35
    2.5.5  如何输出数据 35
    *2.5.6  关键字 36
    *2.5.7  用户自定义标识符定义规则 37
    *2.5.8  基本数据类型 37
    *2.5.9  判断(分支)结构 41
    2.6  编一个程序进行求模运算 43
    2.6.1  C语言代码 43
    2.6.2  让C语言执行运算 43
    2.6.3  表达式的概念 46
    *2.6.4  表达式的运算规则 46
    2.7  编一个程序进行字符串的加密 48
    2.7.1  C语言代码 48
    2.7.2  循环的概念 48
    2.7.3  循环的嵌套 48
    *2.7.4  数组类型 49
    *2.7.5  循环结构 49
    2.8  编一个程序对键盘输入的字符串进行加密 51
    2.8.1  C语言代码 51
    2.8.2  输入数据的方法 51
    2.8.3  与用户交互 52
    2.8.4  scanf()函数的使用 53
    2.9  调试 56
    2.9.1  模拟计算机执行 56
    2.9.2  常见的简单错误 57
    2.10  由想法映射到代码 58
    本章小结 62
    习题 63
    第三篇  中  级  篇
    第3章  算法设计 67
    3.1  编写一个判断任意给定数是否为素数的程序 68
    3.1.1  思路和步骤 68
    3.1.2  C语言代码 69
    3.2  算法的概念 71
    3.2.1  什么是算法 71
    3.2.2  算法的描述 72
    *3.3  算法的结构 75
    3.3.1  算法的基本执行结构 75
    3.3.2  逐步求精 77
    3.4  算法的数据组织 79
    3.4.1  数组 80
    3.4.2  多维数组 81
    3.4.3  结构体 82
    3.4.4  指针 83
    3.4.5  链表 84
    3.4.6  树和图 85
    3.4.7  数据类型的扩展机制 85
    3.4.8  利用数据组织获得好的算法 86
    3.5  典型算法整理 86
    3.5.1  求累加和 86
    3.5.2  求累乘积 86
    3.5.3  求阶乘 87
    3.5.4  查找 87
    3.5.5  排序 88
    3.5.6  进制转换 91
    3.5.7  求最大公约数及最小公倍数 92
    3.5.8  数值求解 94
    本章小结 95
    习题 95
    第4章  算法实现 97
    4.1  常用的数据组织形式 98
    4.1.1  数据类型扩展 98
    4.1.2  数组及其使用 98
    4.1.3  结构体及其使用 106
    4.1.4  指针及其使用 110
    4.1.5  链表及其使用 113
    4.1.6  枚举类型 118
    *4.1.7  复合数据类型小结 119
    4.2  由算法到代码 125
    4.2.1  顺序结构 125
    4.2.2  选择结构 126
    4.2.3  循环结构 129
    4.3  调试方法 133
    4.3.1  结构化调试 133
    4.3.2  自底向上调试 133
    4.3.3  自顶向下调试 133
    4.3.4  VC环境下的调试机制 133
    4.3.5  程序调试的常用技巧和调试中问题的解决 134
    本章小结 134
    习题 134
    第5章  文件的使用——数据持久存储 136
    5.1  文件的分类 137
    5.2  文件的处理 137
    5.2.1  文件的打开 137
    5.2.2  文件的关闭 139
    5.2.3  文件的读取 140
    5.2.4  文件的写入 141
    5.2.5  文件结束的判断 144
    5.2.6  文件的其他操作 145
    5.3  使用配置文件 146
    *5.4  文件访问的常用函数 148
    本章小节 149
    习题 149
    第四篇  提  高  篇
    第6章  代码质量 153
    6.1  模块化 154
    6.1.1  变量的作用范围 154
    6.1.2  服务的概念与函数的使用 156
    6.1.3  多个文件模块 158
    *6.1.4  局部变量、全局变量和静态变量 159
    *6.1.5  C语言函数的使用 164
    6.2  编程风格 176
    6.2.1  代码格式 176
    6.2.2  注释的使用 178
    6.2.3  宏的使用 179
    6.2.4  其他 180
    *6.2.5  宏的具体用法 182
    6.3  提高代码可靠性 186
    6.3.1  常量的定义和使用 186
    6.3.2  异常情况的判断和处理 187
    6.3.3  代码测试方法 188
    *6.3.4  常量的使用 189
    6.4  友好的界面 190
    6.4.1  友好界面的要素 190
    6.4.2  菜单的使用 190
    6.4.3  命令行界面的使用 191
    6.5  性能提高 192
    6.5.1  性能的分析 192
    6.5.2  循环次数的估计 193
    6.5.3  性能的提高方法 194
    *6.5.4  break、continue、return和exit的灵活使用 194
    6.5.5  内存资源的动态申请和释放 196
    *6.5.6  内存资源管理函数的使用 198
    本章小结 200
    习题 201
    第五篇  综  合  篇 
    第7章  应用领域编程 205
    7.1  应用接口的调用 206
    7.2  网络开发包的调用实例 216
    7.3  图形应用代码编写 221
    本章小结 228
    习题 228
    第8章  深入C语言的应用 229
    8.1  C语言的标准化过程 230
    8.2  面向对象思想到C++ 231
    8.3  图形用户界面 235
    8.4  嵌入式环境的C语言 243
    8.5  混合编程 245
    本章小结 246
    习题 246
    第9章  应用程序的开发 247
    9.1  代码与应用程序的区别 247
    9.2  软件过程 248
    9.3  一个应用程序的开发实例 249
    本章小结 256
    习题 256
    附录 257
    附录A  ASCII码表 257
    附录B  C语言关键字 258
    附录C  C语言常用语法表 259
    附录D  C语言常用函数表 265
    附录E  编程参考书推荐 269
    附录F  C语言常见调试错误 270
    参考文献 271
  • 李晓东,北京电子科技学院