9.运算符

文章详细介绍了C语言中的算术运算符,包括加减乘除取余,强调了不同类型数据运算可能导致的精度问题,并通过示例解释了取余运算的规则。此外,还讨论了关系运算符(如大于、小于等)和逻辑运算符(如&&、||、!),以及运算符的优先级。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.算数运算符

作用取余自增自减
符号+-*/%++--

其中加减都是和数学中的一样,但是应该还是用该注意一下各个数据的取值范围;

1.乘

#include <stdio.h>

int main() {
    double i= 15.2;
    int a = 20;
    int b = i * a;
    printf("%lf",b);
    return 0;
}

运行结果

D:\code\C\st04.exe
0.000000
Process finished with exit code 0

这个的运行结果就是可以看到如果各个数据类型不一样就是容易出现这样的情况

#include <stdio.h>

int main() {
    double i= 15.2;
    int a = 20;
    double b = i * a;
    printf("%lf",b);
    return 0;
}

将这个数据类型换成正确的数据类型就是正确的

D:\code\C\st04.exe
304.000000
Process finished with exit code 0

2.除

#include <stdio.h>

int main() {
    double b =  17 / 2;
    printf("%lf",b);
    return 0;
}

将double中的除数和被除数都换成整数的情况下输出的结果是不正确的

上面的代码运行结果如下

D:\code\C\st04.exe
8.000000
Process finished with exit code 0

但是将任何一个数据换成小数,这时候就会发现

#include <stdio.h>

int main() {
    double b =  17.0 / 2;
    printf("%lf",b);
    return 0;
}

运行结果

D:\code\C\st04.exe
8.500000
Process finished with exit code 0

这时候就会发现值是正确的

这是因为在运算的过程中,17是int,17/2的结果还是int类型,就会舍去小数点后面的数据,

在17.0/2的过程中就会将这个数据都转换成浮点类型,然后就是将这个小数赋值给b,b的类型也是小数的这时候就是正确的值

3.%取余

取余据说是很少用到的,简单来了解一下

取余的对象必须是整数,运行结果就是整数除后的余数

运算结果的符号和被除数的符号相同,只看被除数的符号,不看除数的符号,

写一行简单的代码来看一下

#include <stdio.h>

int main() {
    double b =  -17 % 2;
    printf("%lf",b);
    return 0;
}

运行结果就是-1

D:\code\C\st04.exe
-1.000000
Process finished with exit code 0

其他的符号都是非常的简单,跟数学中几乎一样,这里就不在赘述

2.关系运算符

符号>>=<<=!===
作用大于大于等于小于小于等于不等于等于

这些运算符和数学中的用法和意义一样

3.逻辑运算符

符号&&||
作用逻辑与逻辑或逻辑非

1.&&逻辑与:两个同时为真就是真,只要有一个为假就是假

2.||逻辑或:只要两个里面同时有一个为真就是真,当第一个为假的时不会执行后面的代码,第一个为真,这时候才会执行后面的

3.!逻辑非:非真就是假,非假就是真,第一个为真就不会执行后面的代码了

#include <stdio.h>

int main() {
    if (15 > 13 && 25 > 20)
        printf("执行了吗1?\n");
    if (15 > 13 && 2 > 20)
        printf("执行了吗2?\n");
    if (15 > 13 || 25 > 20)
        printf("执行了吗3?\n");
    if (15 > 13 || 25 > 20)
        printf("执行了吗4?\n");
    if (1 > 13 || 2 > 20)
        printf("执行了吗5?\n");

    return 0;
}

运行结果

D:\code\C\st04.exe
执行了吗1?
执行了吗3?
执行了吗4?

Process finished with exit code 0

虽然代码非常的丑陋还是能说名他们之间的关系

4.运算符的有优先级

不需要特别的记忆,需要的时候查一下优先级表格,长期下来就会记住

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值