找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3305|回复: 0
收起左侧

C语言概述及VS2013开发环境搭建与使用教程

[复制链接]
ID:400132 发表于 2018-9-19 17:38 | 显示全部楼层 |阅读模式
第1章  初识 C语言
学习目标

了解 C语言的特点
掌握 VisualStudio 开发环境的搭建
掌握 HelloWorld程序的编写

C语言是一种通用的、过程式的编程语言,它具有高效、灵活、可移植等优点。在最近二十多年里, 它是使用最广泛的编程语言之一,被大量的运用在系统软件与应用软件的开发中。本章作为整本书的第一 章,将针对 C 语言的发展历史、开发环境搭建以及如何编写 C 语言程序等内容进行详细地讲解。

1.1C语言概述

1.1.1 计算机语言

在揭开 C 语言的神秘面纱之前,先来认识一下什么是计算机语言。计算机语言(Computer Language) 是人与计算机之间通讯的语言,它主要由一些指令组成,这些指令包括数字、符号和语法等内容,编程人 员可以通过这些指令来指挥计算机进行各种工作。
计算机语言有很多种类,根据功能和实现方式的不同大致可分为三大类,即机器语言、汇编语言和高 级语言,下面针对这三类语言的特点进行简单介绍。

1、机器语言 计算机不需要翻译就能直接识别的语言被称为机器语言(又被称为二进制代码语言),该语言是由二

进制数 0 或 1 组成的一串指令,对于编程人员来说,机器语言不便于记忆和识别。
2、汇编语言 人们很早就认识到这样的一个事实,尽管机器语言对计算机来说很好懂也很好用,但是对于编程人员
来说记住 0 和 1 组成的指令简直就是煎熬。为了解决这个问题,汇编语言诞生了。汇编语言用英文字母或 符号串来替代机器语言,把不易理解和记忆的机器语言按照对应关系转换成汇编指令。这样一来,汇编语 言就比机器语言更加便于阅读和理解。
3、高级语言 由于汇编语言依赖于硬件,使得程序的移植性极差,而且编程人员在使用新的计算机时还需学习新的
汇编指令,大大增加了编程人员的工作量,为此计算机高级语言诞生了。高级语言不是一门语言,而是一 类语言的统称,它比汇编语言更贴近于人类使用的语言,易于理解、记忆和使用。由于高级语言和计算机 的架构、指令集无关,因此它具有良好的可移植性。
高级语言应用非常广泛,世界上绝大多数编程人员都在使用高级语言进行程序开发。常见的高级语言 包括 C、C++、Java、VB、C#、Python、Ruby等。本书讲解的 C 语言就是目前最流行、应用最广泛的高 级语言之一,也是计算机编程语言的元老。



1.1.2 什么是 C语言

C 语言是一种高级程序设计语言,具有简洁、紧凑、高效等特点。它既可以用于编写应用软件,也可 以用于编写系统软件。自 1973 年问世以来,C语言迅速发展并成为最受欢迎的编程语言之一,下面针对 C 语言的发展史和 C 语言标准分别进行讲解。
1C语言的发展史
早期的系统软件设计均采用汇编语言,例如,大家熟知的 UNIX 操作系统。尽管汇编语言在可移植性、 可维护性等方面远远不及高级语言,但是一般的高级语言有时难以实现汇编语言的某些功能。那么,能否 设计出一种集汇编语言和高级语言优点于一身的语言呢?于是,C 语言就应运而生了。
C 语言的发展颇为有趣,它的原型是 ALGOL 60 语言(也称 A 语言)。
1963 年,剑桥大学将 ALGOL 60 语言发展成为 CPL(Combined Programming Language)语言。
1967 年,剑桥大学的马丁·理查兹(Matin Richards)对 CPL 语言进行了简化,于是产生了 BCPL 语言。
1970 年,美国贝尔实验室的肯·汤普森(Ken Thompson)将 BCPL 进行了修改,并为它起了一个有趣 的名字“B 语言”,其含义是将 CPL 语言煮干,提炼出它的精华,并且他用 B 语言写了第一个 UNIX 操 作系统。
1973 年,美国贝尔实验室的丹尼斯·里奇(Dennis M.Ritchie)在 B 语言的基础上设计出了一种新的语 言,他取了 BCPL 的第二个字母作为这种语言的名字,即 C 语言。
1978 年,布赖恩?凯尼汉(Brian W.Kernighan)和丹尼斯·里奇(Dennis M.Ritchie)出版了名著《The C Programming Language》,从而使 C 语言成为目前世界上流行最广泛的高级程序设计语言。
2C语言标准
随着微型计算机的日益普及,出现了许多 C 语言版本。由于没有统一的标准,使得这些 C 语言之间出 现了一些不一致的地方。为了改变这种情况,美国国家标准学会(ANSI)为 C 语言制定了一套 ANSI 标准, 即 C 语言标准。
在 1989 年美国国家标准学会(ANSI)通过的 C 语言标准 ANSI X3.159-1989 被称为 C89。之后在 1990 年,国际标准化组织 ISO 也接受了同样的标准ISO9899-1990,该标准被称为 C90。这两个标准只有细微的 差别,因此,通常来讲 C89 和 C90 指的是同一个版本。
后来随着时代的发展,1999 年 ANSI 又通过了 C99 标准。C99 标准相对 C89 做了很多修改,例如变量 声明可以不放在函数开头,支持变长数组等。但由于很多编译器仍然没有对 C99 提供完整的支持,因此本 书将按照 C89 标准来进行讲解,在适当时会补充 C99 标准的规定和用法。

1.1.3 为什么要学习 C语言

从 20 世纪 70 年代起,C 语言通过 UNIX 操作系统迅速发展起来,逐渐占据了大、中、小以及微型机, 成为风靡世界的计算机语言。大多数软件开发商都优先选择 C 语言来开发系统软件、应用程序、编译器和 其他产品。
这样的现象一直保持了 20 年,直到 20 世纪 90 年代,一种代表着先进思想的语言问世,也就是 C 语 言的超集 C++,由于 C++解决了 C 语言不能解决的诸多难题,所以许多开发商开始使用 C++来开发一些复 杂的、规模较大的项目,因此,C 语言进入一个冷落时期。
这个冷落时期并没有持续太长时间,随着嵌入式产品的增多,C 语言简洁高效的特点又被重视起来, 被广泛地应用于手机、游戏机、机顶盒、平板电脑、高清电视、VDC/DVD/MP3 播放器、电子字典、可视 电话等现代化设备的微处理器编程。随着信息化、智能化、网络化的发展,嵌入式系统技术的发展空间还会逐渐加大,而 C 语言的地位也会越来越高。因此,学习好 C 语言是很有必要的,掌握好 C 语言的编程
知识,也是求职拿高薪的敲门砖。

1.2开发环境搭建

在使用 C 语言开发程序之前,首先要在系统中搭建开发环境。现在主流开发工具有很多种,接下来本 节将针对常见的开发工具进行简单介绍,并重点讲解如何搭建 C 语言开发环境。

1.2.1 主流开发工具介绍

C 语言程序有多种开发工具,选择合适的开发工具,可以让读者更加快速的进行程序编写,接下来将 针对几种主流的开发工具进行介绍,具体如下:
1VisualStudio工具
Visual Studio(简称 VS)是由微软公司发布的集成开发环境。它包括了整个软件生命周期中所需要的 大部分工具,如 UML 工具、代码管控工具、集成开发环境(IDE)等。
Visual Studio 支持 C/C++、C#、F#、VB 等多种程序语言的开发和测试,功能十分强大。常用的版本 有 Visual Studio 2010、Visual Studio 2012 等,目前最新版本为 Visual Studio 2013。
2Code::Block工具
Code::Block 是一个免费的跨平台 IDE,它支持 C、C++和 Fortan 程序的开发。Code::Block 的最大特点 是它支持通过插件的方式对 IDE 自身功能进行扩展,这使得 Code::Block 具有很强的灵活性,方便用户使 用。
Code::Block 本身并不包含编译器和调试器,它仅仅提供了一些基本的工具,用来帮助编程人员从命令 行中解放出来,使编程人员享受更友好的代码编辑界面。不过,在后期 Code::Block 的发行版本中已经以 插件的形式提供了编译和调试的功能。
3Eclipse工具
Eclipse 是一种被广泛使用的免费跨平台 IDE,最初由 IBM 公司开发,目前由开源社区的 Eclipse 基金 会负责 Eclipse 的管理和维护。一开始 Eclipse 被设计为专门用于 Java 语言开发的 IDE,现在 Eclipse 已经 可以用来开发 C、C++、Python 和 PHP 等众多语言。
Eclipse 本身是一个轻量级的 IDE,在此之上,用户可以根据需要安装多种不同的插件来扩展 Eclipse
的功能。除了利用插件支持其他语言的开发之外,Eclipse 还可以利用插件实现项目的版本控制等功能。
4Vim工具
和其他 IDE 不同的是,Vim 本身并不是一个用于开发计算机程序的 IDE,而是一款功能非常强大的文 本编辑器,它是 UNIX 系统上 Vi 编辑器的升级版。和 Code::Block 以及 Eclipse 类似,Vim 也支持通过插 件扩展自己的功能。Vim 不仅适用于编写程序,而且还适用于几乎所有需要文本编辑的场合,Vim还因为 其强大的插件功能,以及高效方便的编辑特性而被称为是程序员的编辑器。
由于 Vim 配置多种插件可以实现几乎和 IDE 同样的功能,因此,Vim 有时也被编程人员直接当作 IDE来使用。


1.2.2 VisualStudio 安装

开发 C 语言程序最常用的工具是 Visual Studio,目前最新版本为 Visual Studio 2013,该版本的开发工 具有功能全面、界面友好等特点。Visual Studio 2013 开发工具还分为多个版本,大家可以针对不同的需求 选择不同的版本。本书选择的开发工具是 Visual Studio Express 2013 for Windows Desktop,它是Visual Studio  产品的轻量版本,具备易学、易用、易上手等特点,更加适合读者使用。
接下来通过具体的步骤来演示如何在 Windows7 系统上安装 Visual Studio Express 2013 for Windows
Desktop 开发工具。
1、 开始安装
从微软的官网下载 VS2013_RTM_DskExp_CHS.iso 镜像文件,在本地可以直接解压或者通过虚拟光驱 来进行安装,解压后以管理员身份运行安装程序,此时显示 Visual Studio 界面,如图 1-1 所示。

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

图1-2 路径选择界面
从图 1-2 可以看出,程序的安装路径默认为 C:\Program Files(x86)\Microsoft Visual Studio 12.0,单击安 装路径后的浏览按钮,可以把 Visual Studio 开发工具安装到指定的路径,本书使用默认路径进行安装。
选中【我同意许可条款和隐私策略】选项,取消对【加入 Visual Studio 体验改善计划及帮助改善 Visual
Studio 的质量可靠性和性能(可选)】选项的勾选,如图 1-3 所示。




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

图1-4 安装界面
图 1-4 所示的安装界面正在加载 Visual Studio 安装所需的组件,这个过程会持续较长的时间,需要耐 心等待。
2、 安装完成
Visual Studio 安装成功后,会看到安装成功界面,如图 1-5 所示。






至此,Visual Studio 便安装完成了。
3、 启动 VisualStudio
图1-5 安装成功界面



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

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



图1-7 欢迎界面
在图 1-7 的欢迎界面中,可以看到【登录(I)】按钮,如果注册了微软账号的用户可以选择这种方式 进行登录。为了方便起见,在此选择“以后再说”选项,进入准备阶段,如图 1-8 所示。

图1-8 准备阶段
由于是第一次启动 Visual Studio 开发工具,因此需要一段时间进行准备。准备完成后会显示起始页面, 如图 1-9 所示。



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

1.2.3 VisualStudio 主界面

使用 Visual Studio 工具进行程序开发,主要是在 Visual Studio 的主界面中进行的。主界面由标题栏、 菜单栏、工具栏、代码编辑窗口、解决方案资源管理器、输出窗口、属性窗口等组成,具体如图 1-10 所示。

图1-10 主界面 在程序开发时,主要会用到主界面中的 4 个部分,每个部分功能都不相同,具体说明如下:
?              代码编辑窗口:用于显示和编写代码。
?              解决方案资源管理器:用来显示项目文件的组成结构,如 Program01 项目中包含头文件、外部依 赖项、源文件(HelloWorld.c)、资源文件。
?              输出窗口:用于显示项目中的一些警告和错误。
?              属性窗口:用于显示当前操作文件的相关信息,如项目文件名称、文件类型等。



1.3编写 HelloWorld程序

通过上一小节的学习,读者对 Visual Studio 开发工具有了一个基本的认识。为了快速熟悉工具的使用 以及了解 C 语言程序的编写,本节将通过一个向控制台输出“Hello, world”的程序为读者演示如何在 Visual Studio 工具中开发一个 C 语言应用程序,具体实现步骤如下:
1、 新建项目
启动 Visual Studio 开发工具,在菜单栏中选择【文件】?【新建项目】,如图 1-11 所示。

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

图1-12 新建项目窗口



从图 1-12 中可以看出,项目窗口大致可分为 3 个部分,其中模板区域可以选择要开发项目的模板,项
目区域可以选择要创建项目的类型。在项目区域的下方,可以设置项目名称、位置(项目的保存位置)以 及解决方案名称,解决方案名称默认与项目名相同。
模板区域包含了项目开发中的多个模板,如 Visual Basic、Visual C#、Visual C++等模板。由于本书是 针对 C 语言进行讲解的,因此只会用到 C++中的模板,接下来将针对 C++模板下的项目类型进行介绍,具 体如下:
?              Win32 控制台应用程序:用于创建 Win32 控制台应用程序的项目。
?              Win32 项目:用于创建 Win32 应用程序、控制台应用程序、DLL 或其他静态库项目。
?              空项目:用于创建本地应用程序的空项目。
?              生成文件项目:用于使用外部生成系统的项目。
在此,选择 C++模板中的 Win32 控制台应用程序(运行结果会显示在命令行窗口中),然后将项目名 称设置为 Program01,项目的位置为“D:\itcast\”,并将解决方案的名称设置为 chapter01,这样创建的程
序文件就会生成在“D:\itcast\chapter01”目录中。最后点击【确定】按钮,弹出一个 Win32 应用程序向导 窗口,如图 1-13 所示。

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



图1-14 Win32 应用程序向导窗口
在图 1-14 中,勾选【空项目】选项,然后点击【完成】按钮,至此便完成了 Program01 项目的创建。
2、 添加源文件
项目创建完成后,就可以在 Program01 项目中添加 C 语言源文件。在 Program01 项目中的源文件夹上 点击鼠标右键,在弹出的菜单中依次选择【添加】?【新建项】,如图 1-15 所示。

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






3、编写代码
图1-16 添加源文件



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

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

2              int main()

3              {

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

5              return 0;



6 }              
例 1-1 就是一个完整的 C 语言程序,接下来针对该程序中的语法细节进行详细地讲解,具体如下:
?              第 1 行代码的作用是进行相关的预处理操作。其中字符“#”是预处理标志,用来对文本进行预 处理操作,include 是预处理指令,它后面跟着一对尖括号,表示头文件在尖括号内读入。stdio.h 就是标准输入输出头文件,由于在第 4 行用到了 printf()输出函数,所以需加此头文件。
?              第 2 行代码声明了一个 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 程序的创建、编写以及运行过程。读者在此只需有个大致印象即可,后面 将会继续讲解如何使用 Visual Studio 开发工具编写 C 语言程序。



1.4注释

在编写程序时,为了使代码易于阅读,通常会在实现功能的同时为代码加一些注释。注释是对程序的 某个功能或者某行代码的解释说明,它只在 C 语言源文件中有效,在编译时会被编译器忽略。
C 语言中的注释有两种类型,具体如下:
1、 单行注释
单行注释通常用于对程序中的某一行代码进行解释,用“//”符号表示,“//”后面为被注释的内容, 具体示例如下:
              printf("Hello, world\n");               //输出 Hello,world              
2、 多行注释
顾名思义,多行注释就是在注释中的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾,具 体示例如下:
/* printf("Hello, world\n");

return 0; */

脚下留心:
在 C 语言中,有的注释可以嵌套使用,有的则不可以,下面列出两种具体的情况。
1、多行注释“/*…*/”中可以嵌套单行注释“//”,例如:
/* printf("Hello, world\n");              //输出 Hello,world
return 0; */
2、多行注释“/*…*/”中不能嵌套多行注释“/*…*/”,例如:
/*

/* printf("Hello, world\n");

return 0; */

*/
上面的代码无法通过编译,原因在于第一个“/*”会和第一个“*/”进行配对,而第二个“*/”则找不 到匹配。

1.5本章小结

本章首先讲解了 C 语言的基础知识,然后讲解了 Visual Studio 开发环境的搭建以及如何开发一个 HelloWorld 程序,最后讲解了 C 语言程序中的注释。通过本章的学习,大家会对 C 语言有一个概念上的认 识,并了解如何开发一个 C 语言程序,为后面的程序开发奠定基础。


1.6习题

一、填空题
1、计算机语言总的来说可分为机器语言、、三大类。
2、C 语言中源文件的后缀名为。
3、在程序中,如果使用 printf()函数,应该包含头文件。
4、在 main()函数中,用于返回函数执行结果的是语句。
5、C 语言程序在运行时,必须经过和两个阶段。


二、判断题
1、C 语言并不属于高级语言。
2、计算机语言(Computer Language)是人与计算机之间通讯的语言。
3、C 语言并不能实现汇编语言的大部分功能。
4、Eclipse 工具和 Visual Studio 工具都可以开发 C 语言。
5、C 语言中的 main()函数是程序的主入口。 三、选择题
1、下面选项中表示主函数的是?
A、main()              B、int              C、printf()              D、return
2、C 语言属于下列哪类计算机语言?
A、汇编语言              B、 高级语言              C、机器语言              D、以上均不属于
3、下列关于主函数说法错误的是?(多选) A、一个 C 程序中只能包含一个主函数 B、主函数是 C 程序的入口
C、C 程序中可以包含多个主函数
D、主函数只能包含输出语句
4、下列选项中,不属于 C 语言优点的是?
A、不依赖计算机硬件              B、简洁、高效              C、可移植              D、面向对象
5、下列选项中,哪一个是多行注释?
A、//              B、/**/              C、\\              D、以上均不属于 四、简答题
1、请简述 printf()函数的作用。
2、请简述 C 语言中注释的作用。 五、编程题
1、使用 Visual Studio 开发工具编写一个控制台程序,要求在控制台上输出一句话:“我喜欢 C 语言!”。

完整的pdf格式文档51黑下载地址(内含清晰大图):
01_第1章 初识C语言.pdf (838.79 KB, 下载次数: 6)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表