版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第4章章 顺序和选择结构程序设计顺序和选择结构程序设计 4.1 C语句概述语句概述4.2 算法基本知识算法基本知识4.3 顺序结构程序设计顺序结构程序设计4.4 关系运算与逻辑运算关系运算与逻辑运算4.5 if 语句语句4.6 if语句的嵌套语句的嵌套4.7 条件运算符条件运算符4.8 switch 语句语句4.9 选择结构程序设计举例选择结构程序设计举例本章小结本章小结4.1 C语句概述语句概述C语言是通过语句向计算机系统发出操作指令的。语言是通过语句向计算机系统发出操作指令的。C语句可以分为以下语句可以分为以下5类:类:1表达式语句表达式语句 在一个表达式后面加上分号。在一个表达式后面加
2、上分号。2函数调用语句函数调用语句 由一次函数调用加上一个分号。由一次函数调用加上一个分号。3空语句。空语句。只有一个分号的语句。只有一个分号的语句。 4复合语句。复合语句。 由一对大括号括起来若干条语句。由一对大括号括起来若干条语句。4.1 C语句概述语句概述5流程控制语句。流程控制语句。 共有共有9种种if( ) else (条件语句)(条件语句)for( ) (循环语句)(循环语句)while( ) (循环语句)(循环语句)do while( )(循环语句)(循环语句)continue(结束本次循环)(结束本次循环)break(中止执行(中止执行switch或循环语句)或循环语句)swi
3、tch(多分支选择语句)(多分支选择语句)goto(无条件转向语句)(无条件转向语句)return(从函数返回语句(从函数返回语句)4.2 算法基本知识算法基本知识算法是解决某一问题的方法和步骤。算法是解决某一问题的方法和步骤。程序实际上就是用计算机语言描述的算法。程序实际上就是用计算机语言描述的算法。 一算法的特性和要素一算法的特性和要素1算法的特性:算法的特性:F有穷性有穷性F可行性可行性F确定性确定性F输入。一个算法可以有输入。一个算法可以有0个或多个输入个或多个输入 。F输出。一个算法必须产生一个或多个输出。输出。一个算法必须产生一个或多个输出。4.2 算法基本知识算法基本知识2算法的
4、要素:算法的要素:F操作,即构成算法的操作取自哪个操作集。操作,即构成算法的操作取自哪个操作集。计算机操作主要包括:算术运算、关系运算、计算机操作主要包括:算术运算、关系运算、逻辑运算、函数运算、位运算及逻辑运算、函数运算、位运算及I/O操作等。操作等。 F控制结构,即如何控制算法中的各操作的执控制结构,即如何控制算法中的各操作的执行顺序。行顺序。4.2 算法基本知识算法基本知识二算法的描述二算法的描述算法的描述有很多种方法,算法的描述有很多种方法,如如 自然语言、自然语言、 流程图、流程图、 计算机语言、计算机语言、 伪代码伪代码 等,等,其中使用最广泛的是流程图。其中使用最广泛的是流程图。
5、例:聊天机器人例:聊天机器人 (网上购物查订单状态)(网上购物查订单状态) 开始开始请输订单号请输订单号查询当前状态查询当前状态输出显示输出显示收收到到”Y”是是有请求有请求是是否否我是聊天机器人查询我是聊天机器人查询订单请输订单请输”Y”是是收到订单号收到订单号否否否否4.2 算法基本知识算法基本知识二算法的描述二算法的描述1传统的流程图传统的流程图 流程线流程线 连接点连接点 注释框注释框起止框起止框 输入输出框输入输出框 判断框判断框 处理框处理框 4.2 算法基本知识算法基本知识1传统的流程图传统的流程图当型当型循环循环直到型直到型循环循环分支分支结构结构顺序顺序结构结构PANYPAN
6、Y4.2 算法基本知识算法基本知识2N-S流程图流程图 AB顺序结构顺序结构当条件成立当条件成立A 当型循环当型循环直到条件成立直到条件成立A 直到型循环直到型循环条件条件成立成立不成立不成立AB分支结构分支结构4.3 顺序结构程序设计顺序结构程序设计通常通常 输入参数输入参数计算和处理计算和处理输出结果输出结果例:输入摄氏温度值例:输入摄氏温度值C ,计算华氏温度值,计算华氏温度值F。 (计算公式为:计算公式为:F9*C/5+32) main( ) float c,f; printf(Please input c:); scanf(%f,&c); f=9*c/5+32; printf(f=%
7、6.2fn,f); 输出:输出: Please input c:输入:输入: 32 输出:输出: f=89.60改为下式呢改为下式呢f=9/5*c+32;4.4 关系运算与逻辑运算关系运算与逻辑运算4.4.1 关系运算关系运算1 关系运算符关系运算符 用于两个数据量之间的比较用于两个数据量之间的比较 (6种种) 、= 、= = 、= = 、!=!=2关系表达式关系表达式用关系运算符将两个表达式连接起来的式子用关系运算符将两个表达式连接起来的式子关系表达式的结果是逻辑值关系表达式的结果是逻辑值: “真真”用用“1 ”表示,表示, “假假”用用“0”表示。表示。4.4 关系运算与逻辑运算关系运算与
8、逻辑运算3关系运算符的优先级关系运算符的优先级4关系运算符的结合方向关系运算符的结合方向 结合方向都是从左到右结合方向都是从左到右例:例:5=3 aa+b c(a+b) ab=c (ab)=c a=bc a=(bc) 赋值运算符赋值运算符算术运算符算术运算符关系运算符关系运算符低低高高、=、!= 假假 0 真真 1若若a=4 b=2 c=1假假 0 真真 1 a=1 真真14.4 关系运算与逻辑运算关系运算与逻辑运算4.4.2 逻辑运算逻辑运算1逻辑运算符逻辑运算符 & 逻辑与逻辑与 逻辑或逻辑或 ! 逻辑非逻辑非aB!aa&ba|b0011 0101 110000010111参与运算的数据参
9、与运算的数据0为假为假非非0 为真为真逻辑运算的真值表逻辑运算的真值表3逻辑运算符的优先级逻辑运算符的优先级ab|!a /* 即即(ab)|(!a ) */63-!04.4 关系运算与逻辑运算关系运算与逻辑运算 高高 !(非非)算术运算符算术运算符关系运算符关系运算符 &(与与) |(或或)赋值运算符赋值运算符 低低121结果为结果为14逻辑运算符的结合方向逻辑运算符的结合方向 ! 从右到左从右到左 &、|从左到右从左到右 若若a=4;b=2;c=1; a0|b0|c0 结果为结果为0 a+0 结果为结果为0,a=5,b=3 0& 1| 第二个操作数不需要计算第二个操作数不需要计算4.4 关系
10、运算与逻辑运算关系运算与逻辑运算三程序中对条件的描述三程序中对条件的描述程序设计时,若要进行条件判断,应该用正确的程序设计时,若要进行条件判断,应该用正确的逻辑表达式或条件表达式来描述。逻辑表达式或条件表达式来描述。 数学公式数学公式 C语言逻辑表达式语言逻辑表达式 x10或或x=100 x=10|x=100 0 x 10且且x10 0=x&xbmax=amax=b输出输出max#include void main() int a,b,max; scanf(%d,%d,&a,&b); if(ab) max=a; else max=b; printf(max=%dn,max);TF此处此处无分号
11、无分号4.5 if 语句语句二缺省二缺省else结构的结构的if语句语句在基本的在基本的if语句结构中,若在条件不成立语句结构中,若在条件不成立时什么也不用做。即缺省时什么也不用做。即缺省else结构:结构: if(表达式表达式) 语句;语句;执行过程为:执行过程为:若表达式的值为若表达式的值为“真真”时,则执行语句;时,则执行语句; 否则,执行下一条语句。否则,执行下一条语句。4.5 if 语句语句P67 例例4.5 输入任意两个整数,输入任意两个整数,找出其中的较大数。找出其中的较大数。输入输入a,bmax=aabmax=b输出输出max#include void main() int a
12、,b,max; scanf(%d,%d,&a,&b); max=a; if(ab) max=b; printf(max=%dn,max);TF #include void main() int a,b,t; scanf(“%d,%d”,&a,&b); if(ab) t=a; a=b; b=t; printf(“%d,%dn”,a,b);4.5 if 语句语句例例4.9 输入两个整数,按由大到小的顺序输出。输入两个整数,按由大到小的顺序输出。5a9b5t95a=b;a=b;b=a;b=a;无法实现交换无法实现交换输入输入a,bab if ab 将将a a和和b b对换对换if ac if ac
13、将将a a和和c c对换对换if bc if bc 将将b b和和c c对换对换4.5 if 语句语句ab7c56 #include void main ( ) float a,b,c,t; scanf(“%f,%f,%f”,&a,&b,&c); if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(%5.2f,%5.2f,%5.2fn,a,b,c); 4.5 if 语句语句 输入输入3个实数个实数a,b,c,要求按由小到大的顺序输出要求按由小到大的顺序输出。if ab if ab 将将a a和和b b对换对换if
14、 ac if ac 将将a a和和c c对换对换if bc if bc 将将b b和和c c对换对换#include #include main() float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); if(a+bc&a+cb&b+ca) s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%.2fn,area); else printf(“Input error);P80 例例4.17 输入三角形边长,输入三角形边长,求面积。求面积。输入:输入:3,4,5 输出:输出:area=6.0
15、0)()()()(21csbsassareacbas文件包含预处理命令输入数据输出数据选择结构4.6 if语句的嵌套语句的嵌套 一个一个if语句中又包含一个或多个语句中又包含一个或多个if语句语句的现象称为的现象称为if语句的嵌套。语句的嵌套。 在在if语句嵌套的结构中语句嵌套的结构中, else与与if之间的之间的对应原则对应原则是:是:else总是与它前面最近的一个总是与它前面最近的一个未匹配的未匹配的if相匹配相匹配。4.6 if语句的嵌套语句的嵌套if ( )if ( ) if( ) if( ) 语句语句1 1 else else 语句语句2 2elseelse if( ) if( )
16、 语句语句3 3 else else 语句语句4 4内嵌内嵌ifif内嵌内嵌ifif注意:注意:ifif与与elseelse的配对关系的配对关系(if(if与与elseelse数目不同时数目不同时) ) elseelse总与它上面最近的未配对的总与它上面最近的未配对的ifif配对,配对, 不受缩进格式影响。不受缩进格式影响。4.6 if语句的嵌套语句的嵌套if(p1)if(p1) if(p2) if(p2) 语句语句1 1 else else 语句语句2 2内嵌内嵌ififif(p1)if(p1) if(p2) if(p2) 语句语句1 1elseelse 语句语句3 3 if(p1)if(p
17、1) 语句语句1 1elseelse if(p3) if(p3) 语句语句3 3 else else 语句语句4 4内嵌内嵌ifif内嵌内嵌ifif内嵌内嵌ifif内嵌内嵌ifififif与与elseelse数目不一样数目不一样加括号确定配对关系加括号确定配对关系嵌在外层嵌在外层elseelse部分部分4.6 if语句的嵌套语句的嵌套例例 4.12 有一个函数有一个函数 编一程序,输入一个编一程序,输入一个x值,输出值,输出y值。值。算法算法1:输入输入x若若x0,则则y=1输出输出y 算法算法2:if嵌套嵌套输入输入x若若x0,则则y=-1否则否则 若若x=0,则则y=0 否则否则 则则y=
18、1输出输出y 0 0 x x1 10 0 x x0 00 0 x x1 1y y4.6 if语句的嵌套语句的嵌套 #includevoid main() int x,y; scanf(“%d”,&x); 程序段程序段printf(“x=%d,y=%dn”,x,y); if(x0) y=-1; else if(x=0) y=0; else y=1;4.6 if语句的嵌套语句的嵌套 四个程序段,判断正误四个程序段,判断正误程序程序1: 程序程序2: if(x=0) y=-1; if(x0) y=1; else else y=0; if(x=0) y=0; else y=-1; else y=1;程
19、序程序3: 程序程序4: y=-1; y=0; if(x!=0) if(x=0) if(x0) y=1; if(x0) y=1; else y=0; else y=-1;正正确确正正确确错错误误错错误误xb) max=a;if(ab) max=a; else max=b; else max=b; max=ab?a:b;max=ab?a:b;功能:求功能:求表达式表达式1 1的值,若为的值,若为非非( (真真) ),执行表达式,执行表达式, 此时表达式此时表达式的值就作为整个条件表达式的值。的值就作为整个条件表达式的值。 若表达式的值为若表达式的值为( (假假) ),执行表达式,执行表达式, 表
20、达式表达式的值就是整个条件表达式的值。的值就是整个条件表达式的值。同一个变量赋值同一个变量赋值唯一的唯一的三目运算符三目运算符例例4.13 4.13 输入一个英文字符,判断是否为输入一个英文字符,判断是否为大写字母。如果是,将其转换为小写字母;大写字母。如果是,将其转换为小写字母;否则,直接输出。否则,直接输出。 include void main ( ) char ch; scanf(%c,& ch); ch=(ch=A& ch=Z)?(ch+32):ch; printf(%cn,ch); chch为大写字母,则为大写字母,则ch+32ch+32为为相应的小写字母;相应的小写字母;如果如果c
21、hch的值是小写字母,的值是小写字母,则不变,仍为则不变,仍为chch。 4.7 条件运算符条件运算符4.6 if语句的嵌套语句的嵌套 -1 (x0) 编一程序,输入一个编一程序,输入一个x值,输出值,输出y值。值。 y=x0?-1:x=0?0:1; 等价于等价于 y=(x=90) printf(“A”); else if (score = 80) printf(“B”); else if (score = 70) printf(“C”); else if (score = 60) printf(“D”); else printf(“E”);4.8 switch 语句语句 scanf(%d,&
22、x); switch(x/10) case 10:case 9: y=A;case 8: y=B;case 7: y=C;case 6: y=D; default: y=E ; printf(y=%c,y);思考:思考:若输入若输入75,输出结果?,输出结果?EyxDyxCyxByxAyx59069607970898010090如何修改如何修改4.8 switch 语句语句 scanf(%d,&x); switch(x/10) case 10:case 9: y=A; break; case 8: y=B; break; case 7: y=C; break; case 6: y=D; bre
23、ak; default: y=E ; break; printf(y=%c,y);思考:思考:输入输入75,输出?,输出?EyxDyxCyxByxAyx590696079708980100904.8 switch 语句语句switch语句的几点说明:语句的几点说明:Fswitch后面括号内可以是任何类型的表达式。后面括号内可以是任何类型的表达式。F每个每个case后面的常量表达式必须后面的常量表达式必须互不相同互不相同,否则就会出现互相矛盾的现象。否则就会出现互相矛盾的现象。Fcase和和default的的出现次序出现次序不影响执行结果。不影响执行结果。 注意加注意加break。Fcase后可
24、包含后可包含多个可执行语句多个可执行语句,且不必加,且不必加 可以让多个可以让多个case共用共用一组执行语句。一组执行语句。4.9 选择结构程序设计举例选择结构程序设计举例例:输入三角形的三个边长,求三角形的面积。例:输入三角形的三个边长,求三角形的面积。例:求一个任意的一元二次方程例:求一个任意的一元二次方程ax2+bx+c=0的解。的解。例:设某公司的业务员工资计算办法为:工资例:设某公司的业务员工资计算办法为:工资=基本工基本工资资+提成。其中提成办法为:当销售额在提成。其中提成办法为:当销售额在1万元以下万元以下时,只发基本工资时,只发基本工资1000元,当销售额在元,当销售额在1万元以上万元以上才可以拿提成,提成的比率为:当销售额才可以拿提成,提成的比率为:当销售额2万元
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年可降解材料与生物降解塑料混配技术
- 《初中数学八年级上册“多边形内角和定理”探究式教学教案》
- 《八年级道德与法治“宪法是治国安邦的总章程”专题教学设计》
- 八年级上册道德与法治《遵守规则:社会生活的约定与成长》教学设计
- 本科层次网络安全专业单向网闸技术原理与应用教案
- 初中八年级历史《社会生活的变迁:基于史料与体验的跨学科探究》单元教学设计
- 初中八年级地理《工业》主题单元项目式学习教学设计
- 初中八年级道德与法治《深植家庭根脉体认亲情与责任》教学设计
- 初三道德与法治中考一轮复习系统化教学设计
- 心脏瓣膜病术后护理查房
- 理论联系实际如何理解新时代我国社会主要矛盾的变化?参考答案(一)
- 2026年部编版语文四年级下册全册单元复习课教案(共8个单元)
- 2026广西南宁市青少年活动中心招聘12355青少年服务台工作人员4人考试备考试题及答案解析
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.5-2025)
- 外贸三方货物出口合同范本合同三篇
- 2025年大连市城市建设投资集团有限公司内部招聘备考题库及1套完整答案详解
- 2025年福建会考信息技术试题及答案
- 创新食品包装技术
- 动火作业应急预案(3篇)
- 2026年江西高考化学真题试卷+解析及答案
- 万科项目经理培训课件
评论
0/150
提交评论