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

以下正确的叙述是A)在C程序中,语句之间必须要用分号“:”分隔B)若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数C)在C程序中,无论是整数还... 以下正确的叙述是
A)在C程序中,语句之间必须要用分号“:”分隔
B)若a是实型变量,C程序中允许以下赋值a=10;因此,实型变量中允许存放整型数
C)在C程序中,无论是整数还是实数,都能准确无误的表示
D)在C程序中,%是只能用于整数运算的运算符

我想问,A为什么错?D为什么对啊?如printf("%%d\n",a);这样子,就用于了%d了?怎么会只能用于整数运算?
展开
 我来答
写在枫叶上的故事
推荐于2019-10-22 · TA获得超过2.6万个赞
知道答主
回答量:164
采纳率:0%
帮助的人:2.4万
展开全部

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的随机数了;

2、“%”运算还通常用于N进制的转换。

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

参考资料来源:百度百科——运算符

丿MarsHan
推荐于2019-08-05 · TA获得超过4921个赞
知道答主
回答量:79
采纳率:0%
帮助的人:42.7万
展开全部

C语言,%是除法取余运算,只能适用于整数与整数运算。

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

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

在printf函数中的%d是以整型格式输出。

扩展资料

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

C语言各运算符之间还存在优先级关系,具体如下:

第一类,数组下标、圆括号、成员选择,结合方向为从左至右。

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

第三类,乘除、取余,结合方向从左至右。

第四类,加减,结合方向从左至右。

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

第七类,按位与、按位或、按位异或,结合方向从左至右。

第八类,条件运算符,结合方向从右至左。

第九类,赋值、各种操作后赋值,结合方向从右至左。

第十类,逗号运算符,结合方向从右至左。

参考资料:

百度百科-运算符

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
又下雨了今晚
推荐于2017-11-27 · TA获得超过146个赞
知道答主
回答量:42
采纳率:0%
帮助的人:60.5万
展开全部
A:语句必须以分号结束,但语句之间还可以用大括号。
D:单独的一个%,是取余运算符,取余要在整数之间进行。%和d,f,c之类的连用,应该看作一个整体!不能单独看成一个运算符!!!
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhenzhenyicheng
2009-07-22 · TA获得超过149个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:124万
展开全部
在C程序中,语句之间必须要用分号“;”分隔
%是只能用于整数运算的运算符
而printf("%%d\n",a);中第一个%为字符,第二与d结合不是运算符,%当运算符时就是取余运算
只能用于整数运算的运算符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
纹余桃Y
2009-07-22 · TA获得超过392个赞
知道小有建树答主
回答量:256
采纳率:0%
帮助的人:278万
展开全部
你A打错了吧??分号也不是冒号啊。。。。你说的printf("%%d")这的%也不是运算符啊。。。%当运算符时就是取余运算符。。。两边必须是整型数据。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式