C++语言程序设计

C没有bool这个数据类型，C++中定义了bool类型，它只有两个值：true和false。所有的条件表达式返回类型都是bool型，比如n!=0（!=是"不等于"运算符，我们在本章后面要介绍）根据不同的n，返回true或false。true和false有如下关系：
!true==false;
!false==true;
！是取反运算符，我们在本章后面要介绍。我们看一个简单的例子："if (exp1) statement1;"。这个语句的意思是：如果表达式exp1的值是true，就执行statement1，否则就不执行。
如果对一个bool类型变量使用前缀或后缀自增（＋＋）运算符，不管这个变量是false还是true，这个变量将变为true。但是不能对bool类型变量使用前缀或后缀自减（――）运算符（有关自增、自减运算符的内容在本章的后面介绍）。如：

| 例2-4：

#include "iostream.h"
int main(int argc, char* argv[])
{
bool b;
b=false;
cout<<b++;
cout<<b++;
cout<<b;
return 0;
}
程序运行结果为：
011

一个右值为bool型变量将被自动转换成整型，且false被转换成0，true被转换成1。所以上面程序中输出的是011，代表的意思是false、true、true。
C++中还有一种比较特殊的类型，它用于定义函数返回类型，或者用于定义"一般类型"的指针，即该指针可以指向任意类型数据（被const和volatile修饰的变量除外），但是不能定义空类型的变量。例如，
函数声明：void func();
指针定义：void *p;

| 例2-5：

cout << "A true value: ";
cout << true；
cout << endl；
cout << "A false value: "；
cout << false；
cout << endl;
输出结果为：
A true value: 1
A false value: 0