C语言分支与循环学习(一)

今天主要学习C语言中的分支结构和循环结构。我在此分享一下我写的if语句、switch语句、while循环等代码,并分享一些常见的编程技巧和注意事项。


1. if语句的基本用法
int main()
{
    int a = 0;
    int b = 2;
    if (a == 1)
        if (b == 2)
            printf("hehe\n");
        else
            printf("haha\n");
    return 0;
}


这是一个嵌套的if语句。注意else总是与最近的未匹配的if配对。

2. 比较运算符与赋值运算符
int main()
{
    int a = 0;
    int b = 2;
    int c = 3;
    c = (a == b);  // ==是比较运算符,返回0或1,赋值给c
    printf("%d", c);
    return 0;
}


==是比较运算符,而=是赋值运算符,别把这两个搞混,建议在比较时将常量放在前面,如if(2 == a),这样如果误写为if(2 = a),编译器会报错。

二、逻辑运算符与复合条件
1. 逻辑与(&&)和逻辑或(||)
int main()
{
    int a = 0;
    int b = 5;
    int c = 3;
    if (a<b && b<c) // 正确表示a<b<c的方式
        printf("hehe");
    else
        printf("haha");
}


直接写a<b<c是错误的,因为会先计算a<b得到0或1,再与c比较。

2. 三目运算符
int main()
{
    int a = 0;
    int b = 0;
    int c = 0;
    scanf("%d %d", &a, &b);
    c = ((a == b) ? 3 : 5); // 三目运算符
    printf("%d", c);
    return 0;
}


三目运算符可以简洁地实现简单的条件赋值。

三、switch语句

int main()
{
    int a = 0;
    scanf("%d", &a);
    switch (a % 3) 
    {
    case 0:
        printf("余数是0");
        break;
    case 1:
        printf("余数是1");
        break;
    case 2:
        printf("余数是2");
        break;
    }
    return 0;
}


关键点‌:

switch后的表达式必须是整型或字符型
每个case后要加break,否则会继续执行下一个case
default负责处理不符合任何case的情况
四、循环结构
1. 基本while循环

int main()
{
    int a = 1;
    while (a <= 10)
    {
        printf("%d\n", a);
        a++;
    }
    return 0;
}


int main()
{
    int n = 0;
    int l = 0;
    scanf("%d",&n);
    while (n > 0)
    {
        l = n % 10;
        n /= 10;
        printf("%d\n", l);
    }
    return 0;
}


这段代码用while循环将一个整数的各位数字逆序输出


闰年判断‌:

if (((y % 4 == 0) && !(y % 100 == 0)) || (y % 400 == 0))

逻辑运算符的短路特性‌:

i = a++ || ++b || d++;


当a++为真时,后面的表达式不会执行。

工作日判断‌:

switch (a)
{
case 1...5:
    printf("工作日");
    break;
case 6...7:
    printf("休息日");
    break;
default:
    printf("无效输入");
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值