c程序设计语言 读书笔记02

              第二章 类型、运算符与表达式

  1. 变量名:名字有字母和数字组成,第一个字符必须是字符。下划线“_”被看作字母,通常用于命名较长的变量名,以提高其可读性。
全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount,即:变量名=g_+变量类型+变量的英文意思(或缩写)     
静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst,即:     变量名=s_+变量类型+变量的英文意思(或缩写)   
成员变量用m_开头,如一个长型成员变量定义为m_lCount;即:变量名
=m_+变量类型+变量的英文意思(或缩写)
对枚举类型(
enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。 如:enum cmEMDAYS { EMDAYS_MONDAY; EMDAYS_TUESDAY; };
对struct、union、class变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致 结构一般用S开头 如:
struct ScmNPoint { int nX;//点的X位置 int nY; //点的Y位置 }; 联合体一般用U开头 如: union UcmLPoint { long lX; long lY; } 类一般用C开头 如: class CcmFPoint { public: float fPoint; }; 对一般的结构应该定义为类模板,为以后的扩展性考虑 如: template class CcmTVector3d { public: TYPE x,y,z; };
对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。 如:
#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。
对const 的变量要求在变量的命名规则前加入c_,即:c_+变量命名规则;例如: const char* c_szFileName;

  2.数据类型及长度

 1 char      字符型,占用一个字节  8位
 2 short      短整型   通常为16位
 3 int         整型,通常反映了所用机器中整数的最自然长度  可以为16或32位
 4 long       长整型   通常 32位
 5 float       单精度浮点型
 6 double    双精度浮点型
 7 
 8 
 9 类型限定符signed 和unsigned 可以用于限定char类型或任何整型,unsigned类型的数总是大于或等于0
10 
11 浮点型的长度也取决于具体的实现,floatdouble 与long double类型可以表示相同的长度,也可以表示两种或三种不同的长度。

  3.常量 

1 包括数字常量和字符常量
2 一个字符常量是一个整数

  4.声明

1 所有的变量,函数都必须先声明,然后在使用
2 可以在声明的时候对变量初始化,也可以不初始化例如:
3 int  time = 44 5 int time;
6 time = 47 
8 任何变量的声明都可以使用const限定符限定。该限定符指定的变量不能修改该,对于数组而言,const限定的数组所有元素都不能被修改。

  5.算数运算符

1 算数运算符包括,+,-,×,/,%。“/”是整数除法,结果不会有小数,取商值,“%”是取模运算,取余数值,不能用于float和double型。
2 
3 二元运算符“+”“-”优先级比“×”“/”“%”低,而“×”“/”“%”的优先级又比一元运算符”+“-”低

  6.关系运算符和逻辑运算符

1 关系运算符有>,=,<,>=,<=它们具有相同的优先级,优先级又比!=和==低一些
2 关系运算符的优先级低于算数运算符
3 逻辑运算符“&&”的优先级高于逻辑运算符“||”,但它们都低于算数运算符和逻辑运算符
4 pS;在不确定优先级顺序时,就不要挑战自己的记忆力,最好的办法就是用()

  7.类型转换

1 低精度会自动向高精度转换,数据不会丢失,但是高位部分会根据机器填充“0”或“12 高精度向低精度转换时会丢失数据信息

  8.自增运算符和自减运算符

int i= 5int a = i++; //先赋值给a,然后i自加。a = 5,i = 6;
int b = ++i;//i先自加,再赋值给b,b = 6,i = 6

--与++情况相同

  9.按位运算符

1 c语言提供的按位运算符,这些运算符只能作用于整型操作数,即带符号或不带符号的(int,long,short,char2 &    按位与 (AND) 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现
3 |    按位  (OR) 其功能是参与运算的两数各对应的二进位相或。只要对应的二个二进位有一个为1时,结果位就为1。参与运算的两个数均以补码出现。 
4 <<   左移   其功能是操作数左移
5 >>   右移    其功能是操作数右移
6 ^    按位异或  (XOR) 其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。
7 ~   按位取反(一元运算符) 操作数按位取反

  

posted @ 2013-03-13 21:17  木木园子  阅读(153)  评论(0编辑  收藏  举报
绿色通道: 好文要顶 关注我 收藏该文与我联系