阐述Linux下C 编程进行学习
创始人
2024-06-20 03:10:21
0

C++编程中是个较复杂的问题,这里先不介绍。C++中的独立函数可以和C语言中一样使用,但C++将函数进一步深化,将在稍后介绍C++时介绍,希望本文能教会你更多东西。

如果将返回值忽略,则只是放弃这个值,而不会有别的危害。例如,前面的样本程序中忽略了getch()函数的返回值(返回所按键的ASCII值)。函数可以调用其它函数,甚至可以调用自己,这种调用称为递归(recursion)。#t#

函数是各种编程语言的重要部分,C++编程也不例外。最简单的函数不带参数,返回void(表示不返回任何东西),其它函数可能带一个或几个参数并可能返回一个值。函数名规则与变量名相同。图1.5显示了函数的构成部分。新术语 参数(parameter)是传递给函数的值,用于改变操作或指示操作程度。

函数的构成部分使用函数前,要先进行声明。函数声明或原型(prototype)告诉编译器函数所取的参数个数、每个参数的数据类型和函数返回值的数据类型。清单1.4列示了这个概念。新术语 原型(prototype)是函数外观的声明或其定义的说明。

  1. 1: #include    
  2. 2: #include    
  3. 3: #pragma hdrstop   
  4. 4:   
  5. 5: int multiply(int,int)   
  6. 6: void showResult(int);   
  7. 7:   
  8. 8:int main(int argc,char **argv);   
  9. 9:{   
  10. 10: int x,y,result;   
  11. 11: cout << end1 << "Enter the first value:";   
  12. 12: cin >> x;   
  13. 13: cout << "Enter the second value: ";   
  14. 14: cin >> y;   
  15. 15: result=multiply(x,y);   
  16. 16: showResult(result);   
  17. 17: cout << end1 << end1 << "Press any key to continue...";   
  18. 18: getch();   
  19. 19: return 0   
  20. 20: }   
  21. 21:   
  22. 22: int multiply(int x,int y)   
  23. 23: {   
  24. 24:return x * y;   
  25. 25: }   
  26. 26:   
  27. 27: void showResult(int res)   
  28. 28: {   
  29. 29:cout << "The result is: " << res <;   
  30. 30: }  

这个程序的11到14行用标准输入流cin向用户取两个数字,第15行调用multiply()函数将两个数相乘,第16行调用showResult()函数显示相乘的结果。注意主程序前面第5和第6行multiply()和showResult()函数的原型声明。原型中只列出了返回类型、函数名和函数参数的数据类型。这是函数声明的最基本要求。

函数原型中还可以包含用于建档函数功能的变量名。例如,multiply()函数的函数声明可以写成如下:int multiply(int firstNumber,int secondNumber);这里函数multiply()的作用很明显,但代码既可通过说明也可通过代码本身建档。注意清单1.4中函数multiply()的定义(22到25行)在主函数定义码段(8到20行)之外。

函数定义中包含实际的函数体。这里的函数体是最基本的,因为函数只是将函数的两个参数相乘并返回结果。清单1.4中函数multiply()可以用多种方法调用,可以传递变量、直接数或其它函数C++编程代码:

  1. result = multiply(2,5);//passing literal values   
  2. result = multiply(x,y); //passing variables   
  3. showResult(multiply(x,y));   
  4. //return value used as a   
  5. //parameter for another function   
  6. multiply(x,y);//return value ignored  

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...