目录
分支语句
if_else switch_case
if_else
基本结构
if(表达式1)
{
代码段1;
}else
{
代码段2;
}
判断表达式1是否成立,如果成立执行代码段1,不成立执行代码段2;
分层结构
if(表达式1)
{
代码段1;
}else if(表达式2)
{
代码段2;
}else
{
代码段3;
}
嵌套结构
if(表达式1)
{
if(表达式2)
{
}
}
注意:
if后边可以没有else,但是else前边必须有if
当语句块只有一行代码时,{}可以省略
switch_case
switch (表达式)
{
case 常量1:
/* code1 */
break;
case 常量2:
/* code2 */
break;
default:
break;
}
执行顺序:判断表达式的结果,和case后的常量值进行匹配,匹配成功则执行对应语句块,如果没有匹配成功的则执行default的语句块,遇到break结束。
注意:
表达式的结果不能是小数,case后的常量值不能是浮点数或字符串。
每个对应的case语句后边要加上break,不加会继续向下执行,直到遇到break结束
循环语句
for while do...while()
for
格式:
for(表达式1;表达式2;表达式3)
{
代码段;
}
表达式1:变量赋初值
表达式2:终止条件
表达式3:增值或减值
执行顺序:首先执行表达式1进行赋值,然后判断表达式2是否成立,如果成立就进入循环执行语句块,再执行表达式3进行增值或减值然后继续判断表达式2是否成立,直到表达式2不成立退出循环
例:
int i;
for(i=0;i<4;i++)
{
printf("%d ",i);
}
printf("-------%d\n",i)
变形1
int i=0;
for(;i<4;i++)
{
printf("%d ",i);
}
变形2
int i=0;
for(;i<4;)
{
printf("%d ",i);
i++;
}
变形3
死循环:表达式2永远成立 for(;;)
int i=1;
for(;;)
{
printf("%d ",i);
i++;
}
嵌套:
for(表达式1;表达式2;表达式3)
{
for(表达式1;表达式2;表达式3)
{}
}
外层循环执行一次,内层循环执行一轮
例:
int i,j;
for(i=1;i<10;i++)
{
for(j=1;j<=i;j++)
{
printf("%d*%d=%2d ",i,j,i*j); //%2d 位宽
}
printf("\n");
}
while
while(表达式)
{
}
例:
int i=1;
while(i<4)
{
printf("qqqq\n");
i++;
}
执行顺序:首先定义循环变量并赋值,然后判断是否符合终止条件,如果符合就进入循环执行语句块及增值减值语句,然后继续判断,直到不成立退出循环
死循环:while(1)
do...while()
int a=8;
do
{
printf("qqqqq\n");
a++;
} while (a<5);
while:先判断再执行
do...while:先执行一次程序,再判断
循环控制语句
break continue
continue:结束本次循环,继续下一次(不用于while)
break:终止循环
return 0:结束程序
int i;
for(i=1;i<10;i++)
{
if(i%2==0)
{
//continue;
// break;
return 0;
}
printf("%d ",i);
}
printf("hello\n");
return 0;