欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

嵌入式学习之C语言基础阶段-入门程序helloworld分析01

程序员文章站 2022-05-29 20:02:05
...

对于新手菜鸟的我:
为了了解更多的基础知识,应该主动去学习,毕竟身处于信息时代,网络上最不缺的就是学习资源了。
推荐
C语言菜鸟教程
C语言网教程

入门程序helloworld分析01

嵌入式学习之C语言基础阶段-入门程序helloworld分析01

helloworld.c

#include <stdio.h>
int main(void){
//这是一个完整的C程序 

	printf("hell0 world\n"); 
	return 0;

}

一、头文件

#include <stdio.h>

这个是程序的第一行,作用为在我们的代码中该行所在的位置引入stdio.h这个文件内的全部内容,更简单的说,就像一个粘贴的操作,而此刻大家应该想到,#include后尖括号< >里的文件也可以是其他头文件,这个”其他头文件“不仅仅可以是标准头文件,还可以是自定义的头文件。当然,#include后不仅可以用< >将头文件给包含起来,也可由用英文状态下的” “将头文件给包含起来,等下也会讲一下这两个的区别。

#include语句是C预处理器指令(preprocessor directive)的一个例子,这些是编译器在编译代码之前要做的准备工作,称之为预处理(preprocessing)
再来说说stdio.h这个文件,不用觉得奇怪,它和我们平常见到的 123.txt 并无差别,只是后缀名不同而已,这个名字表示:标准输入输出头文件,正如英文:standard input/output header,它包含了与输入输出相关的函数(比如printf)的信息,在C语言的世界中,人们称出现在文件顶部的信息集合为头(header),C实现通常都带有多个头文件。


总结
// #            表示这是一个预处理操作
//include       头文件包含 
	            头文件:标准头文件  |  自定义
	            
//<  >          寻找头文件的方式
                默认去系统目录寻找,通常用于寻找标准头文件

//"  "          寻找头文件的方式
                默认去工程目录寻找,找不到再去系统目录寻找,通常用于寻找自定义头文件

//<stdio.h>     这是默认需要包含的头文件(因为程序肯定会有输入、输出);其他头文件,使用与之相关的函数时,才要包含

//stdio.h       文件名.扩展名  (扩展名表示文件的类型)
				文件名能体现出文件的内容
				.h   表示这是C/C++  头文件

//              stdio  == std   i    o   == standard  input  output(标准输入输出)

如何正确使用<>还是" "?

//< > 寻找头文件的方式
默认去系统目录寻找,通常用于寻找标准头文件

//" " 寻找头文件的方式
默认去工程目录寻找,找不到再去系统目录寻找,通常用于寻找自定义头文件

为什么要包含头文件?

头文件中含有一些声明和已编译好了的函数,可以提高程序时间复杂度和空间复杂度,简化程序。
如stdio.h头文件中包含scanf,printf,sprintf等函数,只有包含了stdio.h头文件才能正常使用,否则无法使用,只能自己编写其他函数代替

头文件有什么内容?

头文件是标准C库函数的信息头集 。头文件包含有函数信息(函数原型)
不同的头文件存放不同的函数信息;如标准输入输出头文件只放与输入输出相关的函数信息。

如:头文件 函数信息

输入输出类(stdio.h) printf 、 scanf 、 gets 等等
数学计算类(math.h) pow、 求幂 、 sqrt(开方)、 求根 等等
字符串操作类(string.h) strlen 等

//printf ---- 输出函数 —stdio.h

//scanf —输入函数 —stdio.h

//pow —求幂 —math.h

//sqrt —开方 —math.h

//总结:完美要使用C库函数,则必须包含其信息所在的头文件
//还可以通过手册(C/C++函数手册)C++标准库参数手册来查找所要包含的头函数

二、主函数

int  main()   //主函数:

一个C程序(我们不考虑例外的情况)总是从main()函数开始执行。我们可以对自己使用的其他函数任意命名,但是main()必须是开始的函数。每个C程序中必须有它!
圆括号的功能呢?它表明main()是一个函数。以后,我们将遇到更多的函数。现在,请记住这个函数就是C程序的基本模块。
int指明main()函数的返回类型,这意味着main()函数返回值的基本类型为整数。返回到哪里呢?返回给操作系统。为什么要有返回值呢?打个比方,就像皇上交代大臣去办事,大臣完成后总要复命,向皇上禀告,告诉皇上是成功还是失败。
函数名后面的圆括号一般包含传递给函数的信息。在我们这个简单的例子中没有传递任何信息,因此圆括号内包含了单词void。以后我们将看到更多传递参数的例子。

总结:
//C程序的基本单元是:函数

//C程序是由一个一个函数组成的

//主函数  子函数

//主函数是一个特殊的函数

//1、主函数是程序的入口,即程序是从主函数开始执行的

//2、主函数结束,程序结束

//3、子函数只有被调用时,才会执行

//4、如何区分主函数和子函数?通过函数名: 主函数必须是main  

//5、一个.c源文件,最多只能有一个主函数(可以没有)

//6、一个完整的程序必须有 且只能有一个主函数,但可以有多个子函数
#include <stdio.h>

void add(){
	printf("add函数执行.... \n");
}

	void adc(){
	printf("adc函数执行.... \n");
	}
int main(void){
//这是一个完整的C程序 

    add(); 
	printf("hell0 world\n"); 
	return 0;

} 

嵌入式学习之C语言基础阶段-入门程序helloworld分析01

三、花括号

{
/*... */
}

在C程序中,通常所有的C函数都使用花括号来表示函数体的开始与结束。它们的存在是必不可少的,因此我们不能丢掉它们。并且仅有花括号{}能起到这种作用,小括号()和中括号[]都不行。
花括号还可以用来把函数中的语句聚集到一个单元或代码块中。

四. Return 语句

return 0

return 语句(返回语句)是程序的最后一个语句。在 int main(void)中 int 表示 main()函数的返回值应该是一个整数。C标准要求 main()这样做。带有返回值的 C语言函数要使用一个 return 语句,该语句包括关键字 return,后面紧跟着要返回的值,然后是一个分号。对于 main()函数来说,如果你漏掉了 return语句,则大多数编译器将对你的疏忽提出警告,但仍将编译该程序。此时,你可以暂时把 main()中的 return语句看作是保持逻辑连贯性所需的内容。但对于某些操作系统(包括 DOS 和 UNIX )而言,它有实际的用途。

相关标签: linux