




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
选择结构程序设计设计者:李德健第5章5.3节选择结构程序设计教学目的与要求:掌握if语句的三种格式及其各自的执行流程教学内容提要:三种if语句教学重点:三种格式的if语句的执行过程及其根本用法教学难点:多分支if语句的应用C语言提供6种关系运算符:1〕关系运算符<:小于<=:小于等于>:大于>=:大于等于==:是否等于!=:不等于1、关系运算符及其表达式C语言中,真:非0值;假:0值
2〕关系表达式用关系运算符将表达式连接起来的式子优先级<
<=>>===!=结合方向:自左向右表达式的值关系成立,即为真,结果为1;关系不成立,即为假,结果为0;算术运算符例1判断以下关系表达式的结果:〔a=2*2〕==2X=〔1+1〕==28<=101!=2高低高低高低赋值运算符1)逻辑运算符!:逻辑非,一元运算符运算规那么:取反,真假,假真&&:逻辑与。又称逻辑乘。运算规那么:两个操作数均为真,结果为真。||:逻辑或。又称逻辑加。运算规那么:只要两个操作数有一个为真,结果为真。2、逻辑运算符及其表达式2〕逻辑表达式用逻辑运算符将表达式连接起来的式子。优先级关系运算符&&逻辑与算术运算符!逻辑非||逻辑或结合性:!:自右向左&&、||:自左向右高低赋值运算符高低高低高低高低问题提出:计算分段函数:
y=3-xx≤02/xx>0解题的步骤:输入xx≤0是
y=3-xy=2/x否
输出y的值C语言用来设计条件选择结构程序的选择语句有两种:if语句、switch语句。
3、if语句1〕单分支选择if语句语句形式:
if(表达式〕语句;例:if(x>y)printf(“%d”,x);语句执行流程:
表达式语句真(非0)假(0)if语句的三种形式:单分支选择if语句、双分支选择if语句、多分支选择if语句。
例5.1:从键盘输入两个数a和b,按代数值由小到大的顺序输出这两个数。#include<stdio.h>输入a,ba>b交换a、b输出结束真假main(){floata,b,t;scanf("%f,%f",&a,&b);
if(a>b){t=a;a=b;b=t;}printf("%5.2f,%5.2f\n",a,b);}注意:
〔1〕if语句自动结合一个语句,当满足条件需要执行多个语句时,应用一对大括号{}将需要执行的多个语句括起,形成一个复合语句。〔2〕if语句中表达式形式很灵活,可以是常量、变量、任何类型表达式、函数、指针等。只要表达式的值为非零值,条件就为真,反之条件为假。2)、双分支选择if语句语句形式:if(表达式〕语句1;else语句2;语句执行流程:
表达式语句1真(非0)假(0)语句2例:If(x>y)printf(“%d”,x);elseprintf(“%d”,y);例:输入三角形的三个边长,求出三角形的面积。
#include“math.h”main(){floata,b,c;floats;/*s为三角形的半周长*/printf(“请输入三角形的三边a,b,c:”);scanf(“%f%f%f”,&a,&b,&c);if(a+b>c&&a+c>b&&b+c>a)/*判断输入的a,b,c能否构成三角形*/{s=(a+b+c)/2.0;/*求出三角形的半周长*/printf(“三角形周长s=%f”,s);}elseprintf(“不能构成三角形\n”);}3)、多分支选择if语句语句形式:if(表达式1〕语句1;elseif(表达式2〕语句2;……elseif(表达式n〕语句n;else语句n+1;语句执行流程:
真(非0)假(0)表达式1语句1语句2表达式2真(非0)表达式2语句n语句n+1假(0)假(0)例:计算分段函数。假输入xX<=1真X<10y=3/(x-10)y=2xy=x+5假真#include<stdio.h>main(){floatx,y;printf(“输入x:");scanf("%f",&x);else{if(x<=1〕y=x+5;elseif(x<10)y=2*x;else y=3/(x-10);
printf("x=%f,y=%f\n",x,y);}计算分段函数程序:if(x==10)printf(“输入的x不满足条件.\n");
}注意:〔1〕当if语句中出现多个“if”与“else”的时候,要特别注意它们之间的匹配关系,否那么就可能导致程序逻辑错误
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论