第3章程序控制结构(Zhp)-副本.pptVIP

  • 8
  • 0
  • 约2.17万字
  • 约 106页
  • 2017-06-10 发布于北京
  • 举报
第3章 程序控制结构 关系运算和逻辑运算 条件控制语句及条件表达式 多分支控制语句 循环语句while,do—while,for 自增、自减运算 逗号运算符和逗号表达式 break和continue语句 选择结构需要解决的两个问题 控制选择结构执行方向的条件表示 一般用关系表达式,逻辑表达式来描述条件 控制结构的结构描述 关系运算符 优先级 示例: 8==4 其值为“假”,表达式的值为0。 50 其值为“真”,表达式的值为1。 思考:x=1与x==1意义相同吗? 逻辑运算符和逻辑表达式(续) 逻辑表达式的值是一个逻辑量“真”或“假”。C语言编译系统在给出逻辑结果时,以数值1代表“真”,以0代表“假” 在判断一个量是否为“真”时,以非0代表“真”,以0代表“假”。 例如: ? 若x = 10, 则 !x的值为0。 ? 若a = 3, b = 2, 则ab的值为1。 ? 5 0 ||8的值为1。 结合性 特点 在逻辑表达式的求解中并不是所有的运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行下一个运算符。 例如:已知a=3,b=0,c=2,则执行下列表达式后a,b,c分别是多少? a b (c=4) 各种运算符优先级 练习1: 能正确表示x大于等于10或x小于等于0的逻辑表达式是: 能正确表示x大于等于0且小于等于10的逻辑表达式是: 能正确判断变量x中的字符是英文字母的表达式是: 条件运算符 ?: 条件表达式的形式: 表达式1?表达式2:表达式3 计算过程:先计算表达式1,若其值为非零,则结果为表达式2的值,否则就是表达式3的值。 练习:阅读下列源程序,写出运行结果 #includestdio.h int main(void) { int a=4,b=3,c=3,t=0; if(ab) t=a;a=b;b=t; if(a=c) t=a;a=c;c=t; printf(“%d %d %d\n”,a,b,c); return 0; } 示例3:求ax2+bx+c=0的实根(要求:a,b,c的值从键盘输入,a不等于0) #includestdio.h #includemath.h void main( ) { int a,b,c; float d,x1,x2; scanf(“%d%d%d”,a,b,c); d=b*b-4*a*c; if(d0) printf(“数据输入错误\n”); else {x1=(-b+sqrt(d))/(2*a); x2=(-b-sqrt(d))/(2*a); printf(“x1=%.2f,x2=%.2f\n”,x1,x2);} } p63 3.1 输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。 #includestdio.h #includemath.h void main() { float a,b,c; printf(请输入三角形边长:\n); scanf(%f%f%f,a,b,c); 示例5:请仔细检查下列程序: #includestdio.h void main( ) { intx,y; scanf(“%d”,x); if x1 y=x; else (1=x10) y=2x-1; y=3x-11; printf(“%d”,y); } 一般形式为: if ( ) if ( ) 语句1; else 语句2; else if ( ) 语句3; else 语句4; #includestdio.h #includemath.h void main() /*已知三角形的三边,计算其面积*/ {int a,b,c; float s; double re; scanf(%d,%d,%d,a,b,c); if(a+bca+cbb+ca) { s=(a+b+c)/2; re=sqrt(s*(s-a)*(s-b)*(s-c)); printf(面积=%.1lf\n,re); } else printf(\n不能构成三角形\n); } 复习小结: 关系运算符和关系表达式、逻辑运算符和逻辑表达式; 条件表达式; if语

文档评论(0)

1亿VIP精品文档

相关文档