C语言是一门结构化编程语言,它支持各种类型的运算,包括算术运算、赋值运算、逻辑运算和比较运算等。下面就详细讲解C语言中如何进行运算。
一、算术运算
C语言中的算术运算符包括加、减、乘、除和求模,分别用加号(+)、减号(-)、星号(*)、斜杆(/)和百分号(%)表示。下面是两个示例说明。
1.1 示例一:整数的加减乘除和求模运算
#include <stdio.h>
int main() {
int a = 10;
int b = 3;
int c;
c = a + b; // 加法
printf("a + b = %d\n", c);
c = a - b; // 减法
printf("a - b = %d\n", c);
c = a * b; // 乘法
printf("a * b = %d\n", c);
c = a / b; // 整除
printf("a / b = %d\n", c);
c = a % b; // 取模
printf("a %% b = %d\n", c);
return 0;
}
1.2 示例二:浮点数的加减乘除运算
#include <stdio.h>
int main() {
double a = 3.14;
double b = 2.5;
double c;
c = a + b; // 加法
printf("a + b = %.2f\n", c);
c = a - b; // 减法
printf("a - b = %.2f\n", c);
c = a * b; // 乘法
printf("a * b = %.2f\n", c);
c = a / b; // 除法
printf("a / b = %.2f\n", c);
return 0;
}
二、赋值运算
C语言中的赋值运算符是等号(=),它的作用是将右边的值赋给左边的变量。示例说明如下。
2.1 示例三:赋值运算
#include <stdio.h>
int main() {
int a = 10;
int b;
b = a; // 将a的值赋给b
printf("b = %d\n", b);
return 0;
}
三、逻辑运算
C语言中的逻辑运算符包括与(&&)、或(||)和非(!),它们分别用两个和一个字符表示。逻辑运算符的作用是将多个条件进行逻辑组合,并返回一个逻辑值(true或false)。示例说明如下。
3.1 示例四:逻辑与运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a > 0 && b > 0; // 判断a和b是否大于0
printf("a > 0 && b > 0: %d\n", result);
result = a > 0 && b < 0; // 判断a和b是否都大于0
printf("a > 0 && b < 0: %d\n", result);
return 0;
}
3.2 示例五:逻辑或运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a > 0 || b > 0; // 判断a和b是否有一个大于0
printf("a > 0 || b > 0: %d\n", result);
result = a < 0 || b < 0; // 判断a和b是否都小于0
printf("a < 0 || b < 0: %d\n", result);
return 0;
}
3.3 示例六:逻辑非运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
bool result;
result = !(a > 0); // 判断a是否小于等于0
printf("! (a > 0): %d\n", result);
result = !(a < 0); // 判断a是否大于等于0
printf("! (a < 0): %d\n", result);
return 0;
}
四、比较运算
C语言中的比较运算符用于比较两个值的大小关系,其结果是一个逻辑值(true或false)。比较运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=),示例说明如下。
4.1 示例七:相等比较运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a == b; // 判断a和b是否相等
printf("a == b: %d\n", result);
result = a == 10; // 判断a是否等于10
printf("a == 10: %d\n", result);
return 0;
}
4.2 示例八:不等比较运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a != b; // 判断a和b是否不相等
printf("a != b: %d\n", result);
result = a != 10; // 判断a是否不等于10
printf("a != 10: %d\n", result);
return 0;
}
4.3 示例九:大于比较运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a > b; // 判断a是否大于b
printf("a > b: %d\n", result);
result = b > a; // 判断b是否大于a
printf("b > a: %d\n", result);
return 0;
}
4.4 示例十:小于等于比较运算
#include <stdio.h>
#include <stdbool.h> // 引入逻辑值类型
int main() {
int a = 10;
int b = 20;
bool result;
result = a <= b; // 判断a是否小于等于b
printf("a <= b: %d\n", result);
result = b <= a; // 判断b是否小于等于a
printf("b <= a: %d\n", result);
return 0;
}