自学C语言-1

第1章 C语言概述

在诸多的高级语言中,C语言是不折不扣的元老级语言。它是怎么发展而来的?有哪些特性?怎么样才能使用它开发一个C程序?本章就带你来了解这些信息。除此以外,本章还会介绍Visual C++ 6.0和Visual Studio 2019开发环境,让你快速对C语言有一个全面的了解。深刻了解C语言,你会对编程产生浓厚的兴趣。
本章的知识架构及重难点如下:
开发环境:Visual C++ 6.0 Visual Studio 2019
C语言概述:
C语言的发展史:程序语言简述 C语言的历史
C语言的特点:高效性、灵活性、功能丰富、表达力强、移植性好。
一个简单的C程序:#include指令 空行 main函数声明 函数体 执行语句 return语句 代码的注释
一个完整的C程序:定义常量 函数声明 定义变量 输入语句 数学运算语句
表示重点内容

1.1 C语言的发展史

- 1.1.1 程序语言简述

  • 在介绍C语言之前,我们先来了解一下程序语言的发展历程。

1.机器语言

机器语言是低级语言,也称为二进制代码语言,是一种使用0、1表示的二进制代码编写指令以执行计算机操作的语言。机器语言的特点是计算机可以直接识别,不需要进行任何翻译。

2.汇编语言

	汇编语言是面向机器的程序设计语言。为了减轻开发者使用二进制代码编程的痛苦,用英文字母或符号串来替代机器语言的二进制码,这样就把不易理解和使用的机器语言变成了汇编语言。因此,汇编语言要比机器语言更便于阅读和理解。

3.高级语言

由于汇编语言依赖于硬件体系,并且助记符号数量比较多,所以其运用起来仍然不够方便。为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件,于是产生了高级语言。这种语言,其语法形式类似于英文,并且因为不需要对硬件进行直接操作,因此易于被普通人所理解与使用。其中影响较大、使用普通的高级语言有Fortran、ALGOL、Basic、COBOL、LISP、Pascal、PROLOG、C、C++、VC、VB、Delphi、Java等。

1.1.2 C语言的历史

早期操作系统都是用汇编语言编写的,由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都不是很好。为了提高可读性和可移植性,人们开始寻找一种语言,这种语言既要具有高级语言的特性,又不能失去低级语言的优点。于是,C语言产生了。

C语言是在BCPL语言(简称B语言)的基础上发展和完善起来的,而B语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出来的。20世纪70年代初期,AT&T Bell实验室的程序员丹尼斯·里奇第一次把B语言改为C语言。
最初,C语言运行于AT&T的多用户、多任务的UNIX操作系统上。后来,丹尼斯·里奇用C语言改写了UNIX C的编译程序,UNIX操作系统的开发者肯·汤普逊又用C语言成功地改写了UNIX,从此开创了编程史上的新篇章。UNIX成为第一个不是用汇编语言编写的主流操作系统。
1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言草案(83ANSI C),后来于1987年又颁布了另一个C语言标准草案(87ANSI C),最新的C语言标准C99于1999年颁布,并在2000年3月被ANSI采用。但是由于未得到主流编译器厂家的支持,C99并未得到广泛使用。
尽管C语言是在大型商业机构和学术界的研究实验室中研发的,但是当开发者们为第一台个人计算机提供C编译系统之后,C语言就得以广泛传播,并为大多数程序员所接受。对MS-DOS操作系统来说,系统软件和实用程序都是用C语言编写的。Windows操作系统大部分也是用C语言编写的。
C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点。C语言可以广泛应用于不同的操作系统,如UNIX、MS-DOS、Microsoft Windows及Linux等。
在C语言基础上发展起来的有支持多种程序设计风格的C++语言,网络上广泛使用的Java和JavaScript,以及微软的C#语言等。也就是说,学好C语言之后,再学习其他语言就会比较轻松。
说明:
目前流行的C语言版本有以下几个。
Microsoft C或称MS C。
Borland Turbo C或称Turbo C。
AT&TC。

1.2 C语言的特点

C语言是一种通用的程序设计语言,主要用来进行系统程序设计,具有如下特点。
1.高效性
从C语言的发展历程可以看到,它继承了低级语言的优点,代码运行效率高,并具有良好的可读性和编写性。一般情况下,C语言生成的目标代码的执行效率只比汇编程序低10%~20%。
2.灵活性
C语言中的语法不拘一格,可在原有语法基础上进行创造、复合,从而给程序员更多想象和发挥的空间。
3.功能丰富
除C语言中所具有的类型外,还可以使用丰富的运算符和自定义结构类型来表达复杂的数据类型,完成所需要的功能。
4.表达力强
C语言的语法形式与人们惯用的自然语言相似,书写形式自由,结构规范,通过简单的控制语句即可轻松控制程序流程,完成烦琐的程序要求。
5.移植性好
作为高级语言,C语言具有良好的可移植性。在不同的操作系统下,只需要简单地修改甚至不用修改,即可进行跨平台的程序开发操作。
正是由于C语言拥有上述优点,因此它在程序开发中备受青睐。

1.3 一个简单的C程序

下面通过一个简单的实例来看看C语言程序是什么样的。为了便于讲解,实例代码中专门标注了行号(真实程序中这些行号是不存在的)。
例1.1 输出一行语句
本实例程序的功能是显示一条信息“I want to self-study C language”, 通过这处程序可以初窥C程序的样貌。虽然这个简单的小程序只有7行,却充分说明了C程序是由什么位置开始、什么位置结束的。

在这里插入图片描述运行程序,显示效果如图1.1所示。
在这里插入图片描述 图1.1 一个简单的C程序

  • 1. #include指令
    实例代码的第1行是一个编译预处理命令,声明了在程序编译之前要预先处理的内容。
    #include<stdio.h> /包含头文件stdio.h/
    其中,include称为文件包含命令,后面尖括号中的内容称为头文件或首文件。本行代码的作用是声明本段代码已包含标准输入/输出库函数stdio,后续可直接调用,不需要用户再进行定义。有关预处理的内容,将会在第13章中进行详细讲解,在此只需对相关概念有所了解即可。
  • 2.空行
    实例代码的第2行是一个空行。
    C语言是一个相对灵活的语言,格式并不是固定不变的。也就是说,空格、空行、跳格并不会影响程序的运行。有的读者会问:为什么要有这么多空格和空行呢?其实这就像生活中在纸上写字一样,虽然拿来一张白纸就可以在上面写字,但是通常还会在纸上印一行一行的方格或段落,隔开每一段文字,使书写更加美观和规范。合理、恰当地使用这些空格、空行,可以使编写出来的程序更加规范、干净和易于阅读。
    注意:并不是所有空格都没用。比如,两个关键字之间要用空格隔开(else if),这种情况下如果将空格去掉,程序就不能通过编译。这里大家有个感性认识就好,在后续的学习中可以慢慢领悟。
  • 3.main函数声明
    实例代码的第3行如下:
    int main() /主函数main,这里是程序入口/
    本行代码的作用是声明main函数有一个整型返回值。其中的int称为关键字,该关键字代表的类型是整型。关于数据类型的内容将在第3章中讲解,关于函数的内容将在第9章中讲解。
    函数中,这一部分称为函数头部分。每个C程序都必须有一个main函数,表示程序的入口部分。也就是说,程序都是从main函数头开始执行的,然后进入main函数体中的,执行其中的代码块。
  • 4.函数体
    实例代码中的第4~7行如下:
{
printf("I want to self-study C language\n");    /*输出要显示的字符串*/
return 0;																	/*程序返回0*/
}

上面介绍main函数时,提到了一个名词"函数头"。既然有函数头,是不是也应该有函数体呢?没错,一个函数通常就分为两个部分:一个是函数头,二是函数体。
程序代码的第4行和第7行是两个大括号,这对大括号以及其中的语句块就构成了函数体。第5行和第6行语句就是函数体中要执行的内容。其中,printf函数就包含在标准输入/输出库文件stdio中,因为前面做了包含声明,所以这里开发者可以直接调用,进行字符串的输出操作。

  • 5.执行语句
    函数体中的第5行代码如下:
printf("I want to self-study C language\n");    /*输出要显示的字符串*/

执行语句就是函数体中要执行的动作内容。本行代码是这个简单例子中最复杂的语句,但其实不难理解。printf是格式化输出函数,用于向控制台输出文字或符号。括号中的内容称为函数参数,这里可以看到要输出的字符串为“I want to self-study C language" 。其中还可以看到”\n"这样一个符号,称之为转义字符,其作用是实现换行。关于转义字符的内容将第3章中介绍。
特别需要注意的是,语句的结尾一定要添加英文分号。

  • 6.return语句
    函数体中的第6行代码:
return 0; 					/*程序返回0*/

本行语句使main函数终止运行,并向操作系统返回一个整型常量0。前面介绍main函数时,说过它需要返回一个整型值,这里0就是要返回的整型值。可以将return语句理解成main函数的结束标志。

  • 7.代码注释
    在多句程序代码后,均可以看到一段由“/” “/”括起来的文字描述。例如:
printf("I want self-study C language\n");				/*输出要显示的字符串*/
return 0;																		/*程序返回0*/

这段对代码的解释描述性文字称为代码注释,作用是为了他人能快速理解程序代码的含义和设计思想。注释内容包含在“/”和“/”之间,其语法格式如下:
/其中为注释内容/
注意
编写规范的代码格式和添加详细的注释,是一个优秀程序员应该具备的好习惯。

  • 编程训练
    训练1:打印经典语录 在控制台中输出马云在阿里巴巴上市时说的一句经典语录“Dreams are still necessary,what if they come true!”。运行结果如下:
    在这里插入图片描述训练2:输出田字格图案 使用C程序在控制台中输出一个田字格图案。运行效果如下:(提示:可以使用搜狗输入法中的字符画)
    在这里插入图片描述
  • 1.4 一个完整的C程序
    例1.1 展现了一个简单的C程序,通过7行代码实现了显示一行字符串的功能。本节将在例1.1的基础上,对其内容进行扩充,使读者对C程序有一个更完整的认识。
  • 例1.2 计算长方形的体积
    某长方体,其高已经给出,为10。要求从控制台输入长方体的长和宽,通过输入长、宽以及给定的高度,计算出长方体的体积。
    在这里插入图片描述运行程序,显示效果如图1.2所示。
    在这里插入图片描述图1.2 一个完整的C程序
    本例的程序执行流程如图1.3所示,从中可以观察出整个程序的运行过程。
    开始
    包含头文件
    定义常量
    函数声明
    进入主函数main
    main函数体
    定义所需变量
    显示提示信息
    输入计算条件
    计算长方体的体积,调用calculate函数
    calculate函数体
    根据长、宽、高计算长方体的体积
    程序结束

1.3节中已经介绍过#include包含命令、main函数、函数体、return返回语句、代码注释等内容,这里不再进行重复说明。下面介绍程序中新出现的一些内容。

  • 说明:
    给出例1.1和例1.2,并不是为了讲解具体的知识点,而是为了将C程序的概貌展示出来,使学习对其有一个快速了解。还记得我们小时候初学加减法时的情况吗?老师只会教授1+1=2,却不会教授1+1为什么等于2,以及如何证明1+1=2这样的问题。学习C语言也应该如此,开始阶段大家不要过于深究为什么,有个简单的了解即可,在后续的不断接触中你会逐渐对其熟悉,直到能熟练应用。
    1.定义常量
    实例代码的第2行:
#define Height 10						/*定义常量Height*/

本行代码使用#define定义了一个符号常量。#define在这里的功能是设定用符号Height代表数值10。这样在程序编译时,只要遇见Height标识符,就会被替换为数值10。从而满足题设中“其高已给出”这个条件。
2.函数声明
实例代码的第3行:

int calculate(int Long, int Width);				/*用户自定义函数calculate声明*/

本行代码的作用是对calculate函数进行声明。什么是函数声明呢?举例说明,两个公司进行合作,A公司要派一个经理到B公司进行业务洽谈。A公司会发送一个通知给B公司,告诉B公司会派一个经理过去,请B公司在机场接一下这位洽谈业务的经理。A公司会将这位经理的名字和大概的体貌特征告诉B公司的有关迎接人员,这样当这位经理下飞机之后,B公司就可以将他的名字写在纸上做成接机牌,然后找到这位经理。声明函数的作用,就类似于A公司告诉B公司前去谈判的经理信息的过程。也就是说,此处声明calculate函数,表示后面将给出calculate函数的具体定义内容。

  • 3.定义变量
    实例代码的第6~8行:
int m_Long;											/*定义整型变量m_Long, 表示长度*/
int m_Width;										/*定义整型变量m_Width,表示宽度*/
int result;											/*定义整型变量result,表示体积*/

这3行语句都是定义变量的语句。变量的作用就是存储数值,使得程序可利用变量进行计算。这就像在二元一次方程中,X和Y就是变量,当为赋值后,如X为5,Y为10,这样X+Y的结果就等于15。C语言中,使用变量前必须先进行定义,编译器会根据变量类型为其分配内存空间。

  • 4.输入语句
    实例代码的第13行:
scanf("%d",&m_Long);					/*输入长方体的长度*/

例1.1中曾介绍过格式化输出函数printf,既然有输出函数,就一定有输入函数。C语言中,scanf函数用来接收键盘输入的内容,并将输入的内容保存在相应变量中。可以看到,在scanf函数的参数中,m_Long就是之前定义的整型变量,作用是存储输入的信息内容;"&"符号是取地址运算符,其具体内容会在后续章节中介绍。

  • 5.自定义函数
    实例代码的第24~28行:
int calculate(int Long, int Width)						/*自定义计算体积函数calculate*/
{
		int result = Long*Width*Height; 					/*计算体积*/
		return result;												/*将计算的体积结果返回*/
}

本段代码定义了一个calculate函数,作用是计算长方体的体积。前面介绍过main、printf、scanf函数,它们都属于C语言标准库函数,由系统提前定义好,读者直接调用就行。但calculate函数是用户根据需要自行定义的函数,因此必须给出定义的函数体。定义之后,读者一样可随时调用它。有关函数的具体内容将在第9章中介绍。

  • 6.数学运算语句
    实例代码的第26行:
int result = Long * Width * Height; 			/*计算体积*/

本行代码在calculate函数体内,其功能是将变量Long、Width、Height三者相乘得到的结果保存在result变量中。其中的“*”代表乘法运算符。
关于C语言程序,相信读者此时已经有了一定了解。下面再将例1.2的运行过程总结一下。
(1)包含程序所需的头文件。
(2)定义一个常量Height,代表长方体的高度10。
(3)对calculate函数进行声明。
(4)进入main函数,程序开始执行。
(5)在main函数中,首先定义3个整型变量,分别代表长方体的长度、宽度和体积。
(6)显示提示文字,然后根据显示的文字输入有关的数据。
(7)当长方体的长度和宽度都输入之后,会调用calculate函数,计算长方体的体积。
(8)定义calculate函数的位置在main函数的下面,在calculate函数体内将计算长方体体积的结果进行返回。
(9)在main函数中,result变量得到了calculate函数返回的结果。
(10)通过输出语句将其中长方体的体积显示出来。
(11)程序结束。

  • 编程训练
    训练3:预测孩子身高 输入父亲和母亲的身高,通过计算公式 "孩子身高=(父亲身高+母亲身高)* 0.54“, 预测孩子的身高。运行结果如下:
    在这里插入图片描述运行结果如下:
    在这里插入图片描述训练4:米尺转化 在商场买裤子时,常常听到”这条裤子腰围是2尺5等类似的话。那么2尺5到底是多少米呢?试着编写程序实现米和尺之间的单位转换。运行结果如下:

在这里插入图片描述运行结果如下:
在这里插入图片描述

  • 1.5 C语言程序的格式
    通过前面两节的学习,可以看出使用C语言编写程序有一定的格式特点。
    1.main函数是C程序的入口。
    C程序都是从main函数开始执行的。也就是说,main函数不论放在什么位置都没有关系。
    2.C程序是由多个函数构成的。
    除main函数外,还可以在程序中定义多个其他函数,并在这些自定义函数中完成特定的功能。虽然将所有程序代码全部放入main函数中也是可行的,但整个程序的可读性和扩展性将会变得很差。将一个C程序按功能分成多个块,每块使用一个函数来表示,整个程序将会具有结构性,既易于观察,又利于修改。
    3.函数体的内容放在”{}”中。
    每个函数都可以执行特定的功能,那么如何才能看出一个函数的具体操作范围呢?答案就是寻找“{”和“}"这两个大括号。C语言使用一对大括号来表示程序的结构层次,需要注意的就是左右大括号要成对使用。
    编写程序时,为了防止对应大括号的遗漏,每次都可以先将两个对应的大括号写出来,再向括号中添加代码。
    1.每个执行语句都以”;”结尾。
    如果注意观察前面的两个实例,就会发现在每个执行语句后面都会有一个“;”(英文分号)作为语句结束的标志。
    2.英文字符的大小写不通用。
    同一个字母,其大小写的意义是不同的。注意,关键字和标准库函数名必须用小写。
    3.要注意空格、空行的合理使用。
    空格和空行的作用是增加程序的可读性,使得程序代码位置合理、美观。例如,如下代码就非常不利于观察:
int Add(int Num1, int Num2)     /*定义计算加法函数*/
{ /*将两个数相加的结果保存在result中*/
int result = Num1+Num2;
return result; /*将计算的结果返回*/
}

将其中的执行语句按层级依次进行缩进,并排列代码注释,就会很有层次感。

int Add(int Num1, int Num2)				/*定义计算加法函数*/
{
		int result = Num1+Num2;			/*将两个数相加的结果保存在result中*/
		return result; 						/*将计算的结果返回*/
}
  • 1.6 C语言开发环境
    欲善工事,先利其器。本节将详细介绍两个C语言程序开发的常用工具,一个是Visual C++ 6.0, 另一个是Visual Studio 2019。可根据需要选择使用其中的一种开发环境。
  • 1.6.1 Visual C++ 6.0
    Visual C++ 6.0是一个功能强大的可视化软件开发工具,它将程序的代码编辑、程序编译、链接和调试等功能集于一身。其环境简单,界面友好,软件占用空间小,代码执行效率高,因此非常适合初学者学习使用。
    - 1.Visual C++ 6.0的安装
    微软公司已经停止了对Visual C++ 6.0的技术支持,并且也不提供下载。由于兼容性的问题,Windows10系统需要安装Visual C++ 6.0的英文版本。采用的是在Windows 10系统下安装Visual C++ 6.0英文版,读者可以在网上搜索、下载合适的安装包并解压缩。下面介绍其安装过程。
    (1)双击打开Visual C++ 6.0安装文件夹中的SETUP.EXE文件,如果1.4所示。

(2)进入安装向导界面,如图1.5所示,单击Next按钮。进入End User License Agreement(最终用户许可协议)界面,如图1.6所示,首先选中I accept the agreement单选按钮,然后单击Next按钮。
(3)进入Product Number and User ID(产品号和用户ID)界面,如图1.7所示。在安装包内找到CDKEY.txt文件,填写产品ID。姓名和公司名称根据情况填写,可以采用默认设置,不对其修改,单击Next按钮。
(4)进入Visual C++ 6.0 Enterprise Edition (Visual C++ 6.0英文企业版)界面,如图1.8所示。选中Install Visual C++6.0 Enterprise Edition单选按钮,然后单击Next按钮。
(5)进入Choose Common Install Folder(选择公用安装文件夹)界面,如图1.9所示。公用文件默认存储在C盘中,单击Browse按钮,选择安装路径,这里建议安装在磁盘空间剩余比较大的磁盘中,以节约系统盘(C盘)空间。设置安装路径后,单击Next按钮。
(6)进入安装程序的欢迎界面中,如图1.10所示,单击“继续”按钮。
(7)进入产品ID确认界面,如图1.11所示,在此界面中,显示要安装的Visual C++6.0软件的产品ID,在向Microsoft请求技术支持时,需要提供此产品ID,单击“确定”按钮。
(8)如果读者计算机中安装过Visual C++6.0,即便已经卸载了,重新安装时还是会提示如图1.12所示的信息。安装软件检测到系统之前安装过Visual C++6.0,如果想要覆盖安装,单击“是”按钮;如果要将Visual C++6.0安装在其他位置,单击“否”按钮。这里单击“是”按钮,继续安装。
(9)进入选择安装类型界面,如图1.13所示。第一项Typical表示传统安装,第二项Custom表示自定义安装,这里选择Typical安装类型。
(10)进入注册环境变量界面,如图1.14所示,在此界面中,选中Register Environment Variables复选框,注册环境变量,单击OK按钮。
(11)弹出数据更新提示,如图1.15所示,单击“是”按钮,开始安装Visual C++ 6.0, 如图1.16所示。
(12)当进度条达到100%时,会进入如图1.17所示的界面,提示系统NT错误标志,这是由于Windows10系统兼容性问题导致的,单击“确定”按钮即可。
(13)完成以上操作后,会进入如图1.18所示的未响应界面。出现这种情况,同样是由于Windows10系统兼容性问题导致的。这时单击鼠标,会弹出如图1.19所示的提示框,单击“关闭程序”选项,然后在“开始”菜单中找到Visual C++6.0图标并单击,就可以正常使用Visual C++ 6.0了。
2.Visual C++ 6.0的使用
Visual C++ 6.0程序的主界面如图1.20所示,下面来创建一个C语言源程序文件。
(1)在菜单栏中选择File-New命令,如图1.21所示,或者按Ctrl+N快捷键。
(2)打开New对话框,选择Files选项卡,在左侧的列表框中选择C++ Source File选项,右侧的File文本框中输入文件名称,Location文本框中设置文件保存地址,如图1.22所示,单击OK按钮,即可创建一个C源程序。
注意:因为创建的是C源文件,所以File文本框中要将C源文件的扩展名一起输入。例如,创建名称为Hello的C源文件,文本框中应输入“Hello.c"。
(3)此时可在开发环境中看到刚才创建的Hello.c源文件,如图1.23所示。
(4)将例1.1的程序代码输入其中,如图1.24所示。
(5)程序编写完成后,需要进行编译。选择Build-Compile命令,如图1.25所示。
(6)出现如图1.26所示的对话框,询问是否创建一个默认项目工作环境。单击“是”按钮,此时会询问是否要改动源文件的保存地址,如图1.27所示。
(7)单击“是”按钮后,编译程序。如果程序没有错误,即可被成功编译。虽然此时代码已经被编译,但是还没有链接生成.exe可执行文件,因此如果此时要执行程序,会出现如图1.28所示的提示对话框,询问是否要创建.exe可执行文件。单击“是”按钮,则会链接生成.exe文件,即可执行程序。
(8)当然,也有直接创建.exe文件的操作选项。可以选择Build-Build命令,执行创建.exe文件操作,如图1.29所示。
注意:在编译程序时可以直接选择Build命令进行编译、链接。这样就不用进行上面步骤(5)中的Compile操作,而可以直接将编译和链接操作一起的执行。
(9)只有执行程序才可以看到有关程序执行的结果显示,可以选择Build-Execute命令进行执行程序操作,即可观察到程序的运行结果,如图1.30所示。
Visual C++ 6.0集成开发环境提供了一些有用的工具栏按钮。例如,代表Compile操作,代表Build操作,!代表Execute操作。
编写程序时,使用快捷键会加快程序的编写进度。建议读者熟记如下常用操作的快捷键。
1.Ctrl+N:创建一个新文件。
2.Ctrl+]: 检测程序中的括号是否匹配。
3.F7:Build操作。
4.Ctrl+F5:Execute(执行)操作。
5.Alt+F8:整理多段不整齐的源代码。

  • F5:调试操作。
    为了便于读者阅读代码,可将程序运行结果的显示底色和文字进行修改。修改过程如下。
    (1)按Ctrl+F5快捷键执行一个C程序,在程序标题栏上单击鼠标右键,在弹出的快捷菜单中选择“属性”命令,如图1.31所示。
    (2)此时弹出“属性”对话框,在“颜色”选项卡中对“屏幕文字”和“屏幕背景”进行修改,如图1.32所示。在此读者可以根据自己的喜好设置颜色并显示。

  • 1.6.2 Visual Studio 2019
    Microsoft Visual Studio(简称VS)是微软公司推出的开发工具集,也是目前最流行的Windows平台应用程序的集成开发环境之一。Visual Studio不仅可以编写C语言程序,还可以开发C++、C#、ASP.NET等,用其编写的代码适用于微软支持的所有平台。下面以Visual Studio 2019社区版的安装为例,讲解具体的安装过程和使用方法。

  • 1.Visual Studio 2019的安装
    Visual Studio 2019社区版是完全免费的,其下载地址为https://www.visualstudio.com/zh-hans/downloads/。安装文件是exe可执行文件,其命名格式为“vs_community_编译版本号.exe"。
    (1)笔者下载的安装文件名为vs_community_1230733315.1531385802.exe文件,双击该文件开始安装。
    说明:安装Visual Studio 2019开发环境前,需要先安装.NET Framework 4.6框架。如果没有安装,请先到微软官方网站下载并安装,下载地址为https://www.microsoft.com/zh-CN/download/details.aspx?id=48130。
    (2)在安装程序界面中单击”继续"按钮,跳转到安装选项界面,如图1.33所示。选中”使用C++的桌面开发”复选框(其他复选框可根据个人需要确定是否安装),在“位置”文本框中设置安装路径,建议安装在D盘或其他磁盘,最后单击“安装”按钮。
    注意:在安装Visual Studio 2019开发环境时,一定要确保计算机处于联网状态,否则无法正常安装。
    (3)跳转到安装进度界面,显示安装进度条,如图1.34所示。
    (4)安装完成后,也就是进度条为100%时,会出现如图1.35所示的界面。单击“重启”按钮,完成Visual Studio 2019的安装。
    (5)重启计算机,在“开始”菜单中选择Visual Studio 2019命令,打开Visual Studio 2019。如果是第一次打开,会出现欢迎界面,单击“以后再说”按钮跳过。
    (6)进入Visual Studio 2019环境的开发设置界面,如图1.36所示,在“开发设置”下拉列表框中选择Visual C++选项,颜色根据自己的喜好来选择,最后单击“启动Visual Studio”按钮。等待几秒钟后,即可进入开发欢迎界面。

  • 2.Visual Studio 2019的使用
    (1)打开Visual Studio 2019开发环境,单击“创建新项目”选项,如图1.37所示,然后在打开的界面中选择“空项目”选项,并单击“下一步”按钮,如图1.38所示。
    (2)打开“配置新项目”对话框,在“项目名称”文本框中输入文件名称,在“位置”下拉列表框中设置文件保存地址(可通过选择修改地址按钮修改文件存储位置),如图1.39所示。最后单击“创建”按钮,打开如图1.40所示的窗口。
    (3)选择“解决方案资源管理器”中的Demo,右击“源文件”选项,在弹出的快捷菜单中选择“添加”-“新建项”命令,如图1.41所示,或者按Shift+Ctrl+A组合键,打开“添加新项”对话框。
    (4)如图1.42所示,左侧选择Visual C++选项,右侧列表框中将显示可创建的不同文件。因为要创建C源文件,因此这里选择C++ 文件(cpp)选项,在下方的“名称”文本框中输入要创建的C名称,如demo.c,在“位置”下拉列表框中设置文件的保存地址,最后单击“添加”按钮。
    注意:因为要创建C源文件,所以在文本框中将默认扩展名.cpp改为c。例如,创建名称为demo的C源文件,文本框中应改为demo.c。
    (5)此时已添加了一个C文件demo.c,如图1.43所示。
    (6)将代码写入demo.c文件中,如图1.44所示。
    (7)代码编写完之后,接下来就要编译程序了。在菜单栏中选择"生成“-"编译”命令,如图1.45所示,或者按Ctrl+F7快捷键,编译程序。
    (8)编译结束后,如在输出工作空间的位置输出“生成:成功1个,失败0个,最新0个,跳过0个”,则表示编译成功。此时将得到一个可执行文件。
    (9)在菜单栏中选择“调试”-”开始执行(不调试)”命令,如图1.46所示,或者按Ctrl+F5快捷键,运行程序,结果如图1.47所示。

  • 1.7 实践与练习
    综合练习1:输出三十六计 编写程序,输出三十六计中的若干计策。实现效果如下:
    在这里插入图片描述在这里插入图片描述综合练习2:输出丹尼斯·里奇的传奇人生 丹尼斯·里奇是现代计算机及网络技术的奠定者,也是C语言和UNIX之父。1973年,丹尼斯·里奇和肯·汤姆森在玩模拟太阳系航行的Space Trave游戏时发现机器中没有操作系统,于是联合开发了C语言,并用C语言开发了UNIX操作系统,从而拉开了程序开发时代的序幕。编写程序,输出丹尼斯·里奇的传奇人生经历。实现效果如下:
    在这里插入图片描述在这里插入图片描述综合练习3:输出搜狐邮箱登录界面 参照图1.48,编写程序,输出模拟的搜狐邮箱登录界面,效果如图1.49所示。
    在这里插入图片描述在这里插入图片描述综合练习4:输出“情人节快乐” 每年的阳历2月14日和阴历7月7日是中西方的情人节,这是一个关于爱、浪漫以及花、巧克力、贺卡的节日,男女在这一天互换礼物,以表达爱意或友好。编写程序,打印输出如下图形。
    在这里插入图片描述在这里插入图片描述综合练习5:输出微信个性签名 微信提供了个性签名功能,每个人都可以设置属于自己的个性签名。应用printf函数在IDLE窗口中输出如下个性签名。
    在这里插入图片描述在这里插入图片描述综合练习6:输出图书音像勋章 某网站设置了如图1.50所示的图书音像勋章,编写程序,模拟输出类似的效果。图标可以采用特殊符号“★、▲、”代替,也可以选用其他自己喜欢的小图标加以装饰,文字颜色用紫色输出,实现效果如图1.51所示。

在这里插入图片描述在这里插入图片描述综合练习7:输出京东秒杀界面 京东秒杀是京东商城旗下一款品牌特卖购物的应用,其倒计时效果如图1.52所示。编写程序,输出如图1.53所示的京东秒杀的文字版。
在这里插入图片描述在这里插入图片描述综合练习8:输出4399游戏登录界面 参照图1.54, 输出模拟的4399游戏登录界面,效果如图1.55所示。
在这里插入图片描述在这里插入图片描述

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

manyoftenvictory

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值