版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第页共页计算机二级C语言程序设计考点解析:函数计算机二级C语言程序设计考点解析:函数2023下半年计算机等级考试时间9月23日-26日,目前进入了冲刺的阶段。下面我们来看看计算机二级C语言程序设计考点解析:函数。库函数的正确调用1.C语言提供了丰富的库函数,包括常用数学函数、对字符和字符串处理函数、输入输出处理函数等。在调用库函数时要注意以下几点:(1)调用C语言标准库函数时必须在程序中用include命令,include命令的格式是:#include″头文件名″include命令必须以#号开头,系统提供的头文件名都以.h作为后缀,头文件名用一对双引号″″或一对尖括号〈〉括起来。(2)标准库函数的调用形式:函数名(参数表)2.在C语言中库函数的调用可以以两种形式出现:出如今表达式中;作为独立的语句完成某种操作。函数的定义方法1.C语言函数的一般形式为:函数返回值的类型名函数名(类型名形参1,类型名形参2,…){说明部分语句部分}定义的第一行是函数的首部,{}中的是函数体。2.在老的C语言版本中,函数的首部用以下形式:函数返回值的类型名函数名(形参1,形参2…)形参类型说明;新的ANSI标准C兼容这种形式的函数首部说明。3.函数名和形参名是由用户命名的标识符。在同一程序中,函数名必须唯一。形式参数名只要在同一函数中唯一即可,可以与函数中的变量同名。4.C语言规定不能在一个函数内部再定义函数。5.假设在函数的首部省略了函数返回值的类型名,把函数的首部写成:函数名(类型名形参1,类型名形参2,…)那么C默认函数返回值的类型为int类型。6.当没有形参时,函数名后面的一对圆括号不能省略。函数的类型和返回值1.函数的类型由函数定义中的函数返回值的类型名确定,函数的类型可以是任何简单类型,如整型、字符型、指针型、双精度型等,它指出了函数返回值的详细类型。当函数返回的是整型值时,可以省略函数类型名。当函数只完成特定的操作而没有或不需要返回值时,可用类型名void(空类型)。2.函数返回值就是return语句中表达式的值。当程序执行到return语句时,程序的流程就返回到调用该函数的地方(通常称为退出调用函数),并带回函数值。形式参数与实际参数,参数值的传递1.在函数定义中,出现的参数名称为形参(形式参数),在调用函数时,使用的参数值称为实参(实际参数)。2.调用函数和被调用函数之间的参数值的传递是″按值″进展的,即数据只能从实参单向传递给形参。也就是说,当简单变量作为实参时,用户不能在函数中改变对应实参的值。函数的正确调用(嵌套调用,递归调用)1.调用函数时,函数名必须与被调用的函数名字完全一样。实参的个数与类型和形参的个数与类型一致。2.C语言规定:函数必须先定义,后调用,也就是被调用函数必须在调用之前加以说明,或被调用函数整个放在调用函数之前。但对返回值类型为int或char类型的函数可以放在调用函数的后面。3.C语言中函数定义都是互相平行、独立的,C语言不允许嵌套定义函数,但允许嵌套调用函数,也就是说,在调用一个函数的过程中,又调用另一个函数。4.在C程序中,调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的递归调用。5.递归调用函数是C语言的`特点之一,有时递归调用会使求解的问题变得更简单明了。部分变量和全局变量1.部分变量在一函数内部所定义的变量称为部分变量,部分变量只在本函数范围内有效。注意:①不同函数可以使用一样的部分变量名,它们将代表不同的对象,互不干扰;②一个函数的形参也为部分变量;③在函数内部,复合语句也可定义变量,这些变量也为部分变量,只在此复合语句中有效。2.全局变量在C语言中,程序的编译单位是程序文件,一个程序文件中包含一个或多个函数。在函数之外所定义的变量称为外部变量,也称为全局变量。全局变量可以被包含它的程序文件中的其他函数所共用,作用域为从定义变量的位置开场到程序文件完毕,全局变量可以增加函数之间数据的联络。注意:当在同一个程序文件中,全局变量与部分变量同名时,在部分变量的作用范围内,全局变量不起作用,部分变量起作用。变量的存储类别、作用域及生存期1.变量的存储类别在C语言中,有两类存储类别:自动类别及静态类别。有4个与两种存储类别有关的说明符:auto(自动)、register(存放器)、static(静态)和extern(外部),这些说明符一般与类型说明一起出现,一般放在类型名的左边,例如:autolongI,j;也可写成:longautoI,j;(1)自动变量:自动变量是C程序中使用最多的一种变量,这种变量的建立和撤消都是在系统中自动进展的。格式:[auto]数据类型变量名[=初始化表达式],…;上面的说明格式中,方括号中是可省略的部分,auto为自动类别标识符,假设省略auto,系统缺省的存储类别也为自动类别。注意:函数的形参也为自动类别,在定义时不必加存储类别标识符。(2)存放器变量:存放器变量与自动变量的性质一样,其区别只在于存储的位置不同,存放器变量存储在CPU的存放器中,而自动变量存储在内存中的动态存储区,存放器变量的存取速度要快些。格式:register数据类型,变量名[=初始化表达式],…;上面的说明格式中,register为存放器变量的存储类别标识符。说明:①CPU中存放器的数目是有限的,因此只能把少数的变量说明为存放器变量;②存放器变量是存放在存放器中的,而不是存放于内存中,所以,存放器变量无地址;③存放器变量的说明应尽量放在靠近要使用的地方,用完后尽快释放,这样可进步使用效率。(3)静态变量:静态类别变量的存储空间在程序的整个运行期间是固定的。格式:static数据类型变量名[=初始化表达式],…;在上面的说明格式中,static为静态变量的存储类别标识符。静态变量的初始化在编译时进展,定义时可用常量或表达式进展显式初始化。对于没有初始化的静态变量,自动初始化为0(整型)或0.0(实型)。注意:静态变量具有可继承性,这与自动变量有所不同。(4)外部变量:使用extern可使外部变量使用范围扩大到需要使用它的函数。外部变量可作显式的初始化,假设不作初始化,系统将自动地初始化为0或0.0。格式:[extern]数据类型,变量名[=初始化表达式],…;上面的说明格式中,extern使外部变量的作用范围扩大到其他程序文件中。注意:部分变量既可以说明为自动类别,也可以说明为静态类别;全局变量只能说明为静态类别。2.变量的作用域及生存期在C语言中,变量必须先说明后使用,在程序中一个已定义的变量的使用范围就是此变量的作用域。经过赋值的变量在程序运行期间能保持其值的时间范围为该变量的生存期。(1)部分变量的使用域及生存期①自动变量的使用域及生存期自动变量的存储单元被分配在内存的动态存储区,每当进函数体(或复合语句)时,系统自动为自动变量分配存储单元,退出时自动释放这些存储单元。自动变量的作用域为从定义的位置起,到函数体(或复合语句)完毕为止。自动变量在进入到定义它们的函数体(或复合语句)时生成,在退出所在的函数体(或复合语句)时消失,这就是自动变量的生存期。使用自动变量的优点是使各函数之间造成信息分隔,不同函数中使用同名变量时不会互相影响。②存放器变量的使用域及生存期存放器变量的使用域及生存期与自动变量一样。③静态存储类别的部分变量在函数体(或复合语句)内部,用static说明的变量静态存储类别的部分变量,这种变量的作用域与自动(或存放器)变量的作用域一样,但是生存期有所不同。在整个程序运行期间,静态部分变量在内存的静态存储区中占据着永久的存储单元,甚至在退出函数后下次再进入函数时,静态部分变量仍使用原来的存储单元。由于不释放存储单元,所以这些存储单元中的值将会被保存下来。静态部分变量的生存期将一直延长到程序运行完毕。静态部分变量合适于在函数调用之间必须保存部分变量值的独立变量。(2)全局变量的作用域及生存期全局变量的作用域为从变量定义的位置开场,到整个程序文件完毕为止。生存期为整个程序的运行期间。注意:全局变量在整个程序运行期间都占用内存空间。全局变量必须在函数以外定义,因此降低了函数的通用性,影响函数的独立性。使用全局变量时,当全局变量的值意外改变时,会引起副作用,这种错误一般难以查找。①在同一编译单位内用extern标识符来扩展全局变量的作用域当全局变量定义后,在引用函数前,应在引用它的函数中用extern对此全局变量进展说明,以便使编辑程序确定此外部变量已被定义,不必再为它分配存储单元,此时的作用域从extern说明开场,到此函数完毕。注意:全局变量的定义只能出现一次,这时不可使用extern标识符。假如屡次引用全局变量,这时必须用extern标识符。②在不同编译单位内用extern标识符来扩展全局变量的作用域C语言中的不同函数可以存放在不同的程序文件中,每个程序文件可以单独进展编译,进展语法检查,再生成目的文件,最后用系统提供的连接程序把多个目的文件连接成一个可执行程序。当程序由多个程序文件组成时,假设每个文件中都要引用同一个全局变量,这时如在每个程序文件中都定义一个所需的同名全局变量,将在连接时产生重复定义错误。解决的方法是在其中一个程序文件中定义所有全局变量,而在其他用到全局变量的程序文件中用extern对这些变量进展说明,以说明它们已在其他编译单元中被定义。③静态全局变量当用static标识符说明全局变量时,全局变量为静态全局变量。静态全局变量只能在定义它的程序文件中使用,不能被其他程序文件使用。内部函数及外部函数根据函数能否被其他程序文件所调用,可将函数分为内部函数和外部函数。1.内部函数内部函数是指一个函数只能由定义它的程序文件所调用,内部函数又称为静态函数。格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024企业宣传片制作协议格式
- 海珠食堂承包经营合同范本
- 康复护理技术学习通超星期末考试答案章节答案2024年
- 货架设备安装合同范本
- 社会医学(含考试)学习通超星期末考试答案章节答案2024年
- 购销合同范本6
- 威海市环翠区城市社区专职工作者招聘真题
- 2024年消防系统验收检测协议
- 厂房拆除合同正式合同范本
- 工业合作合同范本
- 2024年全国职业院校技能大赛高职组(检验检疫技术赛项)考试题库(含答案)
- 和灯做朋友(教学设计)-2023-2024学年五年级上册综合实践活动蒙沪版
- 乐理知识考试题库130题(含答案)
- 人教版(2024)七年级地理上册2.2《地形图的判读》精美课件
- 2024年共青团入团积极分子团校结业考试试题库及答案
- 2024年辽宁高考历史试题(含答案和解析)
- 黄河商品交易市场介绍稿
- Unit 3 My friends Part C Story time(教学设计)-2024-2025学年人教PEP版英语四年级上册
- 2024中国海油校园招聘2024人(高频重点提升专题训练)共500题附带答案详解
- 孙中山诞辰纪念日主题班会主题班会
- 2024年安徽省合肥市中考语文题卷(含答案)
评论
0/150
提交评论