1. 1、本文档共64页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C++程序设计 第二章 C++编程基础 (三) 2.3 函数 函数概述 函数的定义与声明 函数的调用 作用域 2.3.1 函数概述 函数也称子程序、例程或过程,它是把一些相关的语句组织在一起,用于解决某一特定问题的语句块。 函数是C++程序的基本特征,它将程序和代码进行了封装,实现了对程序设计的高级抽象。在C++中常把一个程序分成多个函数来实现。这样设计的目的隐藏了具体实现的细节问题,而且还是实现参数化和实现结构化的具体表现。函数抽象的实现,将有利于数据共享,节省开发时间,增强程序的可靠性和便于管理等。 1、使用函数的优点 (1)可读性好; (2)易于查错和修改; (3)便于分工编写,分阶段调试; (4)各个函数之间接口清晰,便于相互间交换信息和使用; (5)节省程序代码和存储空间; (6)减少用户总的工作量; (7)成为实现结构程序设计思想的重要工具; (8)扩充语言和计算机的原设计能力; (9)便于验证程序正确性。 2、main()函数 设计C++程序的过程,实际上就是编写函数的过程,至少要编写一个main()函数。 执行C++程序,也就是执行相应的main()函数。即从main()函数的第一个左花括号“{”开始,依次执行后面的语句,直到最后一个右花括号“}”为止。如果在执行过程中遇到其他的函数,则调用其他函数。调用完后,返回到刚才调用函数的下一条语句继续执行。而其他函数也只有在执行main()函数的过程中被调用时才会执行。 2.3.2 函数的定义与声明 函数分为系统函数和自定义函数两种。系统函数是C++标准函数库中提供的可以在任何程序中使用的公共函数,使用系统函数必须指定函数所在的包含文件,同样也适用于自定义函数库的调用。 函数必须先定义才能使用。也就是说调用函数的语句必须在函数定义或函数原型之后。为了方便于程序设计,一般函数定义都放在一个函数文件库中,在程序首部指定包含文件。 1、函数的定义 C++中的每一个函数都是从四个方面来进行定义:类型、函数名、形式参数表、函数体。 定义一个函数的语法格式为: 类型 函数名(形式参数表) { 函数体; } 函数的定义不允许嵌套。 函数定义的说明: (1)类型就是该函数的类型,也就是该函数的返回值的类型,此类型可以是C++中除函数、数组类型之外的任何一个合法的数据类型,包括普通类型、指针类型和引用类型等。 (2)函数的返回值通常指明了该函数处理的结果,由函数体中的return语句给出。一个函数可以有返回值,也可以无返回值(称为无返回值函数或无类型函数)。此时需要使用保留字void作为类型名,而且函数体中也不需要再写return语句,或者return的后面什么也没有。 (3)每个函数都有类型,如果在函数定义时没有明确指定类型,则默认类型为int。 (4)函数名是一个有效的C++标识符,遵循一般的命名规则。在函数名后面必须跟一对小括号“()”,用来将函数名与变量名或其他用户自定义的标识符区分开来。在小括号中可以没有任何信息,也可以包含形式参数表。C++程序通过使用这个函数名和实参表可以调用该函数。 (5)形式参数表又称参数表,写在函数名后面的一对圆括号内。它可包含任意多个(含0个,即没有)参数说明项,当多于一个时其前后两个参数说明项之间必须用逗号分开。 (6)每个参数说明项由一种已定义的数据类型和一个变量标识符组成,该变量标识符称为该函数的形式参数,简称形参,形参前面给出的数据类型称为该形参的类型。每个形参的类型可以为任一种数据类型,包括普通类型、指针类型、数组类型、引用类型等。 (7)一个函数定义中的参数表可以被省略,表明该函数为无参函数,若参数表用void取代,则也表明是无参函数,若参数表不为空,同时又不是保留字void,则称为带参函数。 (8)函数体是一条复合语句,它以左花括号开始,到右花括号结束,中间为一条或若干条C++语句,用于实现函数执行的功能。 (9)在一个函数体内允许有一个或多个return语句,一旦执行到其中某一个return语句时,return后面的语句就不再执行,直接返回调用位置继续向下执行。 例如:看下面是几个函数及返回类型。 (1) 获取参数并返回值 int bigger(int a, int b) { return(ab)?a:b’ } (2) 获取参数但不返回值 void delay(long a) { for (int i=1;i=a;i++); //时间延迟 } (3) 没有获取参数但返回值 int geti( ) {

文档评论(0)

awang118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档