《C程序设计语言》学习笔记(二)——类型、运算符与表达式

来源:互联网 发布:淘宝网镂空针织衫 编辑:程序博客网 时间:2024/06/14 23:50

Book

2.2
转义字符序列:
‘\ooo’:1~3个八进制数字,表示该字符常量的数值
‘\xhh’:1~2个十六进制数字,表示该字符常量的数值
‘\’:一个反斜杠
‘\?’:一个问号
‘\’’:一个单引号
‘\0’:空字符

2.3
1.“”:空字符串
注意:单引号’x’和双引号”x”表达的含义不同。前者表示字符x杂机器字符集中对应的数值,后者是一个包含两个字符的字符数组。
2.字符串内部使用一个空字符’\0’作为字符串的结尾,但用strlen()得到的字符串s的长度时不包含结尾的空字符。
3.枚举常量

2.5
算数运算符的优先级比关系运算符高,关系运算符的优先级比与或非高,与或非的优先级比赋值运算符的高。

2.7
1.符串转换为整型数的算法:

int StringToint(char ori[]){    int i,result = 0;    for(i = 0;i < strlen(ori),i++)        result = result * 10 + ori[i];    return result;}

2.ctype.h 中包含的一些函数:

int tolower(char)  //输入一个大写形式的字符类型,返回对应的小写形式int isdigit(char)  /*这个函数是判断某一个字符是否为数字,可以用一个字符数组接受输入的字符,然后循环判断每一个字符是否为数字,如果其中一个不是数字,那么返回0,否则返回非0。*/

3.强制类型转换
(类型名,如int、char) 表达式(如n)
注意:1.把位数较多的类型转换成位数较少的类型时,高位部分会被舍去
2.强制类型转换是生成了一个新类型的数,存放在原变量中的数值并没有改变

2.9
按位与:常用于对某些位置0;
按位或:常用于对某些位置1;
位运算符顺序:~ >> << & |

一些常用的位运算算法(设原始序列x从左到右序号依次减小,最右序号为0)
通用法则:把第i位移动到第j位(i > j)进行的操作是 >> (i – j)
1.保留低n位,高位置1:~0 << n | x
2.保留低n位,高位置0:~(~0 << n) & x
3.保留从第n位开始向右数p位,其余位置1:~(~0 << p+1) ^ (~0 << p-n+1) | x
4.保留从第n位开始向右数p位,其余位置0:~(~0 << p+1) & (~0 << p-n+1) & x
3.从第n位开始向右数p位置1,其余位保留:(~0 << p+1) ^ (~0 << p-n+1) | x
4.从第n位开始向右数p位置0,其余位保留:~((~0 << p+1) ^ (~0 << p-n+1)) & x

0 0
原创粉丝点击