C中的运算和数据类型

简介: 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\n", x + y);
  printf("x-y=%d\n", x - y);
  printf("x*y=%d\n", x * y);
  printf("x/y=%d\n", x / y);
  printf("x%%y=%d\n", x % y);
  return 0;
}

像+ - * / %这样可以进行运算的符号称为运算符,作为运算对象的变量或常量称为操作符

运算符左边的操作数称为第一操作数或者左操作数,运算符右侧的操作数称为第二操作数或者右操作数

乘除运算符和加减运算符

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

除法运算的商和余数

除法运算符有两种。通过除法运算符求商的运算符是/。

整数/整数 商的整数部分

除法运算只取商的整数部分,也就是说会舍弃小数点以后的部分。例如: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;
}

运行结果如下:

进行除法运算的/运算符和%运算符的结果依赖与编译器。

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

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

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

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

多个转换说明

读取两个整数,并显示它们的商和余数。

代码如下:

#include<stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  puts("请输入两个整数");
  scanf("%d %d", &a, &b);
  printf("%d除以%d得%d余%d。\n", a, b, a / b, a % b);
  return 0;
}

运行结果如下:

单目操作符

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

代码如下:

#include<stdio.h>
int main()
{
  int n = 0;
  printf("请输入一个整数:");
  scanf("%d", &n);
  printf("符号取反之后的值是%d。\n", -n);
  return 0;
}

运行结果如下:

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

表达式和赋值表达式

表达式由变量和常量,以及连接它们的运算符组成。例如:

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。\n", (a + b) / 2);
  return 0;
}

运行结果:

将表达式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", n);
  printf("          n/2:%d\n", n / 2);
  printf("double型变量x的值:%f\n", x);
  printf("            x/2.0:%f\n ", x / 2.0);
  return 0;
}

运行结果:

我们声明一个int类型变量n和一个double类型变量x,并把9.99作为值赋给他们,当给一个int类型的变量的时候,小数点后面的部分就被舍弃了。当使用它进行除法运算的时候,小数部分还是会被舍弃的。

同时还需要注意的是使用printf函数打印浮点型数据的时候,转换说明不能用%d要使用%f。

数据类型和对象

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

总结

相关文章
|
6月前
|
存储 C语言 C++
截断&&整型提升&&算数转换
截断&&整型提升&&算数转换
|
6月前
|
Python
数组运算
【5月更文挑战第6天】数组运算。
45 1
|
存储 算法 数据处理
数据的表示及运算
一、数据的表示及运算 数据的表示和运算是计算机系统中非常重要的概念,它们决定了计算机如何处理和操作数据。 1. 数据的表示:计算机使用二进制(0和1)来表示和存储数据。二进制是一种只有两个状态的编码方式,可以通过开关电路的开和关来表示0和1。计算机将二进制编码与不同的数据类型关联,例如整数、浮点数、字符等。 2. 整数运算:计算机可以对整数进行基本的算术运算,包括加法、减法、乘法和除法。这些运算是通过电子电路中的逻辑门实现的,逻辑门可以对二进制数进行逻辑运算和移位操作。 3. 浮点数运算:计算机可以进行浮点数的运算,浮点数是一种用于表示带有小数部分的数值的数据类型。浮点数运算涉及到浮点数的表示
76 0
|
6月前
|
编译器 C语言 C++
整形提升和算数转换
整形提升和算数转换
39 0
|
测试技术
变量、数据类型和运算符
变量、数据类型和运算符
|
C语言 索引
操作符续(整型提升与算术转换)
操作符续(整型提升与算术转换)
85 0
|
C语言 C++
C++——数据类型的运算(运算符的优先级)
C++——数据类型的运算(运算符的优先级)
|
存储 编译器 Linux
整型提升+算术转换——“C”
整型提升+算术转换——“C”
|
算法 C语言
5.1.3_无符号整数的表示和运算
计算机组成原理之无符号整数的表示和运算
690 0
5.1.3_无符号整数的表示和运算
|
开发者 索引 Python
数值运算
快速学习数值运算
数值运算