十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
C语言中和除法相关的运算符有两个"/"整除运算符和"%"取余运算符。
目前成都创新互联公司已为超过千家的企业提供了网站建设、域名、网页空间、网站托管、服务器托管、企业网站设计、郊区网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
整除就是求商,取余就是求余数,这是两者最本质的区别,需要注意的是在C语言%取余运算符只能操作整型数据对象。
如果是两个整数型的变量相除,如10/3,其结果是3,而不是3.3333333;又如10/4,其在C中的结果是2,而不是2.5。也就是说,整数型变量相除,如果其结果从数学角度上看是小数,无论是否可以四舍五入进位,C都会讲小数点后的部分抛弃。
c语言中其他的计算函数。
int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0。
int isgraph(int ch) 若ch是可打印字符(不含空格)(0x21-0x7E)返回非0值,否则返回0。
int islower(int ch) 若ch是小写字母('a'-'z')返回非0值,否则返回0。
double fabs(double x) 返回双精度参数x的绝对值。
long labs(long n) 返回长整型参数n的绝对值。
double exp(double x) 返回指数函数ex的值。
#include
"stdio.h"
#include
"math.h"
void
main(void)
{
int
a,b,c,d,e,g;
float
f;
printf("int
a,b");
scanf("%d
%d",a,b);
c=a+b;
d=a-b;
e=a*b;
f=a/(float)b
;
g=a%b;
printf("c=%d\n
d=%d\n
e=%d\n
f=%f\n
g=%d\n",c,d,e,f,g);
}
整数除整数得到的一定是整数,这个和c语言中的自动类型转换有关,按照我上面写的,把b强制转换成浮点型,这样得到的结果就是浮点型,还有输出浮点型数时用
%f
。
以下是按要求的c语言代码:
#include stdio.h
int negate(int i)
{
return -i;
}
int abs(int i)
{
if (i0) return negate(i);
return i;
}
int main()
{
int i,x,m,n;
printf("input m,n:")
scanf("%d%d",m,b);
//减法
x=m+negate(n);
printf("m-n=%d\n",x);
//乘法
x=0;
for(i=0;iabs(m);i++) x+=n;
if(m0) x=negate(x);
printf("m*n=%d\n",x);
//除法
if(n) //n必须非0,即除数不可为0
{
x=0;
for(i=0;xabs(m);i++) x+=abs(n);
if(x!=abs(m)) i=i+negate(1);
if(m0) i=negate(i);
if(n0) i=negare(i);
printf("m/n=%d\n",i);
}
return 0;
}
有疑问可以追问。
1.引入头文件#include "stdafx.h"#和include "stdio.h"。
2.定义主函数void main(){},插入如下代码:
float PI=3.1415926;
int number=0;
number=(int)PI;
printf("%d\n",number);
3.按红叹号测试。C语言有以下几种取整方法: 1、直接赋值给整数变量... 而下面介绍的取整函数返回值是double