#include <stdio.h>
int main(){
printf("Hi");
return 0;
}
#include <stdio.h>
#include
特定的,#不需要管,但是你需要知道它与“include”不是整体,是组合
“<>”用于包含stdio.h这类头文件,当然也可以用引号包含,比如:#include "stdio.h",不过这类推荐用“<>”包含
头文件:你可以理解为,你要使用刀叉你就需要先拿出来,然后才能用,而stdio.h这种头文件就是包含刀叉的套件(套件
不是
刀叉本身,后面printf会说),include就是拿出它们这个动作,#暂时可以理解为一个开端使用的符号(比如你数学写步骤前需要写的“解:”“答:”)
stdio.h你可以把std和io分开看,std是通用,io你可以看成i/o,i对应输入,也就是input,o对应输出,也就是output,也就是通用输入输出,printf在控制台显示内容,其实就是输出到控制台,显示其实和printf本身无关
int main()
{
return 0;
}
其中
int
是一个数据类型,常用的理解来解释就是整数
小数这些,int就是整数中的一类,但是为什么是int main(){}暂时不需要管
main是函数名,与常规理解的函数意义不同,对于int main(){}你可以理解为整个函数,统称main函数,是你进家里必须走的门,也就是main,主要的,目前函数的意思暂时不需要理解,main是特殊的,记住默认使用它就行了,不要更改
总之,你要把你后续的多数代码(后面会明确说明一部分)写在main函数的{}中
()的话记住住英文的就行,里面直接什么都不需要写(目前),顺带区分一下英文和中文的括号
英文:”()“ 中文:”()“
所以总的来说,int main(){ 花括号内 }
除了{}内需要变动,目前int main(){}本身是完全不需要变动的
return 0; ”;“记得用英文的
英文:”;“ 中文:”;“
return 0;
记得放在{}内上一行就行了,意思暂时不需要知道
int main(){
return 0;//这就在下面那个}的上方
}//这是我说的}
最后是printf,它本身是需要“stdio.h”这个头文件才能使用的,也就是说printf就是刀叉了,你在代码中写出来printf就是拿出了刀叉,不过它是无限量供应的而已
printf(); 是最基础的格式
printf("");
注意看,这时候里面多出了引号(引号是英文的"",中文的引号为“”
,这里面需要使用英文引号,括号和分号也都需要是英文的),你在""内写入你想输出的内容就能输出了
printf("我是要被输出的内容,后续可出现在终端中");
然后终端就会出现我是要被输出的内容,后续可出现在终端中(输出时没有我展示的斜体和粗体还有下划线)
如果仔细看你会发现printf();和return 0;后面都有一个;,这就是另一个重点了,printf();和return 0;本质都一样,统称语句,记住是整体,而不是单独的printf或者return就是一个语句了,单独的是函数,不过目前暂时不会详细讲
//接着是注释,这个我想大部分人都能够理解,上面也已经有注释的例子了,belike:
int main(){
return 0;//这就在下面那个}的上方
}//这是我说的}
可以看到//是常用的注释方法,在//后面只要不进行手动换行就都算作注释,什么是手动换行呢?看着你输入法或者键盘的回车/Enter,这就是手动换行,而一段话超出当前显示范围导致的换行,比如你写作文不分段的情况写完一行的情况下下换行,那种就是自动换行,或者说是转行,举个实际例子吧:
// 这里其实也能塞注释
#include <stdio.h>
// 这里其实也能塞注释
int main(){
printf("HiHi");//没换行 printf("HIHI"); 手动测试一下你就会发现,后面这个“HIHI”压根不会输出/显示在控制台上
printf("HeHe");//可以看到我这里手动按Enter换行了,这样就能够输出“HeHe”了
//至于什么是自动转行,看看:111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111,多数情况下,这里是已经转行了的(自动转行,这本身是视觉上的转,但是实际和手动转行不一样),这样这里再写一个printf("HEHE");,我们也没法看到HEHE显示在屏幕上
printf("泥嚎"//); 这样会报错,因为只要是//后面的就算作注释,但是!
printf("哈喽//←这个是一号"); //←这个是二号 这样却不会报错,如果我没加这个二号,一号后面的内容也不会被视为注释,等我们后面再说,也就是说一号是问题根源,二号是我为了给你们解释特地加的正确注释
// 注释也能单行塞
}
// 这里也可以塞注释
/**/
好,大概理解了吧?接下来是另一个了,众所周知,前面printf("泥嚎"//);
这样会报错,因为只要是//后面的就算作注释,但是!会报错,那么如何解决呢?使用/*和*/就行了,这样说可能还是不容易理解,举个例子:
#include <stdio.h>
int main(){
printf("Heh"/*看看我*/); //HI,注意一下,我这里后面加注释其实也不会报错,不加也不会,也就是说不会互相影响
}
可见这样是不会报错的,接下来详细讲一下/*和*/,注释的开端使用/*,注释的结尾使用*/,/*和*/中间的内容就是注释了
那么再说一下printf("泥嚎"//);
这样会报错,因为只要是//后面的就算作注释,但是!报错的原因,//后面都会算作注释,所以,我们必须的)和;都被注释了,导致没有闭合(闭合这种概念用于各种括号,如[]、{}、(),其中缺失了括号开头和结尾的某一个则算作未闭合),所以才会报错
而/*和*/你也可以看作一个括号/引号,也需要进行闭合,中间的内容则为注释,所以printf("Heh"/*看看我*/);并没有把后面未包含在“括号”内的);注释掉
还有一些特性,比如它可以在分行的情况下用,有别于“在//后面只要不进行手动换行就都算作注释”,它是用/*开头*/结尾的,也就是说它不依赖换行进行识别,例如:
#include <stdio.h>
int main(){
printf("Heh"/*看看我*/);/*妙哉妙哉
只要我在“/和*”与“*和/”之间,那么我不论写什么,不论做什么都是注释,注释的内容是不会被执行/编译的
换行x3
换行x4
*/
这里我没使用注释的“/和/”,也不在“/和*”和“*和/”之间,所以不在注释范围内,所以我这一段会导致报错,而
前面则不会报错(但是因为这段话的报错还是会无法编译)
}