零基础趣学C语言(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-07 16:15:38

点击下载

作者:如鹏教育 杨中科

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

零基础趣学C语言

零基础趣学C语言试读:

内容提要

本书以C语言知识为基础,以如鹏游戏引擎为框架,分三篇共13章来介绍C语言,主要内容划分如下:第一篇为基础语法篇,内容包括C语言初识、数据类型、运算符与表达式、选择结构、循环结构、函数初识、数组;第二篇为中级游戏开发篇,内容包括如鹏游戏引擎初识、常用游戏元素介绍、游戏开发基础、游戏开发高级;第三篇为高级指针篇,内容包括指针初识、内存管理。本书内容最大的特点是在案例部分以开发游戏的方式讲解C语言,且本书提供课件、源程序、素材文件、教学视频、在线答疑等配套服务。

本书内容有趣、难度适中、实例丰富,非常适合C语言零基础的读者,也适合相关院校作为教材使用。

序一

为什么会有这本书

市面上介绍C语言的书有很多,但是基本都在讲解如何使用C语言输出“九九乘法表”“杨辉三角”等黑底白字的“DOS”程序。这样的教学方式,会让初学者感觉学习C语言枯燥、无聊,最终失去对C语言的兴趣。

为了让初学者有兴趣地、零挫折地学习C语言,本书引入了如鹏教育研发的游戏引擎,引导读者以游戏开发的形式学习C语言。读者只要掌握最基本的C语言语法,就可以开发一些简单、有趣、互动性强的游戏效果,学习起来更有成就感,更容易对C语言产生兴趣。本书内容

本书的核心思想和内容,源自如鹏教育创始人杨中科老师多年来精心录制的“C语言也能干大事”系列视频教程。该系列视频教程在互联网上流传广泛,获得了很多C语言初学者的好评。

全书内容分为三篇共13章,具体内容如下。第一篇为基础语法篇,共7章。

第1章主要介绍与C语言相关的基本概念,编辑、编译、运行、解释第一个C语言程序的方法,并对一些常见问题进行详细的描述与分析。

第2章主要讲解C语言中数据的两种表现形式:常量与变量,以及常用的数据类型,并重点讲解变量在C语言中的使用方法。另外,标识符、关键字、注释等知识点也会在本章作简单介绍。

第3章主要讲解C语言中常用的运算符,以及由运算符组合而成的运算表达式。

第4章主要讲解C语言中常用的两种选择结构:if与switch。由于在实际开发中, if语句使用机会更多,本章将重点讲解if语句的使用,以及if语句的三种形式。

第5章主要讲解C语言中常用的三种循环结构:while、do…while、for。本章将分别使用while、do…while、for循环实现两个相同的案例,通过对比方式让读者了解这三种循环结构的特点。最后,本章还介绍了改变循环执行状态的两种语法:break与continue。

第6章主要帮助读者理解函数的定义、调用方法,掌握函数实参与形参的使用,以及函数返回值的使用,最后通过案例讲解来加强读者对函数的理解。

第7章主要讲解数组的定义和使用方法,并分析了使用数组过程中的常见问题以及注意事项,最后通过案例讲解来加强读者对数组的理解。第二篇为中级游戏开发篇,共4章。

第8章主要内容是介绍如鹏游戏引擎,讲解游戏开发涉及的相关概念,配置游戏开发环境。

第9章详细介绍C语言游戏开发中常用的三个核心函数,以及三个常用游戏元素:文本元素、图片元素、精灵元素。

第10章主要以案例讲解的方式,让读者掌握文本、图片、精灵元素的使用方法。

第11章属于C语言游戏开发的高级部分,介绍了获取用户按键功能,它可以实现用户与游戏程序之间的交互,增强了用户的游戏体验。除此之外,本章还将让读者接触多个版本的吃金币游戏,以版本迭代的开发模式,让读者体验如何开发一个功能完善的游戏程序。第三篇为高级指针篇,共2章。

第12章主要讲解如何定义、引用指针变量。本章通过大量案例,透彻分析了在使用指针过程中遇到的一些问题,并深入分析了数组与指针、字符串与指针之间的关系。本章最后介绍了6个字符串处理函数。

第13章内容分为两部分,第一部分主要介绍C语言中的内存管理方式,重点阐述栈区与堆区之间的区别。第二部分主要介绍用户自定义数据类型——结构体,讲解如何定义、使用结构体。

本书采用Visual Studio 2012中的C89语言标准,书中的代码在低版本编译器中可能不能正常工作。C语言标准也在升级中,书中提到的一些“此用法不支持”的编程方式可能在C99、C11等新标准中已经被支持。由于此类语言标准版本的不同而造成的操作差异,本书不再额外说明。本书特色

1.删繁就简,重点突出。本书尽量减少了不必要的内容介绍,以减轻初学者的学习负担。

2.实例丰富,解析透彻。本书对每个案例都进行了细致的讲解,并给出关键代码与注意事项。

3.错误举例,深入分析。本书除了讲解C语言知识及编程方法,还引入了大量常见错误编程方法,透彻分析错误原因,让读者知其然,也知其所以然。

4.内容有趣,题材新颖。本书第二篇为游戏开发,趣味性很强,通过游戏案例讲解知识点比单调地讲解理论更加有效,更有助于提高初学者对C语言的学习兴趣。配套服务

本书提供了丰富的配套服务,包括配套教学视频、配套资源、技术交流和在线答疑。读者可以通过以下方式获取。扫码看教学视频教学视频

读者用手机或平板电脑扫描右侧二维码,或打开网址:https://www.rupeng.com/Courses/Index/110,在【目录】区即可观看教学视频。配套资源

输入上述网址,在【资料】区获取本书开发工具、开发素材、教学课件、源代码等资源。

也可到“人邮教育”社区(www.ryjiaoyu.com)下载本书配套资源。技术交流与在线答疑

遇到问题?找老师!

扫描右侧二维码加入学习辅导群,群内有专门的老师答疑解惑、指导学习方法、管理学习进度。技术交流在线答疑读者对象

本书适合对C语言感兴趣的零基础读者使用,也适合相关院校作为教材使用。读者反馈与本书勘误

虽然我们已经尽力完善本书内容,但不可避免会有纰漏。读者在使用本书过程中遇到任何问题都可以访问如鹏网(www.rupeng.com)进行提问、留言,我们会及时发布最新的勘误结果,并诚恳感谢发现问题的读者。如鹏教育编写团队2018年9月

序二

十年了,这本书终于出版了!

2008年,那时的我还在软件公司做程序员。工作之余,我建了一个C语言交流的QQ群,群里陆陆续续加入很多大一、大二的学生,大家都抱怨“C语言太难学了”“学C语言真没意思,都是打印黑底白字的DOS程序”。刚接触程序设计的学生往往对编程兴趣盎然,希望能编写出炫酷的程序,但一个学期的C语言学下来,可能会被打击得体无完肤,彻底丧失对编程的兴趣。

从那时起,我开始思考如何让学习C语言变得有趣。经过准备,我录制了第一版的“C语言也能干大事”视频教程,讲解如何使用C语言调用Windows API编写Windows程序,其中包括计算器、音乐播放器几个例子。那是我第一次讲课,没有讲课经验,现在看来真是“惨不忍睹”。但由于内容新颖,教程瞬间引爆了C语言学习者社区,很多对C语言绝望的同学因为看了我的视频教程重拾对编程的兴趣,后来他们中很多人经过这十年的发展成为了公司的技术骨干。下面是当时的一些学生在微博上给我的留言,我感到很欣慰!

随着我讲课经验的不断提升,“C语言也能干大事”视频教程又陆续出了几个版本,讲解越来越细致,知识点也越来越完善。由于C语言是偏底层的语言,Java、Python等语言通过几行代码就可以实现的效果,C语言可能要用几十行甚至上百行代码才能完成,因此课程学起来难度仍然很高。

为了让更多人爱上编程、轻松学会编程,我开始回忆我当年学习编程的经历。1999年,当时我高一,父亲给我买了一台电脑学习机,就是可以插到电视机上类似红白游戏机的机器。利用一个暑假的时间,我无师自通学会了电脑学习机上的Basic游戏编程。

从最开始连打字都不会,到后来能够编写几百行的游戏程序,我没有受任何老师的指导,靠的就是自学电脑学习机上提供的Basic游戏编程语言:调用几个函数就能显示马里奥精灵,再调用一个函数就能让马里奥运动起来,再调用一个函数就能播放美妙的背景音乐……我就是在玩儿中掌握了变量、循环、判断、函数等复杂的编程概念。“把这个游戏引擎移植到C语言环境中试试看!”这个念头一下子从我的脑中闪过!

说干就干!我用一天一夜开发了C语言游戏引擎(该游戏引擎在2018年获得了国家版权局颁发的《软件著作权登记证书》)。使用这个游戏引擎,初学者同样只要用简单的几行代码就可以编写炫酷的游戏,这样他们就可以像当年的我一样,在玩儿中学会编程。

游戏引擎开发出来后,我又录制了新版的“C语言也能干大事”视频教程。这套教程使用游戏引擎讲解C语言语法,通过让游戏人物转身讲解“参数”,通过让游戏人物走路讲解“循环”……游戏化的教学方法让更多人爱上了C语言。

教程上线后,我又马不停蹄地开始了这本书的编写工作。在讲课过程中,我大量地用口语化和形象化的方式表述,但落到纸面上,必须使用正式的书面用语。虽然在备课过程中,我编写了100多页的讲义,但要把讲义内容丰富、完善,变成一本书,是一个非常复杂的工作。在此,我要感谢如鹏教育的吕旭州同学,是他帮助我完成了书稿的整理工作。我对这本书寄予厚望,因此对稿件的要求非常高。从初稿完成到提交给出版社,我提出了很多改进意见,吕旭州同学都一一进行了修改,后来又在出版社更专业的修改建议下不断完善,直到定稿。

十年愿望终成真,希望这本书能够像十年前我的视频教程那样继续影响一代代的编程学习者。把“编程好玩,玩儿中学编程”的理念一直传递下去。杨中科2018年冬于北京第一篇基础语法篇

C语言作为一门面向过程的程序设计语言,自诞生起几十年来经久不衰,被广泛应用于系统软件与应用软件中,掌握C语言是软件开发人员的一项基本功。从第一篇开始,我们将要逐步讲解C语言的基础语法,帮助读者打下坚实的基础。本篇学习目标

◎ 掌握C语言开发环境的搭建,掌握编译、运行C语言程序。

◎ 掌握变量的声明、赋值及数学运算。

◎ 掌握以下常见数据类型:int、double、float、char。

◎ 掌握使用if、switch语句编写选择结构程序。

◎ 掌握如何调用函数以及定义函数。

◎ 掌握一维数组的定义、赋值及遍历。

◎ 掌握字符数组的特点及常用字符串操作函数。本篇学习难点

◎ 计算机执行程序是严格按照语法执行的,在编写程序时不能像写文章一样天马行空,一定要用严谨的思维来考虑和编写。

◎ 循环结构是C语言中第一个复杂的程序结构,是一个学习的难点,读者要跟着书中的思路对程序进行分析,弄清楚程序执行的每一步。

◎ 函数是本篇最难的内容,读者需要明白“函数就是组成程序的零件”这个概念,明白函数在程序组装过程中的意义,明白“什么是函数,怎么定义、调用函数”。

◎ 数组,特别是字符数组,是程序开发中应用非常多的数据结构,数组本身概念不难,但是要多加练习才能灵活运用。第1章C语言初识

1973年C语言诞生于贝尔实验室,由 D.M.Ritchie设计并实现。自那时起,几十年来,在编程语言排行榜中,C语言一直稳定处于前三名,这是任何一种其他的编程语言都达不到的。几乎所有的高级语言都是以C语言为基础扩充或衍生而来(Java,C++,C#等)。即使今后想要从事其他的编程语言工作,带着扎实的C语言功底也会让你的学习事半功倍。C语言虽历史悠久,但却是不朽的传奇。1.1 编程入门

学习编程,首先从学习一门编程语言开始。对于初学者来说,在没有选择自己的技术方向之前,建议从C语言开始入门,因为C语言是计算机基础编程语言,大多数高级编程语言都是在C语言的基础上修改而来。掌握了C语言,再去学习其他编程语言,就容易多了。1.1.1 什么是程序

程序是一组计算机所能识别和执行的指令,每一条指令都可以使计算机执行特定的操作,完成相应的功能。计算机并不是“智能”的,不会自动进行所有的工作,它之所以能够自动实现各种功能,是因为软件工程师(程序员)使用计算机语言事先编写好程序,然后输入到计算机中执行。因此,可以认为计算机的一切都是由程序来控制的,计算机的本质就是执行程序的机器。1.1.2 什么是计算机语言

语言是一种交流、传递信息的媒介。中国人交流用中国话、英国人交流用英语、法国人交流用法语……同理,工程师与计算机交流,也需要解决语言问题,因此,需要创造一种人与计算机都能识别的语言,就是所谓的计算机语言。至今,计算机语言的发展经历了多个发展:机器语言阶段、汇编语言阶段、高级语言阶段。

由于机器语言和汇编语言晦涩难懂、移植性差,在计算机语言发展初期只有极少数的计算机专业人员会编写计算机程序,计算机语言难以推广。直到C、C++、Java、C#、Python JavaScript等一系列高级语言被创造出来,这类语言更接近人们习惯使用的自然语言,才使得计算机语言真正得到大规模推广和应用。1.1.3 什么是编译

对于计算机来说,根本上只能识别、执行0和1组成的二进制指令,例如:

0101 1111 0000 0000

而使用高级语言编写的程序是无法被计算机直接识别、执行的。因此,需要一种程序可以将高级语言所编写的程序“翻译”为计算机可以直接执行的二进制机器指令。这种可以“翻译”的程序被称为编译器,“翻译”的过程被称为编译,如图1-1所示。图1-1 编译的过程1.2 编辑器、编译器与集成开发环境

C语言作为当下最流行的计算机语言之一,自诞生起就有众多商业公司、开源组织为其打造开发环境,例如:Visual C++ 6.0、DEV C++、Turbo C、Visual Studio系列等。这些开发工具在各自的领域中,都扮演着重要的角色。但无论是哪种开发工具,它们都无一例外地支持C语言标准语法。因此,读者不必担心开发环境之间的差异影响到C语言学习。本书主要针对微软公司的Visual Studio 2012开发环境作介绍,因为它可视化好、调试方便、功能丰富。所谓“工欲善其事,必先利其器”,一款优秀的开发工具,可以让学习效果事半功倍。

编辑器、编译器、集成开发环境是初学者经常混淆的三个概念,本节将详细介绍这三者之间的区别与联系。1.2.1 什么是编辑器

编辑器是用来编写代码的软件。一个好的编辑器可以帮助开发人员快速、方便地完成代码编写工作。现在市面上的编辑器有很多种,从功能简单的记事本到功能丰富的notepad++、editplus、UltraEdit等,如图1-2所示,这些编辑器都可以用来编写C语言程序。图1-2 常用的编辑器1.2.2 什么是编译器

编译器是将源程序(如C语言源程序)编译生成可执行文件的软件。使用编辑器编写的C语言源程序只是一个文本文件,不能直接运行,必须被编译成可执行文件才能运行。常用的编译器有: Microsoft C++ Compiler、gcc等。1.2.3 什么是集成开发环境(IDE)

集成开发环境(Integrated Development Environment,IDE)是为程序开发提供环境的应用软件,内部提供编辑器和编译器。常见的IDE有Turbo C、Microsoft Visual Studio系列、Dev C++等,如图1-3所示。图1-3 常见的IDE1.2.4 IDE的比较与选择

虽然只使用编辑器和编译器可以完成程序的编辑、编译、执行,但是不建议读者这么做,原因有以下两点。(1)开发流程繁琐、效率低下、容易出错。(2)很难对程序进行调试。建议读者直接使用IDE编写C语言程序,大家的目标是学会C语言编程,不要因为开发环境给学习编程造成困扰,得不偿失。

那么IDE类型这么多,应该如何选择?

这里建议和本书的IDE保持一致,采用微软公司的Visual Studio 2012(简称VS2012),当然更高的版本也是可以的。经过测试,本书中的程序,在VC6、VS2008、VS2013、VS2015、VS2017上均可正常运行。如果没有装任何IDE,建议读者安装VS2012。这样,读者在编写程序时,IDE中的菜单位置和本书中案例相对应,方便读者快速学习和掌握。1.2.5 Visual Studio 2012下载与安装

Visual Studio 2012的下载、安装过程较为烦琐,这里不作详细介绍。为了方便读者学习具体的操作过程,本书提供教学视频。读者扫描右侧二维码,即可获取Visual Studio 2012最新版本的下载、安装教程。1.3 编写第一个C语言程序VS 2012的下载与安装

所谓“万事开头难”,为了降低学习难度,本书将从最简单的C语言程序开始,由浅到深地介绍如何使用C语言编写程序。

Visual Studio 2012的功能非常丰富,本节只介绍如何完成一个C语言程序的编辑、编译、运行等步骤,其他功能读者可以参考相关手册。由于操作系统可能会隐藏文件后缀名称,给我们的学习造成一定影响,所以在正式开始学习之前,还需要对系统环境做适当的配置。

下面介绍使用Visual Studio 2012开发一个C语言程序的完整流程。小贴士在开始本节学习前,必须做一件非常重要的事:去掉“隐藏已知文件类型的扩展名”。本书采用的是Windows 7操作系统,在该系统下,去掉“隐藏已知文件类型的扩展名”分为以下两个步骤。(对于Windows 10等操作系统下的设置方法,请参考本书的视频教程。)第1步 打开【计算机】图标,单击【组织】,在下拉菜单中选择【文件夹与搜索选项】命令,如图1-4所示。第2步 单击【查看】选项,取消选择【隐藏已知文件名类型的扩展名】复选框,最后单击【确定】,如图1-5所示。图1-4 组织视图图1-5 查看视图【疑问】为什么要取消选择【隐藏已知文件类型的扩展名】?【回答】 如果不取消该选项,Windows 7系统会默认隐藏文件的扩展名,此时,只凭借文件名,无法判断文件的具体类型。下面的一个文本文件给出了隐藏和取消隐藏扩展名的区别,如图1-6所示。读者务必注意文件扩展名的变化。图1-6 隐藏与未隐藏扩展名的区别1.3.1 新建第一个解决方案

Visual Studio 2012采用解决方案的形式管理C语言项目,因此开始编写第一个C语言程序之前,需要先新建一个解决方案,创建解决方案分为以下几个步骤。

第1步 进入VS2012,在起始页面板菜单栏中单击【文件】选项,依次选择【新建】、【项目】命令,如图1-7所示。图1-7 新建项目

第2步 依次选择【Visual C++】、【Win32控制台应用程序】命令,在下方的【名称】文本框里将内容修改为“MyFirstC”,【位置】文本框里内容修改为“D:\C语言”(注意:后续项目代码,默认都保存在该位置),如图1-8所示。最后单击【确定】。图1-8 选择解决方案类型及保存路径小贴士

如果您使用Visual Studio 2017及以上版本,是不会有【Win32控制台应用程序】选项的,需要依次选择【Windows桌面】、【Windows桌面向导】选项,如图1-9所示。图1-9 Windows桌面向导

第3步 单击【下一步】,如图1-10所示。图1-10 项目生成向导

第4步 依次选择【控制台应用程序】、【空项目】,最后单击【确定】,如图1-11所示。图1-11 选择应用程序类型

提示: 选择【附加选项】时,一定要选择【空项目】复选框,千万不要选择【安全开发生命周期(SDL)检查】复选框,否则会影响后续学习。

第5步 如果【解决方案资源管理器】对话框中显示名称为“MyFirstC”的项目,表示解决方案创建成功,如图1-12所示。图1-12 解决方案资源管理器1.3.2 添加.c文件

C语言程序一般保存在以.c结尾的文件中,添加.c文件,分为以下3个步骤。

第1步 用鼠标右键单击【源文件】选项,再依次选择【添加】、【新建项】命令,如图1-13所示。

第2步 单击【Visual C++】,选择【C++文件(.cpp)】选项,将【名称】文本框里内容修改为“Main.c”,最后单击【添加】,如图1-14所示。图1-13 添加.c文件图1-14 添加Main.c文件小贴士

很多C语言书籍中都会创建.cpp文件编写C语言程序。虽然也可以编译运行,但是这样是不标准的,.cpp文件一般是用来保存C++语言程序的,C语言程序应该保存在.c文件中。

第3步 如果【源文件】下生成了“Main.c”文件,表示添加成功,如图1-15所示。图1-15 添加Main.c文件1.3.3 编辑C语言程序

编辑C语言程序需要在.c文件中进行,在上一节中,我们已经添加了Main.c文件,本节将在Main.c文件中编写第一个C语言程序。

用鼠标左键双击“Main.c”文件,输入以下几行程序,如图1-16所示,然后单击【保存】。图1-16 第一个C语言程序

注意: 1.上述程序中所有字符、标点符号均为英文格式。

2.C语言程序严格区分大小写,上述程序均采用小写字母。

3.return 与0之间有空格,不能省略。1.3.4 生成可执行程序

C语言程序编辑好后,还需要经过编译,最终生成.exe格式的可执行文件才可以运行,在VS2012中,编译C语言程序分为以下两个步骤。

第1步 在VS2012对话框中单击【生成】选项,选择【生成解决方案】命令,如图1-17所示。

第2步 单击VS2012底部状态栏【输出】选项,可以查看编译结果,如果提示“成功 1 个,失败 0 个,最新 0 个,跳过 0 个”,表示可执行程序成功,如图1-18所示。图1-17 编译C语言程序图1-18 编译提示信息1.3.5 查看编译结果

C语言源程序本质上和普通文本没有任何区别,是不能直接运行的,需要经过编译生成.exe可执行文件,才能运行。不过这一步VS2012已经帮我们做了,可以在项目路径下查看。

在VS2012中查看生成的.exe可执行文件,分为以下几个步骤。

第1步 用右键单击【解决方案“MyFirstC”】,再用左键单击【在文件资源管理器中打开文件夹】,如图1-19所示。图1-19 打开文件资源管理器

第2步 双击【Debug】文件夹,如图1-20所示。

第3步 双击图1-21中的MyFirstC.exe,可以看到和图1-23一样的运行结果,【Debug】文件夹中的MyFirstC.exe就是Main.c经过编译生成的可执行文件。图1-20 查找Debug文件夹图1-21 MyFirstC.exe可执行文件1.3.6 运行C语言程序

如果程序已经编译成功,单击【本地Windows调试器】即可运行程序,如图1-22所示。运行结果如图1-23所示。图1-22 本地Windows调试器图1-23 运行结果1.3.7 项目过期提示

在VS2012中,单击【本地Windows调试器】时,可能会弹出图1-24所示对话框。这是由于修改了C语言源程序导致的,建议读者选择【不再显示此对话框】复选框,然后单击【是】即可,该对话框就不会再显示了。图1-24 项目过期提示框1.3.8 生成错误提示

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载