------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
C语言有三种流程结构
顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
循环结构:在给定条件成立的情况下,反复执行某一段代码。
顺序结构
顺序结构是三种结构中最简单的,也是系统默认的机构:按照书写的顺序执行每一条语句。
选择结构
选择结构有两种语句if语句和switch语句
if语句:
结构:
if的第一种结构:
<span style="font-size:14px;"> if(条件)
{
语句1;
语句2;
......
}</span>
如果条件成立,即条件为真就会执行代码块里面的代码,
如果不成立,即条件为假,那么会直接跳过代码块,执行后面的代码。
例如:
int a = 10;如果条件成立,就执行这条语句
if (a > 5){
printf("成功");
}
2.if的第2种结构
<span style="font-size:14px;"> if(条件1)如果条件成立执行if后面代码块内的语句,如条件不成立,则执行else后面代码块内的语句。
{
语句1;
语句2;
......</span><pre name="code" class="objc"><span style="font-size:14px;">
</span>
例如
<span style="font-size:14px;">int a = 10; </span>
<span style="font-size:14px;">if(a < 2){printf("条件成立"); } else{ printf("条件不成立") } } else { }</span>
3.if的第3种结构
<span style="font-size:14px;"> if(条件1)
{
语句1;
语句2;
......
}
else if(条件2)
{
}
else if(条件3)
{
}
else if(条件4)
{
}
else
{
}</span>
从上到下依次判断条件是否符合,如果找到符合的条件则执行后面代码块内的语句,
如果没有一个条件成立,就执行else后面代码块内的语句。
4.if的第4种结构(如果条件成立,只会运行后面的一句)
<span style="font-size:14px;"> if (条件)
语句1;</span>
以上的第4四种结构,不可以在条件后面的语句中定义变量(作用域不明确)
例如一下写法就是错误的
<span style="font-size:14px;">if(a>10)
int b = 9;</span>
为保证代码的可读性,应该尽量将代码写在代码块内
int a = 9;遇到以上需要使用==时,应该尽量常量值放左边,变量放右边,以免将关系运算,写成赋值运算。
if (a = 0){
printf ("失败");
}
if (0 == a){
printf("成功");
}
switch结构
switch (数据)这里的数值也可以是字符型
{
case 数值1:
语句1;
break;
case 数值2:
语句2;
break;
default :
语句3;
break;
}
在case后面定义变量也需要加上代码块,否则也会是作用域不明确。
switch结构也是从上到下依次运行,
当数据和某个数值相同时,它就会执行这个数值后面的语句,执行完毕后如果遇到break会直接退出整个switch结构
如果没有遇到break它会一直执行下去,直到遇到break才会停止,退出。
若没有数据和数值相对应,那么语句执行到最后会执行default后面的语句
循环结构:
有时候我们想输出一些连续有规律的结果,这时我们就需要使用循环结构来简化代码
while循环结构
while (条件)
{
循环体
}
运行原理
1)如果一开始条件不成立,永远不会执行循环体
2)如果条件成立就会执行一次讯混,执行完毕,再次判断条件是否成立 ,如此循环,直到条件不成立为止。
break
直接结束整个while循环
continue
结束当前的循环体,进入下一次循环体的执行
如果while后面没{}则,后面第一句为循环体
使用技巧:
1.先确定需要重复执行的操作
2.再确定约束条件
do-while循环
do {
循环体
} while(条件);
do-while循环在执行时会先将代码执行一次,再判断条件是否成立,如果成立再次循环,之后判断,如此往复
就算条件一开始就不成立,代码也会运行一次
while和do-while的区别
1.很多情况下,while和do while可以互换
2.while特点:如果一开始的条件不成立,永远不会执行循环体
do while特点:不管一开始的条件是否成立,至少会执行一次循环体
3.最好使用while
for循环结构
for (语句1; 条件; 语句2)
{
循环体
}
1.for一开始就会执行一次语句1(整个for循环只会执行一次)
2.判断条件是否成立,如果条件成立,就会执行一次循环体,然后就会执行语句2,再次判断条件是否成立
语句1:初始化语句:一般都是定义一个在循环内使用的变量
语句2:增量语句(执行完循环体后再执行的语句):一般都是自增1 ,为下次循环提供判断。
如果要在循环体中定义新的变量,必须用大括号{}包住
break和continue对比:
break:
1.使用场合
1> switch语句:退出整个switch语句
2> 循环结构:退出整个循环语句
* while
* do while
* for
2.注意点
for(int i = 0; i < 10; i++)
{
for(int j = 0;j < 9; j++)
{
printf("内循环");
break;
}
print("外循环");
}
由上可知只对离它最近的循环结构有效
for(int i = 0; i < 10; i++)
{
for(int j = 0;j < 9; j++)
{
printf("内循环");
}
print("外循环");
break;
}
由上可知break只对它所在的for循环有效
continue:
1.使用场合
循环结构:结束当前这次的循环体,进入下一次循环体
* while
* do while
* for
2.注意点
只对最近的循环结构有效