《C++ Primer Plus 第六版 中文版》的研读与学习(八)

往期传送门:
《C++ Primer Plus 第六版 中文版》的研读与学习(七)

《C++ Primer Plus 第六版 中文版》的研读与学习(六)

《C++ Primer Plus 第六版 中文版》的研读与学习(五)

《C++ Primer Plus 第六版 中文版》的研读与学习(四)

《C++ Primer Plus 第六版 中文版》的研读与学习(三)

《C++ Primer Plus 第六版 中文版》的研读与学习(二)

《C++ Primer Plus 第六版 中文版》的研读与学习(一)
本期我们将谈一谈有关C++函数的知识。先来看一段代码:

#include <iostream>
#include <cmath>  // or math.h

int main()
{
 using namespace std;
 double area;
 cout << "Enter the floor area, in square feet, of your home: ";
 cin >> area;
 double side;
 side = sqrt(area);
 cout << "That's the equivalent of a square " << side << " feet to the side." << endl;
 cout << "How fascinating!" << endl;
 return 0;
}

在这个程序中,我们用到了<cmath>库中的sqrt()函数,用于平方根的计算,是一个有返回值的函数。即:

x=sqrt(18.49);  //返回18.49的平方根4.3赋给x

圆括号中的值称为函数的参数。根据C++中“流”的观点,参数就是流入函数的信息,返回值就是流出函数的信息。使用函数之前,必须首先知道函数参数和返回值的类型,即函数原型(function prototype)。sqrt()函数的原型如下:

double sqrt(double);  //函数参数为双精度型、返回值为双精度型

其中的分号不可省略,否则编译器会将其视为函数头,紧接着就需要提供函数的函数体。
在源程序中,如果函数的定义在函数调用之前,则函数原型可以视为在函数定义中已经给出;如果函数的定义在函数调用之后,则必须提前声明函数原型。方法如下:

  1. 在源程序中直接输入
  2. 包含定义了函数原型的头文件
    C++中的<cmath>是数学库,sqrt()函数就在其中定义。在CFree编译器中,将光标放在函数名上,按F1(Fn+F1)即可查询到对应函数所在的库。在Linux中,需要输入命令行:g++ sqrt.C -lm;在UNIX中,则需要输入命令行:CC sqrt.C -lm
    由于sqrt()函数的参数为double类型,因此需要提前将变量声明为double类型。即:
double area;

C++允许在任何位置定义新变量,也允许定义变量的同时为其赋值,即:

 double side;
 side = sqrt(area);

可以等效为:

double side = sqrt(area);

该过程即成为初始化(initialization).
好了,本期我们就先讲到这里,欲知后事如何,请看下期。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值