• C++ primer plus C++的编程模块(1)


     7.1函数的基本知识

    使用C++函数必须完成一下三步:

    1.提供函数原型。

    2.提供函数定义

    3.调用函数

    1. #include
    2. using namespace std;
    3. void simple();
    4. int main()
    5. {
    6. cout<<"main() will call the simple() function:\n";
    7. simple();
    8. cout<<"main() is finished with the simple() function.\n";
    9. return 0;
    10. }
    11. void simple()
    12. {
    13. cout<<"I'm but a simple function.\n";
    14. }

     7.1.1 定义函数

    可将函数分为有返回值和无返回值,其中无返回值的为void函数。

    1. void functionName(parameterList)
    2. {
    3. statement(s);
    4. return;
    5. }

    function Name:函数名称。

    parameter List:传递给函数的参数类型和数量。

    statement:声明。

    void函数可用于cheer(制定打印次数)

    1. void cheers(int n)
    2. {
    3. for(int i=0;i
    4. std::cout<<"cheers!";
    5. std::cout<
    6. }

    有返回值的函数将生成一个值,例如返回一个数的平方根的值sqrt()

    1. cin>>x;
    2. m=sqrt(x);
    3. cout<

    输入x至sqrt,传递到m,最后显示m。此时m就是x开平方后的值。

    如果代码中含有多个返回值,则第一个返回值返回后代码结束。

    1. int x,y;
    2. if(x>y) return x;
    3. else return y;

    返回语句中可以使用表达式

    1. int cube(int x,int y)
    2. {
    3. return x*x*y;
    4. }

    7.1.2 函数原型和函数调用

    函数原型大多数隐藏在头文件中。

    函数原型必须是一条语句,声明了函数名,返回值类型,参数类型及个数。

    函数原型的最简单获取方式,就是函数头加上;

    int cheers (int x,int y);

    若cheers函数放在main函数后面,则需要再main前面加上此代码,进行一个声明。

    原型的功能,保证以下三点:

            编译器是否正确处理函数返回值;

            编译器使用的参数数目是否正确:

            编译器使用的参数类型是否正确;

    7.2 函数参数和按值传递

    1. double cube(double x)
    2. {
    3. ****//内容省略
    4. }
    5. int main()
    6. {
    7. double volume = cube(side);
    8. return 0;
    9. }

    side是一个变量。

    cube函数被调用时,改函数创建一个新的名为x的double变量,并将其初始化为x原本的值。这样cube()执行的操作将不会影响main()中的数据。也可以称cube()使用的时side的副本,而不是原来的数据。

    其中

            用于接收传递值得变量称为:形参。

            用于传递给函数的值的称为:实参。

    7.2.1 多个参数

    函数可以有多个参数,在调用时,使用逗号分隔即可。

    1. void axis(int x,int y,int z)
    2. axis(x,y,z)
    1. double nice,nb;
    2. for(p=nice,w=nb;p>0;p--,w--)
    3. {
    4. *****
    5. }

    若函数的参数类型一致,可以简写。 

    1. void zaza(float a,float b)
    2. void zbzb(float a,b)

      在结尾添加符号即可得到函数原型。

    习题

    目标

    编写一个程序,不断要求用户输入两个数,直到其中的一个为 0。对于每两个数,程序将使用一个函数来计算它们的调和平均数,并将结果返回给 main(),而后者将报告结果。调和平均数指的是倒数平均值的倒数,计算公式如下:

    调和平均数=2.0 _ x _ y / (x + y)

    要求
    1. 文件存放在 /home/project 下,源代码文件名为 7-1.cpp
    2. 代码必须编译为可执行文件,可执行文件名称为 7-1
    提示

    输入命令 g++ -o 7-1 7-1.cpp -std=c++11 进行编译,输入命令 ./7-1 运行代码。

    1. #include
    2. using namespace std;
    3. double average(double x,double y)
    4. {
    5. double sum;
    6. sum=2*x*y/(x+y);
    7. return sum;
    8. }
    9. int main()
    10. {
    11. double num1,num2;
    12. double maa;
    13. while(1)
    14. {
    15. cin>>num1>>num2;
    16. if(num1==0||num2==0)break;
    17. maa = average(num1,num2);
    18. }
    19. printf("%lf",maa);
    20. return 0;
    21. }

  • 相关阅读:
    【PTA-训练day14】L2-026 小字辈 + L1-054 福到了
    c#使用UDP进行聊天通信
    linux安装部署dolphinschduler2.0.5
    SSM+Vue+Element-UI实现智能新冠疫苗接种助手管理系统
    如何理解有害菌,病原菌,致病菌?
    Linux 配置Java环境
    “华为30岁以下员工仅占28%” 上热搜,网友:说好的35岁天花板呢?
    javaWep内置对象的使用
    Java的集合框架
    JavaScript中常见问题及解决
  • 原文地址:https://blog.csdn.net/m0_73671341/article/details/132644922