第1章 初识C语言1207.docx

上传人:b****5 文档编号:29517601 上传时间:2023-07-24 格式:DOCX 页数:32 大小:1,003.43KB
下载 相关 举报
第1章 初识C语言1207.docx_第1页
第1页 / 共32页
第1章 初识C语言1207.docx_第2页
第2页 / 共32页
第1章 初识C语言1207.docx_第3页
第3页 / 共32页
第1章 初识C语言1207.docx_第4页
第4页 / 共32页
第1章 初识C语言1207.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

第1章 初识C语言1207.docx

《第1章 初识C语言1207.docx》由会员分享,可在线阅读,更多相关《第1章 初识C语言1207.docx(32页珍藏版)》请在冰豆网上搜索。

第1章 初识C语言1207.docx

第1章初识C语言1207

第1章初识C语言

学习目标

◆了解C语言的特点

◆熟悉VisualStudio开发环境的搭建

◆掌握HelloWorld程序的编写

◆掌握C语言程序的运行机制

C语言是一种通用的、面向过程的编程语言,它具有高效、灵活、可移植等优点。

在最近二十多年里,它是使用最广泛的编程语言之一,被大量的运用在系统软件与应用软件的开发中。

本章作为整本书的第一章,将针对C语言的发展历史、开发环境搭建、如何编写C语言程序以及C语言的运行机制等内容进行详细地讲解。

C语言概述

1.1.1计算机语言发展史

在揭开C语言的神秘面纱之前,先来认识一下什么是计算机语言。

计算机语言(ComputerLanguage)是人与计算机之间通讯的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,编程人员可以通过这些指令来指挥计算机进行各种工作。

计算机语言有很多种类,根据功能和实现方式的不同大致可分为三大类,即机器语言、汇编语言和高级语言,下面针对这三类语言的特点进行简单介绍。

1、机器语言

计算机不需要翻译就能直接识别的语言被称为机器语言(又被称为二进制代码语言),该语言是由二进制数0或1组成的一串指令,对于编程人员来说,机器语言不便于记忆和识别。

2、汇编语言

人们很早就认识到这样的一个事实,尽管机器语言对计算机来说很好懂也很好用,但是对于编程人员来说记住0和1组成的指令简直就是煎熬。

为了解决这个问题,汇编语言诞生了。

汇编语言用英文字母或符号串来替代机器语言,把不易理解和记忆的机器语言按照对应关系转换成汇编指令。

这样一来,汇编语言就比机器语言更加便于阅读和理解。

编译器可以把写好的汇编语言翻译成机器语言,实现和计算机的沟通。

3、高级语言

由于汇编语言依赖于硬件,使得程序的可移植性极差,而且编程人员在使用新的计算机时还需学习新的汇编指令,大大增加了编程人员的工作量,为此计算机高级语言诞生了。

高级语言不是一门语言,而是一类语言的统称,它比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用。

由于高级语言和计算机的架构、指令集无关,因此它具有良好的可移植性。

高级语言应用非常广泛,世界上绝大多数编程人员都在使用高级语言进行程序开发。

常见的高级语言包括C、C++、Java、VB、C#、Python、Ruby等。

本书讲解的C语言就是目前最流行、应用最广泛的高级语言之一,也是计算机高级编程语言的元老。

1.1.2什么是C语言

C语言是一种高级程序设计语言,具有简洁、紧凑、高效等特点。

它既可以用于编写应用软件,也可以用于编写系统软件。

自1973年问世以来,C语言迅速发展并成为最受欢迎的编程语言之一,下面针对C语言的发展史和C语言标准分别进行讲解。

1、C语言的发展史

早期的系统软件设计均采用汇编语言,例如,大家熟知的UNIX操作系统。

尽管汇编语言在可移植性、可维护性等方面远远不及高级语言,但是一般的高级语言有时难以实现汇编语言的某些功能。

那么,能否设计出一种集汇编语言和高级语言优点于一身的语言呢?

于是,C语言就应运而生了。

C语言的发展颇为有趣,它的原型是ALGOL60语言(也称A语言)。

1963年,剑桥大学将ALGOL60语言发展成为CPL(CombinedProgrammingLanguage)语言。

1967年,剑桥大学的马丁·理查兹(MatinRichards)对CPL语言进行了简化,于是产生了BCPL语言。

1970年,美国贝尔实验室的肯·汤普森(KenThompson)将BCPL进行了修改,并为它起了一个有趣的名字“B语言”,其含义是将CPL语言煮干,提炼出它的精华,并且他用B语言写了第一个UNIX操作系统。

1973年,美国贝尔实验室的丹尼斯·里奇(DennisM.Ritchie)在B语言的基础上设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,即C语言。

1978年,布赖恩•凯尼汉(BrianW.Kernighan)和丹尼斯·里奇(DennisM.Ritchie)出版了名著《TheCProgrammingLanguage》,从而使C语言成为目前世界上流行最广泛的高级程序设计语言。

2、C语言标准

随着微型计算机的日益普及,出现了许多C语言版本。

由于没有统一的标准,使得这些C语言之间出现了一些不一致的地方。

为了改变这种情况,美国国家标准学会(ANSI)为C语言制定了一套ANSI标准,即C语言标准。

在1989年美国国家标准学会(ANSI)通过的C语言标准ANSIX3.159-1989被称为C89。

之后在1990年,国际标准化组织ISO也接受了同样的标准ISO9899-1990,该标准被称为C90。

这两个标准只有细微的差别,因此,通常来讲C89和C90指的是同一个版本。

后来随着时代的发展,1999年ANSI又通过了C99标准。

C99标准相对C89做了很多修改,例如变量声明可以不放在函数开头,支持变长数组等。

但由于很多编译器仍然没有对C99提供完整的支持,因此本书将按照C89标准来进行讲解,在适当时会补充C99标准的规定和用法。

1.1.3C语言的特点

C语言是一种通用的的、面向过程的程序语言,它的诸多特点使它应用面很广,下面我们简单学习一下C语言的特点。

1、语言简洁,使用方便灵活

C语言是现有程序设计语言中规模最小的语言之一,它仅有32个关键字,9种控制语句,压缩了一切不必要的成份。

其32个关键字与9种控制语句在后续章节中会陆续学习。

2、结构化程序设计

C语言是面向过程的语言,它以函数作为程序设计的基本单位。

具有自定义函数的功能。

因C语言可以很容易地进行结构化程序设计。

3、能进行硬件操作

C语言既具有高级语言的功能,又具有低级语言的许多功能,C语言的这种双重性使它既是成功的系统描述语言,又是通用的程序设计语言。

4、执行速度快

众所周知,汇编语言程序目标代码是效率最高的,而C语言仅的目标代码效率仅比汇编语言低10%-20%。

尽管C语言具有很多的优点,但和其他任何一种程序设计语言一样也有其自身的缺点,如编写代码实现周期长,可移植性较差,过于自由,经验不足易出错,对平台库依赖较多。

但总的来说,C语言的优点远远超过了它的缺点。

1.1.4C语言的发展趋势

从20世纪70年代起,C语言通过UNIX操作系统迅速发展起来,逐渐占据了大、中、小以及微型机,成为风靡世界的计算机语言。

大多数软件开发商都优先选择C语言来开发系统软件、应用程序、编译器和其他产品。

这样的现象一直保持了20年,直到20世纪90年代,一种代表着先进思想的语言问世,也就是C语言的超集C++,由于C++解决了C语言不能解决的诸多难题,所以许多开发商开始使用C++来开发一些复杂的、规模较大的项目,因此,C语言进入一个冷落时期。

这个冷落时期并没有持续太长时间,随着嵌入式产品的增多,C语言简洁高效的特点又被重视起来,其强大的功能被广泛应用于各领域:

(1)C语言可以写网站后台程序,诸如XX腾讯后台。

(2)C语言可以写出绚丽的GUI界面,诸如苹果界面。

(3)C语言可以可以专门针对某个主题写出功能强大的程序库,然后供其他程序方便使用,从而让其他程序节省开发时间。

(4)C语言可以写出大型游戏的引擎。

(5)C语言可以写出另一个语言来。

(6)C语言可以写操作系统和驱动程序,并且只能用C语言编写,Linux操作系统的全部源代码都可以从网上得到,要深入了解操作系统的运行秘密,懂C语言,就能看懂。

(7)任何设备只要配置了微处理器,就都支持C语言。

从微波炉到手机,都是由C语言技术来推动的。

随着信息化、智能化、网络化的发展,嵌入式系统技术的发展,C语言的地位也会越来越高。

C语言还将在云计算、物联网、移动互联网、智能家居、虚拟世界等未来信息技术中发挥重要作用。

因此,学习好C语言是很有必要的,掌握好C语言的编程知识,也是求职拿高薪的敲门砖。

而且掌握了C语言后,很容易学习其他面向过程的语言,学习C++,Java,ObjectiveC,PHP将事半功倍,因为万变不离其宗,只是语法上有些许更改,而思想却没有更改。

开发环境搭建

在使用C语言开发程序之前,首先要在系统中搭建开发环境。

现在主流开发工具有很多种,接下来本节将针对常见的开发工具进行简单介绍,并重点讲解如何搭建C语言开发环境。

1.1.5主流开发工具介绍

C语言程序有多种开发工具,选择合适的开发工具,可以让读者更加快速的进行程序编写,接下来将针对几种主流的开发工具进行介绍,具体如下:

1、VisualStudio工具

VisualStudio(简称VS)是由微软公司发布的集成开发环境。

它包括了整个软件生命周期中所需要的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等。

VisualStudio支持C/C++、C#、F#、VB等多种程序语言的开发和测试,功能十分强大。

常用的版本有VisualStudio2010、VisualStudio2012等,目前最新版本为VisualStudio2013。

2、Code:

:

Block工具

Code:

:

Block是一个免费的跨平台IDE,它支持C、C++和Fortan程序的开发。

Code:

:

Block的最大特点是它支持通过插件的方式对IDE自身功能进行扩展,这使得Code:

:

Block具有很强的灵活性,方便用户使用。

Code:

:

Block本身并不包含编译器和调试器,它仅仅提供了一些基本的工具,用来帮助编程人员从命令行中解放出来,使编程人员享受更友好的代码编辑界面。

不过,在后期Code:

:

Block的发行版本中已经以插件的形式提供了编译和调试的功能。

3、Eclipse工具

Eclipse是一种被广泛使用的免费跨平台IDE,最初由IBM公司开发,目前由开源社区的Eclipse基金会负责Eclipse的管理和维护。

一开始Eclipse被设计为专门用于Java语言开发的IDE,现在Eclipse已经可以用来开发C、C++、Python和PHP等众多语言。

Eclipse本身是一个轻量级的IDE,在此之上,用户可以根据需要安装多种不同的插件来扩展Eclipse的功能。

除了利用插件支持其他语言的开发之外,Eclipse还可以利用插件实现项目的版本控制等功能。

4、Vim工具

和其他IDE不同的是,Vim本身并不是一个用于开发计算机程序的IDE,而是一款功能非常强大的文本编辑器,它是UNIX系统上Vi编辑器的升级版。

和Code:

:

Block以及Eclipse类似,Vim也支持通过插件扩展自己的功能。

Vim不仅适用于编写程序,而且还适用于几乎所有需要文本编辑的场合,Vim还因为其强大的插件功能,以及高效方便的编辑特性而被称为是程序员的编辑器。

由于Vim配置多种插件可以实现几乎和IDE同样的功能,因此,Vim有时也被编程人员直接当作IDE来使用。

1.1.6VisualStudio安装

开发C语言程序最常用的工具是VisualStudio,目前最新版本为VisualStudio2013,该版本的开发工具有功能全面、界面友好等特点。

VisualStudio2013开发工具还分为多个版本,大家可以针对不同的需求选择不同的版本。

本书选择的开发工具是VisualStudioExpress2013forWindowsDesktop,它是VisualStudio产品的轻量版本,具备易学、易用、易上手等特点,更加适合读者使用。

接下来通过具体的步骤来演示如何在Windows7系统上安装VisualStudioExpress2013forWindowsDesktop开发工具。

1、开始安装

从微软的官网下载VS2013_RTM_DskExp_CHS.iso镜像文件,在本地可以直接解压或者通过虚拟光驱来进行安装,解压后以管理员身份运行安装程序,此时显示VisualStudio界面,如图1-1所示。

图1-1VisualStudio

图1-1所示的开始安装界面会暂停片刻,然后便会进入路径选择界面,如图1-2所示。

图1-2路径选择界面

从图1-2可以看出,程序的安装路径默认为C:

\ProgramFiles(x86)\MicrosoftVisualStudio12.0,单击安装路径后的浏览按钮,可以把VisualStudio开发工具安装到指定的路径,本书使用默认路径进行安装。

选中【我同意许可条款和隐私策略】选项,取消对【加入VisualStudio体验改善计划及帮助改善VisualStudio的质量可靠性和性能(可选)】选项的勾选,如图1-3所示。

图1-3路径选择界面

点击图1-3路径选择界面中的“安装(N)”,此时便会出现安装界面,如图1-4所示。

图1-4安装界面

图1-4所示的安装界面正在加载VisualStudio安装所需的组件,这个过程会持续较长的时间,需要耐心等待。

VisualStudio安装成功后,会看到安装成功界面,如图1-5所示。

图1-5安装成功界面

至此,VisualStudio便安装完成了。

2、启动VisualStudio

点击图1-5中的“启动(L)”,启动VisualStudio开发工具,界面如图1-6所示。

图1-6启动起始界面

程序启动后会在图1-6所示的界面停留片刻,便会自动进入欢迎界面,如图1-7所示。

图1-7欢迎界面

在图1-7的欢迎界面中,可以看到【登录(I)】按钮,如果注册了微软账号的用户可以选择这种方式进行登录。

为了方便起见,在此选择“以后再说”选项,进入准备阶段,如图1-8所示。

图1-8准备阶段

由于是第一次启动VisualStudio开发工具,因此需要一段时间进行准备。

准备完成后会显示起始页面,如图1-9所示。

图1-9起始页

至此,如果看到了图1-9所示的起始界面,便说明VisualStudio启动成功了。

1.1.7VisualStudio主界面

使用VisualStudio工具进行程序开发,主要是在VisualStudio的主界面中进行的。

主界面由标题栏、菜单栏、工具栏、代码编辑窗口、解决方案资源管理器、输出窗口、属性窗口等组成,具体如图1-10所示。

图1-10主界面

在程序开发时,主要会用到主界面中的4个部分,每个部分功能都不相同,具体说明如下:

●代码编辑窗口:

用于显示和编写代码。

●解决方案资源管理器:

用来显示项目文件的组成结构,如Program01项目中包含头文件、外部依赖项、源文件(HelloWorld.c)、资源文件。

●输出窗口:

用于显示项目中的一些警告和错误。

●属性窗口:

用于显示当前操作文件的相关信息,如项目文件名称、文件类型等。

HelloWorld程序的编写

通过上一小节的学习,读者对VisualStudio开发工具有了一个基本的认识。

为了快速熟悉工具的使用以及了解C语言程序的编写,本节将通过一个向控制台输出“Hello,world”的程序为读者演示如何在VisualStudio工具中开发一个C语言应用程序,具体实现步骤如下:

1、新建项目

启动VisualStudio开发工具,在菜单栏中选择【文件】【新建项目】,如图1-11所示。

图1-11创建项目

点击图1-11中所示的【新建项目】菜单,此时会弹出新建项目窗口,在新建项目窗口中可以选择创建的项目类型,设置项目名称、位置、解决方案名称等,如图1-12所示。

图1-12新建项目窗口

从图1-12中可以看出,项目窗口大致可分为3个部分,其中模板区域可以选择要开发项目的模板,项目区域可以选择要创建项目的类型。

在项目区域的下方,可以设置项目名称、位置(项目的保存位置)以及解决方案名称,解决方案名称默认与项目名相同。

模板区域包含了项目开发中的多个模板,如VisualBasic、VisualC#、VisualC++等模板。

由于本书是针对C语言进行讲解的,因此只会用到C++中的模板,接下来将针对C++模板下的项目类型进行介绍,具体如下:

●Win32控制台应用程序:

用于创建Win32控制台应用程序的项目。

●Win32项目:

用于创建Win32应用程序、控制台应用程序、DLL或其他静态库项目。

●空项目:

用于创建本地应用程序的空项目。

●生成文件项目:

用于使用外部生成系统的项目。

在此,选择C++模板中的Win32控制台应用程序(运行结果会显示在命令行窗口中),然后将项目名称设置为Program01,项目的位置为“D:

\itcast\”,并将解决方案的名称设置为chapter01,这样创建的程序文件就会生成在“D:

\itcast\chapter01”目录中。

最后点击【确定】按钮,弹出一个Win32应用程序向导窗口,如图1-13所示。

图1-13Win32应用程序向导窗口

在图1-13所示的窗口中,系统默认选择控制台应用程序,然后点击【下一步】按钮,此时出现Win32应用程序向导的第二个窗口,如图1-14所示。

图1-14Win32应用程序向导窗口

在图1-14中,勾选【空项目】选项,然后点击【完成】按钮,至此便完成了Program01项目的创建。

2、添加源文件

项目创建完成后,就可以在Program01项目中添加C语言源文件。

在Program01项目中的源文件夹上点击鼠标右键,在弹出的菜单中依次选择【添加】【新建项】,如图1-15所示。

图1-15添加新建项

点击图1-15中的新建项,随后在弹出的添加新项窗口里选择【C++文件(.cpp)】,并在名称输入框中填写“HelloWorld.c”,如图1-16所示。

图1-16添加源文件

3、编写代码

点击图1-16中的【添加】按钮,HelloWorld.c源文件便创建成功,此时,在解决方案资源管理器的源文件夹中便可以看到HelloWorld.c文件,如图1-17所示。

图1-17HelloWorld.c文件

为了让读者对C语言编程有一个简单了解,接下来在图1-17的编辑区中编写HelloWorld.c程序,具体代码如例1-1所示。

例1-1

1#include

2intmain()

3{

4printf("Hello,world\n");

5return0;

6}

例1-1就是一个完整的C语言程序,接下来针对该程序中的语法细节进行详细地讲解,具体如下:

●第1行代码的作用是进行相关的预处理操作。

其中字符“#”是预处理标志,用来对文本进行预处理操作,include是预处理指令,它后面跟着一对尖括号,表示头文件在尖括号内读入。

stdio.h就是标准输入输出头文件,由于在第4行用到了printf()输出函数,所以需加此头文件。

●第2行代码声明了一个main()函数,该函数是程序的入口,每一个C程序必须有且仅有一个main函数,程序总是从main()函数开始执行。

main()函数前面的int表示该函数的返回值类型是整型。

代码第3~6行“{}”中的内容是函数体,程序的相关操作都要写在函数体中。

●第4行代码调用了一个用于格式化输出的函数printf(),该函数用于输出一行信息,可以简单理解为向控制台输出文字或符号等。

printf()括号中的内容称为函数的参数,括号内可以看到输出的字符串“Hello,world\n”,其中“\n”表示换行操作,它不会输出到控制台。

●第5行代码中return语句的作用是将函数的执行结果返回,后面紧跟着函数的返回值,返回值一般用0或-1表示,0表示正常,-1表示异常。

值得一提的是,在C语言程序中,以分号(;)作为结束标记的代码都可称为语句,如例1-1中的第4行、第5行代码都是语句,被“{}”括起来的语句被称为语句块。

4、运行程序

HelloWorld程序编写完成并保存后,就可以对HelloWorld程序进行编译和运行操作。

选择【调试】【开始执行(不调试)】选项,或者直接使用快捷键Ctrl+F5来运行程序,如图1-18所示。

图1-18运行程序

程序运行后,会弹出命令行窗口并在该窗口中输出运行结果,如图1-19所示。

图1-19运行结果

至此,便完成了HelloWorld程序的创建、编写以及运行过程。

读者在此只需有个大致印象即可,后面将会继续讲解如何使用VisualStudio开发工具编写C语言程序。

脚下留心:

让运行界面暂停

在VS中直接点击运行按钮或使用F5键是调试状态下运行程序,运行结束后窗口会消失。

此时我们若想看到程序的运行结果,就需要使用快捷键Ctrl+F5,这个快捷键在vs中是用来不调试运行程序,可以让运行界面暂停;或者在程序的头部添加#include,在main()函数尾部加上system(“pause”)函数调用,该函数也起到使程序运行到这句话时暂停的功能。

多学一招:

VS命令行运行HelloWorld.c

读者在运行C语言程序时,直接点击运行按钮就可以运行了。

其实还可以调用VS命令行手动编绎运行,可以体会一下C语言程序的运行过程。

在调用命令行之前,安装codeblocks-13.12mingw-setup-TDM-GCC-481.exe(读者可以到博学谷平台下载此安装包)。

然后在【开始】菜单中点击“VisualStudio2013”文件夹,如图1-20所示。

图1-20VisualStudio2013文件夹

【VisualStudio2013】文件夹下有【VisualStudioTools】子文件夹,点击此文件夹,弹出如图1-21所示的窗口。

图1-21点击VisualStudioTools文件夹窗口

此窗口下有【VS2013开发人员命令提示】,点击此文件,会弹出如所1-22所示的命令行窗口。

图1-22VS命令行窗口

图1-22中显示的“F:

\2013>”是VS的安装目录,VS安装的目录不同,显示的路径也不同。

打开此命令窗口后,读者创建一个HelloWorld.txt文件,编写例1-1中HelloWorld程序。

本书以在桌面上创建为例,在后续章节中,如未有提示均指在桌面创建文件。

将HelloWorld.txt后缀名改为.c,即HelloWorld.c。

文件创建好后,在命令行中进入到文件所在路径,如图1-23所示。

图1-23进入到HelloWorld.c所在路径

进入到HelloWorld.c所在的路径后,执行命令“clHelloWorld.c”,然后回车,如图1-24所示。

图1-24执行clHelloWorld.c命令后

执行完这一步之后,会在桌面两上文件HelloWorld.exe和HelloWorld.obj文件。

HelloWorld.obj是编绎过程的中间产物,HelloWorld.exe是生成的最终执行文件。

此时在命令运行HelloWorld.exe并回车,结果如图1-25所示。

图1-25执行HelloWorld.exe

VS命令行能更深切的体会到C语言程序的编绎过程,其实在VS中点击运行按钮时,VS也是调用的命令行来执行。

除此之外,C语言还可以在MACios、QT、unix、Android等环境下执行。

有兴趣的读者可以尝试一下。

C语言代码风格

开发软件往往不是一朝一夕的事情,更多的情况下,一个软件的开发周期需要很长时间,并且通常由多人合作完成。

因此,一定要保持良好的编码风格,才能最大化地提高程序开发效率。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1