C#入门经典(第4版)课件 教学课件 作者 978 7 302 18587 1k ch08.pptVIP

C#入门经典(第4版)课件 教学课件 作者 978 7 302 18587 1k ch08.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C入门经典(第4版) 第08章 程序的结构 如第1章所述,将程序分成适度的自包含单元是开发任一程序的基本方式。当工作很多时,最明智的做法就是把它分成许多便于管理的部分,使每一部分能很轻松地完成,并确保正确完成整个工作。如果仔细设计各个代码块,就可以在其他程序中重用其中的一些代码块。 。 8.1 程序的结构 如概述所言,C程序是由许多函数组成的,其中最重要的就是函数main(),它是执行的起点。本书介绍库函数printf()或scanf()时,说明了一个函数可以调用另一个函数,完成特定的工作,然后调用函数继续执行。不考虑存储在全局变量中的数据的负面影响,程序中的每个函数都是一个执行特定操作的自包含单元 。 变量的作用域和生存期 变量的作用域和函数 8.1.1 变量的作用域和生存期 在前面所有的例子中,都是在定义main()函数体的起始处声明程序的变量。事实上,可以在任何代码块的起始处定义变量。这有什么不同吗?这是绝对不同的。变量只存在于定义它们的块中。它们在声明时创建,在遇到下一个闭括号时就不存在了 。 8.1.2 变量的作用域和函数 在讨论创建函数的细节之前,最后要讨论的是,每个函数体都是一个块(当然,它可能含有其他块)。因此,在一个函数内声明的自动变量是这个函数的本地变量,在其他地方不存在。所以在一个函数内部声明的变量完全独立于在其他函数内声明的变量。可以在不同的函数内使用相同的变量名称,它们是完全独立的。 8.2 变量的作用域和函数 本书的程序广泛使用了内置函数,例如printf()或strcpy()。还介绍了在按名称引用内置函数时如何执行它们,如何通过函数名称后括号内的参数,给函数传递信息。例如printf()函数的第一个参数通常是一个字符串,其后的参数(可能没有)是一系列变量或要显示其值的表达式 。 定义函数 Return语句 8.2.1 定义函数 创建一个函数时,必须指定函数头作为函数定义的第一行,跟着是这个函数放在括号内的执行代码。函数头后面放在括号内的代码块称为函数体。 8.2.2 return语句 return语句允许退出函数,从调用函数中发生调用的那一点继续执行。return语句最简单的形式如下: return; 8.3 按值传递机制 这个重点是:valuel和value2的副本作为变元传送给函数,而没有传送变量本身。也就是说,函数不能改变存储在value1或value2中的值。例如,如果给两变量输入4.0和6.0,编译器会在堆栈上创建这两个值的副本,在调用average()函数时,average()函数会访问这些副本。这个机制是C语言中给函数传送变元值的方式,称为按值传递(pass-by-value)机制 。 8.4 函数声明 函数声明是一个定义函数基本特性的语句,它定义了函数的名称、返回值的类型和每个参数的类型。事实上,可以将它编写的和函数头一模一样,只是要在尾部加一个分号。函数声明也叫做函数原型,因为它提供了函数的所有外部规范。函数原型能使编译器在使用这个函数的地方创建适当的指令,检查是否正确地使用它。在程序中包含头文件时,这个头文件就会在程序中为库函数添加函数原型。例如,头文件stdio.h含有printf()和scanf()的函数原型 。 8.5 指针用作参数和返回值 前面介绍了如何将指针作为变元传递给函数。另外,如果函数修改在调用函数中定义的变量值,也需要使用指针变元。事实上这是唯一的方法。下面用另一个实例来探讨 。 常量参数 从函数中返回指针值 在函数中递增指针 8.5.1 常量参数 可以使用const关键字修饰函数参数,这表示函数将传送给参数的变元看做一个常量。由于变元是按值传送的,所以只有参数是一个指针时,这个关键字才有效。一般将const关键字应用于指针参数,指定函数不修改该指针指向的值。换言之,函数体中的代码不修改指针变元指向的值 。 8.5.2 从函数中返回指针值 前面介绍了如何从函数中返回数值,学习了如何使用指针作为变元,以及如何将指针存储到作为变元传送的地址中。还可以从函数中返回指针 。 8.5.3 在函数中递增指针 使用数组名称作为函数的变元时,会把数组起始地址的副本传给函数。因此,可以把接收的数值看成指针,然后递增或递减它。 8.6 小结 本章尚未完成函数的讨论,所以第9章的最后将通过另一个例子,介绍使用函数的更多内容 。

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档