C语言学习与总结---第四章:选择结构程序设计

本文详细介绍了C语言中的选择结构,包括if语句的三种形式,关系和逻辑运算符,条件运算符,选择结构的嵌套以及switch语句的使用。通过实例解析了各部分的概念和应用,帮助读者深入理解C语言中的条件控制逻辑。
摘要由CSDN通过智能技术生成

4.1 if语句

If语句有三种基本形式
(1)

if (判断条件) 执行语句;

(2)

if (判断条件) 执行语句1;
else  执行语句2;

(3)

if (判断条件1) 执行语句1;
else if (判断条件2)  执行语句2;
 ……
else if (判断条件n)  执行语句n;
else  执行语句n+1;

例,输入两个数a,b按由小到大的顺序输出

#include<stdio.h>  
int main()  
{
     
    float a, b, t;  
    scanf_s("%f,%f", &a, &b);  
    if (a > b)  
    {
     
        t = a;  
        a = b;  
        b = t;  
    }  
    printf("%5.2f, %5.2f", a, b);  
    return 0;  
}

例,输入三个数a,b,c,按由小到大的顺序输出

#include<stdio.h>  
int main()  
{
     
    float a, b, c, t;  
    scanf_s("%f,%f,%f", &a, &b, &c);  
    if (a > b)  
    {
     
        t = a;  
        a = b;  
        b = t;  
    }  
    if (a > c)  
    {
     
        t = a;  
        a = c;  
        c = t;  
    }  
    if (b > c)  
    {
     
        t = b;  
        b = c;  
        c = t;  
    }  
    printf("%5.2f, %5.2f, %5.2f", a, b, c);  
    return 0;  
} 

4.2 关系运算符和关系表达式

4.2.1 关系运算符

关系运算符有
(1)

>、<、>=、<=

(2)

==(等于)、!=(不等于)

其中,优先级:(1)高于(2)
此外,优先级顺序:

 算数运算符>关系运算符>赋值运算符

4.2.2 关系表达式

用关系运算符将表达式连接起来的式子称为关系表达式,例如

a > b,   a + b > b + c,   (a = 3) > (b = 5),   ’a’ < ‘b’,   (a > b) > (b < c)

关系表达式的值是一个逻辑值,即“真”或“假”。逻辑运算中,1代表“真”,0代表“假”
例如,

a=3,b=2,c=1;

则,
关系表达式a>b的值为“真”,表达式的值为“1”;
关系表达式c>b的值为“假”,表达式的值为“0”;
关系表达式

(a>b)==c

的值为“真”,表达式的值为“1”
关系表达式b+c<a的值为“假”,表达式的值为“0”;

4.3 逻辑运算符和逻辑表达式

4.3.1 逻辑运算符

&&(与)、||(或)、!(非)
a&&b:a、b都真,则表达式为真;
a||b:a、b有真则真;
!a:若a真,则!a假;
优先级:!(非)> 算数运算符>关系运算符>&&和||>赋值运算符

(a>b)&&(x>y)  等价于  a>b && x>y

(a==b)||(x==y) 等价于  a==b || x==y

(!a)||(a>b)     等价于  !a || a>b

4.3.2 逻辑表达式

用逻辑运算符将关系表达式或逻辑量连接起来的式子称为逻辑表达式,逻辑表达式的值是一个逻辑量“真”或“假”,任何非零的数值被认作“真”。

例:设a = 4,b = 5,则
!a的值为0 ;
a&&b的值为1;
a||b的值为1;
!a||b的值为1;
4&&0||2的值为1;

例:‘c’&&’d’的值为1;

例:5>3&&8<4-!0的值为0;
注:
在逻辑表达式的求解中,并不是所有的逻辑运算符都要被执行,例如
a||b||c:只要a为真,则不必判断b和c的值,只有当a为假时才继续判断;

4.4 条件运算符和条件表达式

条件运算符的格式:

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

先求解表达式1,若其值为真,则将表达式2的值赋给整个表达式;否则将表达式的值赋给整个表达式。例如

max=(a>b)? a:b;

其含义是:若a>b成立,则max=a;若a>b不成立,则max=b
用条件表达式:

if (a > b) max = a;  
else    max = b;

优先级:算数运算符>关系运算符>条件运算符>赋值运算符

max=(a>b)? a:b; 相当于 max=a>b? a:b;
a>b? a:b+1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值