c语言中“%=”是什么意思?

如题所述

%是求模的意思,两边必须是整数类型的,求模常用符号为mod,就是小学学的求余运算符。 

例如50%23=4,因为余数为4,所以在程序中必须保证两边为整数才是这个意思。

类似的还有 +=,-=,*=,/= 等。但是a%=b这种运算的效率,要高于a=a%b这种的效率,因为a%=b是直接在a上做求余运算,a=a%b则是先用一个临时变量的来记录好a的值,在进行运算,之后将运算结果再赋值给a,a=a%b要比直接a%=b多了两次赋值运算,因而后者的效率更高。

例如:

a + b, c = b, c++

逗号运算符的优先级是所有运算符中级别最低的,通常配合 for 循环使用。逗号表达式最右边的子表达式的值即为逗号表达式的值。上例中,c++ 的值(c 自增之前的值)即为该表达式的值。

逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算。因此,上例中,c 得到 b 的值后,才进行自增运算。

以上内容参考:百度百科-C语言运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-24
这是个求模赋值运算符,又称求余赋值运算符,即一个数除以另一个数的余数。例如:a%=3,它的的等价式子是a=a%3本回答被提问者采纳
第2个回答  2020-03-16
combine。刚开始是叫b语言,主要由kenTompson开发完成,后来又由Dennis.M.Ritchie在b语言的基础上发展成c语言。所以现在一般说c语言都是由他两发明的。
C语言是在B语言的基础上发展起来的,它的根源可以追溯到ALGOL
60。1960年出现的ALGOL
60是一种面向问题的高级语言,它离硬件比较远,不宜用来编写系统程序。1963年英国的剑桥大学推出了CPL(Combined
Programming
Language)语言。CPL语言在ALGOL60的基础上接近硬件一些,但规模比较大,难以实现。1967年英国剑桥大学的Matin
Richards对CPL语言作了简化,推出了BCPL(Basic
Combined
Programming
Language)语言。1970年美国贝尔实验室的Ken
Thompson以BCPL语言为基础,又作了进一步简化,设计出了很简单的而且很接近硬件的B语言(取BCPL的第一个字母),并用B语言写了第一个UNIX操作系统,在PDP-7上实现。1971年在PDP-11/20上实现了B语言,并写了UNIX操作系统,但B语言过于简单,功能有限。1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言(取BCPL的第二字母)。C语言既保持了BCPL和B语言的优点(精练,接近硬件),又克服了它们的缺点(过于简单,数据无类型等)。最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的%90以上用C改写(即UNIX第5版。原来的UNIX操作系统是1969年由美国的贝尔实验室的K.Thompson和D.M.Ritchie开发成功的,是用汇编语言写的)。
第3个回答  2019-03-01
这是格式化输入输出函数的参数,%c代表输入或输出的参数是字符型。
第4个回答  2020-02-16
\a是
转义字符
007,响铃符
BEL。
printf("%d
",'\a');
输出
7
printf("%c
",'\a');
发出一声“嘀”
printf("\a");
发出一声“嘀”
printf("\007");
发出一声“嘀”
不太常见的C语言的转义字符:
\a
响铃(BEL)
7
\b
退格(BS)
8
\f
换页(FF)12
\v
垂直制表(VT)
11
\t
水平制表(HT)
9
\0
空字符(NULL)0
\数数数
3位8进制,
数0,1,....7
\x数数
2位16进制,
数0,1,....9,a,..f