C编程从入门到精通

978-7-115-65559-2
作者: 明日科技
译者:
编辑: 谢晓芳
分类: C语言

图书目录:

详情

本书系统、全面地介绍了Python程序设计开发所涉及的各类知识。主要内容包括Python基础知识、数据类型、运算符、条件控制语句、循环结构语句、序列、字符串、列表、字典、集合、文件、I/O、函数、GUI编程和异常处理。全书内容与示例紧密结合,有助于读者理解知识、应用知识,达到学以致用的目的。 本书可作为大中专院校计算机相关专业的教材,也可作为Python自学手册,还适合开发人员参考。

图书摘要

版权信息

书名:C编程从入门到精通

ISBN:978-7-115-65559-2

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。

版  权

著    明日科技

责任编辑 谢晓芳

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内容提要

本书由浅入深地讲解了C语言的开发环境、C语言基础知识、C语言基本数据类型、数据输入与输出、运算符与表达式、条件判断语句、循环语句、数组、字符串处理函数、函数、指针和结构体。每章内容都与实例紧密结合,有助于读者理解知识、应用知识,达到学以致用的目的。

本书可作为大中专院校计算机相关专业的教材,也适合C语言爱好者、初学者参考。

前  言

C语言是Combined Language(组合语言)的中文简称,作为一种计算机程序设计语言,它具有高级语言和汇编语言的特点,受到广大编程人员的喜爱。C语言的应用非常广泛,既可以用于编写系统程序,也可以用于编写应用程序,还可以应用到单片机以及嵌入式系统的开发中。这正是大多数学习者选用C语言的原因。

在当前的教育体系下,实例教学是计算机语言教学的有效方法之一。本书将C语言知识和实用的实例结合,一方面,跟随C语言的发展方向,适应市场需求,精心选择内容,突出重点、强调实用,使知识的讲解全面、系统;另一方面,将知识融入实例讲解,使知识与实例相辅相成,既有利于学生学习知识,又有利于教师指导学生实践。

本书配套提供源代码和视频,读者可登录异步社区(https://www.epubit.com),按书名搜索,在本书页面下载。

如果您在学习或使用本书的过程中遇到问题或疑惑,可以通过如下方式与我们联系,我们会在1~5个工作日内给您提供解答。

服务网站:mingrisoft网站。

服务电话:0431-84978981/84978982。

企业QQ:4006751066。

服务邮箱:mingrisoft@mingrisoft.com。

由于作者水平有限,书中难免存在疏漏和不足之处,敬请广大读者批评指正,使本书得以改进和完善。书中使用的案例(包括产品型号、人物信息等内容)均为虚构,如有雷同,纯属巧合。

明日科技

2024年10月

第1章 C语言的开发环境

处理文字需要使用Word,制作表格需要使用Excel,设计演示文稿需要使用PowerPoint,编写计算机程序同样也需要工具——程序设计语言及其开发环境。可能有人知道,Java语言常使用的开发环境是Eclipse,Python语言常使用的开发环境是PyCharm,C语言常使用的开发环境是Visual Studio。本章将详细介绍C语言的开发环境。

1.1 开发环境大全

C语言的开发环境有很多种,刚开始有Turbo C,后来有Visual C++,还有由Bloodshed 团队推出的Dev-C++,另外有Visual Studio系列。这些软件都可以用来编写C语言程序,而且它们都是在Windows系统下安装的。在Linux系统下,用于C语言程序开发的有GCC(GNU Compiler Collection,GNU编译器套件)等。接下来就简单介绍这几种开发环境。

1.Turbo C

Turbo C (简称TC)是一种针对C和C++编程语言开发的集成开发环境。图1.1所示的是Turbo C的工作界面。Turbo C的优点是它使用了一系列下拉式菜单,将文本编辑、程序编译与连接以及程序运行集于一身,它还拥有图形库和文本窗口函数库。Turbo C 2.0又增加了查错功能,还增设了仿真功能,这些都方便了程序的开发。虽然Turbo C的功能很强大,但它也有弊端。它的弊端是不能使用鼠标控制,这就给开发者带来了麻烦,因为大家平常习惯于使用鼠标,所以一些开发者不喜欢使用Turbo C。

图1.1 Turbo C的工作界面

2.Visual C++ 6.0

Visual C++ 6.0(简称VC6)是微软公司的产品。图1.2所示的是Visual C++ 6.0的工作界面。Visual C++ 6.0诞生于1998年,与Windows系统一样,有标准版(Standard Edition)、专业版(Professional Edition)与企业版(Enterprise Edition)3种,同时还分英文版和中文版。Visual C++ 6.0是微软公司最成功的产品之一,但现在微软公司已经不支持Visual C++ 6.0,安装包无法在网上下载,而且Visual C++ 6.0在Windows 7、Windows 8、Windows 10系统下都存在兼容性问题,所以目前很少有人使用Visual C++ 6.0来开发,取而代之的是微软公司推出的一系列Visual Studio产品。

图1.2 Visual C++ 6.0的工作界面

3.Dev-C++

Dev-C++也是一种开发环境,适合初学者使用,因为它是一种集成开发环境,不需要安装,直接打开dev-c++.exe就可以使用。尽管如此,但是它没有在商业级的软件开发中使用。Dev-C++刚开始是由Bloodshed 团队推出的,后由于资金等原因该团队在开发完 4.9.9.2版本后停止了更新,现在由Orwell等团队继续更新开发。

4.Visual Studio 2019

Visual Studio(简称VS)是微软公司的开发工具包。在本书中,使用Visual Studio 2019开发C语言程序。图1.3所示的是Visual Studio 2019界面。Visual Studio是一个基本完整的开发工具集,用Visual Studio写的代码适用于微软公司支持的所有平台。Visual Studio不仅可以编写C语言代码,还可以开发C++、C#、ASP.NET程序等,可见Visual Studio很强大。Visual Studio是Windows系统下目前流行的应用程序的集成开发环境。

图1.3 Visual Studio 2019界面

5.Linux平台

Linux是类UNIX的操作系统,而GCC是一个用于编程开发的自由编译器。“GCC”最初是GNU C Compiler的英文缩写,因为它最开始只是C语言程序的编译器,如今它已经是C、C++、Ada、Java等程序的编译器,所以GCC的全称也由原来的GNU C Compiler变为GNU Compiler Collection。GCC的功能很强大、性能好,它可以在多种硬件平台上编译出可执行的超级编译器,效率高。

1.2 安装C语言开发环境

本书将详细介绍Visual Studio 2019开发环境的安装。

在Windows系统下安装Visual Studio 2019的系统及硬件要求如表1.1所示。

表1.1 在Windows系统下安装Visual Studio 2019的系统及硬件要求

系统及硬件

要求

处理器

2.0 GHz双核处理器

RAM

4GB,建议使用8GB内存

可用硬盘空间

系统盘上最少需要10GB的可用空间

显示器

分辨率为1024×768像素,支持16位增强色

下面以Visual Studio 2019社区版的安装与启动为例讲解具体的步骤。

说明

Visual Studio 2019社区版是完全免费的。

安装与启动Visual Studio 2019社区版的步骤如下。

(1)Visual Studio 2019社区版的安装文件是.exe可执行文件,其命名格式为“vs_community__编译版本号.exe”,这里下载的安装文件为vs_community__1230733315.1531385802.exe文件,双击该文件开始安装。

说明

安装Visual Studio 2019开发环境要求计算机上必须安装了.NET Framework 4.6框架,如果没有安装,请先到微软官方网站下载并安装。

(2)跳转到Visual Studio 2019安装界面,在该界面中单击“继续”按钮,会自动跳转到安装选择项界面,如图1.4所示。在该界面中选中“使用C++的桌面开发”复选框,其他的复选框读者可以根据自己的开发需要确定是否选中。设置完要安装的功能后,在界面下方的“位置”处选择要安装的路径,这里建议不要安装在系统盘上,可以选择其他磁盘进行安装,这里将其安装到了D盘。设置完成后,单击“安装”按钮。

注意

在安装Visual Studio 2019开发环境时,读者的计算机界面中“使用C++的桌面开发”这一复选框的位置可能会与图1.4所示的位置不同,要看清楚再勾选。

图1.4 安装选择项界面

注意

在安装Visual Studio 2019开发环境时,一定要确保计算机处于联网状态,否则无法正常安装。

(3)跳转到图1.5所示的安装进度界面,该界面会显示当前的下载及安装进度,当进度达到100%后会自动进入安装完成界面。

图1.5 安装进度界面

(4)在Windows的“开始”菜单中找到Visual Studio 2019开发环境,如图1.6所示,双击“Visual Studio 2019”,如果是第一次打开Visual Studio 2019,会出现图1.7所示的欢迎界面,直接单击“以后再说”按钮。

图1.6 打开Visual Studio 2019

(5)进入Visual Studio 2019环境的开发设置界面,如图1.8所示,在“开发设置”中选择“Visual C++”,颜色可选择自己喜欢的颜色,并单击“启动Visual Studio”按钮。

图1.7 欢迎界面

图1.8 开发设置界面

(6)进入Visual Studio 2019环境的启动界面,等待几秒后,会进入图1.9所示的界面。

图1.9 启动之后的界面

至此,Visual Studio 2019就安装成功并且已经启动了。

1.3 熟悉Visual Studio开发环境

本节会对Visual Studio开发环境中的用户界面等进行介绍。

1.3.1 创建项目

初期学习C语言编程主要在Windows控制台应用程序环境下进行。下面将按步骤介绍控制台应用程序的创建过程。

(1)安装Visual Studio之后,打开Visual Studio开发环境,进入Visual Studio开发环境,单击右侧的“创建新项目”,如图1.10所示。

图1.10 单击“创建新项目”

(2)跳转到图1.11所示的“创建新项目”界面,选中“空项目”,单击“下一步”按钮。

图1.11 “创建新项目”界面

(3)跳转到图1.12所示的“配置新项目”界面,在“项目名称”文本框中输入要创建的项目名称(文件夹名称),例如Dome;在“位置”文本框中设置文件夹的保存地址,单击右边的按钮,修改源文件的存储位置,并单击“创建”按钮。

图1.12 “配置新项目”界面

(4)跳转到图1.13所示的文件选择界面。

图1.13 文件选择界面

(5)选择“解决方案资源管理器”中的源文件,右击“源文件”,选择“添加”中的“新建项”,如图1.14所示,或者使用Ctrl+Shift+A快捷键,进入添加项目界面。

图1.14 选择“添加”中的“新建项”

(6)跳转到图1.15所示的“添加新项”界面。

图1.15 “添加新项”界面

添加项目时,首先在左侧选择“Visual C++”选项,右侧列表框中会显示可以创建的不同文件。因为要创建C源文件,所以这里选择“C++文件(.cpp)”选项,在下方的“名称”文本框中输入要创建的C源文件的名称,例如Dome.c。“位置”文本框中显示的是文件夹的保存地址,这里默认使用步骤(3)中创建的文件夹的位置,不更改。

注意

因为要创建的是C源文件,所以在文本框中要将默认的扩展名.cpp改为.c。例如,要创建名称为Dome的C源文件,在文本框中应该显示“Dome.c”。

(7)单击“添加”按钮,这样就添加了一个C源文件,如图1.16所示。

图1.16 完成添加C源文件

1.3.2 用户界面

1.菜单栏

菜单栏显示了所有可用的Visual Studio命令,除了“文件”“编辑”“视图”“窗口”和“帮助”菜单之外,还提供了编程专用的功能菜单,如“项目”“生成”“调试”“工具”和“测试”等,如图1.17所示。

图1.17 菜单栏

每个菜单都包含若干命令,分别用于执行不同的操作,例如,“调试”菜单中有调试程序的各种命令,包括“开始调试”“开始执行(不调试)”和“新建断点”等,如图1.18所示。

图1.18 “调试”菜单

2.工具栏

为了使操作更快捷,菜单中常用的命令按功能分别放入了相应的工具栏。通过工具栏可以快速使用常用的菜单命令。常用的工具栏有标准工具栏和调试工具栏。下面分别介绍。

标准工具栏包括了大多数常用命令的按钮,如新建项目、打开文件、保存、全部保存等。标准工具栏如图1.19所示。

图1.19 标准工具栏

调试工具栏包括对程序进行调试的快捷按钮,如图1.20所示。

图1.20 调试工具栏

说明

在调试程序或运行程序的过程中,通常可用以下4种快捷键来操作:

按F5键实现调试运行程序;

按Ctrl+F5快捷键实现不调试但运行程序;

按F11键实现逐语句调试程序;

按F10键实现逐过程调试程序。

3.解决方案资源管理器

解决方案资源管理器(见图1.21)提供了项目及文件的视图,并且提供了对项目和文件相关命令的便捷访问。若要打开解决方案资源管理器,可以选择“视图”→“解决方案资源管理器”。

图1.21 解决方案资源管理器

4.“选项”界面

“选项”界面可用于对环境进行设置。选择菜单栏中的“工具”→“选项”,就能打开图1.22所示的“选项”界面。可以在其中设置开发环境主题等。

图1.22 “选项”界面

5.“输出”界面

“输出”界面用于对程序中的错误进行及时提示,并提供可能的解决方法。例如,当运行某行末尾未输入分号的代码时,“输出”界面会显示错误信息,如图1.23所示。“输出”界面就好像一个错误提示器,它可以将程序中的错误代码及时显示给开发人员,并帮助开发人员通过提示信息找到相应的错误代码。

图1.23 “输出”界面

说明

双击“输出”界面中的某项,Visual Studio会自动定位到发生错误的代码。

1.4 C语言程序开发的步骤

一般,学习编程的目的就是做开发,让自己成为优秀的开发人员。本节中,我们会通过使用Visual Studio 2019开发一个小程序来介绍开发C语言程序的过程,让你真真正正感受到C语言程序的魅力和价值。整个开发的步骤如图1.24所示。

图1.24 C语言程序开发的步骤

本实例的目的是让读者实际动手操作,设计的程序“简单而不失内涵”,该程序用于输出图1.25所示的“学无止境,C位出道”内容。

程序的流程图如图1.26所示。

图1.25 输出“学无止境,C位出道”

图1.26 程序的流程图

基本的功能已经设定完成,接下来就是按照设定的功能编写代码。

实例1-1 使用Visual Studio 2019编写程序,然后在相应的项目文件中输入代码。

具体代码如下。

按照创建项目的步骤完成一个新项目的创建,将上面的代码输入Dome.c文件中,如图1.27所示,按Ctrl+S快捷键进行保存。

图1.27 输入代码

注意

输入代码时对输入法是有要求的,输入法需要是英文(半角)字符状态的。我们以搜狗输入法来举个例子,图1.28所示的输入设置是错误的,图1.29所示的输入设置是正确的。

图1.28 错误的输入设置

图1.29 正确的输入设置

在Visual Studio 2019的菜单栏上选择“生成”→“编译”,如图1.30所示,或使用Ctrl+F7快捷键编译程序。

图1.30 “生成”菜单

如果编译程序之后,输出图1.31所示的“生成:成功1个,失败0个,最新0个,跳过0个”提示信息,则表示编译成功。

如果此时运行程序,则会出现图1.32所示的对话框,询问用户是否创建.exe可执行文件。如果单击“是”按钮,则会生成.exe文件,即可运行程序并观察程序的运行结果。

图1.31 提示信息

图1.32 询问用户是否创建.exe可执行文件的对话框

在Visual Studio 2019的菜单栏上选择“调试”→“开始执行(不调试)”,或按Ctrl+F5快捷键,如图1.33所示,运行程序,结果如图1.34所示。

图1.33 单击“开始执行(不调试)”选项

图1.34 程序运行结果

说明

如果你觉得程序没有错误,可以直接运行程序。

控制台颜色的修改过程如下。

(1)按Ctrl+F5快捷键运行程序,在控制台的标题栏上右击,在弹出的快捷菜单中选择“属性”命令,如图1.35所示。

(2)弹出“属性”对话框,在“颜色”选项卡中可对“屏幕文字”和“屏幕背景”进行修改,如图1.36所示。读者可以根据自己的喜好设定颜色并显示。

图1.35 选择“属性”命令

图1.36 “属性”对话框中的“颜色”选项卡

1.5 初学者经常遇到的问题

程序能顺利运行是非常好的一件事,不过有时不是所有事情都是一帆风顺的,学习过程中不可避免地会遇到问题,学习编程也一样。当你开始学习编程时,就要做好解决问题的准备。

在C语言的开发环境中编译程序时,如果程序出现语法错误,该环境就会提示错误的位置。例如,若输出图1.37所示的提示信息,代表代码编译失败。

图1.37 代码编译失败的提示信息

我们将鼠标指针移动到图1.37提示的错误位置并双击,它就会变成蓝色,如图1.38所示,在代码错误的位置会有一个,表示附近的代码是有错的,在这段代码中错误的位置在第6行。

从图1.38中也可以看到,如果出现错误,代码的下面会有红色的波浪线。这个错误提示表示第6行有语法错误。经过仔细观察发现,第5行中的puts()函数后面忘记加“;”,在puts()函数后加上“;”,再次编译就会通过,然后运行程序。

这里发现了一个问题,明明是第5行中的puts()函数出现语法错误,为什么提示错误在第6行的位置?因为在C语言中,每行末尾用“;”来表示结束,在第5行漏写了“;”,编译器就认为第5行和第6行是一行,所以就会在第6行提示语法错误。如果在提示错误的位置没有找到错误,那么一般会在上一行中找到。

图1.38 错误提示

这只是常见的错误之一。接下来我们来列举一下初学者常遇到的问题以及对应的调试方法。

中英文符号混淆是初学者常遇到的问题。

所有的代码都是在英文(半角)输入法状态下编写的。编写代码时往往要实现输出中文的提示,这样在切换输入法时容易出现错误,符号可能会被误输成中文符号,这样编译器编译程序时就会出现错误,显示图1.39所示的错误提示。

图1.39 中英文符号混淆的错误提示

从图1.39可以看到,提示错误在第6行代码,出现了未声明的标识符“;”。根据图1.39的内容可知,我们应该在第6行代码中寻找错误,会发现第6行的语句结束符号是中文分号,将其改为英文分号,修改之后再次运行。

未声明标识符也是初学者常犯的错误。当出现该错误时,编译器会提示“XXX未声明的标识符”,如图1.40所示。从错误提示可以看出,i这个标识符未声明,也就是这个字母的含义在此程序中未被声明,提示在第8行代码中出现错误,那就去第8行找到字母i,分析出现此错误的原因,修改之后重新运行。

图1.40 未声明标识符的错误提示

格式输入/输出错误也是初学者常犯的错误。例如,若定义的变量是整型的,输入/输出时却用浮点型或者字符型,编译器会报告出错,程序虽然能运行,但是在输入/输出数据时会出现错误,如图1.41所示。

图1.41 格式输入/输出错误的提示

从图1.41可以看出,第8行代码中出现错误,因此调试程序时在第8行代码中寻找错误,将“%f”改为“%d”,再次运行程序。

说明

以上是初学者编写程序时常遇到的问题。当然,还会有其他一些问题,请仔细编写代码。

练习题

1.试用C语言编程输出“贵有恒,何必三更起五更睡;最无益,只怕一日曝十日寒”,结果如图1.42所示。[提示:使用puts()函数。]

图1.42 练习题1的程序输出结果

2.已知正方形的边长为4,用C语言编程计算正方形的周长,并将结果输出,运行结果如图1.43所示。(提示:使用乘法。)

3.世界知名互联网公司一般都有比较独特的企业文化,如在Facebook(现更名为Meta)的办公室中挂着这样一条充满野心和奋斗的标语:Go Big or Go Home!(要么出众,要么出局!)。下面就用C语言实现这条标语,实现结果如图1.44所示。(提示:使用特殊符号。)

图1.43 输出所计算的正方形周长

图1.44 练习题3的程序实现结果

4.微软公司采用“Eat our own dog food”(吃我们自己的狗粮)的方法来检测其研究的软件。这种方法传达的观点是,研发人员在使用自己开发的软件时能够很快发现漏洞或者不对的地方,也就是研发人员通过试用自己研发的产品来确保其功能完美展现,满足用户的使用要求。请用C语言来实现图1.45所示的结果。

图1.45 练习题4的程序实现结果

相关图书

C语言最佳实践
C语言最佳实践
数据结构与算法及其航空航天应用(C语言版)(项目式微课版)
数据结构与算法及其航空航天应用(C语言版)(项目式微课版)
C语言编程从入门到精通
C语言编程从入门到精通
代码审计——C/C++实践
代码审计——C/C++实践
大规模C++软件开发 卷1:过程与架构
大规模C++软件开发 卷1:过程与架构
C程序设计教程(第9版)
C程序设计教程(第9版)

相关文章

相关课程