栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

1.4 C++中的函数

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1.4 C++中的函数

C++中的函数分为两种:有返回值和无返回值的

1.4.1 有返回值的函数

        比如x = sqrt(6.25)。表达式中6.25是参数,aqrt(6.25)返回值2.5。
        C++编译器必须知道函数的参数类型和返回值数据类型,缺少这些信息,编译器将不知道如何解释返回值。C++提供这种信息的方式是使用函数原型语句。C++中函数原型与函数的关系就好像变量类型和变量的关系。C++库将sqrt()的参数定义成一个可能带小数部分的数字,并返回一个相同类型的数字,有些语言将这些数字称为实数,但C++将这些数字称为double。
        sqrt()的函数原型就像下面这样:

double sqrt(double)

        第一个double意味着sqrt()返回一个double类型的值,第二个double意味着sqrt()需要一个double类型的参数,sqrt()是通过包含文件cmath来提供该函数的原型。

下面是一个简单的demo:

#include
#include

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 facsinating!" << endl;
	return 0;
}

        C++允许在程序的任何位置声明新变量,C++还允许在创建变量时对他进行赋值,例如:

double side = sqrt(area);

这个过程叫做初始化。

1.4.2 函数变体

        有些函数需要多个信息。这些函数需要多个参数,参数之间用逗号隔开;另外一些函数不接受任何参数,例如,有一个C库包含一个rand()函数,该函数不接受任何参数,并返回一个随机整数,该函数的原型如下:

int rand(void);

        还有一些函数没有返回值,没有返回值的函数不能被调用放在赋值语句或其他表达式中,相反应该使用一条纯粹的函数调用语句。

1.4.3 用户定义的函数

        每个C++函数必须且只能有一个main()函数,用户必须对他进行定义。
        假设需要添加另一个用户定义的函数,和库函数一样,也可以使用函数名来调用用户定义的函数。对于库函数,在使用前必须提供其原型,通常将原型放在main()函数之前。但现在如果需要调用自己写的函数的话,必须使用新函数的源代码,最简单的就是将代码放在main()函数的后面,下面时一个demo:

#include
void simon(int);

int main() {
	using namespace std;
	simon(3);
	cout << "Pick an integer ";
	int count;
	cin >> count;
	simon(count);
	cout << "Done!" << endl;
	return 0;
}

void simon(int n) {
	using namespace std;
	cout << "Simon says touch your toes " << n << " times." << endl;

}

注意:

        定义simon的源代码位于main()的后面。和C一样,C++不允许将函数定义嵌套在另一个函数中,每个函数的定义都是独立的。上面两个函数都包含了一条using编译指令,这是因为每个函数都使用了cout,因此需要访问名称空间std种的cout定义。可以用另外一种方法将两个函数都能访问名称空间std,即将编译指令放在两个函数的外面,且位于两个函数的前面
总之,让程序能够访问名称空间的方法有很多,下面时其中的4种:
1、将using namespace std;放在函数定义之前,让文件中的所有函数都能够使用名称空间std中的所有元素。
2、将名称空间using namespace std;放在特定的函数定义中,让该函数能够使用名称空间std中的所有元素。
3、在特定的函数中使用类似于using std::cout这样的编译指令,而不是using namespace std;让该函数能够使用指定的函数。
4、完全不使用编译指令using,而在需要名称空间std中的元素时,使用前缀std::,如下图所示:

std::cout<<"I'm using cout and endl from the std namespace."< 
1.4.4 用户定义的有返回值的函数 

        main()函数已经揭示了有返回值函数的格式:在函数头中指出返回类型,在函数体结尾处使用return
下面是一个demo:

#include
int stonetolb(int sts);

int main() {
	using namespace std;
	int stone;
	cout << "Enter the weight in stone: ";
	cin >> stone;
	int pounds = stonetolb(stone);
	cout << stone << " stone = ";
	cout << pounds << " pounds." << endl;
	return 0;

}

int stonetolb(int sts) {
	return 14 * sts;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025855.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号