加法 | 减法 | 乘法 | 除法 | 求余数(取余) | |
---|---|---|---|---|---|
数学 | + | - | × | ÷ | 无 |
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-2024 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有