【C语言】算数操作符

C语言中为了方便运算,提供了一系列操作符,其中有⼀组操作符叫:算术操作符,分别是:+-*  、,都是双目操作符(指需要两个操作数的运算符

1.1 + 和 -

+ - 用来完成加法和减法。

#include <stdio.h>
int main()
{
   int x = 4 + 22;
   int y = 61 - 23;
   return 0;
}

1.2 *

运算符 * 用来完成乘法。

#include <stdio.h>
int main()
{
   int num = 5;
   printf("%d\n", num * num); //输出为25
}

1.3 /

运算符 / 用来完成除法。除号的两端如果是整数,执⾏的是整数除法,得到的结果也是整数

#include <stdio.h>
int main()
{
   int d = 6 / 4;
   float f = 6 / 4;
   float f1 = 6.0 / 4.0;
   printf("d = %d\n", d);   //输出结果是1
   printf("f = %f\n", f);   //输出结果是1.0
   printf("f1 = %f\n", f1); //输出结果是1.5
}

上面示例中,尽管变量 f 的类型是 float (浮点数),但是 6 / 4 得到的结果是 1.0 ,⽽不是1.5 。原因就在于 C 语言里面的整数除法是整除,只会返回整数部分,丢弃小数部分。

如果希望得到浮点数的结果,两个运算数必须至少有一个浮点数,这时 C 语言就会进行浮点数除法。

#include <stdio.h>
int main()
{
    float x = 6.0 / 4; // 或者写成 6 / 4.05
    printf("%f\n", x); // 输出 1.500000
    return 0;
}

上面示例中, 6.0 / 4 表示进行浮点数除法,得到的结果就是 1.5

再看一个例子:

#include<stdio.h>
int main()
{
   int score =5;
   score =(score / 20)* 100;
   return 0;
}

上面的代码,你可能觉得经过运算,score会等于25,但是实际上score等于0。这是因为score / 20是整除,会得到一个整数值0,所以乘以100后得到的也是0
为了得到预想的结果,可以将除数20改成20.0,让整除变成浮点数除法。

正确写法

#include<stdio.h>
int main()
{
   int score =5;
   score =(score / 20.0)* 100;
   return 0;
}

1.4  % 

运算符%表示取模运算,即返回两个整数相除余值这个运算符只能用于整数,不能用于浮点数。

#include <stdio.h>
int main()
{
   int x =6 % 4; //2
   return 0;
}

负数求模的规则是,结果的正负号由第一个运算数正负号决定。

#include <stdio.h>
int main()
{
   printf("%d\n", 11 % -5); // 1
   printf("%d\n", -11 % -5); // -1
   printf("%d\n", -11 % 5); // -1
}

上面示例中,第一个运算数的正负号(11-11)决定了结果的正负号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值