C语言学习笔记(二) -条件语句 Condition

if..else..语句

//输入两个值a和b,比较大小  ---if..else..语句

#include <stdio.h>
int  main(void)
{
    int a,b;
    printf("请输入两个值\n");
    scanf("%d,%d",&a,&b);
    if (a>b) {
        printf("比较大的值是: %d\n",a);
    }else{
        printf("比较大的值是: %d\n",b);
    }
    return 0;
}

交换a和b两个数的值

//交换a和b两个数的值

#include <stdio.h>
int  main(void)
{
    int a,b,c;//多定义一个临时变量c
    printf("请输入两个值\n");
    scanf("%d,%d",&a,&b); //scanf中不能出现换行符
    if (a<b)
    {
        c=a;
        a=b;
        b=c;
    }
    printf("%d,%d\n",a,b);
    return 0;
}

if…else if…else…判断成绩

// if...else if...else...判断成绩

#include <stdio.h>
int main(void)
{
    int score=0;
    char c=0;
    printf("请输入成绩:\n");
    scanf("%d",&score);
    if (score>=90) {
        c='A';
        printf("成绩优秀,等级为:%c\n",c);
    }else if(score>=80){
        c='B';
        printf("成绩良好,等级为:%c\n",c);        
    }else if(score>=70){
        c='C';
        printf("成绩一般,等级为:%c\n",c);        
    }else if(score>=60){
        c='D';
        printf("成绩及格,等级为:%c\n",c);        
    }else{
        c='E';
        printf("成绩不及格,等级为:%c\n",c);        
    }
    return 0;
}

三目运算符 (表达式1?表达式2:表达式3)

/*
 * 表达式1?表达式2:表达式3
 * 3个表达式可以是函数调用等其他的表达式
 */

#include <stdio.h>
int main(void)
{
    int a,b;
    printf("输入两个值:\n");
    scanf("%d,%d",&a,&b);
    printf("max:%d\n",(a>b)?a:b);
}

switch

/*
 *switch(表达式)
 *{
 *  case 常量表达式n:
 *          语句;语句;
 *      break;
 *   default:{}
 *}
 * 在需要推出是 switch-case 的地方加break;
 *switch ...case....      条件跳转
 *if ...else if ...else.. 条件判断 
 */

#include <stdio.h>
int main()
{
    char c=0;
    printf("输入等级");
    scanf("%c",&c);
    switch(c)
    {
        case 'A':
        case 'a':
            printf("90~100\n");
            break;
        case 'B':
        case 'b':
            printf("80~90\n");
            break;
        case 'C':
        case 'c':
            printf("70~80\n");
            break;
        case 'D':
        case 'd':
            printf("60~70\n");
            break;
        case 'E':
        case 'e':
            printf("0~60\n");
            break;
        default:
            printf("input error\n");
            break;
    }
    return 0;
}

小试牛刀

条件语句练习

/*
 *1、有一个不多于5位的整数,
 *1)求出它的每一位是奇数还是偶数,统计奇数和偶数的个数
 *2)求出它的逆序数
 *如:输入整型123,输出1位偶数,2位奇数,逆序数是321
**/
#include <stdio.h>
int main(void)
{
    int input,flag,dight;
    int unit,ten,hundred,thousand,myriad;
    int sum_even,sum_odd;

    printf("请输入一个不超过5位的整数: \n");
    scanf("%d",&input);

    if((dight%10)%2==0)
        sum_even++;
    else
        sum_odd++;

        dight=input/10;    
    if (dight!=0) {
        if(dight%10%2==0)
            sum_even++;
        else
            sum_odd++;
        dight=input/100;
        if (dight!=0) {
            if(dight%10%2==0)
                sum_even++;
            else
                sum_odd++;
            dight=input/1000;
            if (dight!=0) {
                if(dight%10%2==0)
                    sum_even++;
                else
                    sum_odd++;
            }
        }
    }

    myriad=input/10000;
    thousand=(input-myriad*10000)/1000;
    hundred =(input-myriad*10000-thousand*1000)/100;
    ten     =(input-myriad*10000-thousand*1000-hundred*100)/10;
    unit    =(input-myriad*10000-thousand*1000-hundred*100-ten*10);

    //定义case参数常量标识
    if(input>9999){
       flag=5;
    }else if(input>999){
        flag=4;
    }else if(input>99){
        flag=3;
    }else if(input>9){
        flag=2;
    }else{
        flag=1;
    }

    switch (flag) {
        case 5:
            printf("逆序数字为:%d,%d,%d,%d,%d\n",unit,ten,hundred,thousand,myriad);
            break;
        case 4:
            printf("逆序数字为:%d,%d,%d,%d\n",unit,ten,hundred,thousand);
            break;
        case 3:
            printf("逆序数字为:%d,%d,%d\n",unit,ten,hundred);
            break;
        case 2:
            printf("逆序数字为:%d,%d\n",unit,ten);
            break;
        case 1:
            printf("逆序数字为:%d\n",unit);
            break;
        default:
            printf("您输入的有误!\n");
            break;
    }
    printf("此数偶数个数为:%d奇数个数为: %d\n",sum_even,sum_odd);
    return 0;
}

输入月份,判断它在那个季节

//3、输入月份,判断它在那个季节
// if...else if ...else...

#include <stdio.h>
int main(void)
{
    int month;
    printf("请输入月份\n");
    scanf("%d",&month);
    if (month>=1&&month<=3) {
        printf("%d月是春季\n",month);
    }else if (month>3&&month<=6) {
        printf("%d月是夏季\n",month);
    }else if (month>6&&month<=9) {
        printf("%d月是秋季\n",month);
    }else if (month>9&&month<=12) {
        printf("%d月是冬季\n",month);
    }else{
        printf("您输入有误!\n");
               }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值