呵呵,你是新手吧。你是一个自学者,一直在探索C语言,这次把很多疑问提了出来,是这样吧?让我来回答你的疑问%=,+=,-=,*=,/=是复合赋值运算符,用法:a%=b就是a=a%b,a+=b就是a=a+b,a-=b就是a=a-b,a/=b就是a=a/b。这个规律你也发现了吧,就是a+=b当成a+b后,放到a里面。类似的,a*=b就是a=a*b。<<和>>都是 位运算符 ,如果有一个数a=255,要把它转换成 二进制形式 即11111110,<<是位左移运算符,如果a<<1则11111110往左移一位,1多出来了1个,丢掉,即11111100,再转换成十进制数,即253。,>>是位右移运算符,如果a>>1则11111110往左移一位,0多出来了1个,丢掉,左边补上0,即0111111,再转换成十进制数,即127。用法:a(是一个数字)<<(或>>)b(移动的位数)。if是判断语句,如果( )中的表达式的值非0,则执行下面{ }的语句。!是”非“的意思,跟在它后面的东西和她(即!)的值必定是1或0。如(!1)=0,(!1000)=0,(!非0值)=0,(!0)=1。 if(!a)时,如果a=0,则执行{ }中的语句。举个例子:int a=0if(!a){printf("a=0");}此时输出a=0.但如果a不等于0,则不执行"printf("a=0");"很高兴为你回答问题。