"《C++语言程序设计》第三版,由郑莉编著,清华大学出版社出版,涵盖了C++的基础知识,包括数据表示、程序设计、常量与变量、枚举类型、运算符与表达式、流程控制语句等内容。"
在C++编程中,了解数据的编码方式是非常基础且重要的概念。原码、反码和补码是用来表示二进制数的不同方法,特别是在处理负数时。原码直接将符号位(最高位)设置为0表示正数,1表示负数,其余位表示数值的绝对值。正数的原码、反码和补码相同,但负数的反码是原码除符号位外所有位取反,而补码则是在负数的反码基础上最低位加1。
在C++中,标识符是用来命名变量、函数、类等程序元素的。合法的标识符必须遵循一定的规则,例如"Program"、"_lock"、"test2"和"A_B_C_D"是合法的,而"-page"、"3in1"、"@mail"由于包含非法字符或者以数字开头而不合法。
使用`const`关键字定义常量比预处理器宏`#define`更具有优势。`const`常量在编译时有类型检查,能避免类型错误,并且在调试时仍可被识别。例如,声明一个名为PI的浮点型常量为3.1416,可以写作`const float PI = 3.1416;`,之后可以将PI的值赋给浮点型变量a,如`float a = PI;`。
枚举类型(enum)在C++中用于创建自定义的整数常量集合,例如`enum COLOR {WHITE, BLACK=100, RED, BLUE, GREEN=300};`,在这个例子中,Blue的值会是102,因为它是RED(默认值为101)后的下一个整数值。
C++中的算术运算符和表达式计算遵循特定的优先级和结合性。表达式`1.201/42.201%43.201/4.0`的计算顺序遵循运算符优先级,结果分别是1.502、1.13和50.25。
流程控制语句如`for`、`while`和`do...while`循环是程序控制流程的关键。例如,要从100到200以步长2进行计数,可以使用以下循环语句:
- `for(int n=100; n<=200; n+=2);`
- `int x=100; while(x<=200) { x+=2; }`
- `int n=100; do { n+=2; } while(n<=200);`
此外,简单的`if`语句可用于比较两个变量并交换较小值,如:`if(x>y) { x=y; } else { y=x; }`
在提供的错误程序示例中,存在语法错误,如缺少分号、未声明变量以及头文件引用不正确。正确的修复程序应该如下:
```cpp
#include <iostream>
int main() {
int i;
int j;
// 其他代码
}
```
这个修正后的程序可以正确编译,但没有指定具体的功能,因此运行结果取决于添加的其他代码。