首页 > 代码库 > c语言知识(2)
c语言知识(2)
while(n)首先,n在这里被当作了一个条件
其次,当n为真时,进入while循环体(A);否则跳出循环继续执行下面部分(B).
n为0时条件为假 n不为0条件为真
while(j) {
if(j%10 == 2) 如何拆分一个整数
counter++;
j /= 10;}
如果一个整型常量的第一个字符是数字0,那么该常量将被视为八进制数。因此,10与010的含义截然不同
有时候在上下文中为了格式对齐的需要,可能无意中将十进制数写成了八进制数,这种情况需要注意。
用单引号引起的一个字符实际上代表一个整数
但 判断条件可以是 if(d==‘R‘)
return语句的功能是结束函数的执行,并将返回值作为结果返回。返回值是常量、变量或复杂的表达式均可。如果返回值类型为void,则可以直接写return ;。
6.4 位运算
用于对整数类型(int, char, long等)变量中的某一位(bit)或者若干位进行操作。
六种位运算符:& | ^ ~ << >>
&:通常用来将某变量中的某些位置0且同时保留其它位不变,也可以用来获取变量中的某一位。
|:通常用来将某变量中的某些位置1且同时保留其它位不变。
^:通常用来将某变量中的某些位取反,且保留其它位不变。特点:若a^b = c,则c^b = a,c^a = b,可用于简单加密与解密。还能不通过临时变量交换两个变量的值。
eg. int a = 5, b = 7; a = a^b; b = b^a; a = a^b; 即可实现a,b值的交换。
~:单目运算符。
<<:a << b,将a各二进位全部左移b位后得到的值。左移时,高位丢弃,低位补0,a的值不因运算而改变。实际上,左移1位相当于乘以2,左移操作比乘法操作快很多。
>>:a >> b,将a各二进位全部右移b位后得到的值。右移时,移出最右边的位被丢弃,a的值不改变。右移一位相当于除以2,并将结果往小里取整。
对于有符号数(char, int, long等),右移时符号位(即最高位)将一起移动。原符号位为1,高位就补充1;为0时同理。
2.字符串常量占据内存的字节数等于字符串中字符数目+1,多出来的是结尾字符‘\0‘,字符串的长度不包括‘\0‘。
3.""也是合法的字符串常量,称为空串,仍然会占据一个字节的存储空间存放‘\0‘。
.字符串函数都根据‘\0‘来判断字符串结尾
c语言知识(2)