【快速上手C语言】第三章:运算符与表达式——掌握C语言的基本操作

算术运算符、关系运算符与逻辑运算符

        在C语言中,运算符用于执行各种操作。常用的运算符分为以下几类:

  1. 算术运算符:用于执行基本的数学运算,如加、减、乘、除等。

    • +:加法
    • -:减法
    • *:乘法
    • /:除法
    • %:取余
  2. 关系运算符:用于比较两个值,返回布尔值(truefalse)。

    • ==:等于
    • !=:不等于
    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于
  3. 逻辑运算符:用于处理布尔逻辑。

    • &&:逻辑与(AND)
    • ||:逻辑或(OR)
    • !:逻辑非(NOT)

        以下是一个结合了这些运算符的示例代码:

#include <stdio.h>

int main() {
    int a = 10, b = 20;
    int sum = a + b;  // 算术运算
    int isEqual = (a == b);  // 关系运算
    int logicalResult = (a < b) && (b > 15);  // 逻辑运算

    printf("Sum: %d\n", sum);  // 输出加法结果
    printf("Is Equal: %d\n", isEqual);  // 输出关系运算结果
    printf("Logical Result: %d\n", logicalResult);  // 输出逻辑运算结果

    return 0;
}
// 运行结果:
// Sum: 30
// Is Equal: 0
// Logical Result: 1
位运算符与位操作

        位运算符用于直接操作二进制位,通常用于嵌入式系统和硬件控制。

  • &:按位与
  • |:按位或
  • ^:按位异或
  • ~:按位取反
  • <<:左移
  • >>:右移

示例代码展示了如何使用这些位运算符:

#include <stdio.h>

int main() {
    int x = 5;  // 二进制: 0101
    int y = 3;  // 二进制: 0011

    int andResult = x & y;  // 按位与
    int orResult = x | y;  // 按位或
    int xorResult = x ^ y;  // 按位异或
    int notResult = ~x;  // 按位取反
    int leftShiftResult = x << 1;  // 左移1位
    int rightShiftResult = x >> 1;  // 右移1位

    printf("x & y: %d\n", andResult);
    printf("x | y: %d\n", orResult);
    printf("x ^ y: %d\n", xorResult);
    printf("~x: %d\n", notResult);
    printf("x << 1: %d\n", leftShiftResult);
    printf("x >> 1: %d\n", rightShiftResult);

    return 0;
}
// 运行结果:
// x & y: 1
// x | y: 7
// x ^ y: 6
// ~x: -6
// x << 1: 10
// x >> 1: 2
运算符的优先级与结合性

        运算符的优先级决定了在表达式中哪些运算先进行,结合性则决定了运算符的运算方向(从左到右或从右到左)。

        例如,乘法和除法运算符的优先级高于加法和减法运算符,因此会先进行计算。以下是一个示例代码,展示了运算符的优先级和结合性:

#include <stdio.h>

int main() {
    int a = 10, b = 5, c = 2;
    int result = a + b * c;  // 先乘法,再加法

    printf("Result: %d\n", result);  // 输出结果

    result = (a + b) * c;  // 使用括号改变优先级

    printf("Result with parentheses: %d\n", result);  // 输出结果

    return 0;
}
// 运行结果:
// Result: 20
// Result with parentheses: 30

        在第一个表达式中,由于乘法的优先级高,b * c先计算,再加上a。通过使用括号,我们可以改变计算的顺序。

复合赋值运算符与自增自减运算符

        复合赋值运算符将赋值与其他运算符结合在一起,简化了代码。常见的复合赋值运算符包括:

  • +=:加并赋值
  • -=:减并赋值
  • *=:乘并赋值
  • /=:除并赋值
  • %=:取余并赋值

自增和自减运算符则用于增加或减少变量的值:

  • ++:自增(将变量值增加1)
  • --:自减(将变量值减少1)

示例代码如下:

#include <stdio.h>

int main() {
    int a = 10;

    a += 5;  // 等同于a = a + 5;
    printf("a += 5: %d\n", a);

    a -= 3;  // 等同于a = a - 3;
    printf("a -= 3: %d\n", a);

    a *= 2;  // 等同于a = a * 2;
    printf("a *= 2: %d\n", a);

    a /= 4;  // 等同于a = a / 4;
    printf("a /= 4: %d\n", a);

    a %= 3;  // 等同于a = a % 3;
    printf("a %%= 3: %d\n", a);

    a++;  // 自增
    printf("a++: %d\n", a);

    a--;  // 自减
    printf("a--: %d\n", a);

    return 0;
}
// 运行结果:
// a += 5: 15
// a -= 3: 12
// a *= 2: 24
// a /= 4: 6
// a %= 3: 0
// a++: 1
// a--: 0

总结:

        在本章中,我们深入探讨了C语言中的运算符和表达式,包括算术、关系、逻辑运算符,以及位运算符和它们的应用。我们还了解了运算符的优先级和结合性,复合赋值运算符,以及自增自减运算符的使用。在实际编程中,理解这些运算符的用法和特性是编写高效且正确的代码的基础。下一章将探讨控制结构和条件语句,进一步完善你的C语言编程技能。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值