引入
学任何编程语言的时候,大家应该写的第一个程序都是输出“Hello, world!”。
我学python,Java的时候都是,现在学C语言也不例外。
于是就有了以下代码:
int main(){
cout << "Hello, world!" << endl;
return 0;
}
运行上述代码,就会输出Hello, world!
了。
我知道 cout 是输出的意思,endl 是换行的意思,但 int main 是啥呢? 为啥return 0 ?
如果是初学编程,不了解任何一门语言的,建议可以把这个问题先放一边,直接当模版套用就可以了。不要被第一个拦门的人挡住了娶新娘的心,含糊打发了就行。
如果你已经对某一门语言有了初步了解,能写一个简单的小程序了,就可以往下看了。既然入了洞房,那新娘头盖就可以掀起来了~
函数
如果你已经会写一段求平方根的代码了,但是程序里很多个地方都需要求平方根,那你怎么办?每个地方都把那段代码 ctrl + v 一遍吗?
不,只需要把这段代码包装起来,取个名字,要用的时候喊一下这个名字就可以了。
这一段有名字的,被包装起来的,可以实现某个功能的代码块,就是函数。要用的时候,用名字调用(喊一下,“call”)即可。
函数格式:
返回值类型 函数名(参数1类型 参数1名字,参数2类型 参数2名字…)
{
语句组(函数主体)
}
函数举例:
double Sqrt(double a){ //函数Sqrt:求浮点型a的平方根,返回值是浮点型(有小数点)
...
return ...; //返回值写return后面,返回值需要是“double”型
}
int Max(int x, int y){ //函数Max:比较整数 x 和 y的大小,返回值也是整数型
...
return ...; //返回值写return后面,返回值需要是“int”型
}
bool IsPrime(unsigned int n){ //判断无符号整数n是不是质数,返回值是布尔型(True/False)
...
return ...; //返回值写return后面,返回值需要是“bool”型
}
调用函数:
int main(){
cout << Sqrt(9) << endl; //调用Sqrt函数,给9开根号,并输出函数返回值
cout << Max(1,3) << endl; //调用Max函数,比较1和3大小,并输出函数返回值
cout << IsPrime(2) << endl; //调用IsPrime函数,判断2是不是质数,并输出函数返回值
return 0;
}
main 函数
那么,上面调用Sqrt、Max、IsPrime的 int main …是什么?
这也是一个函数,叫 main函数
,返回值是 int
类型,所以就有了最后那句 return 0;
。
和其他函数不同,main函数是由操作系统调用。C程序从main函数开始执行,main函数里面可以调用其他函数并执行,一直执行到main函数中的return结束。
上面那个例子,就是操作系统调用了main函数,C程序从main开始执行,相继执行了Sqrt、Max、IsPrime函数并输出后,碰到return,程序执行结束。
更多详细举例
其他
日常vlog: 点这里去B站~