简单介绍一下 if else else if 函数(c基础)

适合对象 c语言初学者  总结语言用个人强调用红色,注意为易错点,若有问题请告诉我谢谢。(建议通过目录观看)

if 函数

if函数是条件函数。

格式 

 if 接() 接   一种语句   

执行方法

先判断()的真假,若为真,就执行。为假就不执行。

if 只管距它最近的一个语句或复合语句。

 即 if(a>b)printf("a>b")

if(a>b)

{        printf("a>b") ;

        a = a +1 ;        }

()内是一个可判断真假的表达式

常见表达式:if(2)(3>2)(a=1) (a==3)【T】

{        特别注意

        (a=1)

       (a==3)

if 语句 ()内容易把 ==  写成  =

但编译器不会报错,会出现bug只需把常量放在前面。即(3==a)        }

记住

(

在C语言中

0为假,其余为真。

) 【1为真,36也为真】

例如

#include<stdio.h>
int main()

{
if(0)    printf("this is true!");
return 0 ;
}

此时输出为无,

如果    if(1),将打印this is true!

但如果 if (36)呢?想一下

将打印this is true!       因为

(

在C语言中

0为假,其余为真。

)                        【请用英文打代码】

一种语句

分为 

        1:单个语句   +    (一定要有
        2:{  复合语句 +      }  

复合语句即为多个单个语句,单个语句间用 隔开。

例如

1: 

 if(a>b)printf("a>b"); 


2: 

 if(a>b)

{

printf("a>b");

a = a +1 ;

}

开始 a = 2 ; b = 3;

最后  不会打印 2>3 ,此时a=2

那如果不加 {} 呢?

if(a>b)

printf("a>b");

a = a +1 ;

开始 a = 2 ; b = 3;

最后  不会打印2>3,此时  a = 3

为什么a的值改变了;

if 只管距它最近的一个语句或复合语句。

加了{}时 

{

printf("a>b");

a = a +1 ;

}             

  构成了复合语句。if会管辖整个复合语句。

a = 2 ;b = 3;a > b为假,则不执行复合语句。即    不会打印 2>3 ,此时a=2

但未加{}时

if(a>b)

printf("a>b");

a = a +1 ;

if 只管距它最近的一个语句或复合语句

if 只管                printf("a>b");        

a = 2 ;b = 3;a > b为假,则不执行printf("a>b")

然后程序继续读写代码        a = a +1 ;                a的值就加1了。

即  最后  不会打印2>3,此时a=3

若有错误,请告知我谢谢!

下面给几个代码判断  结果

if 类例题

复合语句类

1:

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

    int a = 3;
    int b = 2;

    if (a > b)
        printf("a>b");
        a++;

        printf("%d",a);

    return 0;
}

2:

include<stdio.h>
int main()
{

    int a = 3;
    int b = 2;

    if (a > b)
      {  printf("a>b");
        a++;
      }    
        printf("%d",a);

    return 0;
}

结果

1:a > b4

2:  a > b4

3:

include<stdio.h>
int main()
{

    int a = 2;
    int b = 3;

    if (a > b)
        printf("a>b");
        a++;

        printf("%d",a);

    return 0;
}

4:

include<stdio.h>
int main()
{

    int a = 2;
    int b = 3;

    if (a > b)
     {   printf("a>b");
        a++;
     }
        printf("%d",a);

    return 0;
}
结果

3:  3

4:2

真假判断类

1:

include<stdio.h>
int main()
{

    
    if (0)
        printf(" this is true ");
       
    return 0;
}

2:

include<stdio.h>
int main()
{

    
    if (1)
        printf(" this is true ");
       
    return 0;
}

3:

include<stdio.h>
int main()
{

    
    if (36)
        printf(" this is true ");
       
    return 0;
}
结果

1:                                (无结果)

2: this is true 

3: this is true 

易错类

1:

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a=0)
        printf(" a == 0 ");
       
    return 0;
}

2:

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a==0)
        printf(" a == 0 ");
       
    return 0;
}

3:

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a=1)
        printf(" a == 1 ");
       
    return 0;
}

4:

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a==1)
        printf(" a == 1 ");
       
    return 0;
}

5

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a==36)
        printf(" a == 36 ");
       
    return 0;
}

6:

include<stdio.h>
int main()
{

    int a = 0 ;
    if (a=36)
        printf(" a == 36");
       
    return 0;
}
结果

1:                                (无结果)

2:a == 0

3:  a  == 1

4:                                (无结果)

5:                                (无结果)

6: a == 36

若有问题请告诉我谢谢。

if else 语句

格式

if 接() 接   一种语句 

else  接   一种语句 

{

特别注意

else    前只能有  if   所管辖的一种语句

if()后如果接几个单一语句必须用    {}   包起来。否则会报错。

}

执行方法

先判断()的真假,若为真,就执行if管辖的语句。为假就执行else管辖的语句。 if         else  语句 必执行且仅执行        if或else语句中的一个

if 或 else 只管距它最近的一个语句或复合语句

例如

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

    int a = 3 ;
    int b = 2 ;
    
    if(a>b)
    printf("a>b") ;
    else  
    printf("a<b");

    return 0 ;
}

运行结果为   a>b

分析        

已知        a = 3 ;b = 2 ;

因为         3 > 2

即             a>b

if(a>b)中    ()为真                  执行         if管辖的单个语句   printf(“a>b”) 

                                                不执行        else语句         

输出为          a>b

即        if         else  语句 必执行且仅执行        if或else语句中的一个

if 或 else 语句 后接复合语句 与 if 函数中 讲解一样。

注意

else 与最近的if匹配

if else if else 语句

格式

if 接() 接   一种语句 

else   if 接() 接   一种语句 

else  接   一种语句

{

特别注意

else    前只能有  if   所管辖的一种语句

if()后如果接几个单一语句必须用    {}   包起来。否则会报错。

}

执行方法

先判断 if  中()的真假,

若为真,        就执行if管辖的语句。

为假    ,        就判断else  if 中()的真假

若为真,        就执行else  if管辖的语句

为假    ,        就执行else管辖的语句

{

若还有 else if 就继续判断else  if 中()的真假  直到只有else语句

}

   

 if   else if     else  语句 必执行且仅执行        if else if 或 else  语句中的一个

if 或 else 只管距它最近的一个语句或复合语句

hi I am 36.👍👍👍

<think>好的,用户想了解双重if语句的用法或者解决相关的编程问题。首先,我需要明确什么是双重if语句。可能指的是嵌套的if结构,或者是连续的两个if语句,或者是if-elif的结构。需要结合用户提供的引用内容来分析。 根据用户提供的引用,引用[3]提到Python中多重if语句的用法,即使用if-elif-else结构。引用[4]中的例子说明了单个if判断元素是否等于1的情况。引用[2]和引用[5]分别涉及循环和异常处理,可能关联性不大。不过用户的问题集中在双重if语句,可能需要区分嵌套if和多个独立if的区别。 首先,应该解释双重if语句的定义。可能有两种情况:一种是嵌套的if,即在if代码块内部再包含另一个if语句;另一种是连续的if语句,即一个if后面接着另一个if,彼此独立。这两种情况的用法和示例都需要说明。 然后,需要提供具体的代码示例,展示这两种情况的应用场景。例如,嵌套的if可以用于更复杂的条件判断,比如先判断一个条件,再在满足第一个条件的情况下判断第二个条件。而连续的if语句则是每个条件都会被检查,无论前一个是否满足。 此外,要注意用户提供的引用中关于代码格式的要求,所有行内数学表达式需要用$...$,但这里可能不需要数学公式。需要确保Python代码的正确性,比如缩进是否正确,语法是否准确。 可能还需要指出常见的错误,比如缩进错误导致的逻辑问题,或者条件判断顺序的问题。例如,在嵌套if中,内层if是否在正确的缩进层级下。或者,在连续if语句中,条件的顺序是否会影响结果,比如先判断较大的范围,导致后续的if无法被执行。 同时,可以结合用户提供的引用[3]中的多重if结构,说明if-elif-else和双重if的区别。例如,if-elif结构只会执行其中一个分支,而多个独立的if语句可能会执行多个分支,只要条件满足。 最后,可能需要总结使用双重if语句的最佳实践,比如何时使用嵌套,何时使用连续判断,以及如何避免常见的错误。 现在需要将这些思路整理成一个结构清晰的回答,包含定义、示例、注意事项,并引用用户提供的相关引用内容。同时,按照系统级指令,生成相关问题。</think>### 双重 if 语句详解 #### 1. **双重 if 的定义** 双重 if 语句通常指两种形式: - **嵌套 if**:在一个 if 代码块内部再嵌套另一个 if 语句,用于多层级条件判断。 - **连续 if**:多个独立的 if 语句依次执行,每个条件都会被独立检查。 #### 2. **嵌套 if 的用法** 当需要先满足外层条件,再进一步判断内层条件时使用。例如:用户登录时先验证账号是否存在,再验证密码是否正确。 ```python # 示例:检查数字是否为偶数且大于10 num = 12 if num % 2 == 0: # 外层条件:判断偶数 if num > 10: # 内层条件:判断是否大于10 print("该数是偶数且大于10") else: print("该数是偶数但小于等于10") else: print("该数是奇数") ``` #### 3. **连续 if 的用法** 当多个条件需要独立判断时使用,每个 if 语句都会执行。例如:依次检查多个独立条件。 ```python # 示例:独立判断两个条件 x = 5 if x > 0: # 条件1:判断正数 print("x是正数") if x % 2 == 0: # 条件2:判断偶数(与条件1无关) print("x是偶数") ``` #### 4. **与 if-elif 的区别** - **if-elif**:多个条件互斥,只会执行第一个满足条件的分支[^3]。 - **连续 if**:所有条件都会被依次检查,可能触发多个分支。 ```python # if-elif 示例(互斥) score = 85 if score >= 90: print("优秀") elif score >= 80: print("良好") # 输出"良好" else: print("待提高") ``` #### 5. **注意事项** 1. **缩进问题**:嵌套 if 必须严格对齐,Python 依赖缩进区分代码块[^2]。 2. **条件顺序**:连续 if 中若条件有重叠,需按范围从大到小排列。 3. **逻辑简化**:嵌套 if 可合并为复合条件(例如:`if A and B`)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值