##### 整数计算表达式 - 整数计算表达式 - **整数计算表达式**指使用计算相关的[[C.运算符|运算符]]对[[C.整数|整数]]运算, 包括算数, 逻辑, 按位, 关系等 - 示例 ```c #include <stdio.h> int main() { int a = 5, b = 2, c; unsigned int u1 = 7, u2 = 3; // 算术运算 printf("算术运算:\n"); printf("a + b = %d\n", a + b); // 加法 printf("a - b = %d\n", a - b); // 减法 printf("a * b = %d\n", a * b); // 乘法 printf("a / b = %d\n", a / b); // 整数除法 printf("a %% b = %d\n", a % b); // 取余 // 关系运算 printf("\n关系运算:\n"); printf("a == b: %d\n", a == b); // 相等 printf("a != b: %d\n", a != b); // 不等 printf("a > b: %d\n", a > b); // 大于 printf("a < b: %d\n", a < b); // 小于 printf("a >= b: %d\n", a >= b); // 大于等于 printf("a <= b: %d\n", a <= b); // 小于等于 // 逻辑运算 printf("\n逻辑运算:\n"); printf("a && b: %d\n", a && b); // 逻辑与 printf("a || b: %d\n", a || b); // 逻辑或 printf("!a: %d\n", !a); // 逻辑非 // 位运算 printf("\n位运算:\n"); printf("a & b: %d\n", a & b); // 按位与 printf("a | b: %d\n", a | b); // 按位或 printf("a ^ b: %d\n", a ^ b); // 按位异或 printf("~a: %d\n", ~a); // 按位取反 printf("a << 1: %d\n", a << 1); // 左移 printf("a >> 1: %d\n", a >> 1); // 右移 // 赋值运算 printf("\n赋值运算:\n"); c = a; printf("c = a: %d\n", c); // 赋值 c += b; printf("c += b: %d\n", c); // 加后赋值 c -= b; printf("c -= b: %d\n", c); // 减后赋值 c *= b; printf("c *= b: %d\n", c); // 乘后赋值 c /= b; printf("c /= b: %d\n", c); // 除后赋值 c %= b; printf("c %%= b: %d\n", c); // 取余后赋值 c &= b; printf("c &= b: %d\n", c); // 按位与后赋值 c |= b; printf("c |= b: %d\n", c); // 按位或后赋值 c ^= b; printf("c ^= b: %d\n", c); // 按位异或后赋值 c <<= 1; printf("c <<= 1: %d\n", c); // 左移后赋值 c >>= 1; printf("c >>= 1: %d\n", c); // 右移后赋值 // 条件运算 printf("\n条件运算:\n"); printf("a > b ? a : b = %d\n", a > b ? a : b); // 条件运算符 // 类型转换 printf("\n类型转换:\n"); double d = (double)a / b; printf("(double)a / b = %f\n", d); // unsigned 和 signed 比较 printf("\n无符号和有符号比较:\n"); printf("u1 > b: %d\n", u1 > b); // 无符号与有符号比较 printf("u1 - u2 = %u\n", u1 - u2); // 无符号减法 return 0; } ```