Ch1_3(初尝试自定义函数)

 
  
 1 /*比较两数大小并输出最大值的平方根*/
 2 #include<iostream>
 3 #include<cmath>
 4 using namespace std;
 5 double Max(double x, double y);
 6 //声明Max函数,函数名前为函数体中返回数据类型,形参前必须加数据类型,且一参一类型,不可共同定义,参数用于函数间传递数据,否则会报错,函数定义一般放置在主函数之后
 7 int main() {
 8     double a, b, c;
 9     //定义变量,意味着给变量分配存储空间
10     cin >> a >> b;
11     //输入时,两个值用空格/回车键分开
12     cout << sqrt(Max(a, b)) << endl;
13     //sqrt()函数为cmath函数库中开方函数,endl等价于'\n'(""也可以)
14     return 0;
15 }
16 double Max(double x, double y) 
17 //定义Max函数,获取参数,并有返回值
18 {


19 if (x < y) 20 return y; 21 else 22 return x; 23 }

 

//自定义函数,不获取参数,并且无返回值
#include<iostream>
using namespace std;
void P();
int main() {
    P();
    return 0;
}
void P() {
    cout << "你好" << endl;
}

函数定义由函数头和函数体构成,函数头:返回类型,函数名,函数参数;函数体:花括号中内容。

#include<iostream>
using namespace std;
void fan(int a, int b, int c) {
    c = a > b ? a : b;
}
int main() {
    int a, b, c;
    a = 10;
    b = 15;
    c = 16;
    fan(a, b, c);//值传递:形参作为被调函数内部变量处理,开辟内存用于存放复制过来的实参的值
    cout << c << endl;//输出c的值为16,实参与形参的传递是单向的,形参的值不能传回实参(即不能改变实参的值),可以通过return来传递。
    return 0;
}

 

 1 #include<iostream>
 2 using namespace std;
 3 void func();
 4 void print(int a, int b, int c);
 5 int n = 1;//全局变量
 6 int main() {
 7     static int a;//静态局部变量,仅在此函数中可见,系统初始化为0(仅进行一次初始化)
 8     int b = -10;
 9     print(a, b, n);//输出0,-10,1
10     b += 4;//b变为-6
11     func();//输出4,7,13
12     print(a, b, n);//输出0,-6,13
13     n += 10;
14     func();//a在第一次调用fanc函数时已经变成4,不会被再次初始化,输出6,7,35
15 }
16 void func() {
17     static int a = 2;//静态局部变量,仅在此函数中可见,系统初始化为0(仅进行一次初始化),对main中a无影响
18     int b = 2;
19     a += 2;
20     b += 5;//不会对main中b进行改变
21     n += 12;//可以对全局数据进行修改
22     print(a, b, n);
23 }
24 void print(int a, int b, int c) {
25     cout << a<<endl << b<<endl << c<<endl;
26 }

 

//关于阶乘实现的递归函数
#include<iostream>
using namespace std;
long Jie(int a) {
    if (a == 1)
        return 1;
    else
    return Jie(a - 1) * a;//直接递归
}
int main() {
    int b;
    cin >> b ;
    cout << Jie(b);
    return 0;
}

 

转载于:https://www.cnblogs.com/Shen-jiangqin/p/11516561.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值