c 语言- 选择结构 if

2021-01-20 08:14

阅读:739

标签:奇数   scanf   找不到   习题   com   temp   结果   对比   根据   

目录
  • 流程控制基本概念
  • 选择结构 if
  • 石头剪刀布

流程控制基本概念

  • 顺序结构:默认的流程结构,按照书写顺序从上到下的执行

  • 选择结构:对给定的条件进行判断,根据判断的结果来决定执行那一段代码

  • 循环结构:在给定条件成立的情况下,反复执行某一段代码

    选择结构 if

  • 第一种格式

    // 第一种结构
    /*
     if (条件表达式){
        代码块
     } // 如果条件表达式成立执行代码块
     */
    int age = 18;
    if (age >= 18){
        printf("你可以去上网吧了\n");
    }
    printf("end\n");
    
    if (age 
  • 第二种格式
    // 第二种结构
    /*
     if (条件表达式){ // 如果条件表达式成立执行代码块1
        代码块1
     }  else{       // 如果条件表达式不满足执行代码块 2
        代码块 2
     }
     */
    int age = 10;
    if(age >= 18){
        printf("你可以去上网吧了\n");
    }else{
        printf("小屁孩未满十八周岁,回家洗洗睡吧\n");
    }
  • 第三种格式
    // 第三种格式
    /*
     if (条件表达式){ // 如果条件表达式成立执行代码块1
        代码块1
     }
     else if(条件表达式 2) {       // 如果条件表达式2不满足执行代码块 2
        代码块 2
     }
     else if(条件表达式 3){          // 如果条件表达式2不满足执行代码块 2
     
     }
     else{                      // 如果前面的都没有满足,就会执行 else 中的代码块
     
     }
     // 只要条件表达式为真了,后面的 else if就不会执行了
     // 如果前面的都没有满足,就会执行 else 中的代码块
     // 众多的大括号只会执行一个
     // 如果执行到后面的d条件表达式,就代表掐面的表达式都不成功
     */
    int age = 6;
    if (age == 1){
        printf("该走路了");
    }else if (age == 6)
    {
        printf("该上学了");
    }else if(age == 18)
    {
        printf("你可以进入网吧了");
    }else{
        printf("你可以随便干一些事情了");
    }
  • 第五种格式 if 的嵌套使用
    // 第五种格式 if 中的嵌套
    /*
    if (条件表达式 1){
        代码块
        if (嵌套中的条件表达式 1-1){
            代码块
            if ( 嵌套中的条件表达式 1-1-1){
                 代码块
            }
        }
    }
    */
    int number = 0;
    if (number > 3){
        if (number 
  • if 的练习题
    // if 练习
    /*
    // 从键盘c输入一个整数,判断是奇数还是偶数,偶数输出 yes,奇数c输出 no
    printf("请您输入一个整数,以回车结束\n");
    int number = 0;
    scanf("%i",&number);
    if (number % 2 == 0){
        printf("YES");
    }else{
        printf("NO");
    }
    */
   
 // 根据用户输入的 1-7 的整数,输出对应的星期几
    // 使用 else if 可以保证只执行一个代码块,执行后就不会继续往下执行,如果z使用多个 if,就是从上往下执行一个一个来
    int number = -1;
    printf("请输入一个1-7 的数字,我们将为您显示星期几");
    scanf("%i",&number);
    if(number > 7 || number 
    // 接收s用户输入的一个整数,根据月份输出对应的季节
    // 3-5春季,6-8 夏季,9-11 秋季,12,1,2 冬季
    printf("n请您输入一个1-12 之间的月份,以回车结束\n");
    int month = -1;
    scanf("%i",&month);
    if (month  12){
        printf("一年就 12 个月,不会给你多发工资的\n");
    }else if (month >= 3 && month = 6 && month = 9 && month 
    //键盘输入两个整数,判断大小后输出较大的内个数
    int num1 = -1,num2 = -1;
    printf("请输入两个整数,以回车结束\n");
    scanf("%i,%i",&num1,&num2);
    if (num1 > num2){
        printf("%i\n",num1);
    }else if(num1  num2 ? num1 : num2;
    printf("您输入的两个数的最大值是:%i\n",max);
    // 这两种方式的对比,三目运算符可以快速的找出最大值,但是 if,else 可以找到这个最大值,而且还可以对此变量进一步的操作

    // 从键盘输入l三个数,输出最大的内个数
    int num1,num2,num3;
    printf("请输入a三个数,以逗号分割,回车结束");
    scanf("%i,%i,%i,",&num1,&num2,&num3);
    if (num1 > num2){
        if (num1 > num3){
            printf("最大值是:%i\n",num1);
        }
        else{
            printf("最大值是:%i\n",num3);
        }
    }else{
        if(num2 > num3){
            printf("最大值是:%i\n",num2);
        }
        else{
            printf("最大值是:%i\n",num3);
        }
    }
    // 判断大小,交换变量的值
    int num1,num2,num3;
    printf("请输入a三个数,以逗号分割,回车结束");
    scanf("%i,%i,%i,",&num1,&num2,&num3);
    if (num1 
  • if 的注意点

    • 任何数值都有真假性,非 0 既是真,
        if (1){
            printf("你好\n");
        }else{
            printf("走不到这里");
        }
    
    • if条件判断后面最好加上大括号(如果省略大括号只会执行离他最近的一条语句)
    if (1)
        printf("你好");
    printf("end");
    
    • If条件表达式没有加大括号,而且写了分号时,(分号也是一个语句)
    if(1);
    	printf("nihao");
    printf("end");
    // 此时只会执行 end,因为条件表达式后面有一个分号,分号是一个语句
    
    • 如果要在 if里面定义变量,那么必须要写上大括号,不然会报错
    if (1)
        int number = 20;  
    printf("%i\n",number); // 没有大括号此时是报错的,因为if 后面没有写大括号只会管离得最近的一条语句,而在后面有要打印 number 的值,在这个作用域中找不到 number 变量,
    printf("end");
    

石头剪刀布

    // 练习 石头剪刀布
    // 有两个玩家,我,电脑
    // 两个角色都可以出石头,剪刀,布
    int computerNum = arc4random_uniform(3); // 生成随机数
    int userNum;
    printf("请您输入石头,剪刀,布--石头:0,剪刀:1,布:2\n");
    scanf("%i",&userNum);
    printf("电脑出:%i,玩家出:%i\n",computerNum,userNum);
    if (userNum > 2 || userNum 

c 语言- 选择结构 if

标签:奇数   scanf   找不到   习题   com   temp   结果   对比   根据   

原文地址:https://www.cnblogs.com/shanshan-test/p/12903029.html


评论


亲,登录后才可以留言!