If:
if(条件a) 语句块b;//当条件成立,仅执行b,(不加括号仅执行第一行) 语句块c; …… if(条件a) {语句块b}//当条件成立,执行整个语句块bIf—else:
if(条件a) {语句块b} else {语句块c}//一般形式 if(条件a) {语句块b}else {语句块c}if(条件d) {语句块e}else {语句块f}//就近原则,else会**自动向上**匹配离它最近的ifFor:
for(起始条件a;判断条件b;语句块c) {语句块d}//**代码执行顺序:a——>b——>d——>c** //起始条件a、判断条件b、语句块可以只有一个语句块, //**也可有多个组合的语句块**,如下: //模拟两人赛跑 int s = 30;//s为路程 // i 起始距离为 0,速度为 2;j 起始距离为 10,速度为 1 for(i = 0,j = 10;i < 30 && j < 30;i+=2,j++){ printf("%d\t%d",i,j); // i 的速度大于 j,当 i > j 时,i 必胜 if(i > j){ printf("%s","i获胜!"); break; } }while、do while:
while(判断条件a)//条件 a 成立,无括号时,**仅执行语句块 b** 语句块b; 语句块c; …… while(判断条件a)//条件 a 成立,**执行整个语句块 b** {语句块b} do {语句块b}while(判断条件a);//**先执行一次语句块 b,**然后判断条件 aSwitch:(break搭配使用、与if、while有别)
switch(表达式a) { case 表达式b: 语句块; case 表达式c: 语句块; ..... case 表达式i: 语句块; ..... case 表达式n: 语句块; default: printf("%s", "default"); }printf("%d\n", 1); /*从上至下执行, 表达式的值为整型; 当匹配到与表达式a的值相等的表达式i时, 则执行 i 到 n 的所有语句块,直至遇到 break,程序停止运行; 若执行到 n 仍未匹配,则执行 default; 若能够匹配,则不执行 default; **default 所处位置不影响其输出,** 这意味着若执行到 n 仍未匹配,**即使 default 位于第一行仍然执行;** 此时需要注意的是,若 default 语句块中无 break,当 default 执行完毕后,将继续执行后面的语句块,直至遇到 break case 表达式: 语句块;格式不唯一 case 表达式: 语句块;...语句块;...语句块;***区别所在*** case 表达式: ***区别所在*** 语句块; ... 语句块; case 表达式: {语句块;}*/