C++入门教程12:函数

在C++语言部分,循环,数组,函数这三个都十分常用,循环与数组都学完了,现在到函数了。

函数的好处

方便
我们举个例子:
如果让你输入3个数,来判断这三个数是否为素数。
没学函数你会用三个循环或者循环嵌套。
学了函数后你会大大减少代码量(有时候)。
并且还能做到一些循环做不到的(学了递归就知道了)。

函数的定义

假设我们定义一个函数叫做sushu()来判断某个数是否为素数。
怎应当这样定义呢?
这样:

bool sushu(int n)

你判断n是否为素数只需要sushu(n)就行了。
前面的数据类型是函数的返回值的类型。
如果你没有返回值,那就是void类型的。
函数括号内的变量就是接受判断的值,我们称这个值为 (忘记了翻翻资料) 实参。
而你定义函数时的写的那个n叫做形参。
如果你定义了一个全局变量,又在函数后面定义了一个形参,在函数内部会优先使用形参。

函数的内容

函数就是“信息学中的公式”(我这么称呼),就是按照特定的步骤进行某些操作,比如求阶乘的函数:

int js(int n) {
	int sum=1;
	for(int i=1;i<=n;i++) {
		sum*=i;
	}
	return sum;
}

最后的return sum就是返回sum这个值,不知道你们注意到没有,每次程序运行结束后都会显示这个:

为什么是0?
因为你写的是return 0,如果你改成return 1
这个值就是1了,函数中的return就是代表这个函数的值。
比如一个函数:

int sum()
{
	return 1;
}

那么我们在main函数中写

int a=sum();
cout<<a<<endl;

就会输出1。

函数的提前声明

我们接着看一个程序:

#include<bits/stdc++.h>
using namespace std;
int main() {
	A(); 

	return 0;
}
void A()
{
	cout<<"Yes!"<<endl;
}

编译后报错:

提示你没有定义A()函数。
为什么会这样呢?我们不是在后面定义了吗?
原因就是你是在后面定义的,所以这时我们需要提前声明函数。
这样就行了:

#include<bits/stdc++.h>
using namespace std;
void A();
int main() {
	A(); 

	return 0;
}
void A()
{
	cout<<"Yes!"<<endl;
}

下期预告

递归算法

猜你喜欢

转载自blog.csdn.net/liuzich/article/details/107899915