版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章分支结构12目标掌握简单的条件语句的使用熟练使用多重if结构熟练使用嵌套if结构熟练使用switch结构理解条件运算符的用法3结构化程序C语言是一种支持结构化程序设计思想的程序设计语言。结构化程序设计的基本思想之一是“单入口和单出口”的控制结构任何程序只可由顺序、选择和循环三种控制结构组成每种控制结构都能用仅有一个入口和一个出口的流程图表示4顺序结构顺序结构就是指程序按照语句出现的先后顺序依次执行。5示例#include"stdio.h"voidmain(){inti,j,sum;
printf("请输入i的值:\n");scanf("%d",&i);
printf("请输入j的值:\n");
scanf("%d",&j);sum=i+j;
printf("i+j=%d\n",sum);}6示例2设三角形的三边长为a,b,c求三角形的面积?提示根据三条边求面积的数学公式为:area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s为:
s=(a+b+c)/27if语句分支结构中最基本的分支结构是if语句按形式分if语句可以分为单分支双分支多分支8单分支if语句if(expression)语句;
表达式(expression)可以是任意的数值、字符、关系、逻辑表达式,以true(非0)表示真,false(0)表示假。语句称为if语句的内嵌语句,可以是一句简单语句或是一句复合语句。9单分支if语句案例:如果你有10万元人民币,你就买汽车是否满10万买汽车是结束否#include“stdio.h”voidmain(){ intmoney; printf(“请输入你所拥有的钱:\n”); scanf(“%d”,&money); if(money>=10) printf(“我买汽车了\n”);}10已知两个数x和y,比较它们的大小,使最终结果x中的内容大于y。首先将x中的数值赋值给临时变量temp。接着将y中的数值赋值给变量x。最后将临时变量temp中的数值赋值给变量y,整个交换过程完成。#include<stdio.h>voidmain(){ intx,y,temp; printf("\n请输入两个值:"); scanf("%d%d",&x,&y); printf("\n比较前x和y中的内容:\n"); printf("x=%d,y=%d\n\n",x,y); if(x<y) //如果x中的值小于y中的值,交换x和y的内容
{ temp=x; x=y; y=temp;
} printf("比较后x和y中的内容:\n"); printf("x=%d,y=%d\n",x,y);}11if–else语句if(expression)
语句1;else
语句2;12if–else语句案例:如果你有10万元人民币,你就买汽车,没有的话,就买电动车是否满10万买汽车是结束否买电动车#include"stdio.h"voidmain(){ intmoney; printf("请输入你所拥有的钱:\n"); scanf(“%d”,&money); if(money>=10) printf("我买汽车了\n"); else printf("我买电动车了\n");}13示例#include<stdio.h>voidmain(){intx,y;printf("inputtwonumbers:");scanf("%d%d",&x,&y);if(x>y)//比较x和y中的内容,并选择相应的输出
printf("x>y\n");else printf("x<y\n");}14if–else–if语句if(expression_1)
语句1;elseif(expression_2)
语句2;elseif(expression_3)
语句3; . . .elseif(expression_n)
语句n;else
语句n+1;15if–else–if语句案例:如果你有10万元人民币,你就买福特汽车,没有10万,如果有5万就买奇瑞qq汽车,5万也没有的话,买电动车是否满10万买福特汽车是结束否买电动车是否满5万否买奇瑞qq是#include“stdio.h”voidmain(){ intmoney; printf(“请输入你所拥有的钱:\n”); scanf(“%d”,&money); if(money>=10) printf(“我买福特汽车了\n”); elseif(money>=5) printf(“我买qq汽车了\n”); else printf(“我买电动车了\n”);}16示例#include<stdio.h>voidmain(){intmark; printf("请输入学生的百分制成绩:"); scanf("%d",&mark); if(mark>=90) //mark>=90时
printf("优!"); elseif(mark>=80) //80<=mark<90时
printf("良!"); elseif(mark>=70) //70<=mark<80时
printf("中!"); elseif(mark>=60) //60<=mark<70时
printf("及格!"); else //mark<60时
printf("不及格!"); printf("\n");//输出换行符}17if嵌套if(expression){
语句;if(expression){
语句;}语句;}else{
语句;
if(expression){
语句;
}
语句;}18if嵌套是否满10万买福特汽车是结束否买电动车是否满5万否买奇瑞qq是家庭资产满50万买乐风是否案例:如果你有10万元人民币的情况下,家里的资产大于50万,你就买福特汽车,家里资产小于50万的话,就买夏利。没有10万,如果有5万就买奇瑞qq汽车,5万也没有的话,买电动车19#include“stdio.h”voidmain(){intmoney;printf(“请输入你所拥有的钱:\n”);scanf(“%d”,&money);if(money>=10)if(资产>50)printf(“我买福特汽车了\n”);else
printf(“我买乐风了\n”);elseif(money>=5)
printf(“我买qq汽车了\n”);else
printf(“我买电动车了\n”);}20本题中对三个数x、y、z进行排序#include<stdio.h>voidmain(){intx,y,z,temp;printf("请输入x、y、z的值:");scanf("%d%d%d",&x,&y,&z);if(x<y){ //x与y交换,使得x>y temp=x;x=y;y=temp; }if(y<z){ //y与z交换,使得y>z
temp=y;y=z;z=temp; if(x<y)
{ temp=x;x=y;y=temp; }}printf("%d>%d>%d\n",x,y,z);}21switch语句虽然用if-else语句可以实现多分支选择,但当分支较多时,程序结构依然会十分复杂,降低程序的可读性。为了使语句更为清晰易懂,C语言还提供了另一种用于描述多分支选择结构的switch语句,该语句又称为开关语句。switch-case语句是多路判断语句switch语句计算条件表达式并对照多个常数值进行检查22switch(表达式){case常量1:
语句; break;case常量
2:
语句; break;
default:
语句;}需要判断的值如果等于常量1遇到break,switch结束执行语句如果等于常量2遇到break,switch结束执行语句如果没有找到匹配的值执行语句switch结构23#include<stdio.h>voidmain(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a) //根据变量a的值进行判断
{ case1:printf("Monday\n");//输出 Monday (星期一)
case2:printf("Tuesday\n"); //输出 Tuesday (星期二)
case3:printf(“Wednesday\n”);//输出 Wednesday(星期三)
case4:printf("Thursday\n"); //输出 Thursday (星期四)
case5:printf("Friday\n");//输出 Friday (星期五)
case6:printf("Saturday\n"); //输出 Saturday (星期六)
case7:printf("Sunday\n");//输出 Sunday (星期日)
default:printf("error\n");//当变量a中的内容不在数值1-7之间时,输出error}}从键盘接收用户输入的整型值,并按值显示出相应的星期表示。#include<stdio.h>voidmain(){inta;printf("inputintegernumber:");scanf("%d",&a);switch(a) //根据变量a的值进行判断
{ case1:printf("Monday\n");//输出 Monday (星期一)
case2:printf("Tuesday\n"); //输出 Tuesday (星期二)
case3:printf(“Wednesday\n”);//输出 Wednesday(星期三)
case4:printf("Thursday\n"); //输出 Thursday (星期四)
case5:printf("Friday\n");//输出 Friday (星期五)
case6:printf("Saturday\n"); //输出 Saturday (星期六)
case7:printf("Sunday\n");//输出 Sunday (星期日)
default:printf("error\n");//当变量a中的内容不在数值1-7之间时,输出error}}从键盘接收用户输入的整型值,并按值显示出相应的星期表示。24#include<stdio.h>voidmain(){floata,b;charc;printf("inputexpression:a+(-,*,/)b\n");scanf("%f%c%f"
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 停车场设备施工合同
- 工程施工合同成本结转分录
- 《薄壁不锈钢管》课件
- 2025年鄂尔多斯货运从业资格证考试题
- 2025年邵阳货运从业资格证考试试题
- 2025年铜陵货运上岗证考试多少道题
- 2025年连云港道路运输从业资格证考试
- 《EYEQ项目说明完整》课件
- 第四单元 维护国家利益
- 建筑工程维修合同
- 贵州医药市场分析及深度研究报告
- HGT 4095-2023 化工用在线气相色谱仪 (正式版)
- 直流输电的基本原理课件
- 2024年口腔科医师工作总结个人述职报告(四篇合集)
- 志愿服务证明(多模板)
- 煤炭加工工艺的智能化控制与自动化技术
- 动力系统故障应急预案
- 30题调度员岗位常见面试问题含HR问题考察点及参考回答
- 国家开放大学电大《刑法学》期末题库及答案
- 《能源概论》课件
- 计划运营培训课件
评论
0/150
提交评论