【C功能体】三种流程控制结构

在C语言中,所有的程序设计都围绕着顺序、选择、循环这三种结构。本文将主要讲解选择结构和循环结构的语法及用法实例。


Table of Contents

选择结构

循环结构


C语言提供3种流程结构,不同的流程结构可以实现不同的运行流程。这3种流程结构分别是:

  1. 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
  2. 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
  3. 循环结构:在给定条件成立的情况下,反复执行某一段代码。


选择结构

IF……ELSE……

最简单的选择结构:
if ( 条件 )
{
    语句1;
    语句2;
    ....
}

选择结构的嵌套:
if ( 条件1 )
{
    语句体;
    
    if ( 条件2 )
    {
        语句体;
    }
}

如果……否则……:
 if ( 条件 )
{
    语句1;
}
else
{
    语句2;
}

多选择、多分支:
if ( 条件1 )
{
    语句1;
}
else if ( 条件2 )
{
    语句2;
}
else if ( 条件3 )
{
    语句3;
}
...
else
{
    其他语句;
}

switch……case……

语法格式:
switch(整型表达式)
{
    case 数值1:
        语句1;
        break;
    case 数值2:
        语句2;
        break;
    ... ...
    case 数值n:
        语句n;
        break;
    default :
        语句n+1;
        break;
}

break关键字的作用是退出整个switch语句。默认的格式中,每个case后面都有个break,因此执行完case中的语句后,就会退出switch语句。

如果某个case后面没有break,意味着执行完这个case中的语句后,会按顺序执行后面所有case和default中的语句,直到遇到break为止。

 

实例:快速理解switch语法结构

//功能:识别a变量的值
int a = 10;

switch (a) 
{
	case 0:
		printf("这是一个0");
		break;
	case 5:
		printf("这是一个5");
		break;
	case 10:
		printf("这是一个10");
		break;
	default:
		printf("什么也不是");
		break;
}


/*-------------------------分割线-------------------------*/
//功能:定性score的值
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;
}


/*-------------------------分割线-------------------------*/
//功能:识别符号
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;
}

循环结构

while循环

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

法则:

  1. 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环.
  2. while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行.
  3. 可以省略大括号{},但是只会影响到while后面的第一条语句。不建议省略大括号。

do……while循环

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

法则:

  1. 先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。
  2. 然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
  3. do-while循环的特点:不管while中的条件是否成立,循环体中的语句至少会被执行一遍

for循环

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

法则:

  1. for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1
  2. 接着判断条件,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容)
  3. 循环体执行完毕后,接下来会执行语句2,然后再次判断条件,重复上述过程,直到条件不成立就结束for循环

辨析break、continue:

  • break,一旦出现该语句,立即停止对于break最近的一层循环(即while、for);
  • continue,只能使用在循环结构中,它的作用是跳过这一次循环,直接进入下一次循环。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章