C语言入门经典(第四版)8-程序的结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

本文由泽五令贡献

ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。

C入门经典(第4版) 入门经典( 第08章 程序的结构 08章

如第1 如第1章所述,将程序分成适度的自包含单元是开发任一程序的基本方式. 当工作很多时,最明智的做法就是把它分成许多便于管理的部分,使每一部分 能很轻松地完成,并确保正确完成整个工作.如果仔细设计各个代码块,就可 以在其他程序中重用其中的一些代码块. .

C入门经典(第4版) 入门经典(

8.1 程序的结构

如概述所言,C程序是由许多函数组成的,其中最重要的就是函数main(), 如概述所言,C程序是由许多函数组成的,其中最重要的就是函数main(), 它是执行的起点.本书介绍库函数printf()或scanf()时,说明了一个函数可以调 它是执行的起点.本书介绍库函数printf()或scanf()时,说明了一个函数可以调 用另一个函数,完成特定的工作,然后调用函数继续执行.不考虑存储在全局 变量中的数据的负面影响,程序中的每个函数都是一个执行特定操作的自包含 单元 . 变量的作用域和生存期 变量的作用域和函数

C入门经典(第4版) 入门经典(

8.1.1 变量的作用域和生存期 .1.1

在前面所有的例子中,都是在定义main()函数体的起始处声明程序的变量. 在前面所有的例子中,都是在定义main()函数体的起始处声明程序的变量. 事实上,可以在任何代码块的起始处定义变量.这有什么不同吗?这是绝对不 同的.变量只存在于定义它们的块中.它们在声明时创建,在遇到下一个闭括 号时就不存在了 .

C入门经典(第4版) 入门经典(

8.1.2 变量的作用域和函数 .1.2

在讨论创建函数的细节之前,最后要讨论的是,每个函数体都是一个块 (当然,它可能含有其他块).因此,在一个函数内声明的自动变量是这个函数 当然,它可能含有其他块) 的本地变量,在其他地方不存在.所以在一个函数内部声明的变量完全独立于 在其他函数内声明的变量.可以在不同的函数内使用相同的变量名称,它们是 完全独立的.

C入门经典(第4版) 入门经典( 8.2 变量的作用域和函数

本书的程序广泛使用了内置函数,例如printf()或strcpy().还介绍了在按 本书的程序广泛使用了内置函数,例如printf()或strcpy().还介绍了在按 名称引用内置函数时如何执行它们,如何通过函数名称后括号内的参数,给函 数传递信息.例如printf()函数的第一个参数通常是一个字符串,其后的参数 数传递信息.例如printf()函数的第一个参数通常是一个字符串,其后的参数 (可能没有)是一系列变量或要显示其值的表达式 . 可能没有) 定义函数 Return语句 Return语句

C入门经典(第4版) 入门经典( 8.2.1 定义函数

创建一个函数时,必须指定函数头作为函数定义的第一行,跟着是这个 函数放在括号内的执行代码.函数头后面放在括号内的代码块称为函数体.

C入门经典(第4版) 入门经典( 8.2.2 return语句 return语句

return语句允许退出函数,从调用函数中发生调用的那一点继续执行. return语句允许退出函数,从调用函数中发生调用的那一点继续执行. return语句最简单的形式如下: return语句最简单的形式如下: return;

C入门经典(第4版) 入门经典( 8.3 按值传递机制

这个重点是:valuel和value2的副本作为变元传送给函数,而没有传送变 这个重点是:valuel和value2的副本作为变元传送给函数,而没有传送变 量本身.也就是说,函数不能改变存储在value1或value2中的值.例如,如果 量本身.也就是说,函数不能改变存储在value1或value2中的值.例如,如果 给两变量输入4.0和6.0,编译器会在堆栈上创建这两个值的副本,在调用 给两变量输入4.0和6.0,编译器会在堆栈上创建这两个值的副本,在调用 average()函数时,average()函数会访问这些副本.这个机制是C average()函数时,average()函数会访问这些副本.这个机制是C语言中给函 数传送变元值

的方式,称为按值传递(pass-by-value)机制 数传送变元值的方式,称为按值传递(pass-by-value)机制 .

C入门经典(第4版) 入门经典( 8.4 函数声明

函数声明是一个定义函数基本特性的语句,它定义了函数的名称,返回 值的类型和每个参数的类型.事实上,可以将它编写的和函数头一模一样,只 是要在尾部加一个分号.函数声明也叫做函数原型,因为它提供了函数的所有 外部规范.函数原型能使编译器在使用这个函数的地方创建适当的指令,检查 是否正确地使用它.在程序中包含头文件时,这个头文件就会在程序中为库函 数添加函数原型.例如,头文件含有printf()和scanf()的函数原型 数添加函数原型.例如,头文件含有printf()和scanf()的函数原型 .

C入门经典(第4版) 入门经典( 8.5 指针用作参数和返回值

前面介绍了如何将指针作为变元传递给函数.另外,如果函数修改在调 用函数中定义的变量值,也需要使用指针变元.事实上这是唯一的方法.下面 用另一个实例来探讨 . 常量参数 从函数中返回指针值 在函数中递增指针

C入门经典(第4版) 入门经典( 8.5.1 常量参数

可以使用const关键字修饰函数参数,这表示函数将传送给参数的变元看 可以使用const关键字修饰函数参数,这表示函数将传送给参数的变元看 做一个常量.由于变元是按值传送的,所以只有参数是一个指针时,这个关键 字才有效.一般将const关键字应用于指针参数,指定函数不修改该指针指向 字才有效.一般将const关键字应用于指针参数,指定函数不修改该指针指向 的值.换言之,函数体中的代码不修改指针变元指向的值 .

C入门经典(第4版) 入门经典( 8.5.2

从函数中返回指针值

前面介绍了如何从函数中返回数值,学习了如何使用指针作为变元,以 及如何将指针存储到作为变元传送的地址中.还可以从函数中返回指针 .

C入门经典(第4版) 入门经典( 8.5.3 在函数中递增指针

使用数组名称作为函数的变元时,会把数组起始地址的副本传给函数. 因此,可以把接收的数值看成指针,然后递增或递减它.

C入门经典(第4版) 入门经典(

8.6 小结

本章尚未完成函数的讨论,所以第9 本章尚未完成函数的讨论,所以第9章的最后将通过另一个例子,介绍使 用函数的更多内容 .

相关文档
最新文档