基本信息出版社:科学出版社
页码:316 页
出版日期:2004年02月
ISBN:7030128281
条形码:9787030128287
版本:第1版
装帧:平装
开本:16
正文语种:中文
丛书名:面向21世纪高等院校计算机系列规划教材
图书品牌:科瀚伟业
内容简介 《C语言程序设计》主要介绍了C语言程序设计基础知识、基本数据类型与常用库函数、各种运算符与表达式、控制结构与语句、数组、函数、编译预处理、指针、结构、文件等,并对C语言的难点、重点和例子程序都做了详尽的阐述。《C语言程序设计》可作为高等院校相关专业高级语言程序设计课程的教材,也可作为计算机等级考试的教学用书。
编辑推荐 《C语言程序设计》是由科学出版社出版的。
目录
第1章 C语言程序设计基础知识
1.1 计算机语言和程序执行
1.1.1 程序与计算机语言
1.1.2 程序执行
1.2 C语言程序的结构
1.2.1 简单C语言程序示例
1.2.2 C语言程序的结构
1.2.3 初学编程序
1.3 在计算机上执行C语言程序
1.3.1 实现c语言程序执行的步骤
1.3.2 在MicrosoftVisualc++环境下编辑、编译及运行C程序
1.4 C语言的特点
本章小结
习题
第2章 基本数据类型与常用库函数
2.1 字符集与标识符
2.2 基本数据类型
2.2.1 整型数据
2.2.2 实型数据
2.2.3 字符型数据
2.3 常量与变量
2.3.1 常量与符号常量
2.3.2 变量
2.4 输入/输出函数用法
2.4.1 单个字符的输入/输出函数用法
2.4.2 pdntf函数用法
2.4.3 seanf函数用法
2.4.4 格式控制串使用规则
2.5 常用函数
2.5.1 常用数学函数
2.5.2 常用字符函数
2.5.3 其他常用函数
本章小结
习题
第3章 运算符和表达式
3.1 算术表达式
3.1.1 算术运算符与算术表达式
3.1.2 自增、自减运算
3.2 赋值表达式
3.3 逻辑表达式
3.3.1 关系运算符与关系表达式
3.3.2 逻辑运算符与逻辑表达式
3.4 其他表达式
3.4.1 条件表达式
3.4.2 逗号表达式
3.5 多种类型混合运算
3.5.1 类型转换
3.5.2 运算符优先级和运算符结合方向
3.5.3 运算符的副作用
本章小结
习题
第4章 控制结构与语句
4.1 结构化程序设计
4.1.1 程序的三种基本结构
4.1.2 程序设计过程
4.2 顺序结构
4.3 选择结构
4.3.1 if语句
4.3.2 switch语句
4.4 循环结构
4.4.1 while语句
4.4.2 do-while语句
4.4.3 for语句
4.5 转向语句
4.5.1 break语句与continue语句
4.5.2 goto语句
4.6 单重循环程序举例
4.7 多重循环结构
本章小结
习题
第5章 数组
5.1 一维数组
5.1.1 一维数组的定义
5.1.2 一维数组元素的引用
5.1.3 一维数组应用举例
5.1.4 查找与排序
5.2 二维数组
5.2.1 二维数组的定义
5.2.2 二维数组的引用
5.2.3 二维数组应用举例
5.3 字符数组
5.3.1 字符数组的定义
5.3.2 字符串和字符数组
5.3.3 字符数组的输入/输出
5.3.4 字符串应用举例
5.3.5 常用字符串函数用法
5.3.6 多字符串处理
本章小结
习题
第6章 函数
6.1 函数概述与C程序构成
6.1.1 函数概述
6.1.2 C程序构成
6.2 函数定义和函数调用
6.2.1 函数定义
6.2.2 retum语句
6.2.3 函数调用
6.2.4 函数声明
6.3 函数间的参数传递
6.3.1 函数调用过程及参数传递
6.3.2 传数值
6.3.3 传地址
6.3.4 参数求值顺序
6.4 函数嵌套调用和递归调用
6.4.1 函数嵌套调用
6.4.2 函数递归调用
6.5 变量的作用域和变量存储类别
6.5.1 全局变量和局部变量
6.5.2 变量的存储类别
本章小结
习题
第7章 编译预处理
7.1 宏定义
7.1.1 不带参数的宏定义
7.1.2 带参数的宏定义
7.2 文件包含
7.3 条件编译
本章小结
习题
第8章 指针
8.1 指针的基本知识
8.1.1 存储单元、内存地址及指针
8.1.2 指针变量定义
8.1.3 指针的基本操作
8.1.4 指针作函数的参数
8.2 指针与一维数组
8.2.1 指针运算
8.2.2 指针与一维数组关系
8.2.3 元素指针作函数参数
8.3 指针与二维数组
8.3.1 指针与二维数组关系
8.3.2 二维数组的行指针作函数参数
8.4 指针与字符串
8.4.1 字符串与字符串指针
8.4.2 字符串指针作函数参数
8.5 指针数组
8.5.1 指针数组的定义
8.5.2 指针数组应用举例
8.5.3 main函数的参数
8.6 多级指针
8.7 指针与函数
8.7.1 指向函数的指针
8.7.2 指针作为函数的返回值
本章小结
习题
第9章 结构、共用体、枚举
9.1 结构定义
9.1.1 结构类型定义
9.1.2 结构类型变量的定义
9.1.3 结构变量的引用
9.2 结构数组
9.2.1 结构数组定义
9.2.2 结构数组引用
第10章 位运算
第11章 文件
第12章 常用算法实例及程序设计案例
附录
主要参考文献
……
序言 C语言是程序设计中最活跃的高级语言之一。“C语言程序设计”作为计算机文化基础、技术基础和应用基础三个层次中第二个层次的一门主要课程,是所有高等院校理工科学生的一门重要的必修课。以C语言为核心的C++作为目前最为流行的面向对象程序设计的主要语言之一,对初学者而言,C语言程序设计更是C++的先修课程,是进一步学习C++的基础。
本教材面向初学程序设计者,使略有计算机文化基础知识的人都能较容易地学会用C语言编写程序。在编写教材过程中,作者力求使教材体现如下特点:
(1)对C语言中的重点、难点进行分解,将难点、重点在教材中分散编排,使学生在学习过程中循序渐进、平滑过渡。
(2)强调启发性教学,一方面强调教学,另一方面强调学生从思考中加深理解。教材中有许多例子在给出程序说明后,提出一些难度适中的思考题,使学生有兴趣进一步思考,通过思考加深理解,而不是停留在表面上的理解或单纯的语法掌握上。
(3)对C语言的难点、重点和例子程序作详细的阐述,便于学生的理解和掌握。
(4)文字简明,表达通俗易懂;例题程序的编写立足于学生能理解透彻,对算法效率、算法技巧只在程序说明中简单提及,而未作强调。
本教材选编了较多的典型例子及习题,供老师在教学中根据需求进行选择,也可学生自学提高。学生通过多读例子和动手上机编程,可开阔思路,提高程序设计的能力。教材中的个别章节或例题前标注了星号“*”,可作为选学内容。
本书共分12章,其中第1、4、6、8章由杭州电子科技大学陆蓓编写;第2、3、5章由杭州电子科技大学易幼庆编写;第7、11、12章及附录由浙江工业大学赵建锋编写;第9、10章由易幼庆和陆蓓编写:中国计量学院龙之一参加本书稿大纲的研讨工作并提出了许多修改意见。全书由陆蓓主编并统稿,杭州电子科技大学郑宁担任主审。
文摘 插图:

6.4.2函数递归调用
1.递归方法
递归是一种特殊的解决问题的方法。其方法是将要解决的问题分解成比原问题规模小的类似子问题,而解决这个类似子问题时,又可以用到原问题的解决方法,按照这一原则,逐步递推转化下去,最终将原问题转化成较小且有已知解的子问题,这就是递归求解问题的方法。递归方法适用于一类特殊的问题,即分解后的子问题必须与原问题类似,能用原来的方法解决问题,且最终的子问题是已知解或易于解的。
用递归求解问题的过程分为递推和回归两个阶段。
递推阶段:将原问题不断地转化成子问题,逐渐从未知向已知推进,最终到达已知解的问题,递推阶段结束。
回归阶段:从已知解的问题出发,按照递推的逆过程,逐一求值回归,最后到达递归的开始处,结束回归阶段,获得问题的解。
例如,求5!
2.函数的递归调用
用递归解决问题的思想体现在程序设计中,可以用函数的递归调用实现。在函数定义时,函数体内出现直接调用函数自身,称为直接递归调用;或通过调用其他函数,由其他函数再调用原函数,则称为间接递归调用,该类函数就称为递归函数。
若求解的问题具有可递归性时,即可将求解问题逐步转化成与原问题类似的子问题,且最终子问题有明确的解,则可采用递归函数,实现问题的求解。
由于在递归函数中,存在着调用自身的过程,控制将反复进入自身函数体执行,因此在函数体中必须设置终止条件,当条件成立时,终止调用自身,并使控制逐步返回到主调函数。