- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机C程序设计 (C Programming for MCU)第三章:C程序入门本章目标了解算法及控制结构掌握使用选择结构及程序设计掌握使用循环结构及程序设计问题分析算法设计调试编码测试有问题无问题程序设计步骤程序设计分析问题:功能:需要弄清楚软件要完成的功能;输入:如果问题有输入,分析输入是什么及输入数据的类型; 处理:对输入数据做什么处理; 输出:如果有输出,输出什么数据及输出数据的格式;对于复杂问题,可将问题分解为若干子问题,然后再进行上面的分析。程序设计过程就是解决问题的过程。程序设计通常包括如下五个步骤:算法设计: 设计解决问题的具体方案(步骤)。编码: 将算法用高级语言实现。测试: 运行编译连接后得到的执行程序,以验证程序是否按要求 解决了问题,并没有产生副作用。即程序是否做了该做的事,同时没有做不该做的事。调试: 如果程序经测试发现问题,则通过调试手段找到产生错误的代码并修复它。结构化程序设计(structured programming)将复杂问题分解为简单问题的程序设计方法称为结构化程序设计,其特点为:自顶向下(top-down);逐步细化(stepwise refinement);模块化(modular);算法任何计算问题的解决都是按指定的顺序执行一系列动作的结果。解决问题的动作及动作之间的顺序称为算法(algorithm)。问题2.1问题:“判断某学生成绩是否及格”问题2.1:问题分析输入:学生成绩;类型:整型;处理:学生成绩值与60进行比较,大于或等于60,则及格,否则不及格;输出:字符串“Pass”或“Fail”;变量:需要一个整型变量用于存放输入的学生成绩。问题2.1:算法设计解决问题2.1的步骤可描述为(算法):读入学生成绩值如果该成绩值大于或等于60 输出信息“Pass”否则 输出信息“Fail”读学生成绩值真假成绩值 = 60输出”Pass”输出”Fail”算法表示算法即可以用自然语言表述(如前),也可用用半结构化语言或结构化图形表示,如:read 学生成绩值if 成绩值 = 60 print “Pass”else print “Fail”语句1假真真条件条件语句语句2语句1语句2假语句n顺序选择控制结构计算机语言提供三种方式来控制算法的执行:顺序(Sequence)、选择(Selection)和循环(Loop)。循环语句C语言语句分成简单语句和构造语句两类。简单语句1)表达式语句赋值表达式语句,如: *x++ = y *= z+3;其它表达式语句,如:++x; --y;函数调用语句等。2)转移语句goto 标号;break; 间断语句continue; 继续语句return; return (表达式);3)空语句 ;语句(续)构造语句1)复合语句(分程序){[局部数据说明]语句*}注意:}后没有分号(;),这与单个语句不同。2)选择(条件)语句if语句,if_else语句3)循环语句for语句while语句do_while语句4)开关语句switch语句(包括case语句)F表达式T语句F表达式T语句2语句1选择结构:if语句if(表达式) 语句?if(表达式) 语句1else 语句2选择结构:if语句if(表达式1)语句1?else if(表达式2)语句2else if(表达式3)语句3……else if(表达式m)语句melse 语句m+1选择结构:if语句(续)注意:在if嵌套中,省略else会产生二义性。如:if( n 0) if(a b) z = a; else z = b;即else与前面最接近的不带else的if相对应。若要使上面的else与第一个if相匹配,可使用{}。如:if(n 0){ if(a b) z = a;}else z = b; 例2-1/*判断学生成绩是否及格*/#include stdio.hmain( ){int score;scanf(“%d”, score);if( score = 60)printf(“Pass\n”);elseprintf(“Fail\n”);} read 学生成绩值if 成绩值 = 60 print “及格”else print“不及格”if选择(条件)语句算法程序问题2.1:代码实现与测试根据其算法描述,我们很容易将问题“判断学生成绩是否及格”的解决转换为相应的程序。如何判断程序解决了相应问题?可用下面输入数据来测试(检验):75(输出应为“Pass”)30(输出应为“Fail”)60 (输出应为“Pass”)-- 特殊数据程序设计的常用方法为首先给出问题的算法描述,然后将其编程序实现。问题2.2问题: “判断某学生成绩对应的五级评分成绩”问题分析:输入:学生成绩;类型:整型;处理:学生成绩值分别与90,80,70
您可能关注的文档
- 1、人有两个宝 2016 新.ppt
- 1万M3湿式直升煤气柜施工方案.doc
- 1【good】《我与地坛》精品课件(实用).ppt
- 1《让我们荡起双桨》ppt课件5.ppt
- 1《诗两首_我爱这土地_乡愁》_人教新课标版.ppt
- 1、圆柱的认识.ppt
- 1下3讲学会使用数量词.ppt
- 1人类起源.ppt
- 1、土地治理施工组织设计.doc
- 1、《我学会了》.ppt
- 哈师大附中高一下学期期中考试试题及答案.docx
- 2025年中国画技法认证考试预测题与答案详解.docx
- 教科版科学四年级下册知识点整理.docx
- 房地产企业设计流程及技术标准.docx
- 专题16 二次函数压轴题(安徽专用)5年(2021-2025)中考1年模拟《数学》真题分类汇编.docx
- 金融分析师面试题及答案详解.docx
- 专题17 几何压轴题(安徽专用)5年(2021-2025)中考1年模拟《数学》真题分类汇编.docx
- 新媒体宣传活动策划方案与执行指南.docx
- 专题18 古典数学问题(安徽专用)5年(2021-2025)中考1年模拟《数学》真题分类汇编.docx
- 2025年山西省教师职称考试(美术)历年参考题库含答案详解.docx
文档评论(0)