杜甫动动 发表于 2020-10-27 21:19:26

c语言基础学习

1,已有定义 int c,d; 且c和d的值均大于0,表达式“c%d+c/d*==c”的值为?
2,包含双目运算符的表达式一般可表达为(x)op(y),其中op代表运算符,x,y代表操作数。若op是关系运算符或逻辑运算符,则不管x,y为何值,表达式的值是?
能有大佬回答的话,麻烦再讲解一下咯!{:10_254:} {:10_254:}

xieglt 发表于 2020-10-28 11:04:08

c%d+c/d*==c 这句语法有错,你再仔细检查一下,看是不是抄错了。

(x)op(y) 表达式的值可能为 0 ,也可能为 1。

杜甫动动 发表于 2020-10-28 22:29:18

xieglt 发表于 2020-10-28 11:04
c%d+c/d*==c 这句语法有错,你再仔细检查一下,看是不是抄错了。

(x)op(y) 表达式的值可能为 0 ,也 ...

c%d+c/d*d==c
真是不好意思{:10_254:}

xieglt 发表于 2020-10-29 07:19:30

本帖最后由 xieglt 于 2020-10-29 09:09 编辑

c%d+c/d*d==c
先计算c%d,再计算c/d,再计算c/d*d
然后计算c%d+c/d*d
再计算c%d+c/d*d==c

如果c<d,那么c%d等于c,c/d等于0
则c%d+c/d*d等于c+0等于c
则c%d+c/d*d==c的值为1

如果c>d,那么c%d可能等于0,也可能不为0但小于c,当c%d等于0时,c/d*d等于c,
因此原式的值为1
当c%d不为零时,假设c/d=n
那么c%d则等于c-n*d
c%d+c/d*d=c-n*d+n*d=c

所以原式的值为1
页: [1]
查看完整版本: c语言基础学习