分支流程
if
if(测试条件)
{
条件为真语句;
}
else
{
条件为假语句;
}
嵌套if
if(测试条件)
{
条件为真语句;
}
else
{
if(测试条件)
{
条件为真语句;
}
else
{
条件为假语句;
}
}
省略花括号
if(测试条件)
{
条件为真语句;
}
else if(测试条件)
{
printf();
}
else if(测试条件)
{
printf();
}
else
{
printf();
}
条件表达式
测试条件?表达式1:表达式2;
如果测试条件为真输出表达式1,否则输出表达式2.
循环流程
while循环
while循环
while(循环条件)
{
循环行为
}
#include <stdio.h>
int main()
{
int i = 1,sum = 0;
while(i <= 100)
{
sum = i + sum;
i++;’
}
printf("%d %d\n",i,sum);
return 0;
}
C预言中,非0即为真
循环:1、开始时,为计数器设置初始值
2、计数器与一个有限值比较作为循环条件
3、更新计数器
for循环
for(计数器设置初始值;循环条件;计数器更新)
{
循环行为
}
#include <stdio.h>
int main()
{
int i,sum = 0;
while(i = 1;i <= 100; i++)
{
sum = i + sum;
}
printf("%d %d\n",i,sum);
return 0;
}
do while循环
do
{
循环语句
}while(循环条件);
#include <stdio.h>
int main()
{
int x;
do
{
scanf("%d",&x);
}while(x < 0);
printf("%d\n",x);
return 0;
}
循环嵌套
#include <stdio.h>
int main()
{
for(char c = 'A';c <= 'E';c++)
{
for(int i = 0;i <= 9;i++)
{
printf("%c%d",c,i);
}
printf("\n");
}
return 0;
}
break
#include <stdio.h>
int main()
{
int i = 0;
while(1)
{
printf("%d",i);
i++;
if(i == 10)
{
break;
}
}
printf("\ni=%d",i); //0 1 2 3 4 5 6 7 8 9
return 0; //i=10
}
需求:要求用户输入一个密码,如果密码不为12345.那么输出密码错误,如果密码输入正确,则退出程序。
#include <stdio.h>
int main()
{
int password;
while(1)/for(,,)
{
scanf("%d",&password);
if(password == 12345)
{
break;
}
printf("password error\n");
}
printf("welcome backd0\n");
return 0;
}
continue
跳过本次循环,直接开始下一轮循环
#include <stdio.h>
int main()
{
int i = 0;
while(i < 20)
{
if(i == 6)
{
i = 15;
continue;
}
printf("%d",i); //0 1 2 3 4 5 15 16 17 18 19
i++;
}
return 0;
}
1、for使用break和continue
for中使用continue,将立即更新计数器,再进入新循环
for中使用break,将直接跳出循环,不会再更新计数器
使用continue
#include <stdio.h>
int main()
{
for(int i = 0;i < 20;i++)
{
if(i == 6)
{
i = 15;
continue;
}
printf("%d",i); //0 1 2 3 4 5 16 17 18 19
i++;
} //执行continue之后,执行i++
return 0;
}
使用break
#include <stdio.h>
int main()
{
int i = 0;
for(int i;i < 20;i++)
{
if(i == 6)
{
break;
} //6
}
printf("%d",i); //执行break之后,直接跳出循环
return 0;
}
2、break和continue与循环嵌套
循环嵌套使用多个break和continue(break和continue作用于自己直属的上级循环)
#include <stdio.h>
int main()
{
for(;;)
{
for(;;)
{
break;
}
break;
}
return 0;
}