选择结构;1、顺序结构
2、选择结构
3、循环结构;4选择结构;;;注意:
(1)条件运算符的运算优先级低于关系运算符和算数运算符,但高于赋值符。
max=(ab)?a:b相当于:max=ab?a:b
(2)条件运算符“?:”是一对运算符,不能分开单独使用。
(3)条件运算符的结合方向是自右向左。
ab?a:cd?c:d应理解为:ab?a:(cd?c:d)
;【例】从键盘上输入一个字符,如果它是大写字母,则把它转换成小写字母输出;否则,直接输出。
[分析]:利用双分支选择结构实现,通过判断表达式的值选择执行语句。;【例】从键盘输入一年份,判别该年是否为闰年。
分析:通常,每四年里有三个平年一个闰年。公历年份是4的倍数的,一般都是闰年。也就是我们通常所说的:
四年一闰,百年不闰,四百年再闰。
所以2000年是闰年,2100年不是闰年。因此,判断闰年有两种标准:
(1)能被4整除,但不能被100整除;
(2)能被4整除,也能被400整除。
这两个条件只要有一个满足就可以了。例如,2000年不满足第一个条件,但满足第二个条件,所以是闰年。;leap;#includestdio.h
voidmain()
{
intyear,leap;
printf(Enteryear:);
scanf(%d,year);
if(year%4==0(year%100!=0||year%400==0))
leap=1;
else
leap=0;
if(leap)
printf(%disaleapyear.\n,year);
else
printf(%disnotaleapyear.\n,year);
}
运行结果:
Enteryear:2018↙
2018isnotaleapyear.;;;形式三:
格式:;【例】故障率是工业产品的重要指标,是指产品发生故障间隔时间的最低要求,在此作以下要求,故障时间为6000~7000h以上为良品,5000~6000h为合格产品,4000~5000h的为不合格产品,低于4000h为报废产品,请用ifelse语句实现此算法。
;注意:
(1)if语句后面的表达式一般是逻辑表达式或关系表达式,但也可以是其他表达式,如赋值表达式等,甚至也可以是一个变量。根据表达式的值判断条件是否满足,即“非零”为“真”,“零”为“假”。
例如:if(a=5)语句,或if(b)语句都是允许的。
(2)在if语句中,条件判断表达式必须用括号括起来,在语句之后必须加分号。
(3)???if语句的三种形式中,所有的语句应为单个语句,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用花括号{}括起来组成一个复合语句。但要注意的是在右花括号}之后不能再加分号。
;4.2.2嵌套的if语句;4.2.2嵌套的if语句;if(expr1)
if(expr2)statement1
elsestatement2
else
if(expr3)statement3
elsestatement4;例输入两数并判断其大小关系;if~else配对原则:缺省{}时,else总是和它上面离它最近的未配对的if配对;例考虑下面程序输出结果:
main()
{intx=100,a=10,b=20;
intv1=5,v2=0;
if(ab)
if(b!=15)
if(!v1)
x=1;
else
if(v2)x=10;
x=-1;
printf(%d,x);
};【例】用if语句的嵌套形式,完成两个数大小关系(大于、小于、等于)的比较与输出。
[分析]:采用嵌套结构即进行有包含关系的多次条件判断。本例子中可以先判断两个数是否相等,若不等则再判断是大于还是小于的关系。;4.3switch语句;4.3switch语句;switch(表达式)
{caseE1:语句组1;break;
caseE2:语句组2;break;
…….
caseEn:语句组n;break;
[d