选择结构程序设计课件.pptVIP

  • 3
  • 0
  • 约1.43万字
  • 约 64页
  • 2019-02-21 发布于北京
  • 举报
第五章 选择结构程序设计 回顾 printf() 和 scanf() 函数属于格式输入输出函数 getchar() 和 putchar() 函数用来输入输出单个字符的函数 赋值语句的概念和作用 顺序结构编程思想 目标 熟练使用关系运算符 熟练使用逻辑运算符 掌握简单的条件语句的使用 熟练使用多重 if 结构 熟练使用printf和scanf函数 熟练使用嵌套 if 结构 熟练使用 switch 结构 理解条件运算符的用法 一、关系运算符和关系表达式 符号种类: = == = != 结合方向:自左向右 优先级别: 关系表达式的值:是逻辑值“真”或“假”, 用1和0表示 运算符的优先级 [练习1],假设num1=3,num2=4,num3=5,则: (1)num1num2的值。 (2)(num1num2)!=num3的值。 (3)num1num2num3的值。 二、逻辑运算符和逻辑表达式 三、条件运算符与表达式 if ~ else 配对原则:缺省{ }时,else总是和它上面离它最近的未配对的if配对 [例5.5] 键盘输入三个数,并取出最大值。 /*功能:说明if 语句的格式。*/ main() { int num1,num2,num3,max; printf(Please input three numbers:); scanf(%d,%d,%d,num1,num2,num3); if (num1num2) max=num1; else max=num2; if (num3max) max=num3; printf(The three numbers are:%d,%d,%d\n,num1,num2,num3); printf(max=%d\n,max); } 程序运行情况如下: [例5.6]输入任意三个数num1、num2、num3,按从小到大的顺序排序输出。 1.if语句的一般格式 if(表达式) {语句组1;} [else {语句组2;} ] (1)if语句中的“表达式”必须用“(”和“)”括起来。 (2)else子句(可选)是if语句的一部分,必须与if配对使用,不能单独使用。 (3)当if和else下面的语句组,仅由一条语句构成时,也可不使用复合语句形式(即去掉花括号)。 2.if语句的执行过程 (1)缺省else子句时 当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,否则直接转向执行下一条。如图P45,4.1 (2)指定else子句时 当“表达式”的值不等于0(即判定为“逻辑真”)时,则执行语句组1,然后转向下一条语句;否则,执行语句组2。如图4-1(b)所示。 3.if语句的嵌套与嵌套匹配原则 if语句允许嵌套。所谓if语句的嵌套是指,在“语句组1”或(和)“语句组2”中,又包含有if语句的情况。 if语句嵌套时,else子句与if的匹配原则:与在它上面、距它最近、且尚未匹配的if配对。 为明确匹配关系,避免匹配错误,强烈建议:将内嵌的if语句,一律用花括号括起来。 [案例5.7] 写一程序,从键盘上输入1年份year(4位十进制数),判断其是否闰年。闰年的条件是:能被4整除、但不能被100整除,或者能被400整除。 main() { int year,leap=0; /* leap=0:预置为非闰年*/ printf(Please input the year:); scanf(%d,year); if (year % 4==0) { if (year % 100 != 0) leap=1;} else { if (year%400==0) leap=1; } if (leap) printf(%d is a leap year.\n,year); else printf(%d is not a leap year.\n,year); } 2、执行过程 3、说明 良好的源程序书写风格──注释 (2)选择结构 { case 常量表达式1: /*该入口值的含义*/ 语句组; …… case 常量表达式n: /*该入口值的含义*/ 语句组; default: /*该入口值的含义*/ 语句组; } 作业 总结 1 关系运算符运用测试两个操作数之间的关系 关系

文档评论(0)

1亿VIP精品文档

相关文档