【C语言】分支与循环语句

·目录

在学习C语言当中语句是非常重要的一个版块,可以这么说C语言就是由一条一条语句组成的,小编今天给大家细致讲解一下控制语句当中:分支语句,循坏语句


一、C语言当中的语句

在本部分,小编只是列举一下C语言当中的语句,不详细进行介绍

1.空语句
2.表达式语句
3.函数调⽤语句
4.复合语句
5.控制语句

二、分支语句

1.什么是分支语句

      分支语句又被叫做条件判断语句,使⽤ if switch进行表达。

2.分支语句的使用

1.如何来用if实现分支语句

1 .   if ( 表达式 )
2.     语句

我们来举一个例子

例一:输入一个整数判断是否为为奇数

#include <stdio.h>
int main()
{
 int num = 0;
 scanf("%d",&num);
 if(num % 2 == 1)
 printf("%d 是奇数\n", num);
 return 0;
}

在使用if语句时一般会与else进行搭配构成一个选择语句,我们接下来来说一下else的用法。

例二:输入一个年龄,如果>=18则为成年了,否则为未成年

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

注意:若当if与else内部有多条语句时,需要用大括号将其括起来,编译器才能够识别。

       如果判断的的不止有两个方面时,用if,else if 和else进行代码的书写。

例三:

输⼊⼀个⼈的年龄

如果年龄<18岁,打印"少年"

如果年龄在18岁⾄44岁打印"⻘年"

如果年龄在45岁⾄59岁打印"中⽼年"

如果年龄在60岁⾄89岁打印"⽼年"

如果 90 岁及以上打印 " ⽼寿星 "
#include <stdio.h>
int main()
{
 int age = 0;
 scanf("%d",&age);
 if(age<18)
 {
   printf("少年\n");
 }
 else
 {
   if(age<=44)
   {
     printf("⻘年\n");
   }
   else
   {
     if(age<=59)
     {
       printf("中⽼年\n");
     }
     else
     {
       if(age<=89)
       printf("⽼年\n");
       else
       printf("⽼寿星\n");
     }
   }
 }
 return 0;
}

注意:其中的else总会与离他最近的if进行匹配,并不是和谁对其,就和谁匹配。

2.操作符(这里只是稍加罗列,不作为重点)

1.关系操作符
> ⼤于运算符
< ⼩于运算符
>= ⼤于等于运算符
<= ⼩于等于运算符
== 相等运算符
!= 不相等运算符
2.条件操作符

形式如下:

 exp1 ? exp2 : exp3

运算的结果是:如果exp1为真,则计算exp2,运算的结果即为整个表达式的结果。

                         如果exp1为假,则计算exp3,运算的结果即为整个表达式的结果。

3.逻辑操作符
  !    :逻辑取反运算符(改变单个表达式的真假)。
&& :与运算符,就是并且的意思(两侧的表达式都为真,则为真,否则为假)。
  ||    :或运算符,就是或者的意思(两侧⾄少有⼀个表达式为真,则为真,否则为假)。
注意:后两个与数学当中的或者和并且的意思一致。
在此着重来说一下逻辑反运算符

若a为非零,则!a为零。若a为假,则!a为真

2.如何来用switch实现分支语句

例四:输入任何一个整数值,计算除3之后的余数

#include <stdio.h>
int main()
{
 int n = 0;
 scanf("%d",&n);
 switch(n%3)
 {
 case 0:
 printf("整除,余数为0\n"); 
 break;
 case 1:
 printf("余数是1\n"); 
 break;
 case 2:
 printf("余数是2\n"); 
 break;
 }
 return 0;
}

注意:使用case和后面的数字必须要有空格

           需要加入break才能跳出switch语句

        switch与default的配合:当在语句中case不能满足所有的条件时,可用default作为最后一种条件的应用。

例五:输⼊1-5,输出的是“⼯作⽇”;

  输⼊6-7,输出“休息⽇”
#include <stdio.h>
int main()
{
 int day = 0;
 scanf("%d",&day);
 
 switch(day)
 {
 case 1:
 case 2:
 case 3:
 case 4:
 case 5:
 printf("⼯作⽇\n");
 break;
 case 6:
 case 7:
 printf("休息⽇\n");
 break;
 default:
 printf("输⼊错误\n");
 break;
}

上面的例子是一个很好的解释。

需要注意的是其中的break和case之间的顺序并没有明确的要求。

分支语句到此结束


三、循环语句

C语⾔提供了3种循环语句,while,for,do···while三种方式

1.while的具体实现

具体的用法与if十分相近

while(表达式)

     语句;(如果想要多条语句,记得加上大括号)

例六:在屏幕打印1~10的值

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

直接使用while进行打印

2.for循环的实现

for循坏是在三种方式当中使用的最多的一种

for(表达式一;表达式二;表达式三)

语句;

1.表达式一:用于循环变量的初始化

2.表达式二:用于循环条件的判断

3.表达式三:用于循环变量的调整

延续上面的例六

#include <stdio.h>

int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
printf("%d ", i);
} 
return 0;
}

关于for与while的不同变体现了出来;for对循环体更加紧凑,while比较分散可能不利于后面写较长的代码。

3.do···while的循环用法

do
语句;
while ( 表达式 )
do···while是刚开始一定会进入do后面的语句当中
而for与while是只有当满足条件时才会进入循环当中
延续上面的例六
#include <stdio.h>
int main()
{
 int i = 1;
 do
 {
 printf("%d ", i);
 i = i + 1;
 }while(i<=10);
 
 return 0;
}

这就是三种循环语句需要在特定的场景下具体应用。


四、终止符号

C语言当中给提供了两个终止符号

break和continue

  break   : 就是永久的终⽌循环,只要 break 被执⾏, break 外的第⼀层循环就终⽌了
continue: 在循环中的作⽤就是跳过本次循环中 continue 后边的代码,继续进⾏
下⼀次循环的判断。
具体的情况在不同的语句当中的作用是不尽相同的
while当中的break
#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 break;//当i等于5后,就执⾏break,循环就终⽌了
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

结果是

在break的后面就不在打印,直接终止循环所以输出值为1 2 3 4

while当中的continue

#include <stdio.h>
int main()
{
 int i = 1;
 while(i<=10)
 {
 if(i == 5)
 continue;
 //当i等于5后,就执⾏continue,直接跳过continue的代码,去循环的判断的地⽅
 //因为这⾥跳过了i = i+1,所以i⼀直为5,程序陷⼊和死循环
 printf("%d ", i);
 i = i+1;
 }
 return 0;
}

所以该程序是一个死循环的程序

for当中的break

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

打印的结果是

与上面的while当中的break的用法相同

for当中的continue

#include <stdio.h>
int main()
{
 int i = 1;
 for(i=1; i<=10; i++)
 {
 if(i == 5)
 continue;//这⾥continue跳过了后边的打印,来到了i++的调整部分
 printf("%d ", i);
 }
 return 0;
}

结果是

只是跳过了那一步:所以从中便可以发现与循环变量的调整在哪有关。

而do···while与while的用法基本相同,大家可以下去进行验证。


五、总结

在本章节当中,主要介绍了分支与循环语句的使用,希望对大家能有所帮助,如果有什么问题可以指出来从而进行调整。

一起加油吧!!

  • 53
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羽羽27

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值