《高级语言程序设计教学课件》第3章选择结构.ppt
《《高级语言程序设计教学课件》第3章选择结构.ppt》由会员分享,可在线阅读,更多相关《《高级语言程序设计教学课件》第3章选择结构.ppt(50页珍藏版)》请在三一办公上搜索。
1、第三章 选择结构,C语言程序设计,2,学习目标,if语句switch语句关系运算与逻辑运算,3,3.1 选择结构概述,【例3-1】输入x的值,求分段函数y=f(x)的值,函数表示如下:,if(x0)y=x*x;else y=0;,4,#include void main(void)int x,y;printf(请输入x的值:);scanf(%d,请输入x的值:0y=0Press any key to continue,选择结构,5,3.2 关系运算与逻辑运算,学习运算符应注意的问题功能运算量要求运算量个数(单目运算符?双目运算符?)要求运算量类型(整型?实型?其它类型?)优先级别(优先级高?优
2、先级低?)结合方向(从左向右?从右向左?)结果的类型,6,3.2.1 关系运算,种类:=!=结合方向自左向右优先级别关系表达式的值是逻辑值真或假,用1和0表示,例ca+b ab!=ca=bc,例int a=3,b=2,c=1,d,f;ab(ab)=cb+cbf=abc,/*32,结果为1*/*1=1,结果为1*/*b+c=3,a=3,结果为0*/*ab结果为1;d=1*/*f=0*/,c(a+b)(ab)!=c a=(bc),7,注 意,应避免对实数作相等或不等的判断注意区分=与=,int a=0,b=1;if(a=b)printf(a equal to b);else printf(a no
3、t equal to b);,1.0/3.0*3.0=1.0 结果为将x=a的判断修改为:|x-a|可改写为:fabs(1.0/3.0*3.0-1.0)=1e-6,/应该为 a=b,假,8,【例3-3】x是float型变量,判断x是否等于 1/3,#include#include void main(void)float x;x=1/3.0;if(x=1/3.0)printf(x等于1/3n);elseprintf(x不等于1/3n);,x不等于1/3,x 等于1/3,(fabs(x-1/3.0)=1e-6),?,应避免对实数作相等或不等的判断,9,3.2.3 逻辑运算,种类:!&|逻辑运算真
4、值表,C语言中,运算量:0 表示假,非0 表示真,运算结果:0 表示假,1 表示真,1,1,0,0,1,0,1,0,1,0,0,1,0,0,1,1,10,优先级!算术运算关系运算&|赋值运算结合性,例 ab&xy a=b|x=y!a|ab,(ab)&(xy)(a=b)|(x=y)(!a)|(ab),例 a=4;b=5;!a a&b a|b!a|b 4&0|2 53&2|84-!0 c&d,/值为0/值为1/值为1/值为1/值为1/值为1/值为1,11,问题 在C语言中,能正确地表示数学关系0 x5 的表达式是:(A)x=0&x=0 AND x=0&x=5,12,短路特性 逻辑表达式求解时,并非
5、所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符,例 a(m=ab)&(n=cd)/结果m=0,n=1,13,【例3-2】逻辑运算举例,#include void main(void)int c,x=0,y=-5;printf(%d,%dn,!x*y,x,-5,02,1,11,0,0,如果表达式x+的逻辑值为1则不用再计算y+因此 c=1 x=x+1,+x:先执行x=x+1,再将x的值作为表达式+x的值。x+:先将x的值作为表达式x+的值,再执行x=x+1。,如果表达式x+的逻辑值为0则不用再计算y+因此 c=0 x=x+1,14,【常用的条件判断表
6、达式】,(1)int x;判断x是偶数:x%2=0;(2)char c;判断 c 是否为数字:c=0,15,3.3 两个分支的if语句,ifelse语句的基本形式格式 if(表达式)语句1else 语句2执行过程,16,说明:if后面的表达式类型任意语句可以是任意类型的语句,最好使用复合语句,考虑下面程序的输出结果:#include main()int x,y;scanf(%d,%d,Compile Error!,if(a=b,error C2181:illegal else without matching if,17,【例3-4】随机输入两个数,输出其中的大数,#include void
7、main(void)int a,b;printf(input two numbers:);scanf(%d%d,input two numbers:0 33 是最大数Press any key to continue,18,【例3-5】输入三角形的三边的边长,输出三角形的面积,三角形面积公式,19,#include#include void main(void)float a,b,c,p,s;printf(请输入三角形的三边:n);scanf(%f%f%f,三角形三边定理及推论:三角形任意两边之和大于第三边,任意两边之差小于第三边。,顺序结构,20,【例3-5】输入三角形的三边的边长,输出三角
8、形的面积,#include#include void main(void)float a,b,c,p,s;printf(请输入三角形的三边:n);scanf(%f%f%f,请输入三角形的三边:3 4 5area=6.000000Press any key to continue,请输入三角形的三边:1 2 3输入数据错误!Press any key to continue,21,3.4 一个分支的语句,if语句格式 if(表达式)语句执行过程,22,【例3-6】从键盘上随机的输入三个数,输出最大数,10,62,313456722,23445676,323238,max,a,b,c,max,ma
9、x,23,【例3-6】从键盘上随机的输入三个数,输出最大数,#include void main(void)int a,b,c,max;printf(输入三个数:);scanf(%d%d%d,输入三个数:3 5 88 是最大数Press any key to continue,24,【例3-7】从键盘上随机的输入三个数,从大到小输出三个数,a,b,c,if ab abif ac acif bc bcabt=a;a=b;b=t;,A,B,T,25,【例3-7】从键盘上随机的输入三个数,从大到小输出三个数,#include void main(void)int a,b,c,t;printf(输入三
10、个数:);scanf(%d%d%d,输入三个数:3 5 77,5,3Press any key to continue,26,3.5 多个分支的if语句,ifelse if语句的形式if(表达式1)语句1else if(表达式2)语句2else if(表达式3)语句3else 语句n执行过程,27,【例3-8】从键盘上输入一个字符,判断该字符是数字、大写字母、小写字母或其它字符。,ASCII码表 0 9为数字 A Z为大写字母 a z为小写字母,0c9 48c57AcZ 65c90acz 97c122,c=0&c=A&c=a&c=z,28,【例3-8】从键盘上输入一个字符,判断该字符是数字、大
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级语言程序设计教学课件 高级 语言程序设计 教学 课件 选择 结构
链接地址:https://www.31ppt.com/p-5904934.html