【C语言基础】条件语句与循环语句

1 条件语句

2.1 if语句

一般形式:

if (表达式 1)
    语句块 1;
else if (表达式 2)
    语句块 2;
else if (表达式 3)
    语句块 3;
...
else if (表达式 m)
    语句块 m;
else
    语句块 n;

当if表达式的值为真时,执行if语句块,否则执行else语句块。

语句块中也可嵌套一个或多个if语句。

2.2 switch语句

一般形式:

switch (表达式)
{
    case 常量表达式 1:
        语句块 1;
    case 常量表达式 2:
        语句块 2;
    ...
    case 常量表达式 n:
        语句块 n;
    default:
        默认语句块;
}

先计算表达式的值 ,然后逐个与每个case后的常量表达式的值相比较,当相等时,则停止判断,该case的语句块及其后的所有case的语句块都会执行。如果表达式的值与所有case的常量表达式都不相同,则执行default后的默认语句块。

当在某个case分支的语句块后加了break,则该case的语句块执行完成后就跳出switch结构,终止switch语句的执行。

例如:

#include <stdio.h>
main()
{
	char grade = 'B';
	switch (grade)
	{
	case 'A': printf("perfect!\n");
	case 'B': printf("great\n");	//this line will be printed
	case 'C': printf("yes\n");		//this line will be printed
		break;
	case 'D': printf("pass\n");
    case 'E':
	default: printf("invalid\n");
	}
	printf("Your result is: %c\n", grade);	//Your result is: B
}

运行结果:

2 循环语句

2.1 while语句

一般形式:

while (表达式)
{
    循环体语句
}

当表达式的值为非0时,执行while的循环体语句,然后再判断表达式的值,再执行循环体语句,循环往复,当表达式的值为0时,则跳出while语句,终止while循环。

2.2 do while语句

一般形式:

do
{
    循环体语句
}
while (表达式);

先执行do的循环体语句,再判断while表达式的值,当为非0(真)时,重新执行do的循环体语句,再判断while表达式的值,如此循环往复,直到while表达式的值为0时,循环终止。

while与do while的区别:

while的循环体语句不是一定会被执行,而do while中的循环体语句一定至少执行一次。

2.3 for语句

一般形式:

for (表达式 1; 表达式 2; 表达式 3)
{
    循环体语句
}

执行过程:

表达式 1,表达式 2,表达式 3都可以省略。当表达式 2省略时,即为不判断循环条件,循环会无终止地进行下去,需要在循环体语句中使用break语句来跳出循环,以避免死循环。

关于循环:

1. for()当中必须是两个分号
2. 循环一定要有结束条件
3. do-while()的最后一个while();的分号一定不能丢,do-while()是至少执行一次循环

3 goto语句

一般形式:

goto 语句标号;

其中,语句标号是按标识符规定书写的符号,放在某一语句行的前面,标号后加冒号(:)。

用途:

  • 与if语句一起构成循环体结构
  • 从循环体中跳转到循环体外。

例如:

#include <stdio.h>
main()
{
	for (int i = 1; i < 10; i++)
	{
		if (i > 6)
			goto Show;
		printf("i = %d\n", i);
	}
Show:
	printf("This is the show message.");
}

运行结果:

4 break语句和continue语句

break与continue
语句用途
break用在switch语句和循环语句中。终止当前语句,转去执行语句后面的程序。
continue用在循环语句中。终止当前循环,进入下一个循环。

  • 11
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值