C++函数定义和调用介绍
函数的意义:利用率高,可读性强,利于移植。
一个C++程序中主函数有且只有一个,是程序的入口,而函数(或称子函数)可以有很多。
每个 C++ 程序都至少有一个函数,即主函数 main()。
函数的定义:函数是一个完成特定工作的代码块,C++函数包括标准库函数和自定义函数两种。
标准库函数
是C ++编程中的内置函数。
程序员可以通过直接调用函数来使用库函数;不需要程序员自己编写。
例、用c++语言的cmath标准库头文件中的sqrt()库函数来计算正数的平方根
【cmath是c++语言中的标准库头文件。其中的 “c” 表示其中的函数是来自 C标准库,“math”表示为数学常用库函数。当你使用#include <cmath>将文件cmath的内容包含到这个程序中时,您可以使用cmath中定义的所有函数。】
示例源码如下:
#include <iostream>
#include <cmath> // 引用cmath标准库函数
using namespace std;
int main()
{
double number, squareRoot;
cout << "输入一个正数: ";
cin >> number;
// sqrt()是一个用于计算平方根的库函数
squareRoot = sqrt(number);
cout << "正数 " << number << " 的平方根= " << squareRoot;
return 0;
}
运行效果:
用户定义的函数
自定义函数的语法:
返回值类型 函数名 (参数列表){
函数体语句
[ return表达式]
}
分为两种形式:在main函数之前定义和在main函数之后定义。
在main函数前,直接定义即可。示例源码如下:
#include<iostream>
using namespace std;
//两数相加的函数定义
double add(double num1, double num2) //定义中的num1,num2称为形式参数,简称形参
{
double sum = num1 + num2;
return sum;
}
int main() {
double a, b;
cout << "输入两个数值: ";
cin >> a>>b;
//调用add函数
double sum = add(a, b);//调用时的a,b称为实际参数,简称实
cout << "sum = " << sum << endl;
system("pause");
return 0;
}
运行效果:
如果在main()函数之后定义用户定义的函数,需要在main函数之前进行自定义原型声明
自定义函数首部与自定义函数声明二者形式相似,只是后者后面有英文分号——由于函数原型是一条语句,因此函数原型必须以分号结束,函数声明的目的主要是说明函数的类型和参数的情况,以保证程序编译时对函数调用是否正确做出判断,声明位置通常在主函数前面。
函数原型声明由函数返回类型、函数名和形参列表组成,其中形参列表的变量名可省略。
前面的例子,若想将两数相加的函数定义main()函数之后,可改为:
#include<iostream>
using namespace std;
double add(double , double); // 自定义函数原型声明 该句也可写为double add(double num1, double num2)
int main() {
double a, b;
cout << "输入两个数值: ";
cin >> a>>b;
//调用add函数
double sum = add(a, b);//调用时的a,b称为实际参数,简称实
cout << "sum = " << sum << endl;
system("pause");
return 0;
}
//两数相加的函数定义
double add(double num1, double num2) //定义中的num1,num2称为形式参数,简称形参
{
double sum = num1 + num2;
return sum;
}
运行效果和上面的相同,就不图示了。