资源描述
3.1单分支选择结构if语句3.2双分支选择结构ifelse,以及条件运算与条件表达式3.3多分支选择结构程序设计,第三章选择结构流程及应用,3.2双分支选择结构,条件运算与条件表达式,1、if-else语句格式:if(条件表达式)语句组A;else语句组B;,格式:if(条件表达式)语句组A;else语句组B;,执行过程:先计算表达式的值,若为真(非0值),执行语句A;若值为0,执行else后的语句B。,if(xy)z=x;elsez=y;,当复合语句中只有一条语句的时候也可以写成如下格式:格式:if(条件表达式)语句1;else语句2;或者:if(条件表达式)语句1;else语句2;,2、双分支if-else语句的流程图如下:,运行if-else语句的实质,请先听我讲一个动人的故事.,如果把这个矩形看作是一个整体。,如果if(条件成立),否则else(条件不成立),执行A部分,执行B部分,If和else一分为二,自此故事也就结束了.,注意:,If和else是关键字,是固定的,不能丢掉!If后面紧跟括号(),它们之间没有空格,必须有括号,丢掉括号就会出错!括号跟语句之间要有空格隔开。表达式只要是非0就表示条件成立,如果为0就表是条件不成立。只有一条语句的时候,那一对花括号可以省略。也就是不带花括号的时候,if(或者else)语句的作用只管一条语句。,【例一】以下程序的作用是什么?main()charc;printf(“Input:”);scanf(“%c”,/*将小写字母转换为大写字母*/,【例二】以下程序的执行结果是什么?main()intx=2,y=-1,z=2;if(xb,将两个变量的值互换,否则,保持不变,最后输出。使用scanf输入三个整数,然后求三个整数中的最大值。从键盘输入一个整数,判断它的奇偶性。如果输入的是奇数,输出“ODD”,如果输入的是偶数,则输出“EVEN”.编写一程序控制电灯开关,从键盘输入1表示开灯,这时显示“thelightison”;输入0或者其他数表示关灯,显示“thelightisoff”。,练习,3、条件运算符与条件表达式,C语言中唯一的一个三目运算符是条件运算符,即“?:”。它的运算对象有三个。它在某种程度上可以起到逻辑判断的作用,一样可是实现双分支选择结构。条件运算符的语法格式是:表达式1?表达式2:表达式3由条件运算符构成的表达式称为条件表达式,与if-else语句具有相同的功能。,4、条件运算符的运算规则如下:,首先计算表达式1的值,若表达式1为真,条件表达式的解取表达式2的值,表达式1为假,条件表达式的解取表达式3的值。,注意:条件表达式的解是指整个表达式的解。,5、运算符的优先级与结合性,条件运算符的优先级高于赋值运算符,但低于关系运算符和算术运算符。其结合性为“从右到左”(即右结合性)。,【例5】从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出,否则,直接输出。main()charch;printf(Inputacharacter:);scanf(%c,【例6】用条件表达式求三个整数中的最大数。#includestdio.hvoidmain()inta,b,c;printf(Pleaeinputthreeint:);scanf(%d%d%d,用条件运算符代替下面程序断中的ifelse语句。if(flag)printf(“TURE!n”);elseprintf(“FALSE!n”);编写一程序,从键盘输入两个整数,输出较大的一个。x2y216是平面上的一个圆编写一个程序判断点(2,4)是圆内?圆外?还是圆上?课后作业:3.1、3.2(1)、3.2(3)、3.2(4)、3.3(4),练习,
展开阅读全文