《重学C++》2. C++基础语法

程序生成过程

编译型语言的程序生成过程:


32位计算机中,常见的数据类型大小:

  1. 整数类
    短整型short int:所占内存大小:2byte;

    整型int:所占内存大小:4byte,表示范围:-2^312^31-1;
    unsigned int: 所占内存大小:4byte,表示范围:0
    2^32-1;

    长整型long int:所占内存大小:4byte,表示范围:-2^312^31-1;
    unsigned long: 所占内存大小:4byte,表示范围:0
    2^32-1;

    long long int:所占内存大小:8byte;
    unsigned long long int:所占内存大小:8byte;

    前缀:0、0x/0X分别代表8进制、16进制,不带前缀默认10进制;
    后缀:u/U、l/L分别代表unsigned、long;

  2. 浮点数类(注意:浮点数在内存中都是按科学计数法来存储的)
    单精度float: 所占内存大小:4byte;
    双精度double:所占内存大小:8byte;
    long double:所占内存大小:8byte;
    long long double:所占内存大小:16byte;

    unsigned 浮点数类似 unsigned 整数

  3. 字符类
    char:所占内存大小:1byte;
    unsigned char:所占内存大小:1byte;
    singned char: 所占内存大小:1byte;

    wchar_t:所占所占内存大小:2byte;

    前缀:L(仅大写字母)代表是宽字符(如:L’x’),存储在wchar_t中;
    常量:代表转义字符、通用字符等(如:’\n’);

  4. 字符串类
    由于string在c++中属于类类型,不是基本数据类型,类不能计算其在内存中所占大小,非要用sizeof(string)来算的话,一般算出来的结果是 sizeof(string)=4byte, 如果string字符串内容很多,很明显就不是其真实大小,string类里面有计算其字节大小的函数如:size(),length()。

  5. 指针类
    Win32下的大小为4字节,Win64中为8字节。

标识符命名注意事项

  • 标识符应该直观,使用英文单词组合;
  • 标识符应当符合“min-length & max-information”原则,不要太长,能表达意思即可;
  • 变量名尽量使用“[形容词+]名词”,如newValue、value;同时尽量避免使用数字,如value1;
    函数名可以使用“[动词+]名词”,如DrawGraph;
  • 使用统一的命名法则,如微软匈牙利命名法、大/小驼峰(Camel)命名法、Pascal命名法。



第二章课后练习题

一. 基础题(必做)

  1. 下面标识符是合法的有哪些( bef) (涉及知识点: 2-5 标识符与关键字)
    A.float
    B.ipad
    C.1button
    D. A#BC
    E.my_button
    F. button_1_ok

  2. 请给一个退出按钮命一个好变量名( c)(涉及知识点: 2-5 标识符)
    A. 1button
    B. button1
    C.buttonQuit
    D.button_tuichu

  3. 下面整数常量合法的是( d)(涉及知识点: 2-6 常量)
    A.078
    B.03UU
    C.0x9AHX
    D.0xFFAA00

二. 提高题(选做)
下面程序输出结果是_12__ (涉及知识点: 2-6 常量的宏定义)

1
2
3
4
5
6
#define MA(x) x*(x-1)
void main()
{
int a=1, b=2;
cout << MA(1+a+b)) << endl;
}