9、使用库函数
C++还允许创建变量时进行赋值,
如:double a=sqrt(b)这个过程叫做初始化。
10、函数变体
有些函数需要多项信息,这些函数使用多项参数,参数间用,号隔开,
例如数学函数pow()接受两项函数,返回值以第一个参数为底,第二个参数为幂,该函数的原型如下: Doub=pow(double,double). 例如要计算5的8次方 Pw=pow(5.0,8.0);
另外有一些函数不接受任何参数,例如有一个c库
中包含一个rand()函数,该
函数不接受任何参数,并返回一个随机整数,该函数的原型如下: Int rand(void)
关键字void指出,该函数不接收任何参数,如果括号为空省略void,则c++解释为一个不接受任何参数的隐式声明。
可以这样使用该函数。Myguess=rand(); !!c++中函数调用必须使用()号,即使没有参数。
还有一些函数,如编写了一个函数它按美元美分格式显示数字,当向他传递参数23.5时,它将在显示屏显示$23.50。
由于这个函数把值发送给了屏幕,而不是调用程序,因此它不需要返回值, 可以在原型中使用void来指定返回类型,以指出没有返回值。 Void bucks(double);
不返回值的函数不能将该函数调用放在赋值语句或其他表达式中。 相反,应使用一条纯粹的函数调用语句 Bucks(1234.56);
11、用户定义的函数(此节在第7页有练习题)
添加另外一个用户定义的函数必须在使用之前提供其原型,但是必须提供新函数的源代码,这里放在main()函数后面。(理解为调用simon必须提供simon函数源代码,例中第二个函数体。)
程序清单中mian()函数调用了2次库函数simon(),一次的参数为3,一次的参数为变量count。下面是程序2.5的运行情况。
12、函数格式
在2.5中函数simon()定义与main()函数定义相同,首先有个函数头,然后有花括号开始的函数体。
13、函数头
在上面2.5清单中,simon()函数的函数头如下 Void simon(int n)
开头的void表示simon()没有返回值,因此main()调用simon()不会生成可在main()中赋予变量的数字。因此调用该函数应按如下方式: Simon(3);
由于simon没有返回值,因此不能这样用它: so=simon(3);
在以上实例中,void simon(int n)括号中的int表示使用该函数时应该提供一个int参数,n是一个新的变量,函数调用传递的值将赋予给它,如下面的函数调用将3赋予给simon()函数头中的变量n。 Simon(3);
当函数体中使用cout输出n时,将使用函数调用传递的值,因此2.5实例第一行输出为什么simon(3)显示3的原因。Simon()的函数头已经说明,simon接收int参数,但不返回任何值。
14、复习int main()函数头
Int main()开头的int表明,main返回一个int值,函数后面的括号表明(可包含void),main()没有参数,对于有返回值的函数(main()有返回值,)应用关键字retuen来提供返回值,并结束函数,这就是为什么要在main()结尾使用return0;语句的原因。
mian()函数的值并不返回给程序而是返回给操作系统,操作系统使用main()函数,之后的return 0要求返回是0,如0表示程序运行成功,如是非0值表示程序不能正常运行。
15、关键字
在计算机语言中的词汇如:void、double、int等等称为关键字,为c++语言中的专用词汇,这些关键字不能用作变量名,也不能用作函数名。
例外:如cout在不使用输出操作的时候可以把它作为变量名,但不能在有输出的情况下当做变量名来使用 。
16、用户定义有返回值的函数
有返回值的函数练习题
//stone,将英石转换为磅.cpp
#include
int stonetolb(int);//提供函数stonetolb原型,返回值为int,参数值为int) { }
//函数调用时传递的值:函数被调用时赋予的值!
//有返回值的函数,应用return来提供返回值,main调用了该函数,这里返回给main()
using namespace std; //使用命名空间std int stone; //变量声明
cout<<\请输入一个整数,单位为“英石”\输出语句 cin>>stone;//输入键击数据
int pounds=stonetolb(stone);//调用stonetolb变量参数值为stone,返回值为整数赋予pounds(磅),这里 cout< cout< int stonetolb(int sts)//函数头,括号中的int表明,使用stonetolb时应提供一个int参数,sts是一个新的变量。 { return 14*sts;//有返回值的函数,应用return来提供返回值,这里返回main() } int main() //函数头,main()返回值为int //函数调用时传递的值将被赋予给sts)上面stonetolb(stone)stone的值被赋予给sts 没有返回值的练习题 #include void simon(int); //定义simon原型,参数为int,返回值为void int main()//函数声明 { using namespace std; simon(3); //调用simon,参数值为3 cout<<\ int count; //定义变量count为整数 cin>>count;//输入键击数据,并赋予给count; simon(count); //再次调用simon cout<<\输出换行 return 0; } //因调用了simon函数,下面提供该函数的源代码 void simon(int n)//函数调用时传递的值赋予给\{ using namespace std; cout<<\\} 17、多函数程序中使用using指令 在上面的有返回值函数的例子中,两个函数程序都使用了using指令,这是因为都使用了cout,必须用到名称空间std的定义。 在以上实例中,可以用另一种方法让两个函数都能访问名称空间std,即将编译指令放在外面,且两个函数的前面。 让程序能够访问名称空间的方法,四种: 总结 1、 C++程序由一个或多个被称为函数的模块组成 2、 程序从main()函数开始执行,该函数必不可少 3、 函数由函数头和函数体组成,函数头指出函数的返回值(如有)的类型和函数期望通过参数传递给它的信 息的类型。 函数体由一系列位于花括号{中的c++语句组成,有多种类型的c++语句,包括以下六种: ⊙声明语句:定义函数中使用的变量名称和类型 ⊙赋值语句:使用赋值运算符(=)给变量赋值 ⊙消息语句:将消息发送给对象,激发某种行动 ⊙函数调用:执行函数,被调用的函数执行完毕后,程序返回到函数调用语句后面的语句 ⊙函数原型:声明函数的返回类型、函数接收的参数数量和类型 ⊙返回语句:将一个值从被调用的函数哪里返回到调用函数中 ◆类是用户定义的数据类型的规范,详细描述了如何表示星系以及可对数据执行的操作。对象是根据类规范创建的实体,奖项简单变量是根据数据类型描述创建的实体一样。 ◆c++可使用大量的c库函数,要使用库函数,应当包含提供该函数原型的头文件。 复习题 1.在c++程序的模块叫什么? 答:函数 2.下面的于处理器编译指令是做什么的?#include