C语言中分支和循环

一.分支

(一).if语句

1.语法结构如下

if(表达式)
{
    语句;
}

 如果表达式为真,则语句执行,表达式为假,则语句不执行

注意:在C语言中,0表示假,非0表示真(1、2、100均可)

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

分析:使用分支语句,因为整数分为奇数和偶数,而题目要求我们在整数中找出其中的奇数

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


2.else

如果判断一个事件不是第一种情况,就是第二种情况,例如一个数不是正数就是负数。

这种情况下就需要使用

if(表达式)
{
    语句1;
}
else
{
    语句二;
}

eg:输入一个整数,判断为奇数还是偶数并打印

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

注意:如果存在if嵌套的情况在遵循就近原则(即else与和他最近的if匹配)

(二).Switch语句

Switch语句是一种特殊形式的if...else结构,用于判断有多个结果的情况。它比多重if嵌套更加易用,可读性更好。

语法结构如下

switch (expression) 
{
    case value1: statement;
    case value2: statement;
    default: statement;
}

上述代码在运行过程中,根据表达式expression不同的值,执行相应的case分支,如果找不到就执行的default分支。

default分支:当case与表达式无法匹配到时候,这时候要不就。不做处理,要不就需要加上default分支。其中,case语句和default语句顺序不做要求,通常default语句放在最后处理。

注意:1.expression必须是整形表达式

            2.case后面的值,必须是整形常量表达式

            3.书写时注意,case和后面的数字之间必须有空格

             4.每一个case语句中的代码执行完成后,需加上break(如果不加语句会按照顺序结构继续执行),才会跳出Switch。

二.循环

(一).while循环

语法结构如下:

while(表达式)
{
    语句;
}

如何实现:首先判断表达式,如果为真,执行语句后,继续判断表达式,如果为假则退出循环。

eg:在屏幕上打印1~10的值?

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

分析:退出循环的条件是:i<=10,即当i大于10时退出循环。i可以从1运行到10

          循环语句是:printf("%d ", i);实现打印操作

          调整循环:通过i = i+1,i的自增运算,每执行一次循环i加1

(二).for循环

语法结构如下:

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

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

表达式2:于循环结束条件的判断

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

执行流程:

1.从表达式一进入(循环变量赋值)----2.判断表达式二------真进入循环

                                                                                      -------循环退出假 

3.执行循环语句-----4.进入表达式三(循环变量的调整)----5.回到表达式二继续判断直到退出循环

(三).do...while

语法结构如下:

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

do..while循环中先执一次“循环语句”,执行完语句,在去执行“判断表达式”,判断表达式的
结果是!=0,则继续循环,执行循环语句;判断表达式的结果==0,则循环结束。

所以dowhile语句最少执行一次。

(四).goto语句

C语言提供了一种非常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数
内跳转到设置好的标号处。虽然goto语句很灵活,但是在使用时可能会打乱程序的顺序结构,所以慎用。如果你想要快速的跳出多重循环,可以尝试goto语句,效率会比break高很多。

#include <stdio.h>
int main()
{
printf("hehe\n");
goto next:
printf("haha\n");
next:
printf("跳过了haha的打印\n");
return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值