zoukankan      html  css  js  c++  java
  • 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 ~   按位取反(一元运算符) 操作数按位取反

      

  • 相关阅读:
    Java反射研究(3)
    Java反射研究(2)
    Java反射研究(1)
    从百度文库中复制文本的方法
    jdk/bin中的native2ascii.exe使用
    EA经典入门教程
    JSP自定义标签(3)
    JSP自定义标签(1)
    将Java doc转换为chm的方法
    多态性——vptr和vtable
  • 原文地址:https://www.cnblogs.com/lemonloves/p/2958286.html
Copyright © 2011-2022 走看看