//前言
1,默认运行流程:按书写顺序执行代码。
2,其它运行流程:注册界面 条件执行。
3,流程控结构:3种,
顺序结构:按书写顺序执行每一段代码。
选择结构:对给定的条件进行判断,根据判断结果选择执行。
循环结构:在给定条件成立下,反复执行某一段代码。
//一,顺序结构
//二选择结构
C语言的选择结构有两种:if语句 和 switch语句。
1,if语句
1,形式
if(条件)
{
语句1;
语句2;
。。。
}
条件成立时执行{ }中的语句,不成立不执行
2,if后面只有一行代码时可以省略{ } //不建议
if{条件}
语句1;
3,语句嵌套
int a = 7;
if (a>0)
{
printf("a的值大于0\n");
if(a<9)
{
printf("a的值小于9");
}
}
4,使用注意
if(条件)//后面没有分号
判断条件位0是:最好写成0==a
if(a==0)
2,形式二:if与else连用
1,if(条件)
{
语句1; //条件成立执行
}
else
{
语句2; //条件不成立执行
}
2,eg: int a = 10;
if(a==0)
{
printf("a等于0");
}
else
{
printf("a不等于0");
}
3,if-else 复杂形式
if(条件1)
{
语句1; //条件一成立时执行
}
else if(条件2)
{
语句2; //条件二成立时执行
}
else if(条件3)
{
语句3 //条件三成立时执行
}
...
else
{
其它语句;// 所有条件都不成立时执行
}
以上的代码中,只有1个{}中的代码会被执行
eg: int a = 10;
if(a==0)
{
printf("a等于0");
}
else if(a>0)
{
printf("a>0");
}
else
{
a<0;
}
//三,选择结构2-switch
1,形式:
switch(整型表达式)
{
case 数值1;//整型表达式的值等于数值1时执行
语句1;// 以下以此类推
break;
case 数值2;
语句2;
break;
…
case 数值n;
语句n;
break;
default;
语句n+1;//如果数值1~数值n中没有一个值等于整型表达式的值时执行
break; //推出整个switch
}
2 举例:
int a = 10;
switch (a)
{
case 0:
printf("这是一个0");
break;
case 5:
printf("这是一个5");
break;
case 10:
printf("这是一个10");
break;
default :
printf("什么也不是");
break;
}
执行后a的结果为10
3,break
1,作用:退出整个switch语句,如果没有,代码会执行到有时才推出switch
2,判断分数的优良中差时,每个case后面没必要添加break
int score = 77;
switch(score/10)
{
case 10:
case 9:
printf("优秀");
break;
case 8:
printf("良好");
break;
case 7:
case 6:
printf("中等");
break;
default:
printf("差劲");
break;
}
4,在case中定义变量
1,在case中定义一些变量,必须用{} 括住case中的所有语句。
int a = 10;
int b = 4;
char op = '-';
switch(op)
{
case '+':
{
int sum = a+b;
printf(a+b=%d\n,sum);
break;
}
case '-':
{
int minus = a-b;
printf("a-b=%d\n,minus");
break;
}
default:
printf("不能识别的字符");
break;
}
//四,循环结构1-while
1,作用;重复执行某个操作时,首先考虑循环结构。
1,形式:
while(条件)
{
语句1;
语句2;
。。。。。
}
条件成立执行{}循环体中的语句,然后再次判断。
直到条件不成立 时结束while循环。
while循环特点:如果while中的条件一开始就不成立,
那么循环体中的语句永远不会执行。
不建议省略{}。
2,举例;屏幕上重复输出10次hello word
int count = 0;
while(count < 10)//没 有 分号,有会造成死循环
{
printf("hello world");
count++;//省略会形成死循环
}
//五,循环结构2-do while循环
1,形式:
do
{
语句1;
语句2;
…
} while(条件);//不要忘记分号;
首先执行一遍循环体中的语句,
判断while中的条件
条件成立则执行循环体中的语句
然后再次判断
重复执行
特点:不论while中的条件是否成立,循环体中语句至少会被执行一遍
//六,循环结构3-for循环
1,形式:
for (语句1;条件;语句2)
{
语句3;
语句4;
…
}
for循环开始时先执行语句1,且整个循环过程中只执行一次语句1.
接着判断条件,条件成立,执行循环体{}中的语句。
循环体执行完毕后,接下来执行语句2,,然后再次判断条件,重复上述过程。
直到条件不成立就结束for循环
2,举例
for (int = 0;i<5;i++)
{
printf{"%d",i};
}
变量的作用域为当前的for{}
3,补充
初始化语句和循环一次后执行的语句由多条语句组成时,用逗号,隔开
for(int x = 0,y = 0;x<3;x++,y+=2)
{
printf("x = %d,y = %d \n",x,y);
}
//七,break 和 continue
1,break
跳出switch语句/在循环结构中跳出整个循环
1,举例
for(int i = 0;i<5;i++)
{
printf(“i=%d \n”,i);
if(i>2)
{
break;
}
}
i>2时跳出for循环
2,for循环嵌套
for(int x = 0;x<2;x++)
{
for(int y = 0;y<2;y++)
{
printf("x = %d,y=%d \n",x,y);
}
}
break 只会影响它所在的那个for循环
2,continue
continue只能使用在for循环结构中,
他的作用是跳过这一次循环,直接进入下一次循环
for (int x =0;x<10;x++)
{
if(x%2==0)
{
continue;
}
printf("x=%d \n",x);
}
continue只会影响它所在的那个for循环