C++ 函数

1 函数定义

类型形式:

类型  函数名你([形式参数表])
{
  语句序列
}

函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数。
每组函数可执行不同的语句。
函数是程序代码的一个自包含单元,用于完成某一特
定的任务。
有的函数完成某一操作;
有的函数计算出一个值。
通常,一个函数即能完成某一特定操作,又能计算数值。
定义函数可以避免重复的编程 使程序更加模块化,便于阅读、修改。
一个程序必须 有且只有 一个main( ) 函数,C++ 从main( )函数开始执行。
C++ 语言中,所有函数都是平行独立的,无主次、相互包含之分。
函数可以嵌套调用,不可嵌套定义

// 函数返回两个数中较大的那个数
 
int max(int num1, int num2) 
{
   // 局部变量声明
   int result;
 
   if (num1 > num2)
      result = num1;
   else
      result = num2;
 
   return result; 
}

**1.返回类型:**一个函数可以返回一个值。return_type 是函数返回的值的数据类型。有些函数执行所需的操作而不返回值,在这种情况下,return_type 是关键字 void。
如果返回类型为int 说明需要有个为整数的返回值(return 0) 如果是void 则不需要。
**2.函数名称:**这是函数的实际名称。函数名和参数列表一起构成了函数签名。
**3.参数:**参数就像是占位符。当函数被调用时,您向参数传递一个值,这个值被称为实际参数。参数列表包括函数参数的类型、顺序、数量。参数是可选的,也就是说,函数可能不包含参数。
**4.函数主体:**函数主体包含一组定义函数执行任务的语句。

void printstar() // 定义printstar 函数
{
cout<<"****************************** "<<endl;
}
void print_message() // 定义print_message 函数
{
cout<<" Welcome to C++!"<<endl;
}
void main()
{
printstar( ); // 调用printstar  函数
print_message( ); // 调用print_message 函数
printstar( ); // 调用printstar  函数
}

从函数的 形式 看,函数分两类:
(1) 无参函数 。调用函数时不必给出参数。
(2) 有参函数 。在调用函数时,要给出参数。在主调函数
和被调用函数之间有数据传递。
定义无参函数的一般形式:

类型标识符  函数名( )
{ 声明部分
语句
}
void printstar() // 定义printstar 函数
{
cout<<"************ "<<endl;
}

定义有参函数的一般形式

类型标识符  函数名(形式参数表列)
{声明部分
语句
}
int max(int x ,int y)
{int z;
z=x>y?x :y;
return (z);
}

C++ 要求在定义函数时必须 指定函数的类型 。
形式参数和实际参数
 在 定义函数时 函数名后面括号中的变量名称为形式参数( (formal parameter, , 简称 形参 )。
 形参 是被调函数中的变量;
 在主调函数中 调用一个函数时 ,函数名后面括号中的参数( 可以是一个表达式) 称为 实际参数
实参 是主调函数赋给被调函数的特定值 。
实参可以是常量、变量或复杂的表达式,不管是哪种情况, 在调用时实参必须是一个确定的值 。

#include <iostream>
using namespace std;
int max(int x,int y )    ***//形参***
{int z;
z=x>y?x :y;
return(z);
}
int main( )
{int a,b,c; cin>>a>>b;
c=max(a,b);     ***//实参***
cout<<"max="<<c<<endl;
return 0;
}

函数的返回值:

函数的返回值通过 return 语句获得。
函数只能有 唯一 的返回值 。
函数返回值的类型就是函数的类型。
return 语句可以是一个 表达式 ,函数先计算表达式后再返回值。
return 语句还可以 终止 函数,并将控制返回到主调函数。
return 语句之后的代码是不能执行的代码。
一个函数中可以有 一个以上 的 的return 语句,执行到哪一个return 语句,哪一个语句起作用。
可以有多个返回值。
例:

#include <iostream>
using namespace std;
int max(int x,int y)
{int z;
z=x>y?x :y;
return(z);
}
int main( )
{int a,b,c; cin>>a>>b;
c=max(a,b); cout<<"max="<<c<<endl;
return 0;}

函数的调用:
C 语言中, 所有函数都是平行独立的,无主次、相互包含之分。函数可以 嵌套调用,不可嵌套定义。

嵌套定义:
int max ( int a, int b)
{ int c;
c=min(a,b);
return ( a>b? a : b);
}
平行定义:
int min ( int a, int b)
{ return ( a<b? a: b);
}

例:求1的k次方加到n

int power(int m,int n) //m^n
{ int i,product=m;
for(i=1;i<n;i++)
product=product*m;
return product;
}
int sum_of_power(int k,int n) //n^k 的累加和
{ int i,sum=0;
for(i=1;i<=n;i++)
sum+=power(i,k); **//嵌套应用**
return sum;
}
void main(void)
{ int k,m;
cin>>k>>m;
cout<<"f("<<k<<","<<m<<")="<<sum_of_power(k,m)<<endl;
//m^k 的累加和
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值