c语言中%只能用于正数吗,C语言中%只能用于整数运算的运算符?

B)若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数

我想问,A为什么错?D为什么对啊?如printf(%%dn,a);这样子,就用于了%d了?怎么会只能用于整数运算?展开我来答

可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

1bf134dc2a81d689823d96f42cb1d94f.png

C语言中,%只能用于整数运算的运算符,%是求余运算符,只能适用于整数与整数运算,如果用于非整数运算,程序会报错导致无法运行。

A选项错误,是因为在C语言中,语句之间的分割要用英文状态下的分号去分割,即“;”,而不是冒号。

D选项正确,是因为%是除法取余运算,适用于整数与整数运算。否则,不同的编译器会得不同结果。作为双目运算符,左右操作数可以是数值,也可以是表达式,但是左右两边的操作数必须是整数。

求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。求余运算的结果等于两个数相除后的余数。“%”取模运算符还有一些小的应用,例如:

1、当你想要通过rand()获得随机数时,rand()%100;产生0-99的随机数。

假如要产生16-59之间的数,可以这样写:rand()%44+16(这里44由59-16+1得到)。

rand()%44 即可获得0-43的随机数,再加上16即可得到16-59的随机数了;

如果是二进制转换,可以通过/与%的结合使用则可以得到转换之后的二进制数了(其实就是短除法),当原数被除至剩余0时,原数的上一次模数就是最高位进制数。

997e902cc8504106d3ae6ba10ec7061a.png

A选项错误,是因为在C语言中,语句之间的分割要用英文状态下的分号去分割,即“;”,而不是冒号。

D选项正确,%是除法取余运算,适用于整数与整数运算。否则,不同的编译器会得不同结果。作为双目运算符,左右操作数可以是数值,也可以是表达式,但是左右两边的操作数必须是整数。否则编译器会报错“error : invalid operands to binary %”。

C语言内置了丰富的运算符,包括:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和杂项运算符。

第二类,负号、强制类型转换、自增自减、取值、取地址、逻辑非、按位取反、长度,结合方向从右至左。

第六类,大于、大于等于、小于、小于等于、等于、不等于,结合方向从左至右。

0c5d30517ed50524db03698dfbf5d507.png

D:单独的一个%,是取余运算符,取余要在整数之间进行。%和d,f,c之类的连用,应该看作一个整体!不能单独看成一个运算符!!!

编辑:admin 作者:admin

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值