- 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语言;结构化程序设计
强调程序设计的风格和程序结构的规范化
提倡清晰的结构
基本思路
将一个复杂问题的求解过程划分为若干阶段
每个阶段要处理的问题都容易理解和处理
设计步骤
按自顶向下的方法对问题进行分析
采用模块化设计:先划分好模块,再逐步求精
结构化编码:必须使用指定的编码结构;按自
您可能关注的文档
- 1.3 HBuilder的安装与使用 (1).pptx
- 1.3 SDN特征——数据控制分离 (1).pptx
- (美化后)Linux的目录结构.pptx
- (美化后)Linux系统用户和组管理.pptx
- (美化后)Linux系统中的目录和文件.pptx
- (美化后)vim文本编辑器 (1).pptx
- (美化后)磁盘分区-1.pptx
- (美化后)特殊权限.pptx
- (美化后)网络管理.pptx
- (美化后)项目2-任务7-权限管理.pptx
- 2023学年诸暨中学高三年级第二学期3月第二次模拟考试(政治)公开课教案教学设计课件资料.docx
- 运动的合成与分解(二)公开课教案教学设计课件资料.pptx
- 近五年浙江省各地图形的翻折(轴对称)原题公开课教案教学设计课件资料.doc
- 如何做教师-2019-11-13-中关村一小相关公开课教案教学设计课件资料.pptx
- 生活中的圆周运动 (水平面)正式版公开课教案教学设计课件资料.pptx
- 专题10 条件概率与全概率公式公开课教案教学设计课件资料.docx
- 金华市东阳市2019学年第二学期期末测试卷公开课教案教学设计课件资料.doc
- 5 琥珀(第二课时)【慕课堂版】公开课教案教学设计课件资料.pptx
- 项目五 打印米老鼠模型公开课教案教学设计课件资料.ppt
- (打印版)9月25日地理周练公开课教案教学设计课件资料.docx
最近下载
- 校级家委会会议方案、流程和发言稿7篇汇编.doc
- 《工程材料及成形工艺基础》习题集与答案(材料部分).doc
- 婚前孕前保健服务技能考核试题及答案.docx VIP
- 《多彩的黄土高原(论文)3500字》.docx
- 家乡特产 (教学设计)-2023-2024学年五年级上册综合实践活动粤教版.docx
- 驾驶员安全礼仪培训.pptx
- 高素质农民人才培养方案+—+会计专业(农村会计方向)(高职).docx VIP
- 儿童精神药物应用(共40张PPT)【40页】.pptx
- TCAME 59-2023 医院消毒供应中心建设与运行管理标准.pdf
- SZSD03 0005—2024住房公积金基础数据安全分类分级指南.pdf
文档评论(0)