




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言基础教程 分支结构程序设计 主要内容 概述if分支结构switch分支结构综合实例常见错误 概述 分支结构或称选择结构 用于处理根据判断条件决定由哪个分支处理的问题 类似的问题如 计算一元二次方程ax2 bx c 0的根 如果b2 4ac 0 则有两个不相等的实根 如果b2 4ac 0 则有两个相等的实根 如果b2 4ac 0 有一对共轭复根 如果输入的三边能构成三角形 则计算三角形的面积 根据成绩统计不同分数段学生的人数 两种类型 if语句switch语句 If分支结构 if语句的一般形式 if结构if else结构if elseif结构 If结构 最简单的分支结构语句 其具体格式为 if语句 功能描述 如果表达式的值为真 非0 则执行语句 否则不做任何处理 直接执行if语句的后继语句序列 这种if结构又称为单分支结构语句 示例 if a b printf s aequaltob 注意 表示相等条件时 应使用关系运算符 不能用赋值运算符 If结构 Exam4 1 cpp includevoidmain inta b max printf inputtwonumbers scanf d d 程序运行结果 inputtwonumbers 3 5 max 5 例4 1 输入两个整数 输出其中的大数 用于解决双分支选择问题 其格式为 功能描述 如果表达式值为真 则执行语句1 若值为假则程序进入else部分 执行语句2 任一分支语句执行完毕后 都跳出if else结构 执行其后继语句 If else结构 if语句1else语句2 If else结构 Exam4 2 cpp includevoidmain inta b printf inputtwonumbers scanf d d 例4 2 修改例4 1 If else结构 Exam4 3 cpp includevoidmain floatweight cost printf inputtheweight scanf f 例4 3 某商品的零售价为每公斤10元 批发价为9元 若购买量在50公斤以上的 可以享受批发价 给顾客购买商店的数量 计算顾客应付款数额 程序运行结果 inputtwoweight 30 youshouldpay300 00yuans 再次运行结果 inputtwoweight 60 youshouldpay540 00yuans 解决多分支选择问题 其格式为 功能描述 如果表达式1的值为真 则执行语句1 否则如果表达式2为真 则执行语句2 如果所有if后的表达式都不为真 则执行语句n 1 If elseif结构 if语句1elseif语句2 elseif语句nelse语句n 1 If elseif结构 Exam4 4 cpp includevoidmain charc printf inputacharacter c getchar if c 0 例4 4 输入一个字符 判断它是数字字符 大写字母 小写字母 还是其它字符 程序运行结果 inputacharacter g Thisisasmallletter if结构的一般形式 if语句的条件表达式一般是逻辑表达式或关系表达式 也可以是一个变量 常量或函数调用 例如 if 3 prinf OK 表达式的值为3 因此以 真 处理if后的条件表达式必须用圆括号括起来 且后面无分号 但每个内嵌的语句必须以 结束 否则会出现语法错误 例如 if a b printf d a elseprintf d b if语句的内嵌语句可以是单个或多个语句 当包含多个语句时 必须用花括号 括起来形成一个复合语句 例如 if a b c if结构的一般形式 if语句的嵌套 在if或else子句中出现if或if else语句的形式称为if语句的嵌套 嵌套的形式 if 表达式1 if 表达式2 语句1else语句2elseif 表达式3 语句3else语句4 内嵌if 内嵌if if语句的嵌套 例4 5 比较两个数的大小关系 Exam4 5 cpp includevoidmain inta b printf pleaseinputAandB scanf d d if语句的嵌套 1 else与前面最近未匹配的if配对 例如 2 若要改变 1 中所确定的配对关系 可用花括号 将内嵌的if语句括起来 例如 if a b if a b printf A B n elseprintf A B n else与最外层的if配对 if与else的配对 if语句的嵌套 例4 6 编写程序 输入x的值 求下面分段函数的值 Exam4 6 cpp includevoidmain floatx y printf pleaseinputx scanf f if x 1 if x 10 y 5 x 17 elsey 2 x 1 elsey x switch结构形式功能描述 先计算switch后面括号内的表达式值 然后将值与case后面的表达式值进行比较 若找到匹配的case 则执行该case后面的语句序列 直到遇到break语句为止 跳出switch 若没有找到 则执行default后面的语句 直到switch语句结束 若找不到相匹配的case子句且不存在default语句 则跳过switch语句体 继续执行switch后面的下一条语句 switch分支结构 switch 表达式 case常量表达式1 语句1case常量表达式2 语句2 case常量表达式n 语句ndefault 语句n 1 例4 7 输入一个数字 如果该数字是1 7 则分别输出星期一 星期日的英文单词 否则 提示输出错误 Exam4 7 cpp includevoidmain inta printf inputintegernumber scanf d 程序运行结果 inputintegernumber 6 SaturdaySundayerror switch结构形式 switch结构形式 注意几点 switch后的表达式的值必须是整型或字符型或枚举型 case后的表达式又称为分支标号 它是常量表达式 通常不允许包含变量和函数调用 而且每个case的常量表达式的值不允许相同 每个case代表一个分支 其后的语句是该分支执行的功能 允许是多条语句 且可以不用 括起来 switch后的表达式找到相匹配的case后 并以此标号为入口 顺序执行后续的程序 直到遇到break语句为止 switch a case1 printf Monday n break case2 printf Tuesday n break case6 printf Saturday n break case7 printf Sunday n break default printf error n 运行结果 inputintegernumber 6 Saturday switch结构形式 多个case可共用一组执行语句 例如 switch x case0 case1 语句1 break default是可选项 default语句出现的位置不会影响到程序的执行结果 即default可置于case前面 中间或后面 但是程序编译时 总是将它放在最后处理 switch语句可以嵌套 switch结构形式 voidmain inti 1 j 2 switch i case1 printf case1inouter n case2 printf case2inouter n switch j 嵌套的switch结构 case1 printf case1ininner n case2 printf case2ininner n break case3 printf case3inouter n 运行结果 case1inoutercase2inoutercase2ininnercase3inouter switch结构形式 例4 8 计算器程序 用户输入运算数和四则运算符 输出计算结果 Exam4 8 cpp includevoidmain floata b charc printf inputexpression a b n scanf f c f 程序运行结果 inputexpression a b10 2 20 000000 解决除0问题 与if语句嵌套case if b 0 printf Dividedbyzero n elseprintf f n a b break If与switch switch语句只能对等值进行测试 若测试值涉及某个较大的范围 if语句适用 switch语句只能对整型数进行测试 如果对浮点数进行测试 需要if语句 若测试一个整型变量取几个不同值的情况 则用switch语句比较简明 根据学生的分数输出其成绩等级 intgrade if grade 85 综合实例 例4 9 求一点所在的象限 Exam4 9 cpp includevoidmain floatx y printf Inputthecoordinateofpoint n printf x scanf f 程序运行结果 Inputthecoordinateofpoint x 5 y 3 Thepointisinlstquadrant 再次运行结果 Inputthecoordinateofpoint x 2 y 7 Thepointisin2ndquadrant 综合示例 例4 10 已知某公司员工的保底薪水为500 某月所接工程的利润profit 整数 与利润提成的关系如下 计量单位 元 profit 1000没有提成 1000 profit 2000提成10 2000 profit 5000提成15 5000 profit 10000提成20 10000 profit提成25 综合实例 Exam4 10 cpp includevoidmain longprofit intgrade floatsalary 500 printf Inputprofit scanf ld 程序运行结果 Inputprofit 3500 salary 4025 00 综合实例 例4 11 输入一个不超过5位的正整数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年智能制造在电子制造业的生产优化
- 2025年智能锁的安全性能测试
- 2025年海洋能发电在海岛生态环境保护中的政策建议报告
- 2025年海洋能发电技术产业链协同创新模式研究报告
- 2025空军军医大学口腔医院社会招聘(119人)考前自测高频考点模拟试题及答案详解一套
- 2025年六安市人民医院公开招聘69人模拟试卷(含答案详解)
- 2025辽宁兴城市人民医院、中医医院招聘急需紧缺人才37人考前自测高频考点模拟试题及答案详解(全优)
- 2025广东汕尾市陆河县高校毕业生就业见习招募15人(第三批)模拟试卷及答案详解(必刷)
- 2025年阜阳界首市“政录企用”人才引进8人模拟试卷及参考答案详解1套
- 2025黑龙江齐齐哈尔市富裕县信访局招聘公益性岗位人员2人模拟试卷参考答案详解
- 生产主管转正工作总结
- 2025至2030中国高纯铝行业发展趋势与行业发展研究与产业战略规划分析评估报告
- 会务理论考试题及答案
- 2025年期货从业资格之《期货法律法规》真题附答案详解【巩固】
- 幼儿园各项安全管理制度汇编
- 2025年“安全生产年”工作总结(2篇)
- 锦囊工程(修订版)
- 锅炉空预器清洗方案
- SF∕T 0111-2021 法医临床检验规范
- 药敏试验结果的解读
- DB14∕T 1319-2021 公路工程标准工程量清单及计量规范
评论
0/150
提交评论