C语言取模
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言知识
一、C语言中的取模运算................................................................................................ - 2 -
二、A++与++A的区别 ..................................................................................................... - 6 -
三、 switch语句 .............................................................................................................. - 6 -
四、 do-while 语句 ......................................................................................................... - 8 -
五、 continue与break ................................................................................................... - 9 -
六、数组.......................................................................................................................... - 10 -
6.1 一维数组............................................................................................................. - 10 -
6.2二维数组.............................................................................................................. - 10 -
6.3 字符数组............................................................................................................. - 11 -
七、函数.......................................................................................................................... - 11 -
7.1 函数定义的一般形式....................................................................................... - 11 -
一、C语言中的取模运算
A%B=A-(AdivB)*B
我们对C的%运算知多少呢?
当是正整数时,可能大家都知道。例如:5%3等于2, 3%5等于3。当存在负数时呢?先看看例子:
例一:
int main()
{
int x;
x = -6%5; printf("%2d/n",x);
x = 6%-5; printf("%2d/n",x);
x = 1%-5; printf("%2d/n",x);
x = -1%-5; printf("%2d/n",x);
x = -6%-5; printf("%2d/n",x);
}
运行结果为:
-1
1
1
-1
-1
例二:
#include
int main()
{
int x;
x = 5%-6; printf("%2d/n",x);
x = -5%6; printf("%2d/n",x);
x = 4%5; printf("%2d/n",x);
x = -4%-5; printf("%2d/n",x);
x = -5%-6; printf("%2d/n",x);
}
运行结果为:
5
-5
4
-4
-5
你看出规律了吗?我帮你总结一下:
余数的定义:当被除数不够整除时余下的数。
当都是正整数时:
除法实际可转化为减数,不够减时剩下的就是余数。
例如:12%5
12-5-5
2
当存在负数时: x%y
i. 当异号时:
if |x|>|y|
result: x+y
else
result: x
例:
-6% 5等于-1
6%-5等于1
5%-6等于5
-5% 6等于-5
ii. 当同号时:
if |x|>|y|
result: x-y
else
result: x
例:
-1%-5等于-1
-6%-5等于-1
-4%-5等于-4
-5%-6等于-5
相信当你记住这个规律后,再遇到这种问题,你不用思考就可以回答出来。但你一定不会满意,因为这不是你想要的结果,你一定觉得还有更深层的
原因。如果你感兴趣,请接着看:
例三:
#include
int main()
{
int x;
x = -6/5; printf("%2d/n",x);
x = 6/-5; printf("%2d/n",x);
x = 1/-5; printf("%2d/n",x);
x = -1/-5; printf("%2d/n",x);
x = -6/-5; printf("%2d/n",x);
}
运行结果: