注册qq空间网站,wordpress设计素材主题,建筑材料网站建设,网址ip地址查询工具加减乘除是常见的数学运算#xff0c;C语言当然支持#xff0c;不过#xff0c;C语言中的运算符号与数学中的略有不同#xff0c;请见下表。加法减法乘法除法求余数#xff08;取余#xff09;数学 -无C语言 -*/%C语言中的加号、减号与数学中的一样#xff0c;乘号、除号… 加减乘除是常见的数学运算C语言当然支持不过C语言中的运算符号与数学中的略有不同请见下表。 加法减法乘法除法求余数取余数学 -×÷无C语言 -*/%C语言中的加号、减号与数学中的一样乘号、除号不同另外C语言还多了一个求余数的运算符就是 %。下面的代码演示了如何在C语言中进行加减乘除运算#include 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;}输出结果m112, n850.000000, p1.411765, q4你也可以让数字直接参与运算#include 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;}输出结果m-88, n251, p435.610000m*2-176, 6/32, m*n-22088对除法的说明C语言中的除法运算有点奇怪不同类型的除数和被除数会导致不同类型的运算结果当除数和被除数都是整数时运算结果也是整数如果不能整除那么就直接丢掉小数部分只保留整数部分这跟将小数赋值给整数类型是一个道理。一旦除数和被除数中有一个是小数那么运算结果也是小数并且是 double 类型的小数。请看下面的代码#include 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;}运行结果p8.000000, q8.333333a 和 b 都是整数a / b 的结果也是整数所以赋值给 p 变量的也是一个整数这个整数就是 8。另外需要注意的一点是除数不能为 0因为任何一个数字除以 0 都没有意义。然而编译器对这个错误一般无能为力很多情况下编译器在编译阶段根本无法计算出除数的值不能进行有效预测“除数为 0”这个错误只能等到程序运行后才能发现而程序一旦在运行阶段出现任何错误只能有一个结果那就是崩溃并被操作系统终止运行。请看下面的代码#include int main(){int a, b;scanf(%d %d, a, b); //从控制台读取数据并分别赋值给a和bprintf(result%d\n, a / b);return 0;}这段代码用到了一个新的函数就是 scanf。scanf 和 printf 的功能相反printf 用来输出数据scanf 用来读取数据。此处scanf 会从控制台读取两个整数并分别赋值给 a 和 b。程序开头定义了两个 int 类型的变量 a 和 b程序运行后从控制台读取用户输入的整数并分别赋值给 a 和 b这个时候才能知道 a 和 b 的具体值才能知道除数 b 是不是 0。像这种情况b 的值在程序运行期间会改变跟用户输入的数据有关编译器根本无法预测所以就没法及时发现“除数为 0”这个错误。对取余运算的说明取余也就是求余数使用的运算符是 %。C语言中的取余运算只能针对整数也就是说% 的两边都必须是整数不能出现小数否则编译器会报错。另外余数可以是正数也可以是负数由 % 左边的整数决定如果 % 左边是正数那么余数也是正数如果 % 左边是负数那么余数也是负数。请看下面的例子#include int main(){printf(100%%d \n100%%-12%d \n-100%%d \n-100%%-12%d \n,100, 100%-12, -100, -100%-12);return 0;}运行结果1004100%-124-100-4-100%-12-4 在 printf 中% 是格式控制符的开头是一个特殊的字符不能直接输出要想输出 %必须在它的前面再加一个 %这个时候 % 就变成了普通的字符而不是用来表示格式控制符了。加减乘除运算的简写有时候我们希望对一个变量进行某种运算然后再把运算结果赋值给变量本身请看下面的例子#include 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;}输出结果a12a20a200a a 8相当于用原来 a 的值也即12加上 8再把运算结果也即20赋值给 a此时 a 的值就变成了 20。a a * b相当于用原来 a 的值也即20乘以 b 的值也即10再把运算结果也即200赋值给 a此时 a 的值就变成了 200。以上的操作可以理解为对变量本身进行某种运算。在C语言中对变量本身进行运算可以有简写形式。假设用 # 来表示某种运算符那么a a # b可以简写为a # b# 表示 、-、*、/、% 中的任何一种运算符。上例中a a 8可以简写为a 8a 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 仅是一种简写形式不会影响程序的执行效率。声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。