定 价:29 元
丛书名:/upload/images/706/870/1297658706.jpg
- 作者:陈静、杨青、郑世珏
- 出版时间:2008/2/1
- ISBN:9787302167334
- 出 版 社:清华大学出版社
- 中图法分类:TP312
- 页码:
- 纸张:20
- 版次:1
- 开本:16开
- 字数:(单位:千字)
本书分为基础篇和实践篇。在基础篇中对C语言程序设计基础及算法的概念进行了概述,对基本数据类型、运算符与表达式,程序设计的控制结构以及数组、函数、指针、预处理命令、复杂数据类型、文件等进行了介绍与分析,并加入了面向对象的程序设计的相关知识。在实践篇中介绍了常用C语言的开发环境以及如何进行C语言中的基本数据类型、程序设计控制结构、数组、函数以及指针、文件等的实验编程。在基础篇的每一章都配有相应的思考练习题,在实践篇的每一章中都给出了实验习题和C语言中的常见错误分析。
通过对本书的学习,使读者不仅能快速、全面的掌握C语言程序设计的基本理论知识,还能以标准C为基本框架、以Visual C及Turbo C为背景,较全面的学习使用C语言进行程序设计的基本思想、方法和技术,为读者们进一步提高程序设计的能力奠定基础。
本书可以作为高等院校非计算机专业的高级语言程序设计及应用课程的教材,也可供从事计算机应用与信息技术的工程人员学习参考。
2009年2月2日更新课件
随着计算机技术的高速发展,计算机的应用已渗透到人们工作和生活的各个领域。越来越多的高等学校学生将高级程序设计语言作为自己学习专业知识的重要工具之一,因此,了解高级程序设计语言,具备应用高级程序设计语言进行编程的能力,成为高校学生迫切需要掌握的技术,也为大学计算机应用能力的教育提出新的要求。
C语言概念复杂,规则繁多,使用灵活,容易出错,对于初学者来说,并不容易掌握。目前大部分C语言程序设计教程主要面向高等学校计算机专业本科教学,而面向非计算机专业学生的,通俗易懂、深入浅出、以应用为目的,将理论与实验紧密相结合的相关教材却比较缺乏。
在对现有的高级语言程序设计图书调查后,编者根据2006年9月由教育部高等学校计算机科学与技术教学指导委员会编制的《关于进一步加强高等学校计算机基础教育的意见暨计算机基础课程教学基本要求(试行)》,特面向大学本科非计算机专业层次编写了本书。以非计算机专业高校学生为对象、以简单通用的表达方式为依托、以实践为出发点、强调实用性是本书的目标。
本书分为基础篇和实践篇。基础篇为第1~9章,对C语言程序设计基础及算法的概念进行了概述,对基本数据类型、运算符与表达式,程序设计的控制结构以及数组、函数、指针、预处理命令、复杂数据类型、文件等进行了介绍与分析,并加入了面向对象的程序设计的相关知识。实践篇为第10~12章,介绍了常用C语言的开发环境以及如何进行C语言中的基本数据类型、程序设计控制结构、数组、函数以及指针、文件等的实验编程。在基础篇的每一章都配有相应的思考练习题,在实践篇的每一章中都给出了实验习题和C语言中的常见错误分析。最重要的是,在实践篇中给出了一个整体的例子从而将C语言各部分理论知识与实践紧密的结合了起来。
本书共分12章。第1章对高级语言程序设计进行了简要的概述,介绍了程序设计语言的发展及其特点、C语言程序的基本组成、编制C语言程序的基本步骤、面向对象程序设计的基本思想和概念以及C++的基本概念等;第2章对C语言中最基础的基本数据类型、运算符与表达式进行了较详细的讨论;第3章介绍了所有程序设计语言中最重要的程序设计的控制结构,对C语言的顺序结构、选择结构和循环结构的设计和使用进行了详尽的论述;第4章讨论了C语言中数组的概念和应用;第5章主要介绍了函数的相关概念和应用;第6章介绍了C语言的“灵魂”——指针;第7章和第8章分别介绍了C语言中的预处理命令和复杂数据类型;第9章介绍了文件的概念;第10章对C语言上机开发环境进行了介绍,主要介绍了Visual C++ 6.0和Turbo C 2.0的使用;第11章给出了一个利用C语言进行通讯录设计的实例;第12章对前面各章节的理论知识进行了实验指导。本书每章都有学习重点、本章小结和思考与习题或实验题,以便读者复习和练习。同时还提供电子课件,供教与学不同对象使用。
本书第1章和第6章由杨青编写,第2章由马卫(中南民族大学)编写,第3章由阮芸星和陈静编写,第4章由张连发编写,第5章由刘巍编写,第7章和第8章由姚华雄编写,第9章由郑世珏编写,第10章由陆泉(武汉大学)编写,第11章由陈静编写,第12章由全昌勤、刘巍、姚华雄编写,参加编写和校对的还有乐俊、黄祖锋、王雪萍、黄宇颖、李俊薇、陈晓燕、郑振华、裴艳丽、李凯等研究生。全书由郑世珏、杨青、陈静统稿。
本书在编写过程中,得到了兄弟院校同仁的热情帮助和支持,得到了华中师范大学计算机科学系老师的关心和帮助,在此表示最诚挚的谢意。
目前,高级语言程序设计技术日新月异,由于编者水平有限,书中难免存在错误和不足之处,恳请读者批评指正。
基础篇1
第1章 高级语言程序设计概述2
1.1 程序设计语言的发展2
1.1.1 程序设计语言的简介2
1.1.2 常用的程序设计语言4
1.1.3 发展趋势5
1.2 高级语言编程基本步骤6
1.3 C语言概述6
1.3.1 C语言的发展6
1.3.2 C语言的特点7
1.3.3 C语言程序的结构8
1.4 面向对象程序设计的基本思想10
1.4.1 面向对象方法的产生10
1.4.2 类与对象的概念11
1.4.3 消息的概念11
1.4.4 面向对象程序设计的特点12
1.4.5 面向对象程序设计语言13
1.5 C++概述14
1.5.1 C++的特点14
1.5.2 Visual C++14
1.6 算法概述15
本章小结18
练习与思考19
第2章 基本数据类型、运算符与表达式20
2.1 C语言的数据类型20
2.1.1 C语言的数据类型简介20
2.1.2 常量与变量21
2.1.3 整型数据23
2.1.4 实型数据26
2.1.5 字符型数据和字符串常量27
2.2 变量赋初值30
2.3 各类数值型数据之间的混合运算30
2.4 C语言的运算符与表达式31
2.4.1 算术运算符与算术表达式32
2.4.2 强制类型转换符33
2.4.3 赋值运算符与赋值表达式34
2.4.4 自增自减运算符与负号运算符34
2.4.5 逗号运算符与逗号表达式35
2.4.6 位运算符与位运算表达式35
2.4.7 sizeof运算符与复合赋值运算符37
2.5 运算符的优先级和结合性38
本章小结38
练习与思考39
第3章 程序设计的控制结构41
3.1 顺序结构程序设计41
3.1.1 表达式语句42
3.1.2 基本的输入、输出42
3.1.3 顺序程序设计举例50
3.2 选择结构程序设计51
3.2.1 复合语句和空语句51
3.2.2 关系运算符、逻辑运算符与条件运算符52
3.2.3 选择结构的程序设计56
3.2.4 选择结构程序设计举例66
3.3 循环结构程序设计69
3.3.1 循环结构的程序设计70
3.3.2 循环结构类型的选择及转换80
3.3.3 循环的嵌套81
3.3.4 循环结构程序设计举例81
本章小结83
练习与思考84
第4章 数组88
4.1 一维数组88
4.1.1 一维数组的定义88
4.1.2 一维数组的引用90
4.1.3 一维数组元素的初始化91
4.1.4 一维数组和数组元素的地址93
4.1.5 一维数组作为实参94
4.1.6 一维数组的应用举例94
4.2 二维数组99
4.2.1 二维数组的定义99
4.2.2 二维数组的引用100
4.2.3 二维数组的初始化100
4.2.4 通过赋初值定义二维数组的大小101
4.2.5 二维数组和数组元素的地址102
4.2.6 二维数组的应用举例103
4.3 字符串与数组108
4.3.1 字符串的本质108
4.3.2 字符数组的定义、初始化和引用109
4.3.3 字符数组的输入和输出111
4.3.4 字符串数组114
4.3.5 字符串处理函数114
4.3.6 字符数组应用举例116
本章小结120
练习与思考120
第5章 函数127
5.1 函数概述127
5.1.1 函数的功能127
5.1.2 函数的分类128
5.2 函数的定义与调用128
5.2.1 无参数无返回值函数128
5.2.2 无参数有返回值函数130
5.2.3 有参数无返回值函数132
5.2.4 有参数有返回值函数134
5.3 函数参数传递135
5.3.1 值传递方式135
5.3.2 地址传递方式139
5.4 变量的作用域141
5.4.1 局部变量141
5.4.2 全局变量142
5.5 变量的存储类型144
5.5.1 自动变量auto145
5.5.2 寄存器变量register146
5.5.3 外部变量extern146
5.5.4 静态变量static148
5.6 函数的嵌套和递归调用149
5.6.1 函数的嵌套149
5.6.2 函数的递归调用152
5.7 函数应用综合举例154
本章小结156
练习与思考156
第6章 指针160
6.1 指针与地址160
6.2 指针变量的定义和引用161
6.2.1 指针变量的定义161
6.2.2 指针变量的初始化162
6.3 指针运算163
6.3.1 取地址运算163
6.3.2 对象访问运算163
6.3.3 指针移动运算165
6.3.4 对象距离运算166
6.3.5 指针赋值运算166
6.3.6 指针关系运算167
6.4 指针与数组167
6.4.1 指针与一维数组167
6.4.2 指针与二维数组171
6.5 指针与字符串174
6.6 指针作为函数的参数176
本章小结178
练习与思考178
第7章 预处理命令181
7.1 预处理命令简介181
7.2 宏定义182
7.2.1 不带参数的宏定义182
7.2.2 带参数的宏定义186
7.3 文件包含191
7.4 条件编译192
本章小结195
练习与思考196
第8章 复杂数据类型198
8.1 复杂数据类型概述198
8.2 结构体198
8.2.1 结构体类型的定义199
8.2.2 结构体变量的定义和引用200
8.2.3 结构体变量的赋值203
8.2.4 简化结构体类型名206
8.2.5 结构体数组207
8.3 联合体210
8.3.1 联合体类型的定义211
8.3.2 联合体变量的定义和引用211
8.3.3 联合体变量的赋值212
8.4 枚举类型变量的定义和引用214
8.5 复杂数据类型应用综合举例217
本章小结219
练习与思考220
第9章 文件222
9.1 文件的基本概念222
9.2 文件的类别223
9.3 文件类型指针225
9.4 文件的打开与关闭226
9.4.1 fopen函数226
9.4.2 fclose函数227
9.5 文件的读写228
9.5.1 fputc函数和fgetc函数228
9.5.2 fread函数和fwrite函数232
9.5.3 fprintf函数和fscanf函数236
9.5.4 其他读写函数237
9.5.5 文件读写函数选用原则238
9.6 文件的定位239
9.6.1 rewind函数239
9.6.2 fseek函数和随机读写239
9.6.3 ftell函数240
9.6.4 出错的检测ferror函数和clearerr函数242
9.7 文件的输入与输出一览表243
本章小结243
练习与思考243
实践篇247
第10章 C语言上机开发环境介绍248
10.1 Visual C++ 6.0的开发环境248
10.1.1 启动Visual C++ 6.0环境248
10.1.2 建立或打开源程序文件250
10.1.3 程序的编辑、编译、链接与运行252
10.1.4 程序的调试方法254
10.1.5 建立工程255
10.1.6 向已有的工程中加入新文件257
10.2 Turbo C 2.0的开发环境258
10.2.1 Turbo C 2.0的启动258
10.2.2 Turbo C 2.0 编辑器的使用260
10.2.3 程序的编译、连接与运行261
10.2.4 程序的调试方法263
第11章 C语言程序实例——通讯录管理系统的编程与实验264
11.1 相关基础知识264
11.2 设计目标264
11.3 设计内容265
11.4 程序的各子功能实现266
第12章 实验指导277
12.1 实验一:程序设计控制结构编程实验277
12.1.1 顺序结构程序设计实验277
12.1.2 选择结构程序设计实验278
12.1.3 循环结构程序设计实验279
12.1.4 常见错误分析280
12.2 实验二:数组编程实验283
12.2.1 一维及二维数组的定义、赋值和输入输出实现283
12.2.2 字符数组和字符串函数的使用284
12.2.3 常见错误分析284
12.3 实验三:函数编程实验286
12.3.1 自定义函数的实现286
12.3.2 “值传递”方式与“地址传递”方式的实现与比较287
12.3.3 函数的嵌套和递归调用288
12.3.4 常见错误举例289
12.4 实验四:指针编程实验292
12.4.1 指针的定义和使用292
12.4.2 常见错误分析293
12.5 实验五:预处理命令实验296
12.5.1 宏定义的实现296
12.5.2 文件包含处理的方法297
12.5.3 常见错误分析297
12.6 实验六:复杂数据类型实验299
12.6.1 结构体变量的定义和使用实验299
12.6.2 联合体变量的定义和使用实验299
12.6.3 枚举型变量的定义和使用实验300
12.6.4 常见错误分析300
12.7 实验七:文件实验303
附录1 常用字符与ASCII代码对照表304
附录2 C语言中的关键字305
附录3 运算符优先级和结合性306
附录4 C库函数307
参考文献311