| 加法 | 减法 | 乘法 | 除法 | 求余数(取余) | |
|---|---|---|---|---|---|
| 数学 | + | - | × | ÷ | 无 |
| C语言 | + | - | * | / | % |
#include <stdio.h>
int main()
{
int a = 12;
int b = 100;
float c = 8.5;
int m = a + b;
float n = b * c;
double p = a / c;
int q = b % a;
printf("m=%d, n=%f, p=%lf, q=%d\n", m, n, p, q);
return 0;
}
输出结果:
#include <stdio.h>
int main()
{
int a = 12;
int b = 100;
float c = 8.9;
int m = a - b; // 变量参与运算
int n = a + 239; // 有变量也有数字
double p = 12.7 * 34.3; // 数字直接参与运算
printf("m=%d, n=%d, p=%lf\n", m, n, p);
printf("m*2=%d, 6/3=%d, m*n=%ld\n", m*2, 6/3, m*n);
return 0;
}
输出结果:
#include <stdio.h>
int main()
{
int a = 100;
int b = 12;
float c = 12.0;
double p = a / b;
double q = a / c;
printf("p=%lf, q=%lf\n", p, q);
return 0;
}
运行结果:
#include <stdio.h>
int main()
{
int a, b;
scanf("%d %d", &a, &b); //从控制台读取数据并分别赋值给a和b
printf("result=%d\n", a / b);
return 0;
}
这段代码用到了一个新的函数,就是 scanf。scanf 和 printf 的功能相反,printf 用来输出数据,scanf 用来读取数据。此处,scanf 会从控制台读取两个整数,并分别赋值给 a 和 b。关于 scanf 的具体用法,我们将在《C语言scanf:读取从键盘输入的数据(含输入格式汇总表)》一节中详细讲解,这里大家只要知道它的作用就可以了,不必求甚解。程序开头定义了两个 int 类型的变量 a 和 b,程序运行后,从控制台读取用户输入的整数,并分别赋值给 a 和 b,这个时候才能知道 a 和 b 的具体值,才能知道除数 b 是不是 0。像这种情况,b 的值在程序运行期间会改变,跟用户输入的数据有关,编译器根本无法预测,所以就没法及时发现“除数为 0”这个错误。
#include <stdio.h>
int main()
{
printf(
"100%%12=%d \n100%%-12=%d \n-100%%12=%d \n-100%%-12=%d \n",
100%12, 100%-12, -100%12, -100%-12
);
return 0;
}
运行结果:
#include <stdio.h>
int main()
{
int a = 12;
int b = 10;
printf("a=%d\n", a);
a = a + 8;
printf("a=%d\n", a);
a = a * b;
printf("a=%d\n", a);
return 0;
}
输出结果:a = a + 8相当于用原来 a 的值(也即12)加上 8,再把运算结果(也即20)赋值给 a,此时 a 的值就变成了 20。a = a * b相当于用原来 a 的值(也即20)乘以 b 的值(也即10),再把运算结果(也即200)赋值给 a,此时 a 的值就变成了 200。a = a # b
可以简写为:a #= b
# 表示 +、-、*、/、% 中的任何一种运算符。a = a + 8可以简写为a += 8,a = a * b可以简写为a *= b。int a = 10, b = 20; a += 10; //相当于 a = a + 10; a *= (b-10); //相当于 a = a * (b-10); a -= (a+20); //相当于 a = a - (a+20);注意:a #= b 仅是一种简写形式,不会影响程序的执行效率。
版权说明:Copyright © 广州松河信息科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州松河信息科技有限公司 版权所有