您的位置:首页 > 编程语言 > C语言/C++

三、流程控制

2015-07-19 12:02 190 查看
C语言中流程控制分为三种:顺序结构,选择结构,循环结构。

顺序结构:顺序结构,就是按照写程序的顺序依次执行下去,这是最简单的一种流程

选择结构:(if,if else,switch)选择结构就是通过判断是否满足条件,或者是否需要执行该步骤来选择要执行的代码。

循环结构:(while,do while,for)该结构就是在满足一定的条件下,就会循环执行某段代码。

一、顺序结构:

顺序结构就是一种很简单的结构,没有什么可以说的,就是按照程序的书写顺序执行程序。

二、选择结构(if,if else,switch):

if:

if (a == 7) {
printf("a等于7");
}

这段代码就执行了一个判断并选择执行代码的步骤:

if ( a == 7) 这里就表示如果 a的值等于7那么久执行下面大括号中的内容,在控制台输出”a等于7”。如果a的值不等于7那么就不会执行下面大括号中的代码。

<span style="font-size:12px;">if (a == 7) {
printf("a等于7");
}
if (a < = 7) {
printf("a等于7");
}</span><span style="font-size:14px;">
</span>

这段代码与上面一段代码都是判断选择语句,但是是有区别的。这里会执行两个判断,这两个判断会同时执行判断,只要满足其中一个条件都会输出“a等于7”。

if else:

if (a == 7) {
printf("a等于7");
}
else  if (a < 7) {
printf("a小于7");
}


注意到这里和上一段程序有什么不一样吗(不管输出语句的内容)?多了一个else。这里多了一个else就有很大的不一样,在这里如果第一个if判断后满足条件就不会继续执行判断了。而上面代码中是不管是否满足第一个条件,后面的判断都会继续执行。
switch:

switch ((int)a / 10) {
case 10:
case 9:
printf("你成绩的等级为A\n");
break;
case 8:
printf("你成绩的等级为B\n");
break;
case 7:
case 6:
printf("你成绩的等级为C\n");
break;
default:
printf("你成绩的等级为D\n");
break;
}

switch语句,switch()后面的括号内应该是整型表达式,当括号内的表达式的值等于下面case的值时就会执行相应case后面的语句。如:括号内的整型表达式的值等于8时就输出“你的成绩等级为B”,依次类推。同时也可以多个case执行同一个语句,如case10和case9。观察可以发现每个case后语句后面都会跟上一个break,这里的break作用是当满足一个条件后就会跳出整个选择语句,如果没有break则会继续执行后面case的语句,知道遇到break。

如:

switch ((int)a / 10) {
case 10:
case 9:
printf("你成绩的等级为A\n");
break;
case 8:
printf("你成绩的等级为B\n");
//    break;
case 7:
case 6:
printf("你成绩的等级为C\n");
break;
default:
printf("你成绩的等级为D\n");
break;
}

上面注释掉了case8中的break,这个程序就会同时输出“你的成绩等级为B”和“你的成绩等级为C”。

三、循环结构:

while:

int count = 0;
while ( count < 10 )
{
printf("Hello World\n");

count++;
}

这段代码是在屏幕上输出10次Hello World。

while()的括号内跟上条件,如果条件满足则会执行后面大括号中的内容,直到条件不满足后才会跳出这个循环语句。

do while:

do {
语句1;
语句2;
….
} while (条件);

这里do while其实和while差不多,这里是先执行do后面大括号中的语句,再去判断是否满足条件,如果满足则会再次循环do后面大括号的语句,知道不满足条件。(注意:这里是不管满不满足条件都会先执行一遍do后面大括号的语句,再判断是否满足条件,是否再次循环执行)。

for:

for (语句1; 条件; 语句2) {
语句3;
语句4;
}

int a;
for (a = 0; a <10; a++) {
printf("Hello World\n");
}

for语句在执行时会最先执行for后面的第一个语句 a = 0 ,然后则会判断条件是否符合(执行 a<10 ),如果满足条件就会执行后面大括号中的内容,然后再执行 a++ 这个语句,再判断条件,如此循环,知道条件不满足则会跳出这个循环。

注意:如果for后面括号中的 语句1 和 语句2 是多个表达式可以用“ , ”隔开。

如:

for (int x = 0, y =0; x<3; x++, y+=2)
{
printf("x=%d, y=%d \n", x, y);
}

这里会输出:

x=0, y=0
x=1, y=2
x=2, y=4

continue:

continue其实也和上面讲到的break的用法差不多,continue是用来跳出循环的,这里就不多作解释,直接上代码作为示例来解释吧:

for (int x = 0; x<10; x++) {
if (x%2==0) {
continue;
}

printf("x=%d \n", x);
}

continue只能在循环中使用,它的作用是跳出本次循环,进入到下一次的循环中,注意 if 中的语句,当x%2==0,也就是当x是2的倍数时,就跳过这次循环,不执行 printf(“x = %d \n”,x) 语句,直接进入下一次循环。

输出结果:

x = 1
x = 3
x = 5
x = 7
x = 9
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios c语言