当前位置:首页 » 编程语言 » c语言学习手册正式版
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言学习手册正式版

发布时间: 2023-01-18 20:30:11

A. 求《c语言开发手册》全文免费下载百度网盘资源,谢谢~

《c语言开发手册》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1x73yFxA3h3-GLQ_eJ_kAFQ

?pwd=zjz9 提取码:zjz9
简介:本书对现代c语言程序的接口和高级技术进行了全面讲解,对具有一定开发经验的设计人员也有非常好的参考价值。本书可以作为c语言初学者的入门教材,也可作为c语言程序员的参考手册,还可作为大中专院校学生及电脑培训班的参考书。

B. C语言学习手册的本书特色

 通易俗懂
为了让初学者易于学习,本书力求内容通俗易懂,讲解寓教于乐。对于初学者难以理解的专业术语,本书都进行了形象的解释,有些还提供了例图。书后附录中又单独将术语解释提炼出来,供读者学习时参考。初学人员学习编程的另一个障碍是对难点技术的理解,如多分支判断语句、指针和调用函数等。书中在讲解这些难于理解的技术时,结合生活中的示例给出了形象的解释。例如,多分支判断语句满足不同条件,执行不同操作,通过现实生活中汽车要去不同地点,选择不同路线来做鲜明的对照,还配有图形,如下图所示。


语音视频讲座
为了方便读者学习,本书附赠光盘中提供了19小时视频讲座。其讲解细腻、层次清楚、互动性强,不但可以加深对书中内容的理解,还可以引导学习者掌握“是什么”、“为什么”、“怎么办”、“应注意些什么”的编程思维能力。所讲视频不仅对书中的内容进行了详细介绍,还对相关技术进行了有效扩展,对开发中易犯的各种错误给出了解决方案。
 注重实用性
初学者经常会遇到这样的情况,书中讲解的技术能够理解,但不知道如何应用。例如,在学习抽象类时,读者能够自己定义抽象类,并且能够从抽象类派生子类,但是不知道抽象类能够做什么、在哪里应用抽象类。本书在介绍技术时,注意强调技术的实用性,并且通过实例突出技术的应用价值。对于一些典型的应用,书中通过“情景应用”栏目进行重点介绍。
 实战互动练习
要掌握一项技术,最佳的方式就是多练习、多实践。本书每章都提供了多个供读者实践的实例任务,读者可以对照检验对知识的掌握情况。每个实例任务都分为“题目描述”、“技术指导”和“紧急救援”三部分。其中,“题目描述”给出了实例功能的详细描述和效果图,“技术指导”给出了开发思路和关键技术,“紧急救援”提供了下载实例源码和开发文档的地址链接。

C. C语言学习手册的内 容 简 介

本书从初学者的角度出发,全面介绍了使用C语言进行程序开发的各种技术。在内容布局上由浅入深,让读者循序渐进地掌握编程技术;在内容讲解上结合丰富的图解和形象的比喻,帮助读者理解“晦涩难懂”的技术;在内容形式上附有大量的提示、技巧、说明、情景应用、实战练习等,夯实读者编程技术,丰富编程经验。全书共分18章,主要讲述了Turbo C 2.0和Visual C++ 6.0编译器的使用、C语言的基础知识、常量和变量的使用、数据类型、表达式的写法、运算符的使用、输入、输出函数的用法、选择结构程序的设计、使用数组的方法、函数的用法、指针的使用、如何掌握结构体与公用体、数组的排序法、链表的使用、位运算的算法、储存管理、函数类型、预处理和文件的读、写,最后,通过一个实战项目——学生管理系统,使读者将所学知识更好地应用到实际开发当中。
本书附有配套光盘。光盘中包含本书所有程序的源代码、重点难点的实例视频录像。其中,所有源代码都经过了精心的测试,能够在Windows 2000、Windows XP、Windows 2003、Windows 7系统中编译和运行。
本书适用于C语言的爱好者、初学者和中级开发人员,也可以作为大中专院校和培训机构的教材。

D. C语言参考手册的内容简介

本书是关于C语言的详尽的参考手册。最新的第5版增加了对C99标准的介绍,更加符合当前读者学习C语言的需要。
全书分为两大部分,共24章。第一部分讨论了C语言的所有语言特征,包括词法、预处理机制、声明、类型、表达式、语句以及函数等基本语言特性。第二部分讨论了C语言的标准库,根据它们不同的功能分别详细介绍。为帮助读者理解相关概念,本书在讨论C语言及其标准库的各方面问题时,提供了许多实例和解释。在第一部分的各章中还提供了练习题,书后则给出了主要练习的解答。这些练习的主要目的是帮助读者理解C语言的基本机制及其重要细节,其中并不涉及复杂的程序设计技术与问题。
本书可以作为高等院校计算机专业C语言课程的教材和参考书,对于一般的C程序员也有重要的参考价值。

E. 《c语言参考手册原书第五版》pdf下载在线阅读全文,求百度网盘云资源

《c语言参考手册原书第五版》网络网盘pdf最新全集下载:
链接:https://pan..com/s/1PhXbkkQU-mOG5XHWgX-X9A

?pwd=qy0l 提取码:qy0l
简介:c语言参考手册第五版涵盖了传统C语言、C89,C95.C99等所有C语言版本的实现,同时讨论了C++与C语言兼容的部分。全书自上而下介绍了C语言的词法结构、预处理器、声明、类型表达式、语句、函数和运行库,是所有C语言编程人员必备的参考书。

F. C语言学习手册的前 言

让想要学习编程的人员都能够学会编程!
我可以学会编程吗?
当然可以!即使你没有基础,即使你是非计算机专业毕业,即使你已过而立之年,甚至是只有初中毕业。我国最早的计算机反病毒专家、江民杀毒软件创始人王江民,初中毕业,38岁开始学习计算机,因为英语基础不好,很多人认为他根本没有学会编程的可能。但王江民没有感觉自己不行,硬是克服各种困难,成为我国最成功的程序开发人员之一。
王江民学习编程的诀窍是什么?
是实践。王江民说:“计算机是实践性非常强的学科。我搞计算机是用计算机,不是学计算机。” 王江民首先学的是BASIC语言。当时,为了辅导上小学的孩子,对软件一片空白的王江民竟然决定编写程序代替家长辅导。短短3个月,王江民就边学边实践,编好了一套数学语文教学软件,试过后效果奇佳,参加电脑报软件交流,被评为第二名,誉为“教育软件第一”。因为这次成功,极大激发了王江民对编程的兴趣,使他从此把精力转到了软件领域。
所以说:实践,是学习编程的最好方法,也是培养编程乐趣、捕获发展机遇的最佳途径。值得注意的是,不要等学完全部知识才去实践,要随时学习,随时实践,哪怕只学了一点点。
这本书适合我吗?
非常适合!本书是学习C语言编程的最佳选择。所讲内容通俗易懂,易于学习,贴近实践。对于学习中的难点、重点,注意结合实际开发,采用情景应用的方式进行介绍和练习。本书光盘提供了完整的视频讲座,可以对照本书内容循序渐进进行学习。利用本书,不但可以学会编程,更能激发学习者理论联系实际的热情,开发出符合市场需求的软件和项目。

G. C语言入门

学习任何知识,循序渐进总是最好的方式。不幸的是,很多人明知这个道理,却总是想走所谓的捷径。如果你是一个刚刚开始学习编程的中学生,或者你是一个刚刚进入计算机学院的本科生,又或者你是一个决心在计算机领域有所建树的初学者,你一定迫切地想知道,学习计算机技术,究竟应该从哪里下手。

我的建议是:数学、英语、C语言。

数学和英语的重要性已经不需要我来强调,大家也许从幼儿园就开始学习它们了,请时刻把它们放在最重要的位置,无论你是否学习计算机。

为什么C语言如此重要?我们从学习方法开始说起。书本上描述的东西,倘若不经过我们的亲自实践,是难以被彻底消化吸收的。计算机组成原理讲解了浮点数的格式,如果我们能看到并分析内存或寄存器中某个浮点数的表示,那比单纯的纸上谈兵要强一千倍;数据结构与算法似乎很难,如果你能把书上的例子实现出来,然后把习题做完,只需啃完一本好书,你也可以是算法高手;操作系统原理其实不仅仅是原理,只有做一些内核方面的实验才能真正有深刻理解;还有许多新潮的技术,比如JavaEE、PHP、Ajax、.NET等等等等,很多高手学习这些技术只需要很短的时间,不必说,他们肯定是C语言的高手。C语言几乎是一切计算机技术的通用工具,包括计算机的各种基本理论。没有精通C语言的决心,就不要涉足计算机领域。

为什么是C语言而不是C++不是Java不是其它?因为C语言最简单。你需要掌握一个语言工具,但也许并不需要“面向对象”、“模板”、“函数重载”等等一大堆概念。C语言足够低级,非常非常地贴近计算机的底层结构,不会让你迷失在概念的汪洋大海。除了“指针”,C语言没有真正意义上的难点,而“指针”,恰恰是理解计算机底层结构精髓的关键所在。

所以,初学者们不必思考应该学什么,等把C语言精通了,你自己便会知道下一步如何去走。如果你对操作系统内部感兴趣,你便可以试着研究一下Unix的内核,除了C语言,你还需要一些汇编语言和保护模式的知识;如果你对算法感兴趣,那么恭喜你,C语言足够使用了;如果你对Windows编程感兴趣,去看看《Windows程序设计》吧,作者清楚的告诉你“只需要C语言的基础”;如果你对任何其它语言感兴趣,尽管去学吧,不过还是建议先学C++,因为你需要一些“面向对象”的知识。

学习C语言不是一朝一夕的事情,但也不需要花费十年时间才能精通。如何以最小的代价学习并精通C语言是本文的主题。请注意,即使是“最小的代价”,也绝不是什么捷径,而是以最短的时间取得最多的收获,同时也意味着你需要经历艰苦的过程。

一、要读就读好书,否则不如不读

所有初学者面临的第一个问题便是:如何选择教材。好的开始是成功的一半,选择一本优秀的教材是事半功倍的关键因素。不幸的是,学校通常会帮你指定一本很差劲的C语言课本;而幸运的是,你还可以再次选择。

大名鼎鼎的谭浩强教授出了一本《C语言程序设计》,据说发行量有超过400万,据我所知,很多学校都会推荐这本书作为C语言课本。虽然本人的名字(谭浩宇)跟教授仅仅一字之差,但我是无比坚定地黑他这本书的。这本书不是写给计算机专业的学生的,而是给那些需要考计算机等级考试的其它专业学生看的。这本书的主要缺点是:例子程序非常不专业,不能教给你程序设计应该掌握的思考方式;程序风格相当地不好,会让你养成乱写代码的恶习;错误太多,曾经有人指出过这本书的上百个错误,其中不乏关键的概念性错误。好了,这本书我也不想说太多了,有兴趣大家可以网络一下:)

Kernighan和Ritchie的《The C Programming Language》(中译名《C程序设计语言》)堪称经典中的经典,不过旧版的很多内容都已过时,和现在的标准C语言相去甚远,大家一定要看最新的版本,否则不如不看。另外,即使是最经典最权威的书,也没有办法面面俱到,所以手边常备一本《C语言参考手册》是十分必要的。《C语言参考手册》就是《C Reference Manual》,是C语言标准的详细描述,包括绝大多数C标准库函数的细节,算得上是最好的标准C语言的工具书。顺便提一句,最新的《C程序设计语言》是根据C89标准修订的,而《C语言参考手册》描述的是C99标准,二者可能会有些出入,建议按照C99标准学习。还有一本《C和指针》,写得也是相当地不错,英文名是《Pointers on C》,特别地强调指针的重要性,算是本书的一个特点吧。不过这本书并不十分适合初学者,如果你曾经学过C语言,有那么一些C语言的基础但又不是很扎实,那么你可以尝试一下这本书。我相信,只要你理解了指针,C语言便不再神秘。

如果你已经啃完了一本C语言教材,想要更进一步,那么有两本书你一定要看。首先是《C Traps and Pitfalls》(中译名《C陷井与缺陷》),很薄的一本小册子,内容非常非常地有趣。要注意一点,这本书是二十多年前写成的,里面提到的很多C语言的缺陷都已被改进,不过能够了解一些历史也不是什么坏事。然后你可以挑战一下《Expert C Programming》(中译名《C专家编程》),书如其名,这本书颇具难度,一旦你仔细读完并能透彻理解,你便可以放心大胆地在简历上写“精通C语言”了。

切记一个原则,不要读自己目前还看不懂的书,那是浪费生命。如果你看不懂,那你一定是缺失了某些必需基础知识。此时,你要仔细分析自己需要补充哪些内容,然后再去书店寻找讲述的这些内容的书籍。把基础知识补充完毕再回头来学习,才会真正的事半功倍。

二、Unix/Linux还是Windows,这是个很大的问题

不同的编程环境会造就出不同思维的程序员。Windows的程序员大多依赖集成开发环境,比如Visual Studio,而Unix程序员更加钟爱Makefile与控制台。显而易见,集成开发环境更容易上手,在Windows上学习C语言,只需要会按几个基本的Visutal C++工具栏按钮就可以开始写Hello, World!了,而在Unix下,你需要一些控制台操作的基本知识。有人也许认为Unix的环境更简洁,但习惯的力量是很大的,大家都很熟悉Windows的基本操作,而为了学习C语言去专门装一个Unix系统,似乎有点不划算。

对于一个只懂得Windows基本操作、连DOS是什么都不知道的新手而言,尽快做一些有趣而有意义的事情才是最重要的。用C语言写一个小程序远比学习ls、cat等命令有趣,况且我们要专注于C语言本身,就不得不暂时忽略一些东西,比如编译链接的过程、Makefile的写法等等等等。

所以我建议初学者应该以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作为主要的学习环境,而且千万不要在IDE的使用技巧上过多纠缠,因为今后你一定要转向Unix环境的。Visual C++ 6.0使用很方便,调试也很直观,但其默认的编译器对C标准的支持并不好,而Dev C++使用gcc编译器,对C99的标准都支持良好。使用顺带提一下,很多大学的C语言课程还在使用Turbo C 2.0作为实验环境,这是相当不可取的,原因其一是TC 2.0对C标准几乎没有支持,其二是TC 2.0编译得到的程序是16位的,这对今后理解32位的程序会造成极大的困扰(当然,用djgpp之类的东西可以使TC 2.0编译出32位程序,不过那过于复杂了)。

等你学完一本C语言的教材,你一定要转向Unix平台继续学习,几乎所有的C语言高级教程都是基于Unix平台的(比如《C专家编程》)。转变的过程是痛苦的,你需要面对的是各种纷繁复杂的命令,完全不同于Windows平台的思考方式,但是这种痛苦是值得的。Unix与C是共生的,Unix的思考方式和习惯更加符合C语言的思考方式和习惯。在Unix下,你可以找到无数优秀的源代码供你尽情阅读,你可以方便地查看某个库函数的联机手册,还可以看到最优秀的代码风格(说到代码风格,我会专门写一篇文章详细叙述)。

归结起来就是一句话:初学C语言,建议使用Windows系统和集成开发环境,在准备向“高手”方向努力时,请先转向Unix平台。

三、万事俱备,你就是东风

书已选定,环境配置完成,正所谓万事俱备,只欠你自己的努力了。请从书的前言开始,仔细地阅读手头的教材,很多人看书喜欢直接从第一章开始看,这是错误的做法。前言是作者对整本书的大体介绍,作者一般会告诉你需要什么基础才能够顺利阅读本书,这可以帮助你检验自己的基础知识是否已经具备。看完前言,还要浏览一下目录,了解一下书的整体结构,顺便给自己安排一下学习计划。

学习C语言,必需注意每一个细节,书上的例子代码一定要自己亲自敲一遍,编译执行输出都跟书上说的一致才能算是学完了一个例子,如果不一致,就要仔细找原因。出了书本上有的例子,自己还要“创造”一些例子,比如学习运算符优先级的时候,可以写几个相同的表达式,在不同的位置加上括号,看看有哪些不同的行为,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的书上的例子以及改造之后的例子,还有自己“创造”的例子,都应该仔细地归类保存,并且要在源代码中写上简短的注释,阐述这个例子的意图。

例子之后就是习题了,我建议初学者把所有的习题都独立做一遍,然后对照答案的代码,看看自己的代码有那些不足,再试着修改自己的代码。很多人不重视习题,这是极大的错误,因为作者通常会在习题中说明一些重要的道理,而不是单纯地检验前面的知识。

也许你认为这样学习太慢,其实不然。学得细致就不用走回头路,等你学到后面才发现自己前面没搞清楚,那才是真的得不偿失。一般说来,整本书读完,你应该完成数千行乃至上万行的代码,无论是原封不动照抄书上的,还是自己心血来潮写就的,都是今后继续学习的一笔财富。以我自己举例,阅读《Windows核心编程》时(我只阅读了3/4的内容),除了抄书上的代码,还自己写了很多例子,一共有5574行(用unix下的wc工具统计),时隔多日,我早已记不清Windows的系统编程了,但只要花几分钟翻出以前的代码看看,便会重新了然于胸。所谓好记性不如烂笔头,就是这个道理。

仔细读书、认真抄写源代码、独立完成习题外加更进一步的实验,最后将所有的代码留下,成为自己的经验和财富,绝对的辛苦,也绝对的事半功倍。当然,这种方式只适合学习需要精通的技术,如果不是学习C语言,你还要具体情况具体分析。

写到最后,还有非常非常重要的一点没有提及——代码风格,从最开始学习就必须强迫自己模仿最优秀的代码风格。因为代码风格太重要内容也太多,我会用专门的一篇文章来详细讨论,请大家关注《程序员之路——关于代码风格》。

H. C语言学习手册的本书适用人群

本书是一部零基础编程图书,非常适合以下人员阅读:
 零基础的初学编程人员  初、中级程序开发人员
 编程爱好者  想学编程的各企事业单位在职人员
 大中专院校的教师和学生  相关培训机构的教师和学员

I. 单片机C语言程序设计完全自学手册的介绍

《单片机C语言程序设计完全自学手册》是2008年电子工业出版社出版的图书,作者是郭惠,吴迅。本书以“基础、实用”为原则,通过基础知识与大量实例结合的形式,详细介绍了单片机C语言应用开发的各种方法和技巧。全书分为12章,前6章讲述单片机概述硬件结构、指令系统、C语言程序设计基础、常用开发工具、C语言与汇编混合编程等知识;后6章重点介绍单片机软硬件开发流程、常用单元模块设计、应用系统设计实例、扩展设计、系统设计经验总结以及RTX51实时操作系统等内容。读者通过学习,可以快速入门和提高。本书语言简洁,内容安排从零开始、由浅入深、循序渐进。实例典型丰富,代表性和指导性强,涵盖了单片机C语言开发的大多数应用领域和开发技术。同时本书对程序开发的关键细节做了深入解释,程序代码进行详细注释,利于读者掌握牢固、学懂学透,达到举一反三的效果。本书附有光盘,其中包括丰富的硬件原理图和程序源代码,方便读者学习和参考。本书适合从事单片机系统开发的初级设计人员,以及计算机、电子信息及相关专业的在校大学生使用。

J. C语言学习手册的目 录

第1篇 基础篇
第1章 初识C语言 16
1.1 C语言介绍 17
1.1.1 简述编程语言 17
1.1.2 C语言的产生 18
1.1.3 C语言的特点 19
1.2 选择C语言的理由 21
1.2.1 C语言的发展趋势 21
1.2.2 C语言的成功案例 23
1.2.3 C语言的应用领域 25
1.3 如何学好C语言 25
1.3.1 确立学习态度 26
1.3.2 打好基础 26
1.3.3 多请教、多交流 26
1.3.4 养成良好的编程习惯 27
1.3.5 多动手、勤思考 27
1.3.6 掌握学习方法 27
1.4 本章小结 28
第2章 C语言编程准备 29
2.1 编写程序的格式 30
2.1.1 一个简单的C程序 31
2.1.2 标识符与关键字 34
2.2 开发环境 37
2.2.1 Turbo C 2.0 38
2.2.2 Visual C++ 6.0 42
2.3 一个完整的C程序 48
2.4 实战练习 52
2.4.1 编写一个简单的C程序 52
2.4.2 熟悉开发工具 53
2.5 本章小结 53
第3章 C语言的灵魂——算法 54
3.1 算法的基本概念 55
3.1.1 算法的特征 55
3.1.2 算法的优劣 57
3.2 描述算法 57
3.2.1 自然语言 58
3.2.2 描绘流程图 58
3.2.3 绘制N-S流程图 64
3.2.4 伪代码 68
3.3 本章小结 69
第4章 常量和变量 70
4.1 了解数据类型 71
4.2 解读常量 72
4.2.1 整型常量 72
4.2.2 实型常量 75
4.2.3 字符型常量 76
4.2.4 转义字符 80
4.2.5 符号常量 81
4.2.6 情景应用一:用putchar函数输出“I LOVE C” 82
4.2.7 情景应用二:printf函数结合转义字符 83
4.3 变量 83
4.3.1 整型变量 84
4.3.2 情景应用:求出买水果一共花的钱数 86
4.3.3 实型变量 87
4.3.4 字符型变量 89
4.4 掌握混合运算 91
4.5 实战练习 93
4.5.1 使用printf语句输出变量 93
4.5.2 使用字符型变量输出字符串 94
4.6 本章小结 94
第5章 表达式与运算符 95
5.1 解读表达式 96
5.2 赋值运算符与赋值表达式 98
5.2.1 变量赋初值 98
5.2.2 自动类型转换 100
5.2.3 强制类型转换 100
5.3 掌握算术运算符与表达式 102
5.3.1 算术运算符 102
5.3.2 算术表达式 102
5.3.3 优先级与结合性 104
5.3.4 自增自减运算符 105
5.3.5 情景应用:求运算后的4个变量的值 107
5.4 了解关系运算符与表达式 108
5.4.1 关系运算符 108
5.4.2 关系表达式 109
5.4.3 优先级与结合性 110
5.5 解读逻辑运算符与表达式 111
5.5.1 逻辑运算符 111
5.5.2 逻辑表达式 112
5.5.3 优先级与结合性 112
5.6 运用位逻辑运算符与表达式 113
5.6.1 位逻辑运算符 114
5.6.2 位逻辑表达式 114
5.7 介绍逗号运算符与表达式 114
5.8 使用复合赋值运算符 116
5.9 判断条件运算符 117
5.10 了解运算符的优先级和结合性 118
5.11 实战练习 119
5.11.1 使用复合赋值运算符求出计算结果 119
5.11.2 用自增、自减运算符求出计算结果 120
5.11.3 编写简单的计算加班工资程序 121
5.12 本章小结 122
第6章 输入、输出函数 123
6.1 解读语句 124
6.1.1 表达式语句 124
6.1.2 空语句 124
6.1.3 复合语句 124
6.2 输入、输出字符数据 125
6.2.1 输出字符数据 125
6.2.2 输入字符数据 126
6.2.3 情景应用:使用getchar函数取消获取Entet键 127
6.3 输入、输出字符串 128
6.3.1 使用字符串输出函数 128
6.3.2 掌握字符串输入函数 130
6.4 介绍格式输出函数 131
6.5 讲解格式输入函数 134
6.6 应用顺序程序设计 138
6.7 实战练习 141
6.7.1 将输入的小写字符转换为大写字符 141
6.7.2 模拟工资计算器 142
6.7.3 输入、输出古人名言 142
6.8 本章小结 143
第7章 选择结构程序设计 144
7.1 if选择语句 145
7.2 if语句的不同形式 145
7.2.1 单条件单分支的if语句 146
7.2.2 单条件双分支的if语句 149
7.2.3 多条件多分支的if语句 153
7.2.4 情景应用:输入数值检查字符类型 156
7.3 掌握if语句的嵌套形式 157
7.4 注意if语句的常见错误 160
7.4.1 使用分号的注意事项 161
7.4.2 条件放置注意事项 161
7.4.3 if和else的配对注意事项 162
7.4.4 大括号的重要性 162
7.5 判断分支选择switch语句 163
7.5.1 switch语句的基本形式 163
7.5.2 多路开关模式的switch语句 167
7.6 区分if…else语句和switch语句 169
7.7 应用选择结构程序 171
7.8 实战练习 173
7.8.1 计算函数,求出Y值 173
7.8.2 输出三个变量中最大的数 174
7.8.3 计算增加后的工资 175
7.9 本章小结 175
第8章 循环语句 176
8.1 编写循环语句 177
8.2 实现while型循环 177
8.2.1 while循环语句的一般形式 178
8.2.2 情景应用:求出数值内的所有正整数的和 180
8.2.3 避免while循环语句的死循环 182
8.2.4 了解while循环语句的空循环体 183
8.2.5 注意while循环语句常见错误 183
8.3 解读for型循环语句 185
8.3.1 for循环语句的一般形式 185
8.3.2 灵活多变的for循环语句 189
8.3.3 应用for语句中的逗号 192
8.4 介绍do-while语句 193
8.5 比较三种循环 195
8.6 运用循环嵌套 195
8.6.1 各种结构的循环嵌套 195
8.6.2 循环嵌套实例 197
8.7 转移语句 199
8.7.1 goto语句 200
8.7.2 break语句 202
8.7.3 continue语句 203
8.8 区别三种跳转语句 205
8.9 实践练习 205
8.9.1 打印出大写字母的ASCII码对照表 205
8.9.2 打印出小写字母的ASCII码对照表 206
8.9.3 输出0~100之间不能被3整除的数 207
8.10 本章小结 209
第2篇 核心篇
第9章 数组 212
9.1 介绍数组的概念 213
9.1.1 数组的分类 213
9.1.2 数组的维数 213
9.2 应用一维数组 214
9.2.1 一维数组的定义 214
9.2.2 一维数组的引用 215
9.2.3 一维数组的初始化 217
9.2.4 一维数组的应用 220
9.3 掌握二维数组 222
9.3.1 二维数组的定义 222
9.3.2 二维数组的引用 223
9.3.3 二维数组的初始化 223
9.3.4 二维数组的应用 227
9.4 解读多维数组 228
9.5 使用字符数组 229
9.5.1 字符数组的定义 229
9.5.2 字符数组的引用 229
9.5.3 字符数组的初始化 229
9.5.4 字符数组的结束标志 231
9.5.5 字符数组的输出 232
9.5.6 字符数组的输入 233
9.5.7 输出完整的带有空格的字符串 234
9.5.8 字符数组的应用 235
9.6 字符串处理函数 236
9.6.1 字符串的复制 237
9.6.2 字符串的连接 238
9.6.3 字符串的比较 240
9.6.4 字符串大小写转换 241
9.6.5 获得字符串长度 243
9.7 熟练应用数组 245
9.7.1 反转输出字符串 245
9.7.2 使用数组统计学生成绩 246
9.7.3 情景应用:字符串的加密和解密 248
9.8 实践练习 250
9.8.1 实现strcpy函数的功能 250
9.8.2 统计字符中各元素的个数 251
9.8.3 重新排列字符串 251
9.9 本章小结 252
第10章 函数 253
10.1 函数概述 254
10.2 定义函数 256
10.2.1 函数定义的形式 256
10.2.2 定义与声明 259
10.3 了解返回语句 262
10.3.1 从函数返回 262
10.3.2 返回值 266
10.4 传递函数参数 269
10.4.1 形式参数与实际参数 269
10.4.2 数组作为函数参数 271
10.4.3 了解main的参数 276
10.5 调用函数 276
10.5.1 函数调用方式 277
10.5.2 嵌套调用 280
10.5.3 递归调用 282
10.6 灵活应用函数 285
10.6.1 函数的应用 285
10.6.2 情景应用:使用字符函数判断输入字符 290
10.7 实践与练习 292
10.7.1 输出较大的整数 292
10.7.2 求出10个学生的平均成绩 292
10.7.3 验证6174 293
10.8 本章小结 294
第11章 指针 296
11.1 了解指针相关概念 297
11.1.1 介绍地址与指针 297
11.1.2 解读变量与指针 298
11.1.3 使用指针变量 299
11.1.4 指针自加自减运算 303
11.1.5 情景应用:输出整型变量地址 304
11.2 掌握数组与指针 305
11.2.1 一维数组与指针 306
11.2.2 情景应用一:输出数组元素 309
11.2.3 二维数组与指针 310
11.2.4 情景应用二:将一个3行5列的二维数组的
第二行元素输出 313
11.2.5 字符串与指针 314
11.2.6 字符串数组 316
11.3 指向指针的指针 318
11.3.1 应用介绍指向指针的指针 318
11.3.2 情景应用:输出偶数 320
11.4 作为函数参数的指针变量 321
11.5 返回指针值的函数 331
11.5.1 介绍返回指针值的函数 331
11.5.2 情景应用:求长方形的周长 332
11.6 指针数组作为main函数的参数 333
11.7 实战练习 335
11.7.1 将数组中的元素值按照相反顺序存放 335
11.7.2 将两个字符串连接后输出 336
11.7.3 使用指针实现字符串的复制 336
11.8 本章小结 337
第12章 结构体和共用体 338
12.1 应用结构体 339
12.1.1 结构体类型的概念 339
12.1.2 结构体变量的定义 340
12.1.3 结构体变量的引用 342
12.1.4 结构体类型的初始化 344
12.1.5 情景应用:输出学生的信息 345
12.2 掌握结构体数组 348
12.2.1 定义结构体数组 348
12.2.2 初始化结构体数组 349
12.2.3 情景应用:输出学生信息 351
12.3 解读结构体指针 353
12.3.1 指向结构体变量的指针 353
12.3.2 指向结构体数组的指针 356
12.3.3 结构体作为函数参数 358
12.4 介绍包含结构的结构 360
12.5 应用共用体 362
12.5.1 共用体的概念 362
12.5.2 共用体变量的引用 363
12.5.3 共用体变量的初始化 364
12.5.4 共用体类型的数据特点 365
12.6 解读枚举类型 365
12.7 实战练习 366
12.7.1 统计候选人的得票 366
12.7.2 师生信息存储系统 367
12.7.3 计算学生的综合成绩 368
12.8 本章小结 368
第13章 链表与算法 369
13.1 介绍链表 370
13.1.1 链表概述 370
13.1.2 创建动态链表 371
13.1.3 输出链表 374
13.2 进行链表的相关操作 376
13.2.1 链表的插入操作 377
13.2.2 链表的删除操作 380
13.3 运用数组排序算法 384
13.3.1 选择法排序 385
13.3.2 冒泡法排序 387
13.3.3 交换法排序 389
13.3.4 插入法排序 391
13.3.5 折半法排序 394
13.3.6 比较数组排序算法 396
13.4 实战练习 397
13.4.1 链表的删除操作 397
13.4.2 使用选择法排序 398
13.4.3 使用冒泡、交换、插入、折半等算法进行排序 399
13.5 本章小节 399
第3篇 高级篇
第14章 位运算 402
14.1 解读位与字节 403
14.2 掌握位运算操作符 403
14.2.1 “与”运算符 404
14.2.2 “或”运算符 405
14.2.3 “取反”运算符 407
14.2.4 “异或”运算符 409
14.2.5 “左移”运算符 412
14.2.6 “右移”运算符 413
14.2.7 位运算复合赋值运算符 415
14.2.8 长度不同的数据进行位运算 415
14.3 循环移位 416
14.4 什么是位域 418
14.4.1 位域的概念与定义 419
14.4.2 位域相关说明 420
14.5 实战练习 421
14.5.1 求两个数进行“与”和“或”运算后的结果 421
14.5.2 求出一个数“左移”和“右移”后的结果 422
14.5.3 求一个数“循环左移”和“循环右移”后的结果 422
14.6 本章小结 423
第15章 存储管理 424
15.1 内存组织方式 425
15.1.1 了解内存组织方式 425
15.1.2 解读堆与栈 425
15.2 动态管理 428
15.2.1 动态分配一段内存空间——malloc函数 428
15.2.2 动态分配连续内存空间数组——calloc函数 429
15.2.3 改变ptr指针指向空间大小——realloc函数 431
15.2.4 情景应用:使用realloc函数重新分配内存 432
15.2.5 释放分配整型变量内存空间——free函数 432
15.3 内存丢失 433
15.4 变量的存储类别 434
15.4.1 动态存储与静态存储 435
15.4.2 修饰一个局部变量为自动的auto变量 435
15.4.3 声明位置不同、意义不同的static变量 436
15.4.4 寄存器存储类的register变量 437
15.4.5 外部存储的extern变量 437
15.5 实战练习 438
15.5.1 为数组动态分配内存 438
15.5.2 为数组动态分配并释放内存 439
15.5.3 用静态局部整型变量计算3的平方和立方 440
15.6 本章小结 440
第16章 函数类型和预处理 441
16.1 内部函数和外部函数 442
16.1.1 介绍内部函数 442
16.1.2 解读外部函数 443
16.2 灵活使用宏定义 444
16.2.1 不带参数的宏定义 445
16.2.2 带参数的宏定义 446
16.3 编写#include指令 448
16.4 掌握条件编译 450
16.4.1 #if命令 450
16.4.2 #ifdef及#ifndef命令 453
16.4.3 #undef命令 455
16.4.4 #line命令 455
16.4.5 #pragma命令 456
16.5 实践练习 457
16.5.1 求两个数相乘的积 457
16.5.2 从3个数中找出最小数 457
16.5.3 从3个数中找出最大数 458
16.6 本章小结 459
第17章 读写文件 460
17.1 文件概述 461
17.2 掌握文件基本操作 462
17.3 运用文件指针 463
17.4 打开和关闭文件 464
17.4.1 文件的打开 464
17.4.2 文件的关闭 465
17.5 读 写 文 件 466
17.5.1 写字符函数——fputc函数 466
17.5.2 读字符函数——fgetc函数 468
17.5.3 写字符串函数——fputs函数 469
17.5.4 读字符串函数——fgets函数 470
17.5.5 格式化写入函数——fprintf函数 472
17.5.6 格式化读取函数——fscanf函数 474
17.5.7 数据块读写函数——fread函数和fwrite函数 475
17.6 定位文件 478
17.6.1 随机读写操作——fseek函数 479
17.6.2 返回位置指针——rewind函数 481
17.6.3 ftell函数 483
17.7 实践练习 485
17.7.1 复制文件内容 485
17.7.2 保存学生信息 486
17.8 本章小结 487
第4篇 实战篇
第18章 学生管理系统 490
18.1 分析需求 491
18.2 设计系统 491
18.3 功能模块设计 492
18.3.1 功能选择界面 492
18.3.2 录入学生成绩信息 494
18.3.3 查询学生成绩信息 496
18.3.4 删除学生成绩信息 497
18.3.5 修改学生成绩信息 499
18.3.6 插入学生成绩信息 501
18.3.7 统计学生人数 504
18.4 本章小结 505
附录A 专业术语表 506