05任务五用函数改善学生成绩管理系统方案.ppt

05任务五用函数改善学生成绩管理系统方案.ppt

  1. 1、本文档共64页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C 语 言 程 序 设 计 项 目 教 程 5.9 文件包含预处理命令 文件包含命令说明: ① 包含命令中的文件名可以用双引号括起来,也可以用尖括号括起来。 例如,以下写法都是允许的。 #includestdio.h #includemath.h 但是这两种形式是有区别的:使用尖括号表示在包含文件目录中去查找(包含目录是由用户在设置环境时设置的),而不在源文件目录查找;使用双引号则表示首先在当前的源文件目录中查找,若未找到才到包含目录中去查找。用户编程时可以根据自己文件所在的目录来选择某一种命令形式。 ② 一个include命令只能指定一个被包含文件,若有多个文件要包含,则需用多个include命令。 ③ 一行只能写一个命令行。 知识回顾Knowledge Review C 语 言 程 序 设 计 项 目 教 程 5.5 函数的嵌套调用 C语言允许在被调函数中又调用其他函数。这种调用方式称为函数的嵌套调用。 【例5-6】 计算s=22!+33!+ ……+1010! 算法分析: 程序从main函数开始执行,因此从主函数开始设计。定义一个long类型的变量sum作为累加器,初值为0。用for循环来计算累加和,循环变量i的初值为2,终止值为10,增量为1,循环体是sum=sum+ii!。 需要求出ii!,设计一个函数f1,参数为一个整型变量x,功能是求xx!。在这个函数中,定义一个long类型的变量f,初值为1,用来存放阶乘值。用for循环来实现,循环变量i的初值为1,增量为1,循环体是f=fi。关键是计算出循环变量i的终止值xx。 因此,我们设计一个函数f2,参数为一个整型变量x,功能是求xx。在这个函数中,定义一个long类型的变量m,初值为1,用来存放乘积。用for循环来实现,循环变量i的初值为1,终止值为x,增量为1,循环体是m=mx。 C 语 言 程 序 设 计 项 目 教 程 5.6 数组作为函数的实参 数组可以作为函数的参数使用。数组用作函数参数有两种形式,一种是把数组元素作为实参使用,另一种是把数组名作为函数的形参和实参使用。 (1)数组元素作函数实参 在数组一章中我们知道了数组元素也是变量,与普通变量没有区别。因此它作为函数实参使用与普通变量作为实参时是完全相同的,在发生函数调用时,把作为实参的数组元素的值传送给形参,实现单向的值传送。例5-7说明了这种情况。 C 语 言 程 序 设 计 项 目 教 程 5.6 数组作为函数的实参 【例5-7】 判别一个整型数组中各元素的值,若大于0 则输出1,若小于等于0则输出0值。 #include stdio.h void f(int v) { if(v0) printf(1); else printf(0 ); } main() { int a[5],i; printf(请输入5个整数\n); for(i=0;i5;i++) { scanf(%d,a[i]); f(a[i]); } } C 语 言 程 序 设 计 项 目 教 程 5.6 数组作为函数的实参 (2)数组名作为函数参数 数组名也可以作为函数的实参,数组名代表数组在内存中的首地址,函数调用时实参和形参应个数相同,类型一致,因此当数组名作实参时,对应的形参类型只能是数组或指针。同时把数组名作参数的数据传递方式称为地址传递。 数组名作参数是把实参地址的首地址传递给形参,使形参和实参指向相同的内存空间,从而主调函数和被调函数对同一地址上的数据进行操作。 C 语 言 程 序 设 计 项 目 教 程 5.6 数组作为函数的实参 ① 一维数组名作为实参。 当一维数组名作为实参时,对应的函数调用语句为:函数名(数组名1, 数组名2,……); 被调函数的定义形式为:函数名(类型名 数组名1[], 类型名 数组名2[],……); 或函数名(类型名 数组名1 [数组长度], 类型名 数组名2 [数组长度],……); 例如,在主调函数中: int a[10] max(a); // 函数调用语句 被调函数的定义形式为:类型名 max(int a[]) 或类型名 max(int a[10]) C 语 言 程 序 设 计 项 目 教 程 5.6 数组作为函数的实参 【例5-8】 调用冒泡法排序函数对数组进行排序。 算法分析: 程序从main函数开始执行,因此从主函数开始设计。定义一个int类型的数组a[10],用for循环给数组赋初值,然后调用冒泡法排序函数给数组排序,最后输出数组。 而要调用冒泡法排序函数给数组排序,则应设计一个函数sort,参数为一个整型数组b[10],功能

文档评论(0)

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

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

1亿VIP精品文档

相关文档