Linux系统下的C语言学习笔记(五)

C语言分支(条件判断)

分支语句可以实现选择的效果(多选一)

1.if-else结构

1.1 if关键字可以用来编写分支,编写if分支之前最好先画一个表格,有可能同时出现的多个选择不可以包含在一个分支里。如果if分支里必须做出选择就可以省略最后一组语句的逻辑表达式和if关键字。

1.2 if分支里前面的语句先进行选择,选择不成功才轮到后面的语句进行选择,利用语句之间的前后顺序可以简化逻辑表达式。

  1 /*
  2  * if分支演示
  3  * */
  4 #include <stdio.h>
  5 int main() {
  6     int val = 0;
  7     printf("请输入一个数字:");
  8     scanf("%d", &val);
  9     /*
 10      * val >= 0   *   显示非负数的提示
 11      ********************************
 12      * val < 0    *   显示负数的提示
 13      * */
 14     if (val >= 0) {
 15         printf("非负数\n");
 16     }
 17     else if (val < 0) {
 18         printf("负数\n");
 19     }
 20     return 0;
 21 }

  1 /*
  2  * if分支演示
  3  * */
  4 #include <stdio.h>
  5 int main() {
  6     int val = 0;
  7     printf("请输入一个数字:");
  8     scanf("%d", &val);
  9     if (val < 0) {
 10         printf("负数\n");  
 11     }
 12     else if (val & 1) {
 13         printf("奇数\n");
 14     } 
 15     else if (!(val & 1)) {
 16         printf("偶数\n");
 17     }
 18     return 0;
 19 }

2.switch-case结构

2.1 switch…case关键字也可以用来编写分支,如果分支里每个选择都可以用一个唯一的
整数表示才可以采用这种格式编写。

2.2 每组语句最后都必须使用break;语句结束default关键字后面的语句用来处理所有
没有列举的数字。

/*
 * switch...case分支演示
 * */
#include <stdio.h>
int main() {
    int season = 0;
    printf("请输入一个数字:");
    scanf("%d", &season);
    switch (season) {
        case 0:
            printf("春天\n");
            break;
        case 1:
            printf("夏天\n");
            break;
        case 2:
            printf("秋天\n");
            break;
        case 3:
            printf("冬天\n");
            break;
        default:
            printf("不认识的数字\n");
            break;
    }
    return 0;
}

3.练习

3.1 从键盘得到一个数,判断是0,正数,负数

  1 /*
  2  * if分支练习
  3  * */
  4 #include <stdio.h>
  5 int main() {
  6     int val = 0;
  7     printf("请输入一个数字:");
  8     scanf("%d", &val);
  9     if (val > 0) {
 10         printf("正数\n");
 11     }
 12     else if (val < 0) {
 13         printf("负数\n");
 14     }
 15     else {
 16         printf("零\n");
 17     }
 18     return 0;
 19 }

3.2 从键盘得到两个数,并输出最小值

/*
 * if分支练习
 * */
#include <stdio.h>
int main() {
    int val = 0, val1 = 0, val2 = 0;
    printf("请输入三个数字:");
    scanf("%d%d%d", &val, &val1, &val2);
    /*if (val < val1 && val < val2) {   //val比另外两个变量都小
        printf("最小数字是%d\n", val);
    }
    else if (val1 < val && val1 < val2) {   //val1比另外两个变量都小
        printf("最小数字是%d\n", val1);
    }
    else {
        printf("最小数字是%d\n", val2);
    }*/
    if (val1 > val) {   //val1比较大应该被排除掉
        if (val2 > val) {   //val2比较大应该被排除掉
            printf("最小数字是%d\n", val);
        }
        else {
            printf("最小数字是%d\n", val2);
        }
    }
    else {
        if (val1 < val2) {   //val2比较大应该被排除
            printf("最小数字是%d\n", val1);
        }
        else {
            printf("最小数字是%d\n", val2);
        }
    }
    return 0;
}

3.3 输入一个数判断真假用switch结构

/*
 * switch...case分支练习
 * */
#include <stdio.h>
int main() {
    int val = 0;
    printf("请输入一个数字:");
    scanf("%d", &val);
    switch (val) {
        case 0:
            printf("假\n");
            break;
        default:
            printf("真\n");
            break;
    }
    return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值