基本信息

【插图】

内容简介
计算机书籍
《零基础学C语言(第3版)》站在零基础学习的角度讲授C语言,使初学者能尽快掌握C语言程序设计的精髓,避免走弯路。在讲解知识点时,笔者采用由浅入深、逐级递进的学习方式进行内容设置安排。本书一共分为4篇,循序渐进地讲述了C语言的语法规则和编程思想,从基本概念到具体实践、从入门知识到高阶主题、从语法语义到数据结构和算法都进行了详细的阐述。主要内容包括数据的存储和获取、屏幕的输入与输出、运算符、表达式、分支语句、循环语句、函数、数组、指针、字符串处理、结构体、共用体、枚举、位运算、文件处理、作用域、预处理、数据结构等。最后一章通过对一些常见的C语言面试题的解析,为读者参加求职考试提供参考资料。
《零基础学C语言(第3版)》非常适合无C语言基础或基础薄弱的程序员阅读,并可作为开发人员的参考手册。
作译者
西安交通大学管理科学与工程专业硕士,研究方向是信息管理与电子商务;陕西省行政学院副教授,主讲数据库、C语言、管理信息系统、计算机应用基础等;参与开发过多个网络应用系统。任现职以来,共发表学术论文10篇,分别发表在《中国商贸》和《价值工程》等核心期刊上;共出版著作4部,分别由清华大学出版社和机械工业出版社出版;独立完成中国商业联合会的全国商科教育科研“十二五”规划课题一项。
目录
前言
第一篇 C语言基础
第1章 踏上征程前的思想动员 1
1.1 为什么选择C语言 1
1.2 如何学好C语言 3
1.3 语言概述 3
1.3.1 什么是语言 3
1.3.2 什么是机器语言 3
1.3.3 什么是汇编语言 4
1.3.4 面向过程的语言 5
1.3.5 什么是C语言 5
1.4 程序的开发周期 5
1.4.1 编辑C源代码 6
1.4.2 编译C源代码 6
1.4.3 连接目标文件 7
1.4.4 编译连接过程示例 7
1.4.5 运行程序 9
1.5 VC++、C++、C和TC的区别 9
1.6 小结 11
前言
创新推动着软件开发不断进步,在C语言之后,各种新的语言相继诞生,如C++、Java、C#等,但C语言的基础地位依然不可撼动。学好了C语言再去看上面几种语言,会发现其中的机理是相通的,所谓万变不离其宗,改变的只是语法的形式,编程思想却没有变化。而且,很多语言的编译器或者解释器就是用C语言编写出来的,比如风靡全球的PHP、Ruby等。
所以,C语言是程序开发的基石。希望本书能像一盏明灯,照亮读者学习C语言之路。
本书特色
本书系统全面地介绍了C语言各个方面的知识,从最简单的“Hello World”程序写起,逐步深化、细化。书中对每个知识和技术要点都给出了翔实的示例及代码分析。和其他书籍中罗列代码的做法不同,本书中的代码力求短小精悍,直击要点,避免了细枝末节对读者思维的干扰。在讲解知识点的同时辅以笔者多年的C语言编程经验解析,可加深读者的理解。
本书的特点主要体现在以下几个方面:
·编排采用密切结合、循序渐进的方式,每章主题鲜明,要点突出,适合初中级读者逐步掌握C语言的语法规则和编程思想。
·示例丰富,关键知识点都辅以示例帮助读者理解。示例程序简洁,但并不是简单的代码罗列,而是采用短小精炼的代码紧扣所讲的技术细节,并配以详细的代码解释和说明,使读者印象深刻,对所学知识理解得更加透彻。
·示例可移植性强,与编译环境和平台无关,读者可轻易地将代码复制到自己的机器上进行实验,自行实践和演练,直观体会所讲要点,感受C语言的无限魅力。本书的所有示例、源代码都附在随书光盘中,方便读者使用。
·结构清晰,内容全面,几乎涉及了C语言的所有特性。
·图文并茂,帮助读者对知识点建立直观印象。
·结合笔者多年的C语言编程和系统开发经验,特别标注出易出错的技术点或初学者易误解的细节,使读者在学习中少走弯路,加快学习进度。
·很多C语言书籍只讲语法规则,不讲数据结构,读者即便掌握了语法理论,也无法写出大型的C语言程序。而本书介绍了数据结构和算法的知识,阐述了结构化程序设计的思想,探讨了高质量编程的问题,为读者以后深入学习软件开发打下基础。
·注重加强读者对技术点本质的理解,对诸如“编译器如何为程序实体分配内存”、“函数调用细节”等技术问题做了很多独创性的介绍。
本书内容
本书共分为4篇,23章,第一篇从C语言的基础知识讲起,使读者初步了解C语言语法和编程机制。如果将编写C语言程序比作盖房子,那么基础知识就相当于砖瓦水泥。第二篇讲述如何将这些知识组织起来以构成完整的C语言程序。第三篇介绍了进阶内容,讨论一些深层次的技术细节,理解困难、易出错的要点。第四篇介绍了案例实践和面试技巧。
第一篇(第1章~第9章)C语言基础。讲述了C语言的基础知识,包括C语言介绍、C语言程序开发步骤、不同的开发环境、C语言程序的组成、变量及数据类型、输入与输出、运算符和表达式、语句、分支、循环等。通过阅读本篇,读者可对C语言程序有个初步而全面的认识,了解C语言的由来及强大功能,明确开发环境如何通过文本形式的代码生成二进制形式的代码,熟悉C语言程序的结构,知道如何声明变量,如何组织语句。学完本篇,读者便可自行书写简单的C语言程序。这9章的知识是进一步学习的基础。
第二篇(第10章~第15章)一窥C语言门庭。C语言博大精深,掌握了第一篇中的基础知识可以说只到了大门口。本篇从C语言的核心——函数讲起,介绍了与数组、指针、字符串和结构体相关的内容。指针是C语言的难点,也是C语言灵活性和实用性的直接体现。数组、字符串和结构体也是C语言初学者容易感觉头疼的地方。所以说,学完本篇才算迈进了C语言的大门。
第三篇(第16章~第21章)C语言进阶主题。第二篇从较为独立的角度讲述了函数、数组、指针和结构体的知识,在实际应用中,这些要素彼此交叉,应用组合方式千变万化,这也是C语言灵活性的具体体现。本篇用两章的篇幅,分别介绍了指针和函数的技术细节,对初学者来说,理解起来可能略有难度,但这是通往高层次C语言学习的必经之路。此外,本篇还介绍了文件处理、编译及预处理、变量的生存期、作用域、可见域及数据结构方面的内容。本篇将使读者对C语言有更深入的体会和理解。
第四篇(第22章~第23章)C语言程序设计实例与面试题解析。本篇旨在让读者掌握如何用C语言开发案例和实践项目。本篇提供了几种常见游戏的开发,帮助读者进一步掌握C语言的语法和一些经典算法。最后一章通过一些常见的C语言面试题,为读者踏入职场、参加求职考试提供参考资料。
书摘
无论出于什么目的,一旦下定决心准备学习c语言,就要端正思想,只是听说c语言难,所以觉得学不好,这是不可取的。只要读者掌握了一些方法,克服了畏难情绪,并且不轻言放弃,那么就完全可以学好。以下是一些基本方法:
(1)多动手多求人。所有的问题都可以通过自己编写代码、观察结果解决。凡是可以通过编写代码观察到结果的问题,都不应该成为一个问题。不会的,也不要太固执,多问问有经验的人。
(2)多学习优秀代码。C语言灵活简洁,即使编写出不好的代码,也能编译出可以运行的程序来。但是还有更优秀的编程技巧,可以让程序更好地工作,这就要求读者多学习其他人编写的优秀代码。
(3)多以人类的思考方法来类比计算机。计算机需要什么数据、如何获取这些数据、得到后如何存放、如何处理、处理后如何表现等,对这些问题要多问些为什么,一旦理解了计算机处理这些问题的过程,编程就是一件非常轻松的事情了。
(4)C语言只是一个基本工具,要想编写强大的软件,必须学习相关操作系统的API(应用程序编程接口),熟悉其他类库的使用方法,才能开发出满足用户需求的软件。
本书已经考虑到C语言难学的情况,将难点分散到各个章节,尽量以非计算机专业术语讲解,容易理解。同时尽量用图示和实例代码来帮助读者更快地学会C语言。
1.3语言概述
一提到语言这个词,人们自然会想到像英语、汉语这样的自然语言,因为语言是人和人相互交流信息不可缺少的工具。而今天,计算机遍布了我们生活的每一个角落,除了人和人之间的相互交流之外,我们还必须和计算机交流。用什么样的方式才能和计算机做最直接的交流呢?人们自然想到的是最古老同时也是最方便的方式——语言。
1.3.1什么是语言
类比人类的语言,如汉语、英语、法语等,可以总结出语言有如下特点:
(1)语言是用来交流沟通的。有一方说,有另一方听,必须有两方参与,这是语言最重要的功能。语言就是用来表达意思、传递信息的。说的一方传递信息,听的一方接受信息;说的一方下达指令,听的一方遵从命令做事情。没有语言,双方就很难交流沟通。
(2)语言有独特的语法规则,交流双方都必须了解并遵守这些规则。一个只会说汉语的中国人,和一个只会说法语的法国人,如果戴上面具,只通过嘴巴发出声音互相交流,结果一定是鸡同鸭讲,信息完全传递不出去。为什么?因为互相不知道对方的语法规则,当然听不懂了。为什么要戴面具?为什么只能通过嘴巴?因为人类的一些面部表情,身体动作,这些是相通的,不通过声音,而通过肢体语言也能多少表达出一些意思。
……