通过前两个博客的阅读,相信很多小白已经跃跃欲试要开始写自己的第一个C语言代码了,那么刚开始写C语言代码有哪些注意事项呢?
比如,举一个普通又有点创新的例子:
打印“hello worldcup”(你好,世界杯)
我们应该这样写:
#include <stdio.h>
int main()
{
printf("hello worldcup");
return 0;
}
相信很多小白,尤其是以前有python基础的,可能上来就直接这样写了:
print("hello worldcup")
对比一下python和C语言,不难发现,C语言需要在开头写上
#include <stdio.h>
这段内容表示什么意思呢?
根据大家小学和初中知识,一眼就能看出include是“包含”的意思,所以这段话已经理解一半了,就是包含stdio.h这个东西,stdio.h表示什么意思呢?其实和上一篇博客的后缀(.c/.cpp)类似,这里的.h是header的缩写,即头文件的后缀
而stdio是不是和“standard input output”缩写相似?没错,stdio就是它的缩写,我们称之为“标准输入输出头文件”
在C语言里面,输入函数:scanf;输出函数:printf(C++里面的输入:cin;输出:cout)
理解了这个之后,下面我们来解释一下main函数的作用:
刚刚,我们发现C语言和python的不同之处,除了包含一个头文件之外,C语言还多了一个main()函数,不相信的话请看一下下面这段代码:
int main()
{
printf("hello worldcup");
return 0;
}
这里的main函数又叫“主函数”,它指的是程序的入口
在上一篇博客中我们提到,我们先创建了一个项目,然后在项目中的源文件里面有添加了新建项,这时的新建项指的就是项目的子块,即.c文件
说到这里,相信很多人还是一头雾水,没关系,我们上图来解释:
这里红色框标注的内容就是我们创建的“项目”(project),绿色框标注的就是我们项目的子块,实现不同功能的代码可以分别写到不同的子块(现在应该都理解了)
而main函数有一个很重要的注意事项就是:一个工程(project)中可以有多个.c文件,但是多个.c文件中只能有一个main函数
还是觉得不理解的话我们继续上图:
现在我在创建好的Ccode子项中,使用main函数,打印“hello worldcup”,这时我的终端顺利运行改行代码
然后,我在和Ccode同属于一个project下面的Ccode1子项中,再使用main函数,打印一行代码“hello GAVI"(你好,加维),会发现有报错:main已经在Ccode中定义
然后我把Ccode中的代码注释掉(这里有一个注释快捷方式,见红色框框)
注释完毕之后,我继续运行Ccode1中的代码,这时候没有报错,在终端打印出来了"hello GAVI"
当然,C语言中不能没有主函数-main,基于此,我们得到一些结论:C语言代码中必须有主函数,但是有且仅有一个main函数
怎么理解呢?刚刚说了,main函数(主函数)就是程序的入口,如果一个project里面有很多入口,这时候编译器就会蒙圈儿了,不知道从哪个入口开始运行程序,所以,为了让我们的编译器运行程序smoother,我们一定要遵循“只有一个主函数(main)”的原则
聊完main函数,我们再来聊一聊main函数前面的int是什么意思
int是Integer(整数)的缩写,细心的小伙伴不难发现,我们的程序最后有一个return 0;它的意思就是返回0,这里的“0”是整数,刚好与我们前面的int main遥相呼应(其实这几行代码,离得挺近的)
当然,也有小伙伴看了谭浩强爷爷的书,里面有这么一行代码:
#include <stdio.h>
void main()
{
printf("hello world");
return 0;
}
这是一种旧式的写法,现在21世纪,咱们也要与时俱进~(当然这本书还是非常经典的,很多学校也是列为考研书目)
以下有几种书写方式可做参考(21世纪的写法):
#include <stdio.h>
int main(void)//void写到这里表示main函数不需要参数
{
printf("hello worldcup");
return 0;
}
#include <stdio.h>
int main(int argc,char* argv[])//表示main函数里面可以传入两个参数
{
return 0;
}
刚刚讨论了,C语言程序里面必须要有且只有一个main函数,那stdio.h头文件呢?
我们知道,stdio.h头文件是标准的输入输出头文件,如果我们的程序里面没有调用scanf(输入)和printf(输出)函数,是不是就不需要这个文件里?
答案是肯定的
以下代码依然可以正确运行
#include <stdio.h>
int main()
{
return 0;
}
不难发现,这段代码没有输入和输出操作
最后,说一下VS几个快捷键的使用:
"F10"-调试(如何调试,调试的作用,放到后面的博客说明)
"Ctrl"+"F5"-运行
还有VS 2022-集成开发环境-IDE究竟表示什么?
编辑器
编译器
链接器
调试器