在C语言中,所有的程序设计都围绕着顺序、选择、循环这三种结构。本文将主要讲解选择结构和循环结构的语法及用法实例。
Table of Contents
C语言提供3种流程结构,不同的流程结构可以实现不同的运行流程。这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;
....
}
法则:
- 如果条件成立,就会执行循环体中的语句(“循环体”就是while后面大括号{}中的内容)。然后再次判断条件,重复上述过程,直到条件不成立就结束while循环.
- while循环的特点:如果while中的条件一开始就不成立,那么循环体中的语句永远不会被执行.
- 可以省略大括号{},但是只会影响到while后面的第一条语句。不建议省略大括号。
do……while循环
do {
语句1;
语句2;
...
} while (条件);
法则:
- 先会执行一遍循环体中的语句(“循环体”就是do后面大括号{}中的内容)。接着判断while中的条件,如果条件成立,就执行循环体中的语句。
- 然后再次判断条件,重复上述过程,直到条件不成立就结束while循环
- do-while循环的特点:不管while中的条件是否成立,循环体中的语句至少会被执行一遍
for循环
for (语句1; 条件; 语句2)
{
语句3;
语句4;
...
}
法则:
- for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1
- 接着判断条件,如果条件成立,就会执行循环体中的语句(“循环体”就是for后面大括号{}中的内容)
- 循环体执行完毕后,接下来会执行语句2,然后再次判断条件,重复上述过程,直到条件不成立就结束for循环
辨析break、continue:
- break,一旦出现该语句,立即停止对于break最近的一层循环(即while、for);
- continue,只能使用在循环结构中,它的作用是跳过这一次循环,直接进入下一次循环。