基本信息·出版社:清华大学出版社 ·页码:307 页 ·出版日期:2009年10月 ·ISBN:7302206376/9787302206378 ·条形码:9787302206378 ·版本:第1版 · ...
商家名称 |
信用等级 |
购买信息 |
订购本书 |
|
 |
C语言程序设计教程 |
 |
|
 |
C语言程序设计教程 |
 |

基本信息·出版社:清华大学出版社
·页码:307 页
·出版日期:2009年10月
·ISBN:7302206376/9787302206378
·条形码:9787302206378
·版本:第1版
·装帧:平装
·开本:16
·正文语种:中文
·丛书名:普通高等教育“十一五”国家级规划教材
内容简介 《C语言程序设计教程》是从结构化程序设计的角度来编写的,各章节结构紧凑,前后衔接紧密。在内容上,改变传统C程序设计图书中各控制流程占据过多篇幅而不能突出结构化、模块化程序设计的安排,将“控制流程”的语法内容集中在一个章节中,而将各种“控制流程”的应用在随后章节中体现。为了能够强化结构化程序设计方法,《C语言程序设计教程》以较大篇幅介绍“函数”,并在每个实例中分析其功能模块的结构设计。“指针”是C语言功能强大的体现,也是教学中的难点,为了使读者更好地理解“指针”的概念,书中着重分析了指针与“数组”、函数以及字符串的关系。此外,为了设计优良的程序,也将数据结构的概念在“结构体”这一章中体现,并介绍简单数据结构及应用,为不同专业的学生后续学习打下良好的基础。书中各章还附有习题。
《C语言程序设计教程》主要针对高等院校建筑类专业的学生编写,在实例中体现了其专业的应用领域特色。
编辑推荐 《C语言程序设计教程》特点:《C语言程序设计教程》从程序设计方法、结构化程序设计的角度编写。书中各章节的内容力争做到结构紧凑、前后衔接紧密。在内容编排上,改变了传统C程序设计书籍中因各控制流程占据过多篇幅而不能突出结构化、模块化程序设计的缺点,将控制流程的语法内容集中在一个章节中,而将各种控制流程的应用在随后其他章节中体现。为了能够强化结构化程序设计方法,《C语言程序设计教程》将以较大篇幅介绍函数,并在每个实例中分析其功能模块的结构设计。指针是c语言功能强大的体现,也是教学中的难点,为了使读者更好地理解指针的概念,书中着重分析了指针与数组、函数以及字符串的关系。此外,为了设计优良的程序,也将数据结构的概念在结构体这一章中体现,并介绍简单数据结构及应用,为不同专业的学生后续的学习打下良好的基础。书中还编写了有关“预编译命令”以及“输入与输出”的相关内容。
配套资源
《C语言程序设计教程》可免费提供相关教学素材的网络下载。
下载网址:http://www.tup.tsinghua.edu.cn/或http://www.tup.com.cn/
如若下载困难,请填写书后的读者意见反馈表,注明索取配套资源光盘。
21世纪计算机科学与技术实践型教程
目录 第1章 C语言概述
1.1 C语言的发展过程
1.1.1 C语言的地位
1.1.2 C语言的特点
1.2 编写一个简单C语言程序
1.2.1 C语言程序运行步骤
1.2.2 C语言程序编译环境
习题
第2章 数据类型及基本输入输出
2.1 基本数据类型
2.2 标识符
2.3 常量
2.3.1 数值常量
2.3.2 标识符常量
2.4 变量
2.4.1 变量的定义
2.4.2 变量类型及存储单元
2.4.3 变量的初始化
2.5 数据类型的混合运算
2.5.1 自动类型转换规则
2.5.2 强制类型转换
2.6 算术运算符与算术表达式
2.6.1 C语言的运算符
2.6.2 基本的算术运算符
2.6.3 算术表达式
2.6.4 算术运算符的优先级.结合性
2.6.5 自增.自减运算符
2.7 赋值运算符与赋值表达式
2.7.1 基本赋值运算符
2.7.2 复合赋值运算符
2.7.3 类型转换
2.8 逗号运算符与逗号表达式
2.8.1 逗号运算符
2.8.2 逗号表达式
2.9 基本输入输出函数
2.9.1 数据输入输出的概念及在C语言中的实现
2.9.2 字符数据的输入输出
2.9.3 格式输入输出
习题
第3章 控制流程
3.1 算法
3.1.1 算法概述
3.1.2 算法的特性
3.1.3 算法的表示方法
3.1.4 流程图
3.1.5 三种基本结构和改进的流程图
3.1.6 N-S流程图
3.2 顺序结构程序设计
3.2.1 表达式语句
3.2.2 函数调用语句
3.2.3 控制语句
3.2.4 复合语句
3.2.5 空语句
3.3 选择结构程序设计
3.3.1 关系运算符及关系表达式
3.3.2 逻辑运算符及逻辑表达式
3.3.3 汀语句
3.3.4 switch语句
3.4 循环结构
3.4.1 goto语句
3.4.2 while语句
3.4.3 do...while语句
3.4.4 for语句
3.4.5 循环语句的嵌套
3.5 break与continue语句
3.5.1 break语句
3.5.2 continue语句
3.6 应用实例
习题
第4章 数组
4.1 一维数组
4.1.1 一维数组的定义
4.1.2 一维数组的初始化
4.1.3 一维数组的引用
4.2 二维数组
4.2.1 二维数组的定义
4.2.2 二维数组的初始化
4.2.3 二维数组的引用
4.3 字符数组
4.3.1 字符数组的定义
4.3.2 字符数组的初始化
4.3.3 字符数组的引用
4.4 数组与存储单元
4.4.1 一维数组元素的存储
4.4.2 二维数组元素的存储
4.4.3 字符串的存储
4.5 应用实例
习题
第5章 函数
5.1 结构化程序设计方法
5.1.1 自顶向下.逐步细化的方法
5.1.2 系统的模块设计
5.1.3 结构化编码
5.2 函数的定义
5.2.1 无参函数的定义形式
5.2.2 有参函数的定义形式
5.3 函数的调用
5.3.1 实参与形参
5.3.2 函数的返回值
5.4 函数的嵌套调用和递归调用
5.4.1 函数的嵌套调用
5.4.2 函数的递归调用
5.5 数组作为函数的参数传递
5.5.1 数组元素作函数实参
5.5.2 数组名作函数参数
5.6 存储类别和变量的作用域
5.6.1 动态存储方式与静态存储方式
5.6.2 auto变量
5.6.3 用static声明局部变量
5.6.4 register变量
5.6.5 用extern声明外部变量
5.6.6 变量的作用域
5.7 应用实例
习题
第6章 指针
6.1 指针的概念
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 指向一个由n个元素组成的数组指针
6.3.4 指针数组
6.3.5 动态数组
6.4 指针与函数
6.4.1 指针作函数的形参
6.4.2 数组与指针作函数的形参的比较
6.4.3 返回指针值的函数
6.4.4 指向函数的指针
6.5 指针与字符串
6.5.1 字符串的表示方法
6.5.2 字符指针作函数参数
6.5.3 字符型指针数组
6.6 带参数的main函数
6.?应用实例
6.7.1 需要多个返回值时采用指针作参数的实例
6.7.2 用指针实现更为灵活的数组操作的实例
6.7.3 指针与字符串的应用实例
习题
第7章 结构体
7.1 概述
7.2 结构体类型的定义
7.3 结构体变量的定义及初始化
7.3.1 结构体变量的定义
7.3.2 结构体成员的引用
7.3.2 结构体变量的初始化
7.4 结构体数组
7.4.1 结构体数组的定义
7.4.2 结构体数组的初始化
7.4.3 结构体数组的应用实例
7.5 指针与结构体
7.5.1 结构体指针的定义与使用
7.5.2 指向结构体数组的结构体指针
7.5.3 结构体指针作函数参数
7.6 联合体
7.7 枚举
7.8 用typedef定义类型
7.9 应用实例
7.9.1 简单结构体变量的参数传递
7.9.2 结构体数组的排序
7.9.3 结构体.联合体以及枚举的综合实例
习题
第8章 简单数据结构
8.1 数据结构概述
8.2 顺序表
8.2.1 顺序表的创建
8.2.2 顺序表的插入
8.2.3 顺序表的删除
8.3 链表
8.3.1 单链表的创建
8.3.2 单链表的插入
8.3.3 单链表的删除
8.4 栈
8.4.1 栈的创建
8.4.2 栈的人栈操作
8.4.3 栈的出栈操作
8.5 队列
8.5.1 队列的创建
8.5.2 队列的入队操作
8.5.3 队列的出队操作
8.6 应用实例
8.6.1 链表应用实例
8.6.2 栈的应用实例
8.6.3 队列的应用实例
习题
第9章 预处理命令
9.1 #include预处理命令
9.2 #define命令
9.2.1 无参#define命令
9.2.2 有参#define命令
9.3 条件编译命令
9.3.1 #if.#else.#elif以及#endif命令
9.3.2 #ifdef与#ifndef命令
习题
第10章 文件
10.1 文件概述
10.2 文件结构体
10.3 文件打开与关闭函数
10.3.1 文件打开函数(fopen函数)
10.3.2 文件关闭函数(fclose函数)
10.4 输入与输出函数
10.4.1 fgetc函数与fputc函数
10.4.2 fgets函数与fputs函数
10.4.3 fread函数与fwrite函数
10.4.4 fscanf函数与fprintf函数
10.5 fseek函数和二进制随机文件
10.5.1 文件定位
10.5.2 文件的随机读写
10.6 应用实例
习题
参考文献
……
序言 21世纪影响世界的三大关键技术:以计算机和网络为代表的信息技术;以基因工程为代表的生命科学和生物技术;以纳米技术为代表的新型材料技术。信息技术居三大关键技术之首。国民经济的发展采取信息化带动现代化的方针,要求在所有领域中迅速推广信息技术,导致需要大量的计算机科学与技术领域的优秀人才。
计算机科学与技术的广泛应用是计算机学科发展的原动力,计算机科学是一门应用科学。因此,计算机学科的优秀人才不仅应具有坚实的科学理论基础,而且更重要的是能将理论与实践相结合,并具有解决实际问题的能力。培养计算机科学与技术的优秀人才是社会的需要、国民经济发展的需要。
制定科学的教学计划对于培养计算机科学与技术人才十分重要,而教材的选择是实施教学计划的一个重要组成部分,《21世纪计算机科学与技术实践型教程》主要考虑了下述两方面。
一方面,高等学校的计算机科学与技术专业的学生,在学习了基本的必修课和部分选修课程之后,立刻进行计算机应用系统的软件和硬件开发与应用尚存在一些困难,而《21世纪计算机科学与技术实践型教程》就是为了填补这部分空白。将理论与实际联系起来,使学生不仅学会了计算机科学理论,而且也学会应用这些理论解决实际问题。
另一方面,计算机科学与技术专业的课程内容需要经过实践练习,才能深刻理解和掌握。因此,本套教材增强了实践性、应用性和可理解性,并在体例上做了改进——使用案例说明。
实践型教学占有重要的位置,不仅体现了理论和实践紧密结合的学科特征,而且对于提高学生的综合素质,培养学生的创新精神与实践能力有特殊的作用。因此,研究和攒写实践型教材是必需的,也是十分重要的任务。优秀的教材是保证高水平教学的重要因素,选择水平高、内容新、实践性强的教材可以促进课堂教学质量的快速提升。在教学中,应用实践型教材可以增强学生的认知能力、创新能力、实践能力以及团队协作和交流表达能力。
实践型教材应由教学经验丰富、实际应用经验丰富的教师撰写。此系列教材的作者不但从事多年的计算机教学,而且参加并完成了多项计算机类的科研项目,他们把积累的经验、知识、智慧、素质融合于教材中,奉献给计算机科学与技术的教学。
我们在组织本系列教材过程中,虽然经过了详细的思考和讨论,但毕竟是初步的尝试,不完善甚至缺陷不可避免,敬请读者指正。
文摘 插图:

C语言程序是由函数组成的,就像建筑图中要有一个总体结构图一样,在程序中只有一个主函数main,但程序往往由多个函数组成。函数是C语言程序的基本模块,通过对函数模块的调用实现特定的功能。C语言不仅提供了极为丰富的库函数(如Turho C,MS C都提供了三百多个库函数),还允许用户自己定义函数,就像为了房子的特殊需要可以设计自己需要的构造。用户可把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函数。可以说C语言程序的全部工作都是由各式各样的函数完成的,所以也把C语言称为函数式语言。
由于采用了函数模块式的结构,C语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读、调试。
函数可分为库函数和用户定义函数两种。
(1)库函数:由C语言系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件,即可在程序中直接调用。在前面章节的例题中反复用到printf、Scanf、getchar等函数均属此类。
(2)用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中还应该对该被调函数进行类型说明,然后才能使用。
应该指出的是,在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许互相调用,也允许嵌套调用。习惯上把调用者称为主调函数。函数还可以自己调用自己,称为递归调用。
main函数是主函数,它可以调用其他函数,而不允许被其他函数调用。因此,C语言程序的运行总是从main函数开始,完成对其他函数的调用后再返回到main函数,最后由main函数结束整个程序。一个C语言程序必须有,也只能有一个主函数main。