第一章:C语言概述
第1章:C语言概述
在学习C语言之前,首先要了解C语言的发展历程,这是每一个刚刚学习C语言的人员都应该清楚的,并且应了解为什么要选择C语言,以及它有哪些特性。只有了解了C语言的历史和特性,才会更深刻地了解这门语言,并且增加今后学习C语言的信心。随着计算机科学的不断发展,C语言的学习环境也在不断变化,刚开始学习C语言时,大多数人会选择一些相对简单的编译器,如Turbo C2.0。但是,现在更多的人还是选择了由Microsoft 公司推出的VisualC++6.0编译器。
本章致力于使读者了解 VisualC++6.0的开发环境,掌握其中各个部分的使用方法,并能编写一个简单的应用程序以练习使用开发环境。
通过阅读本章,您可以:
了解C语言的发展史
了解C语言的特点
了解C语言的组织结构.
掌握如何使用 Turbo C 2.0 开发C 程序
才掌握如何使用 Visual C++ 6.0 开发 C程序
1.1 C语言的发展史
1.1.1 程序语言简述
在介绍C语言的发展历程之前,先对程序语言进行大概的了解。
1、机器语言(运算效率高,移植性差)
机器语言是低级语言,也称为二进制代码语言。计算机使用的是由0和1组成的二进制数组成的串指令来表达计算机操作的语言。机器语言的特点是,计算机可以直接识别,不需要进行任何的翻译。
2、汇编语言(需要编译程序,移植性差,依软于计算机硬件)
汇编语言是面向机器的程序设计语言。为了减轻使用机器语言编程的痛苦,用英文字母或符号串来替代机器语言的二进制码,这样就把不易理解和使用的机器语言变成了汇编语言。这样一来,使用汇编语言就比机器语言便于阅读和理解程序。
3.高级语言盛
由于汇编语言依赖于硬件体系,并且该语言中的助记符号数量比较多,所以其运用起来仍然不够方便。为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件,于是产生了高级语言。这种语言,其语法形式类似于英文,并且因为远离对硬件的直接操作,而易于被普通人所理解与使用。其中影响较大、使用普遍的高级语言有Forfan、ALGOL、Basic、COBOL、LISP、PascaI、PROLOGC、C++、VC、VB、Delphi、Java等。
1.1.2 C语言的历史
从程序语言的发展过程可以看到,以前的操作系统等系统软件主要是用汇编语言编写的。但由于汇编语言依赖于计算机硬件,程序的可读性和可移植性都不是很好,为了提高可读性和可移植性,人们开始寻找一种语言,这种语言应该既具有高级语言的特性,又不失低级语言的优点。于是,C语言产生了。
C语言是在由 UNIX 的研制者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)于1970年研制出的 BCPL语言(简称B语言)的基础上发展和完善起来的。19世纪70年代初期,AT&IBell 实验室的程序员丹尼斯·里奇第一次把B语言改为C语言。
最初,C语言运行于 AT&T的多用户、多任务的 UNIX操作系统上。后来,丹尼斯·里奇用C语言改写了 UNIX C的编译程序,UNIX操作系统的开发者肯·汤普逊又用C语言成功地改写了 UNIX,从此开创了编程史上的新篇章。UNIX 成为第一个不是用汇编语言编写的主流操作系统。
1983年,美国国家标准委员会(ANSI)对C语言进行了标准化,于1983年颁布了第一个C语言草案(83ANSIC),后来于1987年又颁布了另一个C语言标准草案(87ANSIC),最新的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语言有以下几种
MicrosofC或称 MSC.
Borland TurboC或称TurboC。
AT&T C
1.2 C语言的特点
C语言是一种通用的程序设计语言,主要用来进行系统程序设计,具有如下特点:
1、高效性
谈到高效性,不得不说C语言是“鱼与熊掌”兼得。从C语言的发展历史也可以看到,它继承了低级语言的优点,产生了高效的代码,并具有友好的可读性和编写性。一般情况下,C语言生成的目标代码的执行效率只比汇编程序低 10%~20%。
2、灵活性
C语言中的语法不拘一格,可在原有语法基础上进行创造、复合,从而给程序员更多的想象和发挥的空间。
3、功能丰富
除了C语言中所具有的类型,还可以使用丰富的运算符和自定义的结构类型,来表达任何复杂的数据类型,完成所需要的功能。
4、表达力强
C语言的特点体现在它的语法形式与人们所使用的语言形式相似,书写形式自由,结构规范,并且只需简单的控制语句即可轻松控制程序流程,完成繁琐的程序要求。
5、移植性好
由于C语言具有良好的移植性,从而使得C程序在不同的操作系统下,只需要简单的修改或者不用修改即可进行跨平台的程序开发操作。
正是由于C语言拥有上述优点,使得它在程序员选择语言时备受青睐。
1.3 一个简单的C程序
#include <stdio.h>
int main()
{
printf(“Hello,Word! Im coming!\n”); //输出要显示的字符串
return 0; //程序返回0
}
1.#include 指令
实例代码中的第1行。
这个语句的功能是进行有关的预处理操作。include 称为文件包含命令,后面尖括号中的内容称为头部文件或首文件。有关预处理的内容,将会在本书第13章中进行详细讲解,在此读者只需先对此概念有所了解即可。
2. 空行
实例代码中的第2行。
C 语言是一个较灵活的语言,因此格式并不是固定不变、拘于一格的。也就是说,空格、空行、跳格并不会影响程序。有的读者就会问:“为什么要有这些多余的空格和空行呢?”其实这就像生活中在纸上写字一样,虽然拿来一张白纸就可以在上面写字,但是通常还会在纸的上面印上一行一行的方格或段落,隔开每一段文字,自然就更加美观和规范。合理、恰当地使用这些空格、空行,可以使编写出来的程序更加规范,对日后的阅读和整理发挥着重要的作用。在此也提醒读者,在写程序时最好将程序书写得规范、干净。
注意:不是所有的空格都没有用,如在两个关键字之间用空格隔开
(else if),这种情况下如果将空格去掉,程序就不能通过编译。在这里先进行一下说明,在以后章节的学习中就会慢慢领悟。
3. main 函数声明
实例代码中的第3行。
这一行代码代表的意思是声明 main 函数为一个返回值,是整型的函数。其中的 int 称为关键字,这个关键字代表的类型是整型。关于数据类型的内容将会在本书的第3章中进行讲解,而函数的内容将会在本书的第9章中进行详细介绍。
在函数中这一部分则称为函数头部分。在每一个程序中都会有一个 main 函数,那么 main 函数是什么作用呢?main 函数就是一个程序的入口部分。也就是说,程序都是从 main 函数头开始执行的,然后进入到 main 函数中,执行main 函数中的内容。
4.函数体
实例代码中的第 4-7 行代码:
在上面介绍 main 函数时,提到了一个名词–函数头。读者通过这个词可以进行一下联想:既然有函数头,那也应该有函数的身体吧?没错,一个函数分为两个部分:一是函数头,一是函数体。程序代码中的第4行和第7行这两个大括号就构成了函数体,函数体也可以称为函数的语句块。在函数体中,也就是第5行和第6行这一部分就是函数体中要执行的内容。
5. 执行语句
函数体中的第5行代码
执行语句就是函数体中要执行的动作内容。这一行代码是这个简单的例子中最复杂的。该行代码虽然看似复杂,其实也不难理解,pint 是产生格式化输出的函数,可以简单理解为向控制台进行输出文字或符号的作用。括号中的内容称为函数的参数,括号内可以看到输出的字符串“Helo,word!I’m coming!”,其中还可以看到“\n”这样一个符号,称之为转义字符。转义字符的内容将会在本书的第3章进行介绍。
6. return 语句
实例代码中的第6行代码:
这行语句使 main 函数终止运行,并向操作系统返回一个整型常量 0。前面介绍 main 函数时,说过返回一个整型返回值,此时0就是要返回的整型值。在此处可以将retum 理解成 main 函数的结束标志。
7. 代码的注释、
在程序的第5行和第6行后面都可以看到一段关于这行代码的文字描述。
这段对代码的解释描述称为代码的注释。代码注释的作用,相信读者现在已经知道了。对!就是用来对代码进行解释说明,为日后自己阅读或者他人阅读源程序时,方便理解程序代码含义和设计思想。
虽然没有强行规定程序中一定要写注释,但是为程序代码写注释是一个良好的习惯,这会为以后查看代码带来非常大的方便,并且如果程序交给别人看,他人便可以快速地掌握程序思想与代码作用。因此,编写良好的代码格式规范和添加详细的注释,是一个优秀程序员应该具备的好习惯。
1.4 一个完整的C程序
1.3节展现了一个最简单的程序,通过7行代码的使用,实现了显示一行字符串的功能。通过 1.3节的介绍,读者应该不再对学习 C语言发怵了。本节将根据1.3 节的实例,对其内容进行扩充,使读者对 C 程序有一个更完整的认识。
说明 这里要再次提示一下此程序的用意。实例1.2 以及实例 1.1 并不是要将具体的知识点进行详细的讲解,只是将 ℃语言程序的概貌显示给读者,使读者对 ℃ 语言程序有一个简单的印象。还记得小时候学习加减法的情况吗?老师只是教给学生们“1+1=2”,却没有教给学生们“1+1为什么等于 2或者“如何证明 1+1=2”这样的问题。通过这些生活中的提示,可以看出学习加减法是这样的过程那么学习 C语言编写程序也应该是这样的过程,在不断地接触中变得熟悉,在不断地思考中变得深入.
本实例要实现这样的功能:有一个长方体,它的高已经给出,然后输入这个长方体的长和宽,通
过输入的长、宽以及给定的高度,计算出长方体的体积。
#include <stdio.h> //包含头文件
#define Height 10 // 定义常量
int calculate(int Long,int Width,int Height); //函数声明
int main()
{
int m_Long,m_Width,m_Height,result; //定义长,宽,高和结果
printf("请输入长度:\n"); //提示信息
scanf("%d",&m_Long);//将输入的数值存到m_Long变量中
printf("请输入宽度:\n"); //提示信息
scanf("%d",&m_Width); //将输入的数值存到m_Long变量中
printf("请输入高度:\n"); //提示信息
scanf("%d",&m_Height); //将输入的数值存到m_Long变量中
result=calculate(m_Long,m_Width,m_Height); //调用函数
printf("长方体的体积是:%d\n",result); //提示信息
}
int calculate(int Long,int Width,int Height)
{
int result=LongWidthHeight; //体积计算
return result; //函数所求值返回
}
建议使用VC 6++ 如果有需要安装包。
通过网盘分享的文件:VC6.0[英文版].rar
链接: https://pan.baidu.com/s/1sNa92QVuh7qRspJw8hYE6w 提取码: htb7
–来自百度网盘超级会员v7的分享
原文地址:https://blog.csdn.net/weixin_42411288/article/details/144347606
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!