- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;;;问题基本描述
问题:通过定义函数,实现输出5行的数字台阶形状
描述:通过每行输出的数字和个数不同,形成台阶的形状
第一行到第五行:一个1,两个2,三个3,四个4,五个5
所有行都右对齐:每行前面补齐空格
知识技能目标
理解问题逻辑和程序逻辑
理解函数的定义和调用机制
掌握无参数函数的定义和调用;问题的基本逻辑
问题:通过定义函数,实现输出n行的数字台阶形状
实现过程
主函数:通过调用子函数输出n行
子函数:通过循环控制输出n行
子函数:通过参数传递,确定n的值
通过循环:控制输出n行
每行先输出空格:第i行则输出n-i个空格,通过循环控制实现
每行后输出数字:第i行则输出i个i,通过循环控制实现
每行结束:输出一个换行符
整体结构:外循环中嵌套2个内循环;程序的基本逻辑和流程图
子函数的功能:输出n行,无需返回值
定义子函数:输出n行的图形
函数名称和参数:display(intn)
外循环:for(i=1;i=n;i++)
内循环1:输出第i行的空格
内循环2:输出第i行的数字
外循环体最后一条语句:输出换行符
主函数
调用子函数:以输出的行数为实参
函数声明:voiddisplay(int);
在程序的最前面对自定义函数进行声明;;子函数:display
函数类型:void
表示该函数无返回值
函数的最后不需要return语句
函数参数:r,类型为int
表示要输出的行数
函数体:共2条语句
外循环:for(i=1;i=n;i++)
内循环1:for(j=1;j=n-i;j++)
内循环2:for(j=1;j=i;j++)
每行结束:printf(\n);;主函数:main
无须声明变量
调用函数:display(6);
实参:6,表示输出6行
无返回值:单独成一条语句
无须输出语句
在子函数中完成了输出功能
函数声明
语句:voiddisplay(int);
确定:函数名称和参数类型等;难点:一行的输出
每行先输出空格、后输出数字
输出每行的空格
第i行则输出n-i个空格,通过循环控制实现
每行后输出数字
第i行则输出i个i,通过循环控制实现
每行结束:输出一个换行符
printf(\n);;【经典案例】输出所有的“水仙花数”;运行测试1:输出问题要求的5行的数字台阶
运行测试2:修改实参为9,表示输出9行的数字台阶;;改写主函数,子函数不???
voidmain(){
intn;
printf(请输入数字台阶的高度:);
scanf(%d,n);
printf(输出高度为%d的数字台阶\n,n);
display(n);
};改进:输出行数由用户确定;;;函数的分类
系统函数:C语言系统中已经存在的函数
例如:scanf()、printf()、sqrt()
自定义函数:先定义、后使用
用户根据需求进行定义,然后再可以被调用
函数的组成:函数首部和函数体
函数首部
描述了函数外部与函数内部的联系
函数体
组成:由实现函数功能的若干条语句组成
如有返回值:通过return语句实现;无返回值函数的定义
函数类型:void
函数体中可以没有return语句
当函数中所有的语句都执行完,遇到最后的大括号即返回主调函数
函数体中如果有return语句,则其表达式为空
作用:通常以屏幕输出等方式实现需求;函数的返回值由函数功能决定
计算功能的函数一般都有返回值
通过调用函数,返回计算的结果
函数的类型不得为void
输出功能的函数一般不需要返回值
执行指定的具体操作
函数的类型:void
例如:输出数字台阶问题
子函数的功能为:直接输出要求的图形
不需要返回值;无返回值函数的调用
一般不能出现在表达式中
通常以独立的调用语句方式来调用这类函数
例如:调用自定义函数输出数字台阶
display(5);
无参函数和无返回值函数
参数:用于在主调函数和被调函数之间传递数据
主要是主调函数将运算值传递给被调函数
返回值:用于被调函数向主调函数返回值;无返回值函数的调用;;;程序设计语言的发展
历经四代:从低级到高级
第一代语言:机器语言,二进制编码,计算机可以直接识别
第二代语言:汇编语言,引入助记符,需要汇编后运行
第三代语言:高级语言、结构化设计语言
代表语言:C语言、BASIC语言、Pascal语言
数据库语言:SQL
第四代语言:面向对象程序设计语言
代表语言:Java语言、Python语言、Html语言;结构化程序设计
强调程序设计的风格和程序结构的规范化
提倡清晰的结构
基本思路
将一个复杂问题的求解过程划分为若干阶段
每个阶段要处理的问题都容易理解和处理
设计步骤
按自顶向下的方法对问题进行分析
采用模块化设计:先划分好模块,再逐步求精
结构化编码:必须使用指定的编码结构;按自
文档评论(0)