• C语言-if语句


        1、一般形式 if(表达式)表达式1 else 表达式2   :表达式成立(为真)则执行表达式1,否则执行表达式2.

        适用范围:真假,对错,开关,对立面的条件

       注意:如果if语句中只包括一条语句,可以省略{}但最好不要省略,如果有多条语句,一定要加{}

       如果else不包含任何语句,则可以省略掉else

        2、分支 if(表达式1){语句1}else if(表达式){语句2} else if(表达式3){语句3}。。。。。else(语句4)

        表达式1成立立即执行语句1,否则判断表达式2,表达式2成立则立即执行语句2,否则判断表达式3,表达式3成立则立即执行语句3,表达式1,表达式2,表达式3都不成立,则执行语句4

        分支if语句中条件是互斥的,不能有重复或互相包含的情况。如果有,必须重新理清程序思路。

        if的条件是一段连续的范围,要把所有的情况都涵盖完

        适用范围:条件互斥,没有相重合的条件,且条件都是一段连续的范围的时候用

        3、嵌套形式:

            if (表达式) {

                if(表达式1)

                {

                    语句1   //表达式和表达式1同时成立

                }else{

                语句2    //表达式成立且表达式1不成立

                }

            }else{

                if (表达式2) {

                    语句3   //表达式不成立且表达式2成立

                }else{

                语句4    //表达式不成立且表达式2不成立

                }

            }

        使用范围:适合逐层递进,从大到小细分条件,可用嵌套

        

        三目运算符 表达式?语句1:语句2 等价于if(表达式)语句1 else 语句2;

        1、使用if分支选择性输出两个数中最大的数字:

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

    2、使用if语句判断一个从键盘输入的数字是奇数还是偶数

    int a=0;//定义变量时最好对变量进行初始化。
        printf("请输入一个数字:");
        scanf("%d",&a);
        if(a%2==0)//对a除以2的余数进行判断,如果余数为0,则说明a为偶数,否则a为奇数。
        {
            printf("%d是一个偶数
    ",a);
        }
        else
        {
            printf("%d是一个奇数
    ",a);
        }

    3、数学中分段函数的C语言模型:如果x为0,则y的值为1000,如果x不为0,y的值为x分之1,

      float y=0;  //定义变量
        int x=0;
        
        printf("请输入x:");   //输入
        scanf("%d",&x);
        
        if(x!=0)      //判断
        {
            y=(float)1/x;  //对运算结果要强制转换为float型。
        }
        else
        {
            y=1000;
        }

    4、输入三个数,找出最大的并输出:

    int a=0;
        int b=0;
        int c=0;
        int temp=0;
        
        printf("请输入三个数:
    ");
        scanf("%d%d%d",&a,&b,&c);
        
        if(a>b)
        {
            temp=a;
        }
        else
        {
            temp=b;
        }
        if (temp>c) {
            printf("max=%d
    ",temp);
        }
        else
        {
            printf("max=%d
    ",c);
        }

    5、三个数求最大值的第二种算法:先假设第一个数最大,然后和第二个数比较,得到最大的,最后与第三个数比较:

    int a=0;
        int b=0;
        int c=0;
        int max=0;
        
        printf("请输入三个数:
    ");
        scanf("%d%d%d",&a,&b,&c);
        
        max=a;//选择法找出三个数的最大值
        if (max<b) {
            max=b;
        }
        if (max<c) {
            max=c;
        }
        
        printf("最大数是%d",max);

    6、判断一个两位数个位是奇数且十位是偶数:首先判断这个数时两位数,再对后续条件进行判断

      int a=0;
        
        printf("输入一个数:");
        scanf("%d",&a);
        
        if (a>9&&a<100&&a%2==1&&a/10%2==0) {
            printf("a是两位数,且个位是奇数,十位是偶数
    ");
        }
        else
            printf("a不符合条件
    ");

    7、判断一个输入的数字是否是整数:

       float a;
        
        scanf("%f",&a);
        printf("输入的数字是%f",a);
        
        if (a-(int)a==0)
        {
            printf("a是整数");
        }
        else
        {
            printf("a不是整数");
        }

    8、使用冒泡排序对四个数进行排序(不使用for循环)假设第一个数是最小的,然后与后续的数字逐一比较并移动到最后一个数字的位置,然后再使用第一个数字和最后一个数字之前的数字进行比较,得到第二小的数,并放在倒数第二的位置,重复循环直到得出最大的放在第一个的位置。

       int a=0;
        int b=0;
        int c=0;
        int d=0;
        int tmp=0;
        
        printf("请输入四个数字:");
        scanf("%d%d%d%d",&a,&b,&c,&d);
        
        if (a<b) {
            tmp=b;
            b=a;
            a=tmp;
        }
        if (b<c) {
            tmp=c;
            c=b;
            b=tmp;
        }
        if (c<d) {
            tmp=d;
            d=c;
            c=tmp;
        }
        
        if (a<b) {
            tmp=b;
            b=a;
            a=tmp;
        }
        if (b<c) {
            tmp=c;
            c=b;
            b=tmp;
        }
        if (a<b) {
            tmp=b;
            b=a;
            a=tmp;
        }
     
        printf("从大到小是%d,%d,%d,%d
    ",a,b,c,d);

    9、根据商品价格打折条件对应付款进行计算:如果三种商品的价格中有一个超过50或者三个商品价格之和超高100,则对总价格打折扣85%。

       float aprice,bprice,cprice;
        float sumprice;
        
        printf("请输入三种商品价格:");
        scanf("%f%f%f",&aprice,&bprice,&cprice);
        
        if (aprice>50||bprice>50||cprice>50||aprice+bprice+cprice>100) {
            sumprice=(aprice+bprice+cprice)*(1-0.15);
        }
        else sumprice=aprice+bprice+cprice;
        
        printf("应付钱数为%.1f
    ",sumprice);

    10、使用分支if语句确定三个数中最大的数:

    int a,b,c,m;
        scanf("%d%d%d",&a,&b,&c);
        
        if (a>=b&&a>=c) {
            m=a;
        }
        else if (b>=a&&b>=c){
            m=b;
        }
        else m=c;
     
        printf("最大值为%d
    ",m);

    11、使用嵌套if语句找出三个数中最大的数

    int a,b,c,m;
        
        scanf("%d%d%d",&a,&b,&c);
        
        if (a>b) {
            if (c>a)
                m=c;
            else
                m=a;
        }else{
            if(c>b)
                m=c;
            else
                m=b;
        }
        
        printf("最大的是:%d
    ",m);

    12、使用三目运算符求三个数中最大的数,方法一:

       int a,b,c,m;
        
        scanf("%d%d%d",&a,&b,&c);
        
        m=(((a>b)?a:b)>c?((a>b)?a:b):c);
        
        printf("最大值是%d
    ",m);

    13、使用三目运算符求三个数中最大的数,方法二:

      int a,b,c,m;
        scanf("%d%d%d", &a, &b, &c);
        m = a;
        m = m > b ? m : b;
        m = m > c ? m : c;
       printf("最大值是%d
    ",m);

    14、使用三目运算符求三个数中最大的数,方法三:

      int a,b,c,m;
        scanf("%d%d%d", &a, &b, &c);
        m = (a>=b && a>=c) ? a : (b>=a && b>=c ? b : c);
       printf("最大值是%d
    ",m);

    15、使用三目运算符求三个数中最大的数,方法四

      int a,b,c,m;
        scanf("%d%d%d", &a, &b, &c);
        m = a>=b ? (a>=c ? a : c) : (b>=c ? b : c);
       printf("最大值是%d
    ",m);
  • 相关阅读:
    Linux如何开启mysql版本
    解决Centos7安装nginx后提示“Welcome to nginx on Fedora!”,conf.d目录下无default.conf文件
    如何屏蔽root用户(禁止以root用户登陆)的方法
    Linux修改文件时候,产生了一个.swap交换文件,如何删除
    Linux私钥公钥对认证身份,实现免密登陆
    Linux7/Centos7破解root用户密码
    Linux常用命令
    oracle 触发器 dblink
    phoenix sql语句优化
    如何在服务器端获取客户端的数据
  • 原文地址:https://www.cnblogs.com/jiwangbujiu/p/5259456.html
Copyright © 2020-2023  润新知