zoukankan      html  css  js  c++  java
  • 07-C语言流程控制if、switch

    目录:

    一、流程控制 条件分支 if else

    二、流程控制 开关分支 switch

    回到顶部

    一、流程控制 条件分支

    1.语法格式:if(表达式1){

             //表达式1为真(非0时),执行的语句部分。

             //代码块由一条件或多条语句组成

    }else if(){

             //表达式1为0为假,执行的语句部分。

    }else{

             //以上条件补满足是,执行的语句部分。

    }

    2.在一个完整的if语句中至少要有一个if,elseif可以出现0~n次,else可以出现0~1次。

    3.if else语句应用与需要根据不同条件执行代码的场合。

    4.if else 语句最多只能执行一个分支,有else分支,必须选择其一执行,无else分支,可以选择其一执行,也可能不执行。

    5.如果{}中仅有一条语句,可以省略{},不推荐。

    练习:输入一个成绩,得到评价,>90,优;<60,不及格;其他,一般。

    1)在键盘上输入一个字母,将小写转换为大写,如果是大写就原样输出。

    #include <stdio.h>
    //在键盘上输入一个字母,将小写转换为大写,如果是大写就原样输出。
    int main()
    {
        char ch;
        printf("请输入一个字母:
    ");
        scanf("%c",&ch);
        if (ch >= 'a' && ch <= 'z') {
            printf("转换为大写:%c
    ",ch -('a'-'A'));
        }else{
            printf("大写:%c
    ",ch);
        }
        return 0;
    }

    2)输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优90~80良80~60中60~0不及格

    3)准备回家,交通工具,输入工资,小于1300,则显示输入错误,大于10000坐飞机,大于5000坐火车,大于3000坐汽车,大于1500骑自行车,都不满足步行。

    4)优化第二题,优A良B中C不及格D,根据分数级别,判断分数范围。

    5)判断闰年,平年2月份29天,闰年2月份29天,条件:a,年份可以同时整除4且不能整除100;b,整除400,满足其一就是闰年。输入一个年份判断是否是闰年。

    6)输入年、月,求某月有多少天,一共有28,29,30,31几种。

    7)输入年,求该年的总天数,365、366

      1 #include <stdio.h>
      2 //输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优90~80良80~60中60~0不及格
      3 void test()
      4 {
      5     int i;
      6     printf("输入一个成绩:
    ");
      7     scanf("%d",&i);
      8     if (i >= 90 && i <= 100) {
      9         printf("");
     10     }else if(i >= 80 && i < 90){
     11         printf("");
     12     }else if(i >= 60 && i < 80){
     13         printf("");
     14     }else if(i >= 0 && i < 60){
     15         printf("不及格
    ");
     16     }else{
     17         printf("无效
    ");
     18     }
     19 }
     20 //3)准备回家,交通工具,输入工资,小于1300,则显示输入错误,大于10000坐飞机,大于5000坐火车,大于3000坐汽车,大于1500骑自行车,都不满足步行。
     21 void test2()
     22 {
     23     int salary;
     24     printf("输入工资:
    ");
     25     scanf("%d",&salary);
     26     if (salary >= 10000) {
     27         printf("坐飞机回家
    ");
     28     }else if (salary >= 5000){
     29         printf("坐火车回家
    ");
     30     }else if (salary >= 3000){
     31         printf("坐汽车回家
    ");
     32     }else if (salary >= 1500){
     33         printf("骑车回家
    ");
     34     }else if (salary >= 1300){
     35         printf("步行回家
    ");
     36     }else{
     37         printf("输入错误
    ");
     38     }
     39 }
     40 /*
     41  输入分数级别ABCD
     42 优(90-100)A
     43 良(80-90)B
     44 中(60-80)C
     45 不及格(0-60)D,
     46 根据分数级别,判断分数范围。
     47 */
     48 void test3()
     49 {
     50     char fj;
     51     printf("输入分数级别:
    ");
     52     scanf("%c",&fj);
     53     if(fj == 'A' || fj == 'a'){
     54         printf("您的分数范围在90~100间
    ");
     55     }else if(fj == 'B' || fj == 'b'){
     56         printf("您的分数范围在80~90间
    ");
     57     }else if(fj == 'C' || fj == 'c'){
     58         printf("您的分数范围在60~80间
    ");
     59     }else if(fj == 'D' || fj == 'd'){
     60         printf("您的分数范围在0~60间
    ");
     61     }else{
     62         printf("输入数据无效");
     63     }
     64 }
     65 //判断闰年,平年2月份29天,闰年2月份29天,条件:a,年份可以同时整除4且不能整除100;b,整除400,满足其一就是闰年。输入一个年份判断是否是闰年。
     66 void test4()
     67 {
     68     int year;
     69     printf("输入一个年份:
    ");
     70     scanf("%d",&year);
     71     if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
     72         printf("该年是闰年
    ");
     73     }else{
     74         printf("该年是平年
    ");
     75     }
     76 }
     77 //输入年、月,求某月有多少天,一共有28,29,30,31几种。
     78 void test5()
     79 {
     80     int year;
     81     int month;
     82     printf("请输入年、月
    ");
     83     scanf("%d%d",&year,&month);
     84     if(month == 2){
     85         /*if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
     86             printf("%d是闰年,%d月有29天
    ",year,month);
     87         }else{
     88             printf("%d是平年,%d月有28天
    ",year,month);
     89         }*/
     90         printf("%d年,%d月有%d天
    ",year,month,28 + (year % 4 == 0 && year % 100 !=0 || year % 400 == 0));
     91     }else if(month == 4 || month == 6 || month == 9 || month == 11){
     92         if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
     93             printf("%d是闰年,%d月有30天
    ",year,month);
     94         }else{
     95             printf("%d是平年,%d月有30天
    ",year,month);
     96         }
     97     }else{
     98         if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
     99             printf("%d是闰年,%d月有31天
    ",year,month);
    100         }else{
    101             printf("%d是平年,%d月有31天
    ",year,month);
    102         }
    103     }
    104 }
    105 //输入年,求该年的总天数,365、366
    106 void test6()
    107 {
    108     int year;
    109     printf("输入年份:
    ");
    110     scanf("%d",&year);
    111     /*if((year % 4 == 0 && year % 100 !=0) || year % 400 == 0){
    112         printf("%d年是闰年,总天数366天
    ",year);
    113     }else{
    114         printf("该年是平年,总天数365天
    ",year);
    115      }*/
    116     printf("%d年,有%d天
    ",year,365 + (year % 4 == 0 && year % 100 !=0 || year % 400 == 0));
    117 }
    118 int main()
    119 {
    120     //test();
    121     //test2();
    122     //test3();
    123     //test4();
    124     //test5();
    125     test6();
    126     return 0;
    127 }

    作业:

    1)输入四个数,求出四个数中的最大数、最小值、和

    回到顶部

    二、流程控制 开关分支(选择分支switch)

    1.语法规则:switch(控制表达式){

             case 常量表达式1:

             语句;

             break;

             case 常量表达式2:

             语句;

             break;

     

             ……

             default:

             语句;

    }

    2. break关键字,终止switch代码块的执行。

    3.控制表达式当做整型数据处理,也可以是字符型数据处理,但不能是浮点数和字符串。常量表达式必须是常量(常量和字符),不允许重复。

    4.default语句,不一定在最后一行。

    #include <stdio.h>
    
    int main()
    {
        int i =1;
        char ch = 'a';
        /*switch (i){
            case 1:
                printf("一
    ");
                break;
            case 2:
                printf("二
    ");
                break;
            default:
                printf("有误
    ");
        }*/
        switch (ch){
            case 'a':
                printf("1
    ");
                break;
            case 'b':
                printf("2
    ");
                break;
            default:
                printf("有误
    ");
        }
        return 0;
    }

    作业:

    (使用switch写)输入一个成绩,0~100之间的整数,根据分数得到相应的级别,100~90优(A)90~80良(B)80~60中(C)60~0不及格(D),根据分数级别,判断分数范围。   

    #include <stdio.h>
    
    int main()
    {
        char j;
        printf("输入分数级别:
    ");
        scanf("%c",&j);
        switch (j){
            case 'A':
                printf("范围在90-100
    ");
                break;
            case 'B':
                printf("范围在80-90
    ");
                break;
            case 'C':
                printf("范围在60-80
    ");
                break;
            default:
                printf("范围在0-60
    ");
        }
        return 0;
    }
  • 相关阅读:
    oracle的分析函数over 及开窗函数
    ASP.NET中分布式事务的使用
    后台实现显示欢迎用户登陆的方法
    AjaxHelper的get和post请求的封装类
    登陆权限验证Session和Cookie用法及BasePage类使用
    四个常用.NET的SqlHelper的方法
    ASP.NET在实际开发中验证码的用法
    SQL Server事务的存储过程
    利用JQuery实现全选和反选的几种方法
    JS中表格的全选和删除要注意的问题
  • 原文地址:https://www.cnblogs.com/yangmx/p/3460549.html
Copyright © 2011-2022 走看看