相信每个程序员小哥哥和程序媛小姐姐们对"Hello,world!"都不会陌生。接触嵌入式也有几个月时间了,今天我来说说我对这个最基础的程序的看法。
Hello World 中文意思是『你好,世界』。因为《The C Programming Language》中使用它做为第一个演示程序,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。
让我们来看看这个我们接触到的第一个代码:
#include <stdio.h>
int main()
{
printf("Hello,world!\n"); //输出 Hello,world!
return 0;
}
在初学者眼中,敲出来的第一个程序代码不过是一堆看不懂的英语。而且是照着书上一点一点敲的。而C语言作为一门语言,是有语法的。所以让我们根据C语言最简单的一个程序,来初步了解一下C语言的语法。
想让人写下Hello,world!我们会告诉他:“写一行‘Hello,world!’”
当我们想让计算机写下一行写一行Hello,world!的时候我们就要按照计算机懂的方式告诉它,输出一行" Hello,world!"
那么问题来了,那我直接在代码区域写printf(“Hello,world!”);这样不就行了吗?
编译,运行。会发现编译器会报错。既然报错了,说明其他语句也是有用的,那么具体作用是什么?
首先每个c程序必须有一个主函数框架。
int main(void)
{
}
在主函数框架里就是你要编写的内容,相当于告诉计算机:“这里面就是你要执行的命令。“
那么return 0;这一句是干什么的呢?
它的意思是让主函数正常结束。一般来说这句话都是写在最后。如果你把这句话写在printf前面,还没等输出,程序已经结束了,所以就不会有东西输出。
int main(void)
{
return 0;
}
所以hello world 的主程序就是
int main(void)
{
printf("Hello,world!\n");// \n是换行符
return 0;
}
你会发现,即使这样写完,再编译还是错的。为什么呢?
有没有发现在开头的代码里,第一行还有#include<stdio.h> 这句话又是干什么的呢?
那么你有没有想过一个问题,既然计算机听不懂你说“输出一行hello world”,它凭什么就能听懂printf(“hello world”)?
所以,相信你已经猜到这句话是什么意思了。这句话就是教会计算机听懂printf。
stdio.h是头文件,它是一个函数库:标准输入输出库(standard input output的缩写)。.h是后缀名,头文件(head file)的后缀名一般都是.h。那么把stdio.h给include进来的这句话叫做声明语句。声明语句都以#开头,标准自带库文件要用尖括号。而且值得注意的是,声明语句结尾不用分号。
所以是#include<stdio.h>
因此,一个Hello,world! 程序就很自然的出来了。
#include<stdio.h>
int main(void)
{
printf("Hello,world!\n");
return 0;
}
这样就可以编译运行了。