C语言:分支语句和循环语句(超详解)

目录

​编辑

什么是语句?

 分支语句(选择结构)

if语句:

应该注意的是:

switch语句:

运用练习:

循环语句

while循环:

for循环:

break和continue在for循环中:

for循环的变换使用:

do...while()循环

do while循环中的break和continue:

goto语句

以上就是个人学习见解和学习的解析,欢迎各位大佬在评论区探讨!

感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!


什么是语句?

C语句可分为以下五类:
1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句
本章介绍的是控制语句。
        控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C 语言有九种控制语句
可分成以下三类:
1. 条件判断语句也叫分支语句: if 语句、 switch 语句;
2. 循环执行语句: do while 语句、 while 语句、 for 语句;
3. 转向语句: break 语句、 goto 语句、 continue 语句、 return 语句。

 分支语句(选择结构)

         这就是选择!

if语句:

//语法结构:
if ( 表达式 )
    语句 ;
if ( 表达式 )
    语句 1 ;
else
    语句 2 ;
// 多分支    
if ( 表达式 1 )
    语句 1 ;
else if ( 表达式 2 )
    语句 2 ;
else
    语句 3 ;
#include <stdio.h>
//代码1
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
}

//代码2
#include <stdio.h>
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("未成年\n");
   }
    else
   {
        printf("成年\n");
   }
}

//代码3
#include <stdio.h>
int main()
{
 int age = 0;
    scanf("%d", &age);
    if(age<18)
   {
        printf("少年\n");
   }
    else if(age>=18 && age<30)
   {
        printf("青年\n");
   }
    else if(age>=30 && age<50)
   {
         printf("中年\n");
   }
    else if(age>=50 && age<80)
   {
        printf("老年\n");
   }
    else
   {
        printf("老寿星\n");
   }
    
}

应该注意的是:

        else的匹配else是和它离的最近的if匹配的。

switch语句:

switch ( 整型表达式 )
{
    语句项;
}
语句项:
// 是一些 case 语句:
default: switch 表达式的值并不匹配所有 case 标签的值时,这个 default 子句后面的语句就会执行。
// 如下:
case 整形常量表达式 :
    语句 ;
default  整形常量表达式 :
    语句 ;
语句:
break 语句 的实际效果是退出一个循环。
continue语句 的实际效果是回到一个循环的开头处。

运用练习:

#include <stdio.h>
int main()
{
  int n = 1;
  int m = 2;
   switch (n)
   {
    case 1:
            m++;
    case 2:
            n++;
    case 3:
            switch (n)
            {
             //switch允许嵌套使用
             case 1:
                    n++;
             case 2:
                    m++;
                    n++;
                    break;
            }
    case 4:
            m++;
            break;
    default:
            break;
   }
    printf("m = %d, n = %d\n", m, n);
    return 0;
}

循环语句

        由于我们发现生活中很多的例子是:同一件事情我们需要完成很多次。

        所以C语言中给我们引入了: while 语句,可以实现循环

while循环:

//while 语法结构
while ( 表达式 )
循环语句 ;

//continue 和 break 代码实例
#include <stdio.h>
int main()
{
	int i = 1;
	int j = 10;
    //break实现
	while (i <= 10)
	{
		if (i == 5)
		{
			break;
		}
		printf("%d ", i);
		i = i + 1;
	}
    //continue实现
	while (j >= 10)
	{
		j = j + 1;
		if (j == 15)
		{
			continue;
		}
		printf("%d ", j);
	}
	return 0;
}
总结:
break while 循环中的作用:
         其实在循环中只要遇到break,就停止后期的所有的循环,直接终止循环
所以:while中的break是用于永久终止循环的。
continue while 循环中的作用就是:
         continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行
而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

for循环:

for ( 表达式1 ; 表达式2 ; 表达式3 )
        循环语句 ;
表达式 1
表达式 1 初始化部分 ,用于初始化循环变量的。
表达式 2
表达式 2 条件判断部分 ,用于判断循环时候终止。
表达式 3
表达式 3 调整部分 ,用于循环条件的调整。
#include <stdio.h>
int main()
{
 int i = 0;
 //for(i=1/*初始化*/; i<=10/*判断部分*/; i++/*调整部分*/)
 for(i=1; i<=10; i++)
 {
 printf("%d ", i);
 }
 return 0;
}

breakcontinuefor循环中:

        for循环中也可以出现breakcontinue,他们的意义和在while循环中是一样的。

#include <stdio.h>
int main()
{
	int i = 0;
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			break;
		printf("%d ", i);
	}
	for (i = 1; i <= 10; i++)
	{
		if (i == 5)
			continue;
		printf("%d ", i);
	}
	return 0;
}

for循环的变换使用:

#include <stdio.h>
int main()
{
 //代码1
 for(;;)
 {
 printf("hehe\n");
 }
    //for循环中的初始化部分,判断部分,调整部分是可以省略的,但是不建议初学时省略,容易导致问
题。
    
    //代码2
    int i = 0;
    int j = 0;
    //这里打印多少个hehe?
    for(i=0; i<10; i++)
   {
        for(j=0; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
    //代码3
    int i = 0;
    int j = 0;
    //如果省略掉初始化部分,这里打印多少个hehe?
    for(; i<10; i++)
   {
        for(; j<10; j++)
       {
 printf("hehe\n");
       }
   }
    
 //代码4-使用多余一个变量控制循环
 int x, y;
    for (x = 0, y = 0; x<2 && y<5; ++x, y++)
   {
        printf("hehe\n");
   }
 return 0;
}

do...while()循环:

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

特点:循环至少执行一次,使用的场景有限,所以不是经常使用。

do while循环中的breakcontinue:

#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
        if(5 == i)
            break;
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
    
 return 0;
}
#include <stdio.h>
int main()
{
 int i = 1;
    
 do
 {
        if(5 == i)
            continue;
 printf("%d ", i);
        i=i+1;
 }while(i<=10);
    
 return 0;
}

goto语句:

一般用于一次跳出两层或多层循环

        多层循环这种情况使用break 是达不到目的的。它只能从最内层循环退出到上一层的循环

以上就是个人学习见解和学习的解析,欢迎各位大佬在评论区探讨!

感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!

                                              

猜你喜欢

转载自blog.csdn.net/weixin_71964780/article/details/132349084