何勤:C语言程序设计 问题与求解方法

上传人:M****1 文档编号:488098143 上传时间:2023-11-09 格式:DOC 页数:161 大小:2.19MB
返回 下载 相关 举报
何勤:C语言程序设计 问题与求解方法_第1页
第1页 / 共161页
何勤:C语言程序设计 问题与求解方法_第2页
第2页 / 共161页
何勤:C语言程序设计 问题与求解方法_第3页
第3页 / 共161页
何勤:C语言程序设计 问题与求解方法_第4页
第4页 / 共161页
何勤:C语言程序设计 问题与求解方法_第5页
第5页 / 共161页
点击查看更多>>
资源描述

《何勤:C语言程序设计 问题与求解方法》由会员分享,可在线阅读,更多相关《何勤:C语言程序设计 问题与求解方法(161页珍藏版)》请在金锄头文库上搜索。

1、C语言程序设计 问题与求解方法编程高手修炼捷径 何勤 著 代序目前,人们要真正学会编程,大多都要花费五年以上的时间,悬梁刺股、卧薪尝胆。真正原因何在?其实只需到真正会编程的人身上,就能找到根本原因。经过认真仔细分析,我发现根本原因在于:每个真正会编程者,都必须具备计算机科学的大局观。也就是说,每个真正会编程者都必须懂得和掌握:1、C语言的基本语法(主要是各种命令型语言的公共部分,其他语言目前还无法取代)2、大量阅读和调试经典的、基本的、由易到难的各种类型的C语言程序(至少100题以上)。消化和积累各种基本问题的编程思路,并能用逐步求精的伪代码构造常见问题的算法;3、学习算法和数据结构的基本知识

2、。4、整体上把握计算机到底是如何工作的;5、整体上把握操作系统是如何在硬件的密切配合下通过查找各种表格,管理调度计算机的所有软硬件资源为多道应用程序运行(和计算机用户)提供服务的。 6、编译程序大体上是如何对源程序进行编译工作的。以上六项是必须具备的。此外,如果想成为程序员,还应当学习和掌握:汇编语言程序设计、数据库原理及数据库编程、计算机网络及网络编程、面向对象程序设计等课程知识、计算机原理和操作系统更深入的知识。 由此可见,这条成才之路确实非常漫长和艰苦!尤其是第4到第6项知识的掌握,更是一个极为痛苦的心路历程上的万里长征!因为读者不仅要认真学习这些知识,而且还要做大量的提炼精华、融会贯通

3、的艰巨功课。这是由于各门课程之间的内容衔接这项无比艰巨的工作,通常必须由学生亲自去完成,目前没有任何一本书在这方面做得比较好。为了大大减轻这个成才过程中的痛苦,明显缩短读者真正学会编程的周期。笔者花费了十余年时间广泛收集、筛选素材,并且进行了长时间地、艰苦地探索。终于很幸运地找到了一个绝好的比喻理想厨房系统,恰好可以把以上几个方面的知识在一个比较初级的层次上,比较完美地串联起来。构成一幅计算机科学中(与真正学会编程有关的)最重要的、最精华的基本知识的“联络图”。为初学者在短时间内把握计算机科学的大局观并学会编程,开辟了一条相对比较轻松的捷径。而且,这也为后续更高级编程技术课的学习奠定了扎实的知

4、识基础。本书虽然比较系统地讲解了C语言语法,但是,读者别指望从这本书中找到很多高深语法细节问题的详细讲解。因为笔者认为:过早学习太多高深语法知识,是很多读者学不会编程的罪魁祸首!这将导致很多读者觉得程序设计课相当枯燥乏味。浪费了读者本可以用来学习生动有趣的编程思路和技巧的、有限和宝贵的精力。大脑里留存下了一大堆未经消化的细节语法规则,反而束缚了最需灵活自由的编程思路的展开和翱翔。编程语言的高级语法知识的学习和掌握,比大量编程思路的领会、消化和积累要容易得多!读者在学习编程过程中最需要得到的是编程思路上的引导和启发。读者应当在真正学会编程后再决定是否要比较全面深入自学哪一种程序设计语言的语法细节

5、知识。 本书中的大多数例题值得你认真钻研,因为其中蕴含了大量比较经典的基本编程思想和编程技巧。本书不可能系统讲解各种编程思路(这是算法、数据结构这两门课程的任务),然而,本书却教给了读者很多有效的举一反三的编程方法,这种方法强调从特殊到一般,来探索问题的编程思路和编程技巧。在循环和数组这两章中的很多例题中,展现了如何利用这种方法来做各类编程题。本书也很重视培养读者用逐步求精的伪代码来构思算法的能力。读者要注意,学习钻研本书,一定要配套做100200道各种类型的由易到难的编程题。这个亲自动手编写和调试程序的实践性修炼环节,是任何编程书籍和老师都无法替代的。这是学会编程决不能省略的最重要环节。再困

6、难也要坚持,挺过开始的困难阶段,变成一种习惯后,你就能够逐渐享受到编程带来的极大乐趣。读者还要特别注意:千万不要被某些教科书误导,从而陷入钻研一门高级语言语法细节知识的痴迷和狂热之中,误以为学好一门语言的高深语法,就可以轻松步入编程高手的行列。这就象一位想学会写作文的学生,只热衷于冷僻汉字和高深语法,而置更为重要的通过认真学习消化课文来积累写作思路和技巧(包括大量造句和写作文)于不顾那么可笑!必须将编程思路的学习领会和积累,放在编程学习中的首要位置。以理想厨房为“纲”,以程序如何运行、如何构思、如何编写为“目”,把计算机科学中为了真正学会编程必须掌握的、几乎所有的、基础的、精华的知识有机的串联

7、起来。在本书中仅仅做了这样一件事。一书在手,“软(指软件)硬(指硬件)兼施、内(指编程思想)外(指语言语法)兼修”,让读者可以真正全方位学习编程,并且真正学会编程,这是本书的写作目标。所以,本书中的知识讲解比较密集、浓缩,尤其是第一章和第二章。读者要作好心理上的准备,你是否愿意付出艰苦努力,去认真学习本书,出版社和作者是否值得信任。读者不要以为真正学会编程只是计算机专业学生的事。任何一位当代社会的理工类大学生,都必须具备一定的编程能力,能够在未来的科技工作中把计算机做为自己的得力助手和亲密伙伴,否则你就不是当代社会的合格科技人材。当代科技工作者不会编程,就象古代战士不会射箭一样。 何勤初学者阅

8、读本书,建议从第41页开始第一部分:计算机原理(初)第0章 “理想厨房”的工作原理0.1 理想厨房系统0.2 理想厨房系统的一个炒菜实例0.3 “理想厨房”工作的重要特点0.4 理想厨房系统与计算机系统术语对照表第1章 计算机的基本工作原理1.1 二进制简介1.1.1 二进制与二进制数的基本概念1.1.2 与二进制相关的术语:位、位串、字节1.1.3 数和码的含义与区别1.2 计算机系统1.2.1 计算机系统中的硬件1.2.2 计算机系统中的软件1.2.3 计算机指令能做的工作1.3提高部分1.3.1程序(指令序列)在硬件上的运行过程1.3.2 结构化、规范化的机器语言程序1.3.3 各种数制

9、之间的转换第二部分(C语言基础)第2章 C语言程序结构和基本语法要素第3章 顺序结构程序设计3.1 语句执行的顺序性3.2 用计算机求解问题的步骤3.3 逐步求精的伪代码3.4验证算法的方法3.5 赋值表达式和多重赋值3.6变量类型的进一步讨论3.7 各种类型的常量3.8 不同类型数据之间的类型转换3.9 常见编程错误3.10 提高部分 3.10.1 机内形式的整数 3.10.2 二进制浮点数在计算机中的表示方法第4章 选择结构程序设计4.1两种基本的if语句4.2 布尔表达式之一:关系表达式4.3 空语句4.4 复合语句4.5 if语句的嵌套及其用法4.6 布尔表达式之二:逻辑表达式4.7

10、一种特殊的多重嵌套if语句多分支选择结构语句4.8 switch语句4.9 选择结构常见错误4.10 提高部分4.10.1其他表达式作为布尔表达式使用4.10.2 条件运算符4.103逻辑表达式的短路运算第5章 循环结构程序设计5.1 while语句5.2 自增、自减运算符和表达式的副作用5.3 do-while循环语句5.4 for语句5.5 复合赋值运算符和逗号表达式5.6 break语句和continue语句5.7 循环语句的嵌套58常见错误5.9 提高部分第6章 数组6.1 引言6.2 一维数组6.2.1 一维数组的定义6.2.2 下标变量(数组元素)6.2.3下标和下标表达式6.2.

11、4 动态下标变量6.2.5 下标和下标表达式的允许取值范围6.2.6 数组元素在内存中的相对位置6.2.7 数组元素的初始化6.2.8 下标变量的存取6.3 一维字符数组和字符串6.3.1一维字符数组的定义6.3.2 单个字符的输入输出库函数6.4 二维数组6.5编程综合练习第7章 函数7.1 引言7.2函数的概念7.3函数编写的一些重要原则7.4使用数组(或数组元素)作为函数参数7.5函数的嵌套与递归7.6有关函数定义、返回、声明、调用的进一步说明7.6.1 函数定义7.6.2 return语句与函数类型7.6.3 函数声明与函数原型7.6.4 函数调用7.6.5 函数的形式参数与实际参数7

12、.7 提高部分第8章 指针8.1 引言8.2 指针变量的定义、初始化和应用 8.2.1 指针变量的定义 8.2.2 指针变量的初始化 8.2.3 指针赋值 8.2.4间接寻址运算符 8.2.5 指针变量作为函数的形式参数和实际参数 8.2.6 指针作为函数调用的返回值8.3 指向数组的指针以及相关的运算8.3.1 指针变量指向数组元素8.3.2 数组名用作指针(常量)8.4 提高部分第9章 C语言进阶9.1 结构9.1.1 结构类型的定义9.1.2 定义结构变量9.1.3结构变量的初始化和访问(输入/输出和存取)9.1.4 结构数组和结构指针的定义、初始化以及访问方式9.1.5 用typede

13、f定义类型的别名9.2 编译预处理9.2.1 #include命令9.2.2#define命令9.2.3条件编译指令9.3 文件、流和输入/输出9.3.1概述9.3.2文件和流的概念9.3.3 文件的两种形式9.3.4文件的输入和输出9.4 提高部分9.4.1 链表(单链表)9.4.2 位运算9.4.3 枚举类型9.4.4 文件流的本质第三部分算法与数据结构简介第四部分利用ege图形库函数的游戏编程案例第五部分 计算机原理和操作系统简介第11章 编程原理进阶11.1 引言11.2 输入/输出设备和输入/输出接口电路11.3内存与外存11.4 中断和操作系统11.4.1 操作系统工作的机制11.

14、4.2 操作系统的特点11.5提高部分 11.5.1计算机为何使用二进制数字信号? 11.5.2模拟图像和声音的数字化编码过程附录A ege图形库函数使用说明和库函数列表附录B 常用字符与ASCII码对照表附录B 常用C语言库函数附录C 运算符的优先级和结合性附录D 格式化输入输出库函数的用法小结参考文献第零章 理想厨房的工作原理一种有着神奇的“魔力”和“智能”的人造设备,正在迅速地、彻底地、默默无闻或者令人震惊地改变和丰富我们所生活的大千世界。这个看起来很不起眼的,在少数场合被称为“电脑”的电器设备,是如何具有如此神奇的“魔力”和“智能”的?本章和下一章将带你开始解开这个与我们的生活和工作息息相关的当代社会最大的谜。 01节介绍理想厨房系统,0.2节通过一个炒菜实例,讲解理想厨房各部件是如何密切配合工作的。0.3是一张理想厨房系统与计算机系统的对照表。计算机从发明到现在不过70年左右的时间,然而计算机的发明、改进和普及,把人类带进了智能时代。计算机本身也变得越来越复杂、快速、小巧、种类繁多。但大多数计算机都遵循冯.诺伊曼体系结构,这为我们理解计算机的基本工作原理提供了方便。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号