您现在的位置是:首页 >技术教程 >C中的运算和数据类型网站首页技术教程

C中的运算和数据类型

君落华 2024-09-28 00:01:02
简介C中的运算和数据类型

运算

进行加法运算的+和进行乘法运算的*等符号,称为运算。本章我带大家进入基本运算符的学习

运算符和操作数

读取两个整数的值,然后显示出它们的和、差、积、商和余数。
代码如下:

#include<stdio.h>

int main()
{
	int x = 0;
	int y = 0;
	puts("请输入两个整数。");
	printf("整数x:");
	scanf("%d", &x);
	printf("整数y:");
	scanf("%d", &y);

	printf("x+y=%d
", x + y);
	printf("x-y=%d
", x - y);
	printf("x*y=%d
", x * y);
	printf("x/y=%d
", x / y);
	printf("x%%y=%d
", x % y);

	return 0;
}

像+ - * / %这样可以进行运算的符号称为运算符,作为运算对象的变量或常量称为操作符
image.png
运算符左边的操作数称为第一操作数或者左操作数,运算符右侧的操作数称为第二操作数或者右操作数

乘除运算符和加减运算符

上述代码中使用的5个运算符,可以大致的分为乘除运算符和加减运算符。
image.png
image.png

除法运算的商和余数

除法运算符有两种。通过除法运算符求商的运算符是/。
整数/整数 商的整数部分
除法运算只取商的整数部分,也就是说会舍弃小数点以后的部分。例如:5/3的结果是1,3/5的结果是是0。
整数%整数 余数
%是求余数运算符。例如:5%3的结果是2,3%5的结果是3。

使用printf函数输出%

在printf函数中的%符号具有转换说明的功能,当不需要转换的时候要写成%%,这样就可以输出%这个符号了。

获取整数的最后一位数字

通过应用求余数的运算来获取整数的最后一位数字。例如:
代码如下:

#include<stdio.h>

int main()
{
	int n = 0;
	printf("请输入一个整数:");
	scanf("%d", &n);

	printf("最后一位数是%d。", n % 10);
	return 0;
}

运行结果如下:
image.png
进行除法运算的/运算符和%运算符的结果依赖与编译器。

当两个操作数都是正数的时候

不管是那种编译器,商和余数都是正数。如下:

两个操作数至少有一个为负数

至于/运算符的结果是”小于代数商的最大整数“还是”大于代数商的最小整数“,要取决于编译器。例如:

多个转换说明

读取两个整数,并显示它们的商和余数。
代码如下:

#include<stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	puts("请输入两个整数");
	scanf("%d %d", &a, &b);
	printf("%d除以%d得%d余%d。
", a, b, a / b, a % b);
	return 0;
}

运行结果如下:
image.png

单目操作符

对读取的整数进行符号取反操作,并输出结果。
代码如下:

#include<stdio.h>

int main()
{
	int n = 0;
	printf("请输入一个整数:");
	scanf("%d", &n);

	printf("符号取反之后的值是%d。
", -n);
	return 0;
}

运行结果如下:
image.png
根据我们操作符操作的操作数来确定是单目、双目还是三目操作符。在上述代码种的-运算符,就是对符号进行取反操作。

表达式和赋值表达式

表达式由变量和常量,以及连接它们的运算符组成。例如:
x+32 进行加法运算的表达式
x+32和x、32都是表达式
c=x+32 赋值表达式

表达式语句

C语言规定语句必须以分号结尾,因此前面提到的赋值表达式写成以下形式,才能成为正确的语句。
c=x+32; 表达式语句
这种由表达式和分号组成的语句称为表达式语句

数据类型

数据类型有很多浮点型和整数型。下面主要讲下double类型。

求平均值

读取两个数,求出它们的平均值
代码如下:

#include<stdio.h>

int main()
{
	int a = 0;
	int b = 0;
	puts("请输入两个整数:");
	scanf("%d %d", &a, &b);

	printf("它们的平均值是%d。
", (a + b) / 2);
	return 0;
}

运行结果:
image.png
将表达式a+b括起来的(),优先级运算的标记。如果该表达式是a+b/2,结果就变成了求a和b/2的和,这与我们平时所做的数学计算相同,及要遵循先乘除后加减。

数据类型

现实生活中的平均值一般都带有小数,但是我们通过上面的案例可以得知,小数点以后的部分被舍弃了,只是留下了整数部分,这就是int类型的特征。
C语言中以浮点数表示实数,浮点数有几种类型,我们主要讲下双精度浮点数double。代码如下:

#include<stdio.h>

int main()
{
	int n = 0;
	double x = 0;

	n = 9.99;
	x = 9.99;
	
	printf("int 型变量n的值:%d
", n);
	printf("          n/2:%d
", n / 2);

	printf("double型变量x的值:%f
", x);
	printf("            x/2.0:%f
 ", x / 2.0);
	return 0;
}

运行结果:
image.png
我们声明一个int类型变量n和一个double类型变量x,并把9.99作为值赋给他们,当给一个int类型的变量的时候,小数点后面的部分就被舍弃了。当使用它进行除法运算的时候,小数部分还是会被舍弃的。
同时还需要注意的是使用printf函数打印浮点型数据的时候,转换说明不能用%d要使用%f。

数据类型和对象

从前面的程序可以看出来int类型只能存放整数,即使把实数传给它,也只能保留整数部分。与之相对,浮点数中的double类型可以用来存储包含小数的实数值。

总结

image.png
image.png

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。