C语言分支以及循环

分支

一.if语句

if可实现分支结构,if的英文意思为如果

if 语句的语法形式如下:

  if ( 表达式 )
        语句

如果表达式内的结果为 ,则语句 执行,若表达式内的结果为 ,则语句为
若if为假需要输出语句的话,则需要 else语句,else表示否则,即if的不成立则else成立。
语法格式如下:
 
if ( 表达式 )
语句
else
语句

上述语句默认情况下只控制一条语句,若要控制多条语句,则需要用 {}将需要控制的语句包含其中。
if ( 表达式 )
语句
else
{
语句
语句
语句
}

若结果不止两种,仅仅使用if else 语句不足以满足需求,则可以将else和if连用,构成多重判断。语法和上述相同,可以理解为否则若(表达式);从而可以通过写多个if else 构成多重判断。但最后一重判断要写else。但,if分支结构中需要注意的一点是, else按照就近原则去寻找最近的if与之匹配。

二.switch语句

switch语句也可以用来实现分支结构。
其语法格式为

switch (表达式1)
{
case 值1: statement
                break;
case 值2: statement
                break;
default: statement
            break;
}

在上述的代码中,运行结果将会根据表达式的结果执行相应的case语句,若找不到相对应的case语句则会执行default语句。

但语句中的 break 至关重要,这要谈谈switc语句的运行逻辑。switch语句实际上也是有分支效果的,若某一一个case语句的结果为真而且并没有在后面加上break语句,则代码会继续进行下面的语句,无论真假,直到运行完毕或者遇到break语句。但break语句也可以活用,比如以下一段代码。
#include <stdio.h>
int main()
{
int day=0;
scanf("%d",&day);
switch(day)
{case 1:
 case 2:
 case 3:
 case 4:
 case 5:printf("工作日");
        break;
 case 6:
 case 7:printf("休息日");
        break;
}
return 0;
}

上述代码灵活的使用了break,但若输出8则会使程序崩溃,这时就需要default语句大展神威。

我们可以在case 7下面加一条default语句,使本段代码逻辑完整。

 下面介绍循环语句

循环

一.while循环

其语法格式为

while ( 表达式 )
{
语句

}

其运行逻辑为,若表达式内的结果为,则语句执行,执行完再次判断表达式内结果;若表达式内的结果为(0);则跳出循环。

我们可以使用while循环打印1-100

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

二 for循环

for循环是使用最多的循环,其语法格式为

1 for ( 表达式 1 ; 表达式 2 ; 表达式 3 )
{
语句;
}
其中
表达式1用于定义循环使用的变量的初始化
表达式2用于判断变量是否还能够进入循环
表达式3用于调整循环使用的变量
for循环的使用逻辑为: 首先执行表达式1的内容, 然后进入表达式2进行判断能否进入语句, 能够进行语句, 执行循环体内的语句, 之后进入表达式3调整变量; 不满足表达式2的条件, 无法进入循环, 从而跳出循环。
下面我们使用for循环来打印1-100
#include<stdio.h>
int main()
{
    int i = 0;
    for (i; i <= 100; i++)
        printf("%d", i);
    return 0;
}

上述语句即可打印1-100。

但是需要注意的一点是,当for循环判断结果为0时,我们变量的取值,比如上图,我们的i最终的值为101,而不是100.

三 do-while循环

do-while循环使用场景最少,但是往往能够起到关键性的出其不意的效果。

它的语法如下

do
语句;
while ( 表达式 )
do-while循环与别的循环不同的一点是,别的循环都是先进行判断然后进入循环体,而do-while循环的逻辑是先执行循环体内的语句,然后再进行判断。 若判断为真,则再次进入循环体;若判断为假,则跳出循环。也就是说,循环体内的语句内的循环体至少会执行一次。而且会比判断部分多执行一次。
下面我们使用此循环语句打印1-100
​
#include <stdio.h>
int main()
{
int i=1;
do
{
printf("%d "i);
i++;
}
while(i<=100);
return 0;
}

​

值得注意的是,虽然我们打印的是1-100,但是若要打印i的值的话,则会打印出101。

下面简单介绍一下break和continue语句

break语句的用处是终止循环。

continue语句的用处是跳出本次循环后面的代码,直接进入下次循环。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值