【重生之我要苦学C语言】数据类型与变量(2)

数据类型与变量(2)

算术操作符 +,-,*,/,%

C语言中为了方便运算,提供了一系列操作符,其中有一组操作符叫:算术操作符。分别是:+ - * / %,这些操作符都是双目操作符
:操作符也被叫做运算符,是不同的翻译,意思是一样的

+ 和 -

+和-用来完成加法减法
+和-都是有2个操作数的,位于操作符两端的就是它们的操作数(a左操作数,b右操作数),这种操作符(有两个操作数)也叫双目操作符

以加法为例(减法同理):

#include <stdio.h>
int main() {
	int a = 5;
	int b = 3;
	int c = a + b;//从右向左,将a+b的值存在c中
	printf("%d", c);
	return 0;
}

在这里插入图片描述

*

用来完成乘法
例:

#include <stdio.h>
int main() {
	int num = 5;
	printf("%d", num*num);
	return 0;
}

在这里插入图片描述

/

用来完成除法

例1:

#include <stdio.h>
int main() {
	int a = 6;
	int b = 2;
	int c = a / b;
	printf("%d", c);
	return 0;
}

在这里插入图片描述

例2:

#include <stdio.h>
int main() {
	int a = 6;
	int b = 4;
	int c = a / b;
	printf("%d", c);
	return 0;
}

在这里插入图片描述
根据以上输出,可以得出:
/ 两端都是整数的时候,执行的是整数除法,只会返回整数部分,算不出小数
当除号两端至少有一个是浮点数时,才能计算出小数

故,将例2改为:

#include <stdio.h>
int main() {
	float a = 6.0;
	int b = 4;
	float c = a / b;
	printf("%f", c);
	return 0;
}

在这里插入图片描述
printf在打印小数的时候,默认小数点后会打印六位

或者:

#include <stdio.h>
int main() {
	int a = 6.0;
	int b = 4;
	double c = a *1.0/ b;//编译器会自动识别1.0为double类型
	printf("%f", c);
	return 0;
}

输出结果是一样的

%

表示求模(余),即返回两个整数相除的余值
只能用于整数,不能用于浮点数

#include <stdio.h>
int main() {
	int a = 6 % 4;
	printf("%d", a);
	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	
	return 0;
}

可以看出,余数的正负取决于第一个操作数的正负

赋值操作符

=和复合赋值

在变量创建的时候给一个初始值叫初始化,在变量创建好后,再给一个值,这叫赋值

int a = 100;//初始化
a=200;//赋值,这里使用的就是赋值操作符
连续赋值

例:

#include <stdio.h>
int main() {
	int a = 3;
	int b = 5;
	int c = 0;
	c = b = a + 3;//连续赋值,从右向左依次赋值
	//b = 6
	//c = 6
	return 0;
}

复合赋值

int a = 3;
a = a + 3;//a=6
a += 3;// +=复合运算符
a = a - 2;
a -= 2;// *=  /=  %=
复合运算符:
+=   -=
*=  /=  %=
>>=  <<=
&=  |=  ^=

单目操作符++,- -,+(正号),-(负号)

只有一个操作数的操作符

++和–

四种输出一样的语句:
a=a+1;
a+=1;
a++;//后置++
++a;//前置++
//不管是前置++还是后置++,都是+1的效果

a++与++a的区别:

a++:

#include <stdio.h>
int main() {
	int a = 5;
	int b = a++;
	//相当于b=a,a=a+1
	printf("a=%d\n", a);
	printf("b=%d\n", b);
	return 0;
}

在这里插入图片描述
后置++,先使用,后+1

++a:

#include <stdio.h>
int main() {
	int a = 5;
	int b = ++a;
	//a=a+1 b=a
	printf("a=%d\n", a);
	printf("b=%d\n", b);
	return 0;
}

在这里插入图片描述

前置++,先++,后使用

同理也可推出,前置- -和后置- -的区别
a- -:

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

在这里插入图片描述
后置- -,先使用,后-1
- -a:

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

在这里插入图片描述
前置- -,先- -,后使用

+(正号),-(负号)

例1:

#include <stdio.h>
int main() {
	int a = +10;
	printf("a=%d\n", a);
	return 0;
}

在这里插入图片描述

例2:

#include <stdio.h>
int main() {
	int a = -10;
	int b = +a;
	printf("b=%d\n", b);
	return 0;
}

在这里插入图片描述

可以看出,正号不改变输出的值,可省略

#include <stdio.h>
int main() {
	int a = -10;
	int b = -a;
	printf("b=%d\n", b);
	return 0;
}

在这里插入图片描述
负号用来改变一个值的正负,负数前面加-就得到正数

强制类型转换

(类型)

例:

#include <stdio.h>
int main() {
	int a = (int)3.14;//将double转化为int,只会保留整数部分,小数部分直接丢弃
	printf("a=%d\n", a);
	return 0;
}

在这里插入图片描述
ps:
又是一个新的早晨

生活中,我们总是不断地被定义,不断地被贴上各种标签,却忘了遵循自己的内心
允许自己做自己,也允许别人做别人
人生是自己的,我们可以是任何样子
——珍妮特·温特森

新的一天,加油!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值