c语言中的分支语句

本文详细介绍了C语言中的if、else、ifelseif语句的语法结构,以及关系和逻辑操作符的使用,包括短路问题。还讲解了条件运算符和switch语句的特性和应用场景。
摘要由CSDN通过智能技术生成

目录

一. if语句

1.if  else语句

2. if else if 语句

3.if语句的嵌套

4.关系操作符、逻辑操作符

关系操作符

逻辑操作符

短路问题

5.条件运算符

二.switch语句


一. if语句

1.if  else语句

   语法形式:

                   if( 表达式)

                           语句;

                    else

                           语句;

  •     if语句是条件语句,其中表达式为逻辑表达式或关系表达式。
  •     表达式为真时,后面的那个语句执行;为假,则不执行
  •   (在c语言中,0为假,非0为真)
  •     如果只有一种情况的条件下,else语句可以省略
  •     当语句为复合语句时,需要加 { }
  •     适用条件:可以用在有一种或两种并列情况的条件下,
  •     多种并列条件可以用后面的if else if语句

#include<stdio.h>
int main() 
{   
    if(num>0)


        printf("是正数\n");

    
    else


        printf("⾮正数\n");

    return 0;
}

2. if else if 语句

           else if 语句的基本形式

           if(表达式1 )         语句1;

           else if(表达式2 )     语句2;

           else if(表达式3 )     语句3;

           ..............

           else if( 表达式n)     语句n;

          else      语句n+1;

  •  if else if 语句 可以用于有多种并列情况的条件。
  •  执行过程:从上往下判断表达式的值,
  •         如果else前面有一个表达式的条件满足条件时,就执行相应的语句;
  •         如果else前面没有一个满足条件的就执行else语句后面的语句

3.if语句的嵌套

在 if else 语句中, if或else 可以与另⼀个 if 语句连⽤,构成多重判断。

    基本形式

                if( 表达式)

                       {

                         if( 表达式)

                                语句;

                         else

                                语句;

                       }

                else

                      {

                         if( 表达式)

                                 语句;

                         else

                                语句;

                      }

  • 1.1在使用if语句的嵌套的时候,最好加上{ },
  •       这样能看起来会更加条理清晰,可读性高。
  •        如果不加,那么嵌套的一多,看起来就乱
  • 1.2 其中else语句总是与最近的还没配对的if配对 

判断奇偶数

代码示范:

#include<stdio.h>
int main() 
{   
    if(num>0)

    {

        if(num%2 == 0)

            printf("偶数\n");

        else

            printf("奇数\n");

    }
    
    else

    {

        printf("⾮正数\n");

    }

    return 0;
}

下面讲的关系、逻辑操作符通常是用在if、while等后面括号里,用作判断条件。

4.关系操作符、逻辑操作符

关系操作符

        大致有> , = , < , !=(不等于),>= , <= , ==(判断是否等于)

  •       == 的两个操作数必须有一个常量和一个变量
  •      4.1    多个关系操作符不宜连用
  •             例如:2<a<3 在c语言是不能这样用
  •                       要写成2<a &&  a<3
  •     4.2     关系表达式通常返回 0 或 1(即真或假)

逻辑操作符

逻辑操作符
运算符名称解释
&&逻辑与双目运算符,&&为并且的意思(&&两侧表达式都为真,才为真)
||逻辑或双目运算符,||为或者的意思(两侧表达式只要有其中一个为真,就为真)
逻辑非单目运算符,!为取反的意思(改变表达式的真假)

短路问题

短路:

  • 在c语言中,一条语句通常是从左往右依次执行。一条语句在执行的过程中,一旦发现有一个满足条件的表达式,那么该表达式之后的表达式就不会在执行了,这个现象叫短路。
  • (一条语句通常是以分号结尾,但无开始的标志。)
  •      例如      int a;
  • 但for语句除外,for语句内的三个表达式需用分号分开。

  例如              

for(i=0;i<10;i++)

    printf("i");//此为一个语句
  • A.  对于&&来说,一条语句执行到表达式为假时,该表式之后的表达式都将不执行。
  • B.  对于||来说,一条语句执行到表达式为真时,该表式之后的表达式都将不执行。

5.条件运算符

               条件运算符也叫三目运算符,是if语句的另一种表示形式。

               基本形式

               表达式1 ? 表达式2 : 表达式3

         执行过程:表达式1成立,则执行表达式2,反之执行表达式3。

          注意事项:表达式1必须是关系表达式

          优先级:算术运算符 > 关系运算符 > 逻辑运算符 > 条件运算符 > 赋值运算符 > 逗号运算符

          条件运算符的结合方向是从右向左

二.switch语句

       switch语句的基本形式

   switch (常量表达式)

{

          case 常量表达式: statement

          case 常量表达式: statement

          default: statement

}

  • 其中常量表达式的值可以是整型、字符型、枚举型
  • (字符型在使用的时候,会将字符转换为相应ascll码值)
  • 执行过程:switch后面那个常量表达式的值,如果能在对应的case 后面找到值相同的表达式,就执行后面的语句;否则,就执行default后面的语句。
  • break语句在switch语句的作用:statement的结尾需要包含break语句,有了break语句才能在找到相应的值时,跳出switch语句。否则,在找到相应的值时,他会继续执行下一个case。
  • switch语句的省略:如果出下几个case语句后面的statement都相同时,可以只留下一个statement。例如:星期一到五为工作日,星期六和星期天为休息日

   代码示范

#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;
	}
	return 0;
}

  • 20
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值