导读:一般学一门计算机语言的第一堂上机课(“上机”顾名思义,上计算机,机你太美),就是往屏幕输出“hello world”,本章也不例外。
3.1 Hello,World!
这一节和读者一起来编写第一段C语言程序,过程详细到令人发指。
3.1.1 创建C语言源码文件
打开 Dev C++,在上方菜单栏中选择“文件 --> 新建 --> 源代码”,如图3.1,
图3.1 创建源代码文件
3.1.2 输入一段代码
用键盘输入以下代码,先输入,等会再分析:
#include <stdio.h>
void main()
{
printf("hello,world");
}
图3.2 输入第一段代码
3.1.3 文件保存
保存到自定义的目录下,给这个C语言程序的取名为helloworld.c,后缀为“c”,说明此文件就为C语言程序文件。
图3.3 保存为后缀为c的文件
3.1.4 编译运行
点击“运行 --> 编译运行”,为什么要编译运行呢,根据不同操作系统,比如windows的可执行文件后缀为"exe",所以编译c语言文件为可执行的exe文件,这样才能在windows下执行。
图3.4 编译运行代码
3.1.5查看运行结果
图3.5 执行结果
可以发现,在保存helloworld.c的文件夹下面,多了一个helloworld.exe,这个就是编译链接后生产的可执行文件,一般电脑要关闭杀毒软件就能执行它了。
下一节会简明的说一下这段程序的意思。
3.2 初识C语言代码
本节主要讲解上一节写的五行C语言程序。
#include <stdio.h>
void main()
{
printf("hello,world");
}
下面就针对代码的每一行进行讲解。
3.2.1 #,<>,(),{},"",;这些符号有什么用?
首先我们得清楚一个概念,编译器神通广大!
看到这么多符号,比如:#,<>,()......等等,先别紧张,它们都是给编译器标识语句用的,这一小节先暂时不去考虑它们的意思,只要记住,编译器有它识别的规范,这些都是规定好的,照做既可。
注意:咱们中国人一般吧"#"念做井号,外国人应该把它念做Sharp,不管它怎么念,C语言要会写会用即可,程序员一般话不多说,直接用代码说事。
3.2.2 #include <stdio.h>
C语言代码需要用到C库里面的功能的话,就需要申明头文件,声明头文件的格式需要用到符号“#”,以及关键字include,然后把需要用到的头文件放入<>符号中,比如本节用的<stdio.h>,就把头文件stdio.h放入<>之中。
新手肯定要开始困惑了,啥是C库?啥是“声明”?头文件又是什么东东?为啥要用到"#"?那就由我来逐一解释吧。
注意:如果解释的不够详细,请在下发评论,笔者会重新修改这方面的解释的,谢谢。
C库与头文件:C语言为了减轻程序员的工作量,提供了C库。C库里面有好多好多功能,好多好多文件。为了编译速度快些,所以当程序员需要使用C库的某些功能的时候,就需要添加相关头文件来表明,不需要就不添加。比如我们用到的stdio.h这个头文件吧,这个就是标准的C库输入输出头文件,相关功能下一小节详细介绍。
注意:读者暂时可以这么理解,输入就是接受键盘的输入,输出就是屏幕上输出显示。
声明与#include:上述说过,当程序员需要使用C库的某些功能的时候,就需要添加相关头文件来表明,这个过程就是声明,声明头文件用到标识符#,然后再用到关键字include,这些都是C语言代码格式的规定,照着做就是了,以后代码写多了也就渐渐明白了。
提示:可以知道include的直译意思就是包含,包括。
3.2.3 printf("hello world");
上一小节说到stdio.h这个头文件,是标准C库的输入输出头文件。我们已经声明了这个头文件,所以就可以使用头文件里所有的功能,其中一个就是printf功能。
注意:声明头文件办法之前说过,这么做:#include <stdio.h>
先直译一下printf,print的意思就是打印,f的意思笔者认为是flow的缩写,就是流,所以printf的意思就是打印流或者叫输出流,最终输出流输出到显示屏上显示出来。
注意:流好比高山流水的水流,计算机编程里面用流来表示要流过CPU的数据流,这里的输出流就是要输出到显示屏的数据流。如果比较拗口可以多读几遍,实在抱歉。
图3.6 数据流
本节我们输出到显示屏上的文字是hello world,现在需要读者打开Dev-C++,打开helloworld.c,把鼠标移动到printf中,按下键盘“Ctrl”,会发现鼠标显示变成了手的形状,点击鼠标可以看到如下代码:
int __cdecl printf(const char * __restrict__ _Format,...);
看着似乎有点复杂呢,不急,本小节只需要知道printf的使用方法之一,输出文本流即可,用法就是在printf后的括号里面,添加双引号“”,再把需要输出的文本流放入双引号里面就行了,最后括号外面添加分号;即可:
printf("hello world");
读者可以自行修改需要输出到显示屏的文本流,看看效果体验一下吧。
3.2.3 void main()与{}
void是定义不需要返回值,为空的意思。
main是主函数。
()的意思等同于库函数printf的(),用来输入参数用的。
{}标识函数体的起始。
这里涉及的返回值,函数,参数等知识,读者先不用考虑,后面章节会逐一解释,目前读者只需要死记住,每次写程序套用这个格式即可:
void main()
{
所有程序内容写在{}里面
}
程序写在大括号{}里即可。
3.3 初识编程规范
写程序的时候,每个人的品味不同,写出来的程序风格也会有区别,但是大体上要参照一定的格式,为的是能让一般程序员看的舒服。比如声明头文件的时候,#include <stdio>,在include后面会加一个空格,再比如main函数的函数体内,printf语句前会添加四个空格,也就是一个TAB按键空出的空间。
以后代码写多了再好好规范一下,目前只是初识。如果本节还有什么部分不清楚的,欢迎在评论区留言,谢谢。