c语言-选择结构if(代码片段)

shanshan-test shanshan-test     2022-12-13     135

关键词:

流程控制基本概念

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

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

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

    选择结构 if

  • 第一种格式

    // 第一种结构
    /*
     if (条件表达式)
        代码块
      // 如果条件表达式成立执行代码块
     */
    int age = 18;
    if (age >= 18)
        printf("你可以去上网吧了
");
    
    printf("end
");
    
    if (age < 17) // 条件满足执行代码块,不满足直接执行 end
        printf("你可以去上网吧了
");
    
    printf("end
");
  • 第二种格式
    // 第二种结构
    /*
     if (条件表达式) // 如果条件表达式成立执行代码块1
        代码块1
       else       // 如果条件表达式不满足执行代码块 2
        代码块 2
     
     */
    int age = 10;
    if(age >= 18)
        printf("你可以去上网吧了
");
    else
        printf("小屁孩未满十八周岁,回家洗洗睡吧
");
    
  • 第三种格式
    // 第三种格式
    /*
     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 < 10)
            printf("number 是在 3-10 之间的数字
");
        else
            printf("number 是在大于 10的数字
");
        
    else
        printf("number 是在 小于 3 的数字
");
    
  • if 的练习题
    // if 练习
    /*
    // 从键盘c输入一个整数,判断是奇数还是偶数,偶数输出 yes,奇数c输出 no
    printf("请您输入一个整数,以回车结束
");
    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 < 1)
        printf("哪有这样的星期呢?
");
    
    if(number == 1)
        printf("星期一");
    else if (number == 2)
    
        printf("星期二");
    else if (number == 3)
    
        printf("星期三");
    else if (number == 4)
    
        printf("星期四");
    else if (number == 5)
    
        printf("星期五");
    else if (number == 6)
    
        printf("星期六");
    else if (number == 7)
    
        printf("星期日");
    
    
    // 接收s用户输入的一个整数,根据月份输出对应的季节
    // 3-5春季,6-8 夏季,9-11 秋季,12,1,2 冬季
    printf("n请您输入一个1-12 之间的月份,以回车结束
");
    int month = -1;
    scanf("%i",&month);
    if (month < 1 || month > 12)
        printf("一年就 12 个月,不会给你多发工资的
");
    else if (month >= 3 && month <= 5 )
    
        printf("春季
");
    else if (month >= 6 && month <= 8 )
    
        printf("夏季
");
    else if (month >= 9 && month <= 11 )
    
        printf("秋季
");
    else
        printf("冬季
");
    

// 注意点在于冬季的判断,12,1,2,此时可以利用 else if 只会执行一个条件表达式的代码块的特点,开头排除掉大于 12,和小于 1 的数字,剩下的数字肯定会走到下面的判断中,春季,夏季,秋季都好弄.
    //键盘输入两个整数,判断大小后输出较大的内个数
    int num1 = -1,num2 = -1;
    printf("请输入两个整数,以回车结束
");
    scanf("%i,%i",&num1,&num2);
    if (num1 > num2)
        printf("%i
",num1);
    else if(num1 < num2 )
    
        printf("%i
",num2);
    else
        printf("您输入的两个数相等
");
    
    
    // 但是使用三目运算符是不是更简单呢?
    int max = num1 > num2 ? num1 : num2;
    printf("您输入的两个数的最大值是:%i
",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
",num1);
        
        else
            printf("最大值是:%i
",num3);
        
    else
        if(num2 > num3)
            printf("最大值是:%i
",num2);
        
        else
            printf("最大值是:%i
",num3);
        
    
    // 判断大小,交换变量的值
    int num1,num2,num3;
    printf("请输入a三个数,以逗号分割,回车结束");
    scanf("%i,%i,%i,",&num1,&num2,&num3);
    if (num1 < num2)
        int temp = num1;
        num1 = num2;
        num2 = temp;
    
    if (num1 < num3)
    
        int temp = num1;
        num1 = num3;
        num3 = temp;
    
    if (num2 < num3)
    
        int temp = num2;
        num2 = num3;
        num3 = temp;
    
    printf("%i,%i,%i,",num1,num2,num3);
  • if 的注意点

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

石头剪刀布

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

c语言-选择结构if(代码片段)

目录流程控制基本概念选择结构if石头剪刀布流程控制基本概念顺序结构:默认的流程结构,按照书写顺序从上到下的执行选择结构:对给定的条件进行判断,根据判断的结果来决定执行那一段代码循环结构:在给定条件成立的情况下,... 查看详情

c语言选择结构(if语句)(代码片段)

一.选择结构功能根据给定的判断条件,控制程序执行流程的语句。二.选择结构形式单分支:根据给定条件,决定是否执行一段语句。双分支:根据给定条件,执行两条路径中的一条。多分支:根据给定条... 查看详情

c语言选择结构(if语句)(代码片段)

一.选择结构功能根据给定的判断条件,控制程序执行流程的语句。二.选择结构形式单分支:根据给定条件,决定是否执行一段语句。双分支:根据给定条件,执行两条路径中的一条。多分支:根据给定条... 查看详情

go语言流程控制(代码片段)

Go语言流程控制基本概念Go语言流程控制和C语言一样,也有三大流程控制结构顺序结构(默认结构)选择结构(if/switch)循环结构(for)选择结构if和C语言不同的的是条件表达式的值必须是布尔类型(Go语言中没有非零即真的概念)条件表达... 查看详情

语句结构(代码片段)

类似于C语言,批处理也有它的语句结构。批处理的语句结构主要有选择结构(if语句)、循环结构(for语句)等。if语句(选择结构)if语句实现条件判断,包括字符串比较、存在判断、定义判断等。通过条件判断,if语句即可以实现选择... 查看详情

c语言学习,从入门到进阶(代码片段)

分支和循环C语言中有三种结构:顺序结构,选择结构,循环结构。顺序结构选择结构:循环结构:这些图片都很好的说明了这些结构顺序结构首先我们来看看顺序结构的代码都长什么样子呢?#include<stdio... 查看详情

二c语言初阶之分支和循环(代码片段)

1分支语句1.1if    if分支语句常用于选择结构1.1.1if语句的语法结构语法结构:if(表达式)语句;if(表达式)语句1;else语句2;//多分支if(表达式1)语句1;elseif(表达式2)语句2;else语句3; 演示代码:#include<stdio.h>//代码1intmain()inta... 查看详情

二c语言初阶之分支和循环(代码片段)

1分支语句1.1if    if分支语句常用于选择结构1.1.1if语句的语法结构语法结构:if(表达式)语句;if(表达式)语句1;else语句2;//多分支if(表达式1)语句1;elseif(表达式2)语句2;else语句3; 演示代码:#include<stdio.h>//代码1intmain()inta... 查看详情

极简嵌入式c语言教程——从入门到入土(代码片段)

文章目录第二章:渐入佳境(上)1.结构及结构在编程中的应用(1)选择结构(if&switch)<1>if语句的基本用法1if的高级用法:嵌套2关于if的几点建议<2>switch语句的基本用法1关于switch语句的几点建议... 查看详情

极简嵌入式c语言教程——从入门到入土(代码片段)

文章目录第二章:渐入佳境(上)1.结构及结构在编程中的应用(1)选择结构(if&switch)<1>if语句的基本用法1if的高级用法:嵌套2关于if的几点建议<2>switch语句的基本用法1关于switch语句的几点建议... 查看详情

选择结构练习题(if语句ifelse语句switch语句)(代码片段)

一、if语句练习1.输入三个整数,按从小到大的顺序输出思路:if语句冒泡排序3次#include<stdio.h>intmain() inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b)t=a;a=b;b=t; if(b>c)t=c;c 查看详情

选择结构练习题(if语句ifelse语句switch语句)(代码片段)

一、if语句练习1.输入三个整数,按从小到大的顺序输出思路:if语句冒泡排序3次#include<stdio.h>intmain() inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b)t=a;a=b;b=t; if(b>c)t=c;c 查看详情

选择结构练习题(if语句ifelse语句switch语句)(代码片段)

一、if语句练习1.输入三个整数,按从小到大的顺序输出思路:if语句冒泡排序3次#include<stdio.h>intmain() inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b)t=a;a=b;b=t; if(b>c)t=c;c 查看详情

分支(选择)语句(代码片段)

...;就是一条语句,如:inta=10;就是一条语句二、C语言中的三种结构①顺序结构②选择结构③循环结构Part2分支语句一、if语句基础语法①单分支>语法格式:if(条件表达式) 语句;>CodeⅠ: 查看详情

分支(选择)语句(代码片段)

...;就是一条语句,如:inta=10;就是一条语句二、C语言中的三种结构①顺序结构②选择结构③循环结构Part2分支语句一、if语句基础语法①单分支>语法格式:if(条件表达式) 语句;>CodeⅠ:in 查看详情

shell选择结构(if)(代码片段)

文章目录一、条件判断1.语法格式2.条件判断相关参数1)判断文件存在与否2)文件权限相关的判断3)两个文件的比较判断4)整数之间的判断5)字符串之间的判断6)多重条件判断一、流程控制语句1.基本语... 查看详情

选择结构(代码片段)

1.多选择结构#include<stdio.h>intmain()floatc;scanf("%f",&c);if(c>700)printf("我要上清华");elseif(c>680&c<700)printf("我要上北大");elseprintf("我要上武汉大学");return0; 2.switch选择结构#include<stdio.h>intmain()inta;scanf("%d",&a);switch... 查看详情

if选择结构解析(代码片段)

1.switch选择结构: 语法: switch(key) casevalue: break; casevalue: break; casevalue: break; default: 查看详情