失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 编写一个c语言程序hello world 编写第一个C语言程序 - Hello World

编写一个c语言程序hello world 编写第一个C语言程序 - Hello World

时间:2019-12-13 19:20:48

相关推荐

编写一个c语言程序hello world 编写第一个C语言程序 - Hello World

前言

前面已经唠叨了这么多理论知识,从这讲开始,就要通过接触代码来学习C语言的语法。学习任何一门语言,首先要掌握的肯定是语法。学习C语言语法的目的:就是能够利用C语言编写程序,然后运行程序跟硬件(计算机、手机等硬件设备)进行交互。

编写第一个C语言程序 – Hello World

为什么称第一个程序为“Hello Wolrd”呢?其实计算机行业里面,学习任何技术的第一个程序都可以称为“Hello World”。“Hello World”的字面意思是“你好,世界”,也就是跟世界打招呼。我们第一个程序在这世界上诞生了,那肯定要跟世界打声招呼嘛,所以就称为“Hello World”。

用什么工具写代码

首先我们要做的肯定是写代码,在代码里面说清楚想要计算机做出怎样的操作。其实写代码就像平时写文章一样,只是在电脑上写一些文本内容,那用什么工具来写代码么?平时我们在Windows中写文章,可以用记事本、Word等文本编辑工具。当然,在实际开发中,为了提高开发效率,一般会使用开发工具。不过呢,开发工具屏蔽了很多操作细节和语法细节,不利于初学者直观、系统地学习一门语言。因此,在这里,我们暂时使用文本编辑工具UltraEdit来写C语言代码。

写代码

C程序由函数构成

写代码之前,你首先要知道:任何一个C语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”。所以,你可以说C语言程序是由函数构成的。

比如你用C语言编写了一个视频播放器程序,那么它的程序结构如下图所示:

从上图可以看出:函数就是用来实现某个功能的程序段,每一个函数都有自己的功能。因此,你应该把实现某个功能所需的代码都写在函数中。比如,有个函数的功能是播放视频,那么播放视频的代码都应该写到这个函数中。

当调用(执行)一个函数时,计算机就会按顺序执行函数中的所有代码,从而展示函数所实现的功能。

一般来说,我们会将不同的功能交给不同的函数去实现。比如,将暂停播放视频的代码写到一个函数中,将停止播放视频的代码写到另一个函数中。因此,一个C程序中可能会有很多的函数。

C程序的入口

前面说到:一个C程序中可能会有很多的函数,这样就会有个疑问:当我们运行整个程序时,在众多函数中,计算机会先执行哪个函数呢?也就是说,一个C程序的入口在哪里?我写了几千行的代码,应该先从哪一行代码开始执行啊?是从第一行代码还是从最后一行代码开始执行啊?

其实,C程序的入口是一个名字叫做main的函数,简称main函数。(为了区分函数,每一个函数都有一个名称)也就是说,不管整个程序中有多少个函数,都是先执行main函数。不管main函数写在文件中间,还是文件末尾,也都是先执行main函数。

需要注意的是:

如果一个C程序中没有main函数,那么这个程序就不具备运行的能力。连程序的入口都没有,还运行什么?

一个C程序中只能有一个main函数。想象一下也知道,如果有多个main函数,究竟先执行哪一个main函数呢?这会让计算机无法选择

编写main函数

现在已经知道,要想运行一个C程序,必须有一个main函数,接下来就在文本编辑工具中编写一个main函数。main函数的格式大致如下:

第1行的int暂时不用去理解,先认为是main函数的固定写法

第1行的main是函数名称,main后面的一对小括号()是函数的标志,绝对不能缺少!而且这对小括号是“英文括号()”,不是“中文括号()”!

第2行开始,有一对大括号{},函数内部的代码都要写到这对大括号里面。每一个函数都有一对{},{}里面的内容可以称为“函数体”。

在第3行添加了一行return 0;,暂时不用理解它的意思,先认为是main函数的固定写法。

像第3行这种写在函数中的代码可以称为一条“语句”。写完一条语句后,要在尾部加上一个分号“;”,代表语句结束了

编写输出语句

接下来在main函数中添加代码。

#include int main() { printf("Hello Worldn"); return 0; }

在第5行添加了一条语句printf(“Hello Worldn”);,这条语句的作用是让计算机在屏幕上输出用双引号””括住的内容:Hello World,后面的”n”是一个转义字符,表示回车换行,因此,输出Hello Wrold这一串内容后会自动换行。至于为什么这条语句要这样写?为什么这条语句能让计算机输出东西?这些疑问都先搁着,以后会详细解释。

为了保证第5行代码的正常使用,就在main函数的前面加了一行代码#include ,暂时不用去深刻了解它的意思,默默加上即可,注意,这里是不用加上分号”;”的

当运行这个程序,就会先执行main函数,接着就会按顺序执行main函数大括号{}中的所有语句(第5行、第6行语句)

需要注意的是:main函数中所有语句都必须写在第6行return 0;语句的前面,先别问为什么,以后会详细介绍

保存为C程序的源文件

代码写完了,总得保存起来吧,保存为什么格式的文件呢?每个文件都有自己的拓展名,不同的拓展名就代表着不同类型的文件,比如.mp4代表着视频文件,.txt代表着文本文件。我们前面编写的C语言代码,应该保存为一个拓展名为.c的文件,这个.c文件称为C语言程序的“源代码文件”,也称为“源文件”。

编译程序

前面已经把程序写好了,迫不及待想做的事情肯定是运行程序,看看计算机会有什么反应。遗憾的是,前面编写好的one.c文件还不能够运行。计算机只能识别0和1组成的机器指令,你现在写的这些什么int、main这些英文,它是看不懂的。我们需要使用C语言编译器,将源文件翻译成只有0和1的二进制文件,这个翻译过程,我们称之为“编译”。

打开终端(Dev-C ++)

在编译器中打开HelloWord.c文件

file -> open -> HelloWorld.c

编译 & 运行

Exexute -> run

运行结果:

生产可执行文件

语法校验

编译器除了能将.c源文件编译成.o目标文件之外,还有一个非常重要的功能:语法检测。跟英语一样,C语言也有自己的语法,如果你不按照C语言语法去写代码,那就无法编译成功。生成目标文件之前,编译器会先检查.c文件是否有语法错误,如果出现语法错误,会列出错误的总个数、错误原因和错误代码的行号,这时候就不会产生目标文件;必须修正相应的语法错误,重新编译成功后,才会生成目标文件。

接下来我把代码故意写错,第3行把int写成了intt,第5行语句少了一个分号”;”

#include intt main() { printf("Hello Worldn") return 0; }

再执行编译

Exexute -> compile

这些错误信息(error)是一定要修改的,只要有一个错误信息存在,就不可能编译成功。以后还有可能会遇到一些“警告信息(warning)”,警告信息可以忽略,不影响编译。

如果觉得《编写一个c语言程序hello world 编写第一个C语言程序 - Hello World》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。