编程C本: 帖子 4 – 算术, 运营商在C中
今天的课程将向你介绍如何用C进行计算, 运营商能够处理更多的数据.
1. 数学运算符
C语言提供 5 基本的算术运算
STT | 操作者 | 名字 | 例 | 结果 |
---|---|---|---|---|
1 | + | 社区 | 3 + 4 | 7 |
2 | – | 减 | 10.5 – 3 | 7.5 |
3 | * | 员工 | 3 * 2 | 6 |
4 | / | 分享 | 6 / 3 | 2 |
5 | % | 除以平衡 | 8 % 3 | 2 |
行. 现在尝试做例子:
#include <stdio.h> int main() { int a = 5, b = 7; double c = 4.5, d = 6; printf("%d + %f = %f \n", a, c, a + c); printf("%d - %d = %d \n", a, b, a - b); printf("%d * %f = %f \n", b, d, b * d); /* Luu y phep chia nhe*/ printf("%d / %d = %d \n", b, a, b / a); printf("%f / %d = %f \n", c, a, c / a); printf("%f / %f = %f \n", c, d, c / d); printf("%d %% %d = %d \n", b, a, b % a); return 0; }
结果:
5 + 4.500000 = 9.500000
5 - 7 = -2
7 * 6.000000 = 42.000000
7 / 5 = 1
4.500000 / 5 = 0.900000
4.500000 / 6.000000 = 0.750000
7 % 5 = 2
其余运营商 (%) 需要两个操作数都是整数. 它返回除法的余. 例 7 % 5 除以整数计算 7 给 5 要 1 和余数为 2; 这样的结果是 2.
常见, 如果两个操作数都是整数,那么结果将是一个整数. 然而, 一个操作数的一个或两个为真,那么结果将是一个实数.
当两个操作数都是整数除法运算符,然后分工执行作为一个整数除法和分工是不正常的,我们使用. 整数除法总是受伤的自然结果. 例: 7 / 5 = 1 宁 7 / 5 = 1.4. 为了解决这个问题,我们可能会转让部分或全部 2 执行一些类型,然后进行分工. 如何转换 (或投) 它是如下:
(键入待转移) 变量.
首席执行官: (浮动) 该;
注意 虽然这是一个铸造原变量类型不会改变,仅瞬时值 (在那个时候改变到一个新的类型). 你需要声明一个类型的新变量转移和转让该值保存该立即值. 例如,对于易.
#include <stdio.h> int main() { int a = 5, b = 7; double c; printf("%d / %d = %d \n", b, a, b / a); /* Chuyen gia tri tuc thoi cua b sang kieu so thuc*/ printf("%d / %d = %f \n", b, a, (double)b / a); /* Chuyen gia tri tuc thoi cua a sang kieu so thuc*/ printf("%d / %d = %f \n", b, a, b / (double)a); /* Neu lam the nay thi van khong dung, vi b/a duoc so nguyen * sau do chung ta moi ep kieu so nguyen do sang so thuc */ printf("%d / %d = %f \n", b, a, (double)(b / a)); return 0; }
结果:
7 / 5 = 1
7 / 5 = 1.400000
7 / 5 = 1.400000
7 / 5 = 1.000000
2. 关系运算符
C语言提供 6 关系运算来比较数. 关系运算符有价值 1 (正确的结果) 或 0 (当错误的结果).
STT | 操作者 | 名字 | 例 | 结果 |
---|---|---|---|---|
1 | == | 相比 | 5 == 5 | 1 |
2 | != | 比较其他 | 5 != 5 | 0 |
3 | > | 更大的比较 | 5 > 4 | 1 |
4 | < | 比较小 | 5 < 4 | 0 |
5 | &GT; = | 比较大于或等于 | 5 &GT; = 4 | 1 |
6 | <= | 比较小于或等于 | 5 <= 5 | 1 |
我们使用这些运营商比较值, 字符,然而... 不比较字符串连接在一起 因为这将导致该字符串的地址进行比较,而不是内容的字符串. 我们有功能的字符串库比较字符串,稍后将学习. 当与其他人物相比,那么我们就可以理解了计算机的本质的字符的ASCII代码放在一起进行比较. 首席执行官. 'A'&GT;'B'将返回值 0 为'A'的ASCII码 65 而“B”是 66.
3. 逻辑运算符
C所提供的 3 逻辑运算符,用于连接逻辑表达式. 就像关系运算符, 逻辑运算符具有值 1 或 0.
STT | 操作者 | 名字 | 例 | 结果 |
---|---|---|---|---|
1 | ! | 负 | ! (5 > 4) | 0 |
2 | && | 而 | 5 > 4 && 5 > 6 | 0 |
3 | || | 或 | 5 > 4 || 5 > 6 | 1 |
4. 操作来增加或减少
运营商增加 (++) 并减少 (- -) 分别为方便起见提供加 1 在可变或负 1 从可变.
#include <stdio.h> int main() { int i, k; i = 5; k = i++; printf("i = %d, k = %d\n", i, k); i = 5; k = ++i; printf("i = %d, k = %d\n", i, k); i = 5; k = i--; printf("i = %d, k = %d\n", i, k); i = 5; k = --i; printf("i = %d, k = %d\n", i, k); return 0; }
结果:
I = 6, K = 5
I = 6, K = 6
I = 4, K = 5
I = 4, K = 4
也就是说,我们有:
++我和 –i,那么在此之前将采取的结果来实现表达i被计算
我++和我– 然后我就被付诸实践之前,然后计算出我的新表情
5. 赋值运算符
赋值运算符是用来存储值 1 某些变量.
操作者 | 例 | 当量 |
---|---|---|
= | X = 5 | 分配 5 对于x |
+= | X = 5 | X = X + 5 |
-= | X - = 5 | X = X - 5 |
*= | X * = 5 | X = X * 5 |
/= | X / = 5 | X = X / 5 |
%= | X%= 5 | X = X % 5 |
运行一些测试NHE.
#include <stdio.h> int main() { int x; x = 5; printf("x = 5 => x = %d\n", x); x += 5; printf("x += 5 => x = %d\n", x); x -= 5; printf("x -= 5 => x = %d\n", x); x *= 5; printf("x *= 5 => x = %d\n", x); x /= 5; printf("x /= 5 => x = %d\n", x); return 0; }
结果:
X = 5 => X = 5
X = 5 => X = 10
X - = 5 => X = 5
X * = 5 => X = 25
X / = 5 => X = 5
6. 其他一些运营商
6.1 逗号操作
多个表达式可以使用逗号操作被连接到相同的表达. 逗号操作要求 2 操作. 首先,它估计左操作数,然后右键操作, 并返回右操作数的作为最终结果的值.
例:
#include <stdio.h> int main() { int m, t; m = (t =2, t*5 + 10); printf("t = %d, m = %d\n", t, m); return 0; }
结果:
T = 2, M = 20
6.2 运营商采取的大小
C提供有用的运营商, 的sizeof, 以计算任何数据项或数据类型的大小. 它需要一个操作数可以是型号名称 (例, INT) 或表达 (例, 100) 并返回实体的以字节为单位指定的大小. 例如原型芽. 这个操作符,我们已经成为了数据类型,然后熟悉.
运行测试的例子:
#include <stdio.h> int main() { printf("char size = %d byte\n", sizeof(char)); printf("short size = %d byte\n", sizeof(short)); printf("int size = %d byte\n", sizeof(int)); printf("long size = %d byte\n", sizeof(long)); printf("float size = %d byte\n", sizeof(float)); printf("double size = %d byte\n", sizeof(double)); printf("1.55 size = %d byte\n", sizeof(1.55)); printf("\"Hello\" size = %d byte\n", sizeof("Hello")); return 0; }
结果:
字符大小= 1 字节
短尺寸= 2 字节
INT尺寸= 4 字节
长尺寸= 8 字节
浮动的大小= 4 字节
双尺寸= 8 字节
1.55 大小= 8 字节
“您好” 大小= 6 字节
7. 运营商优先
运营商的重点是从上做底如下表. 在每一行优先作为第一列 3.
样 | 操作者 | 优先顺序 |
---|---|---|
后缀 | () [] -> . ++ – – | 左到右 |
一元 | + – ! 〜 ++ – – (类型)* & 的sizeof | 从右到左 |
乘 | * / % | 左到右 |
合计 | + – | 左到右 |
移 | << >> | 左到右 |
相对的 | < <=>> = | 左到右 |
平衡 | == != | 左到右 |
允许DNA位 | & | 左到右 |
XOR位 | ^ | 左到右 |
或者允许位 | | | 左到右 |
与逻辑允许 | && | 左到右 |
允许或逻辑 | || | 左到右 |
条件 | ?: | 从右到左 |
分配 | = + = - = * = / =%= >> = <<= &= ^ = |= | 从右到左 |
逗号 | , | 左到右 |
锻炼
写秒程序, 更改进入的秒数为“吉奥:砰:闪耀“, 每个分量是一个整数 2 数字. VD输入 7826 然后打印出 02:10:26
变量x = 3; 不要运行该程序, 猜x的执行后的值:
X = ++ X - 3 + X;
猜结束后,试着写一个程序来检查结果.
最新评论