C程序设计.pdf

C程序设计.pdf
 

书籍描述

编辑推荐
《C程序设计(第4版)》特色:
保持了《C程序设计》前三版的写作风格和概念清晰、通俗易懂的特点,为更切合当前需要,在以下几个方面作了改进:
按照C99标准进行介绍,以适应c语言的发展,使程序更加规范。
采用Visualc++6.0作为编译和运行环境。
加强算法,以程序设计为中心把算法与语言工具紧密结合。
更加通俗易懂,容易学习。
根据当前需要适当调整教材内容。
全国高校出版社优秀畅销书特等奖

作者简介
谭浩强,教授,我国著名计算机教育专家,1934年生1958年清华大学毕业学生时代曾担任清华大学学生会主席、北京市人民代表他是我国计算机普及和高校计算机基础教育开拓者之一,现任全国高等院校计算机基础教育研究会荣誉会长、教育部全国计算机应用技术证书考试委员会主任委员。
谭浩强教授创造了3个世界纪录:(1)20年来他(及和他人合作)共编著出版了140本计算机著作,此外主编了300多本计算机书籍,是出版科技著作数量最多的人。(2)他编著和主编的书发行量超过5000万册,是读者最多的科技作家我国平均每26人、知识分子每1.2人就拥有1本谭浩强教授编著的书(3)他和别人合作编著的《BASIC语言》发行了1250万册,创科技书籍发行量的世界纪录,此外,他编著的《C程序设计》发行了1100万册:他曾在中央电视台主讲了BASIC,FORTRAN,COBOL,Pascal,QBASIC,C,Visual Basic七种计算机语言,观众超过500万人。
在我国学习计算机的人中很少有不知道谭浩强教授的..他善于用容易理解的方法和语言说明复杂的概念许多人认为他开创了计算机书籍贴近大众的新风,为我国的计算机普及事业做出了重要的贡献。
谭浩强教授曾获全国高校教学成果国家级奖、国家科技进步奖,以及北京市政府授予的“有突出贡献专家”称号。《计算机世界》报组织的“世纪评选”把他评为我国“20世纪最有影响的IT人物”10个人之一(排在第2位),他的功绩是把千百万群众带入计算机的大门。

目录
第1章 程序设计和C语言
1.1 什么是计算机程序
1.2 什么是计算机语言
1.3 C语言的发展及其特点
1.4 最简单的C语言程序
1.4.1 最简单的C语言程序举例
1.4.2 C语言程序的结构
1.5 运行C程序的步骤与方法
1.6 程序设计的任务
习题

第2章 算法——程序的灵魂
2.1 什么是算法
2.2 简单的算法举例
2.3 算法的特性
2.4 怎样表示一个算法
2.4.1 用自然语言表示算法
2.4.2 用流程图表示算法
2.4.3 三种基本结构和改进的流程图
2.4.4 用NS流程图表示算法
2.4.5 用伪代码表示算法
2.4.6 用计算机语言表示算法
2.5 结构化程序设计方法
习题

第3章 最简单的C程序设计——顺序程序设计
3.1 顺序程序设计举例
3.2 数据的表现形式及其运算
3.2.1 常量和变量
3.2.2 数据类型
3.2.3 整型数据
3.2.4 字符型数据
3.2.5 浮点型数据
3.2.6 怎样确定常量的类型
3.2.7 运算符和表达式
3.3 C语句
3.3.1 C语句的作用和分类
3.3.2 最基本的语句——赋值语句
3.4 数据的输入输出
3.4.1 输入输出举例
3.4.2 有关数据输入输出的概念
3.4.3 用printf函数输出数据
3.4.4 用scanf函数输入数据
3.4.5 字符数据的输入输出
习题

第4章 选择结构程序设计
4.1 选择结构和条件判断
4.2 用if语句实现选择结构
4.2.1 用if语句处理选择结构举例
4.2.2 if语句的一般形式
4.3 关系运算符和关系表达式
4.3.1 关系运算符及其优先次序
4.3.2 关系表达式
4.4 逻辑运算符和逻辑表达式
4.4.1 逻辑运算符及其优先次序
4.4.2 逻辑表达式
4.4.3 逻辑型变量
4.5 条件运算符和条件表达式
4.6 选择结构的嵌套
4.7 用switch语句实现多分支选择结构
4.8 选择结构程序综合举例
习题

第5章 循环结构程序设计
5.1 为什么需要循环控制
5.2 用while语句实现循环
5.3 用do…while语句实现循环
5.4 用for语句实现循环
5.5 循环的嵌套
5.6 几种循环的比较
5.7 改变循环执行的状态
5.7.1 用break语句提前终止循环
5.7.2 用continue语句提前结束本次循环
5.7.3 break语句和continue语句的区别
5.8 循环程序举例
习题

第6章 利用数组处理批量数据
6.1 怎样定义和引用一维数组
6.1.1 怎样定义一维数组
6.1.2 怎样引用一维数组元素
6.1.3 一维数组的初始化
6.1.4 一维数组程序举例
6.2 怎样定义和引用二维数组
6.2.1 怎样定义二维数组
6.2.2 怎样引用二维数组的元素
6.2.3 二维数组的初始化
6.2.4 二维数组程序举例
6.3 字符数组
6.3.1 怎样定义字符数组
6.3.2 字符数组的初始化
6.3.3 怎样引用字符数组中的元素
6.3.4 字符串和字符串结束标志
6.3.5 字符数组的输入输出
6.3.6 使用字符串处理函数
6.3.7 字符数组应用举例
习题

第7章 用函数实现模块化程序设计
7.1 为什么要用函数
7.2 怎样定义函数
7.2.1 为什么要定义函数
7.2.2 定义函数的方法
7.3 调用函数
7.3.1 函数调用的形式
7.3.2 函数调用时的数据传递
7.3.3 函数调用的过程
7.3.4 函数的返回值
7.4 对被调用函数的声明和函数原型
7.5 函数的嵌套调用
7.6 函数的递归调用
7.7 数组作为函数参数
7.7.1 数组元素作函数实参
7.7.2 数组名作函数参数
7.7.3 多维数组名作函数参数
7.8 局部变量和全局变量
7.8.1 局部变量
7.8.2 全局变量
7.9 变量的存储方式和生存期
7.9.1 动态存储方式与静态存储方式
7.9.2 局部变量的存储类别
7.9.3 全局变量的存储类别
7.9.4 存储类别小结
7.10 关于变量的声明和定义
7.11 内部函数和外部函数
7.11.1 内部函数
7.11.2 外部函数
习题

第8章 善于利用指针
8.1 指针是什么
8.2 指针变量
8.2.1 使用指针变量的例子
8.2.2 怎样定义指针变量
8.2.3 怎样引用指针变量
8.2.4 指针变量作为函数参数
8.3 通过指针引用数组
8.3.1 数组元素的指针
8.3.2 在引用数组元素时指针的运算
8.3.3 通过指针引用数组元素
8.3.4 用数组名作函数参数
8.3.5 通过指针引用多维数组
8.4 通过指针引用字符串
8.4.1 字符串的引用方式
8.4.2 字符指针作函数参数
8.4.3 使用字符指针变量和字符数组的比较
8.5 指向函数的指针
8.5.1 什么是函数指针
8.5.2 用函数指针变量调用函数
8.5.3 怎样定义和使用指向函数的指针变量
8.5.4 用指向函数的指针作函数参数
8.6 返回指针值的函数
8.7 指针数组和多重指针
8.7.1 什么是指针数组
8.7.2 指向指针数据的指针
8.7.3 指针数组作main函数的形参
8.8 动态内存分配与指向它的指针变量
8.8.1 什么是内存的动态分配
8.8.2 怎样建立内存的动态分配
8.8.3 void指针类型
8.9 有关指针的小结
习题

第9章 用户自己建立数据类型
9.1 定义和使用结构体变量
9.1.1 自己建立结构体类型
9.1.2 定义结构体类型变量
9.1.3 结构体变量的初始化和引用
9.2 使用结构体数组
9.2.1 定义结构体数组
9.2.2 结构体数组的应用举例
9.3 结构体指针
9.3.1 指向结构体变量的指针
9.3.2 指向结构体数组的指针
9.3.3 用结构体变量和结构体变量的指针作函数参数
9.4 用指针处理链表
9.4.1 什么是链表
9.4.2 建立简单的静态链表
9.4.3 建立动态链表
9.4.4 输出链表
9.5 共用体类型
9.5.1 什么是共用体类型
9.5.2 引用共用体变量的方式
9.5.3 共用体类型数据的特点
9.6 使用枚举类型
9.7 用typedef声明新类型名
习题

第10章 对文件的输入输出
10.1 C文件的有关基本知识
10.1.1 什么是文件
10.1.2 文件名
10.1.3 文件的分类
10.1.4 文件缓冲区
10.1.5 文件类型指针
10.2 打开与关闭文件
10.2.1 用fopen函数打开数据文件
10.2.2 用fclose函数关闭数据文件
10.3 顺序读写数据文件
10.3.1 怎样向文件读写字符
10.3.2 怎样向文件读写一个字符串
10.3.3 用格式化的方式读写文件
10.3.4 用二进制方式向文件读写一组数据
10.4 随机读写数据文件
10.4.1 文件位置标记及其定位
10.4.2 随机读写
10.5 文件读写的出错检测
习题

第11章 常见错误分析355附录
附录A 在VisualC++6.0环境下运行C程序的方法
附录B 常用字符与ASCII代码对照表
附录C C语言中的关键字
附录D 运算符和结合性
附录E C语言常用语法提要
附录F C库函数
参考文献

序言
从20世纪70年代末、80年代初开始,我国的高等院校开始面向各个专业的全体大学生开展计算机教育。面向非计算机专业学生的计算机基础教育,牵涉的专业面广、人数众多,影响深远,它将直接影响我国各行各业、各个领域中计算机应用的发展水平。这是一项意义重大而且大有可为的工作,应该引起各方面的充分重视。
20多年来,全国高等院校计算机基础教育研究会和全国高校从事计算机基础教育的老师始终不渝地在这片未被开垦的土地上辛勤工作,深入探索,努力开拓,积累了丰富的经验,初步形成了一套行之有效的课程体系和教学理念。20年来高等院校计算机基础教育的发展经历了3个阶段:20世纪80年代是初创阶段,带有扫盲的性质,多数学校只开设一门入门课程;20世纪90年代是规范阶段,在全国范围内形成了按3个层次进行教学的课程体系,教学的广度和深度都有所发展;进入21世纪,开始了深化提高的第3阶段,需要在原有基础上再上一个新台阶。
在计算机基础教育的新阶段,要充分认识到计算机基础教育面临的挑战。
(1)在世界范围内信息技术以空前的速度迅猛发展,新的技术和新的方法层出不穷,要求高等院校计算机基础教育必须跟上信息技术发展的潮流,大力更新教学内容,用信息技术的新成就武装当今的大学生。
(2)我国国民经济现在处于持续快速稳定发展阶段,需要大力发展信息产业,加快经济与社会信息化的进程,这就迫切需要大批既熟悉本领域业务,又能熟练使用计算机,并能将信息技术应用于本领域的新型专门人才。因此需要大力提高高校计算机基础教育的水平,培养出数以百万计的计算机应用人才。
(3)21世纪,信息技术教育在我国中小学中全面开展,计算机教育的起点从大学下移到中小学。水涨船高,这样也为提高大学的计算机教育水平创造了十分有利的条件。
迎接21世纪的挑战,大力提高我国高等学校计算机基础教育的水平,培养出符合信息时代要求的人才,已成为广大计算机教育工作者的神圣使命和光荣职责。全国高等院校计算机基础教育研究会和清华大学出版社于2002年联合成立了“中国高等院校计算机基础教育改革课题研究组”,集中了一批长期在高校计算机基础教育领域从事教学和研究的专家、教授,经过深入调查研究,广泛征求意见,反复讨论修改,提出了高校计算机基础教育改革思路和课程方案,并于2004年7月发布了《中国高等院校计算机基础教育课程体系2004》(简称CFC2004)。国内知名专家和从事计算机基础教育工作的广大教师一致认为CFC2004提出了一个既体现先进性又切合实际的思路和解决方案,该研究成果具有开创性、针对性、前瞻性和可操作性,对发展我国高等院校的计算机基础教育具有重要的指导作用。

文摘
插图:

C程序设计

如果只是编写和运行一个很简单的程序,上面介绍的步骤就够了。但是实际上要处理的问题比上面见到的例子复杂得多,需要考虑和处理的问题也复杂得多。程序设计是指从确定任务到得到结果、写出文档的全过程。
从确定问题到最后完成任务,一般经历以下几个工作阶段:
(1)问题分析。对于接手的任务要进行认真的分析,研究所给定的条件,分析最后应达到的目标,找出解决问题的规律,选择解题的方法。在此过程中可以忽略一些次要的因素,使问题抽象化,例如用数学式子表示问题的内在特性。这就是建立模型。
(2)设计算法。即设计出解题的方法和具体步骤。例如要解一个方程式,就要选择用什么方法求解,并且把求解的每一个步骤清晰无误地写出来。一般用流程图来表示解题的步骤。
(3)编写程序。根据得到的算法,用一种高级语言编写出源程序。
(4)对源程序进行编辑、编译和连接,得到可执行程序。
(5)运行程序,分析结果。运行可执行程序,得到运行结果。能得到运行结果并不意味着程序正确,要对结果进行分析,看它是否合理。例如把“b=a;”错写为“a=b;”,程序不存在语法错误,能通过编译,但运行结果显然与预期不符。因此要对程序进行调试(debug)。调试的过程就是通过上机发现和排除程序中故障的过程。经过调试,得到了正确的结果,但是工作不应到此结束。不要只看到某一次结果是正确的,就认为程序没有问题。例如,求c-b/a,当a=4,b=2时,求出c的值为0.5,是正确的,但是当a-0,b-2时,就无法求出c的值。说明程序对某些数据能得到正确结果,对另外一些数据却得不到正确结果,程序还有漏洞,因此,还要对程序进行测试(test)。所谓测试,就是设计多组测试数据,检查程序对不同数据的运行情况,从中尽量发现程序中存在的漏洞,并修改程序,使之能适用于各种情况,作为商品提供使用的程序,是必须经过严格测试的。
在本书的配套书《C程序设计(第四版)学习辅导》中对程序的调试和测试做了进一步的说明,读者可以参考。
(6)编写程序文档。许多程序是提供给别人使用的,如同正式的产品应当提供产品说明书一样,正式提供给用户使用的程序,必须向用户提供程序说明书(也称为用户文档)。内容应包括:程序名称、程序功能、运行环境、程序的装入和启动、需要输入的数据,以及使用注意事项等。

内容简介
《C程序设计(第4版)》内容简介:从20世纪70年代末、80年代初开始,我国的高等院校开始面向各个专业的全体大学生开展计算机教育。面向非计算机专业学生的计算机基础教育,牵涉的专业面广、人数众多,影响深远,它将直接影响我国各行各业、各个领域中计算机应用的发展水平。这是一项意义重大而且大有可为的工作,应该引起各方面的充分重视。

购买书籍

当当网购书 京东购书 卓越购书

PDF电子书下载地址

相关书籍

搜索更多