C语言-运算符表达式-从入门到放弃

在C语言中,运算符和表达式是编程的基础。运算符用于对变量和常量进行操作,表达式则是由运算符和操作数组合而成的代码结构。以下将详细介绍各种运算符及其用法。

1. 算术运算符及表达式

算术运算符用于执行基本的数学运算,包括加、减、乘、除和取余。

#include <stdio.h>

int main() {
    int a = 10, b = 3;
    int sum = a + b;           // sum = 13,加法
    int difference = a - b;    // difference = 7,减法
    int product = a * b;       // product = 30,乘法
    int quotient = a / b;      // quotient = 3,除法
    int remainder = a % b;     // remainder = 1,取余

    printf("加法: %d\n", sum);
    printf("减法: %d\n", difference);
    printf("乘法: %d\n", product);
    printf("除法: %d\n", quotient);
    printf("取余: %d\n", remainder);

    return 0;
}
2. 关系运算符及表达式

关系运算符用于比较两个值,并返回一个布尔值(真或假)。

#include <stdio.h>

int main() {
    int x = 5, y = 10;
    int isEqual = (x == y);     // isEqual = 0 (false),x不等于y
    int isNotEqual = (x != y);  // isNotEqual = 1 (true),x不等于y
    int isGreater = (x > y);    // isGreater = 0 (false),x不大于y
    int isLesser = (x < y);     // isLesser = 1 (true),x小于y

    printf("x == y: %d\n", isEqual);
    printf("x != y: %d\n", isNotEqual);
    printf("x > y: %d\n", isGreater);
    printf("x < y: %d\n", isLesser);

    return 0;
}
3. 赋值运算符及表达式

赋值运算符用于将右侧表达式的值赋给左侧的变量。

#include <stdio.h>

int main() {
    int num;
    num = 20; // 将20赋值给num

    printf("num的值: %d\n", num);

    return 0;
}
4. 逻辑运算符及表达式

逻辑运算符用于进行布尔逻辑运算。

#include <stdio.h>
#include <stdbool.h>

int main() {
    bool a = true, b = false;
    bool resultAnd = a && b; // resultAnd = 0 (false),a和b都为true时结果才为true
    bool resultOr = a || b;  // resultOr = 1 (true),a或b有一个为true结果就为true
    bool resultNot = !a;     // resultNot = 0 (false),非true为false

    printf("a && b: %d\n", resultAnd);
    printf("a || b: %d\n", resultOr);
    printf("!a: %d\n", resultNot);

    return 0;
}
5. 复合运算符及表达式

复合运算符将算术运算和赋值运算结合在一起。

 

#include <stdio.h>

int main() {
    int value = 10;
    value += 5; // value = 15,加5
    value -= 3; // value = 12,减3
    value *= 2; // value = 24,乘2
    value /= 4; // value = 6,除4
    value %= 3; // value = 0,取余3

    printf("最终值: %d\n", value);

    return 0;
}
6. 条件运算符及表达式

条件运算符是唯一的三目运算符,用于根据条件返回不同的值。

#include <stdio.h>

int main() {
    int a = 10, b = 20;
    int max = (a > b) ? a : b; // max = 20,若a大于b,则返回a,否则返回b

    printf("最大值: %d\n", max);

    return 0;
}

 

7. 逗号运算符

逗号运算符用于顺序执行一系列表达式,并返回最后一个表达式的值。

#include <stdio.h>

int main() {
    int a, b;
    a = (b = 3, b + 2); // 先执行 b = 3,然后执行 b + 2,最后 a = 5

    printf("a的值: %d\n", a);
    printf("b的值: %d\n", b);

    return 0;
}
8. sizeof运算符

sizeof运算符用于计算数据类型或变量的大小(以字节为单位)。

#include <stdio.h>

int main() {
    int a = 10;
    size_t size = sizeof(a); // size = 4,表示int类型占4个字节
    size_t sizeInt = sizeof(int); // sizeInt = 4

    printf("a的大小: %zu 字节\n", size);
    printf("int类型的大小: %zu 字节\n", sizeInt);

    return 0;
}

 

9. 自增自减运算符

自增自减运算符用于增加或减少变量的值。

#include <stdio.h>

int main() {
    int a = 5;
    a++; // a = 6,先使用a的值,然后a加1
    a--; // a = 5,先使用a的值,然后a减1

    int b = 10;
    int c = b++; // 先将b的值赋给c,然后b自增,c = 10, b = 11
    int d = ++b; // 先b自增,然后将b的值赋给d,b = 12, d = 12

    printf("a的值: %d\n", a);
    printf("b的值: %d\n", b);
    printf("c的值: %d\n", c);
    printf("d的值: %d\n", d);

    return 0;
}
10. 类型转换

类型转换用于将一种数据类型的值转换为另一种数据类型。

  • 显式转换
  • 隐式转换
#include <stdio.h>

int main() {
    float x = 5.75;
    int y = (int)x; // 显式转换,将x转换为int类型,y = 5

    int a = 10;
    float b = a; // 隐式转换,将int类型的a自动转换为float类型,b = 10.0

    printf("显式转换后的y: %d\n", y);
    printf("隐式转换后的b: %f\n", b);

    return 0;
}

 通过掌握这些运算符及其用法,可以编写出功能强大且高效的C语言代码。每个运算符都有其独特的用途,在实际编程中灵活运用这些运算符,将大大提高代码的可读性和性能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值