一,条件运算符和条件表达式
条件表达式通常用于赋值语句如 max=(a>b)?a:b;意思为如a>b为真,则把a赋予max,否则把b赋予max。(1)因运算符优先级可去掉括号。(2)条件运算符?和:是一对运算符,不能分开单独使用。(3)a>b?a:c>d>?c:d可理解 a>b?a:(c>d?c:d)
switch语句
计算表达式的值。并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时,执行其后的语句,然后不在判断 继续执行后面所有case后的语句。若表达式的值与所有case后的常量表达式均不相同时,则执行default后语句。
二,循环控制结构程序
goto语句标号 标号是一个有效的标识符,这个标识符加上一个”:“一起出现在函数某处,执行goto语句后,程序跳转到标号处并执行其后的语句。标号与goto语句同处于一个函数中,但不在一个循环层,goto通常与if语句连用(goto并不常用,但在多层嵌套退出时使用比较合理)
while语句 while(表达式)语句 语义为计算表达式的值,当表达式的值为真时,执行循环体语句。ps:如果表达式的值一开始就为0,则语句一次不会被执行。
此为与getchar()连用补充。
do-while语句 与while语句不同点在于,它先执行循环中的语句,在判断表达式是否为真,若真则继续循环;若为假则终止循环,do-while循环至少要执行一次循环语句。
for语句(最灵活最便捷的循环语句) for(表达式1;表达式2;表达式3) 先求解表达式1,在求解表达式2 若为真 在执行for语句中的内嵌语句,最后3。若2为假则结束循环,执行for语句下面的语句。(一般表达式1为循环变量,2为条件判断语句,3为递增量)
注意:for循环中表达式1 表达式2 表达式3都是选择项,也可以缺省,但";"不能缺省如 i=5;for(;i<100 ; ){sum=sum+i;i++;}
三个表达式都省略 就相当于while(1)语句。
for的嵌套 先执行里面的循环在执行外面的
四种循环总结:四种循环可处理同一问题,一般可以相互替代,不提倡用goto型循环。while和do-while循环中,只在while后面的括号内指定循环条件,为了使循环正常结束,应在循环体中包含使循环趋于结束的语句(如i++,i+=1等)但是for语句可以在表达式3中包含使循环趋于结束的操作,甚至可以将循环体全部放到3中而且while和do-while循环时,循环变量初始化操作应在语句之前完成 但for可在表达式1中实现。ps:while和do-while和for语句都可以用break语句跳出循环,用continue语句结束本次循环。但对goto和if构成的循环,不能进行控制。