一、布尔类型
C++中的布尔类型
C+在C语言的基本类型系统之上增加了bool
C++中的bool可取的值只有ture和false
理论上bool只占有一个字节
bool类型还有true(非0)和false(0)两个值
C++编译器将非零值转化为true,0值转换为false;
注意:
true代表真值,编译器内部用1来表示;
false代表非真值,编译器内部用0来表示;
示例代码:
#include <stdio.h>
int main(int argc,char *argv[])
{
bool b= 0;
printf("b =% d\n",b);
b++;
printf("b =% d\n",b);
b-=3;
printf("b =% d\n",b);
}
运行结果:
b=0;
b=1;
b=1;
示例代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
bool b = false;
int a = b;
printf("sizeof(b) = %d\n",sizeof(b)); //1
printf("b= %d,a= %d\n",b,a); //0,0
b = 3;
a = b;
printf("b= %d,a= %d\n",b,a); //1,1
b = -5;
a = b;
printf("b= %d,a= %d\n",b,a); //1,1
a = 10;
b = a;
printf("a= %d,b= %d\n",a,b); //10,1
a = 0;
b = a;
printf("a= %d,b= %d\n",a,b); //0,0
return 0;
}
布尔类型是C++中的基本数据类型
可以定义bool类型的全局变量、常量、指针、数组;
二、三目运算符
C++三目运算符进行了升级
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 1;
int b = 2;
(a < b? a : b) = 3;
printf("a = %d,b =%d\n",a,b);
return 0;
}
运行结果:a=3,b=2
C语言中的三目运算符返回的变量值
不能作为左值使用
C++中的三目运算符可直接返回变量本身
即可作为右值使用,又可以作为左值使用
注意:三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。
三、C++中的引用
变量名回顾
变量是一段实际连续存储空间的别名
程序中通过变量来申请并命名存储空间
通过变量的名字可以使用存储空间
在C++中新增加了引用的概念
引用可以看作一个已定义变量的别名
引用的语法:type&name = var;
注意:
普通引用在定义时必须用同类型的变量进行初始化。
示例代码:
#include <stdio.h>
int main(int argc, char *argv[])
{
int a = 1;
int& b = a;
b = 5;
printf("a = %d\n",a);
printf("b = %d\n",b);
printf("&a = %p\n",&a);
printf("&b = %p\n",&b);
}
运行结果:
a=5;
b=5;
&a = 0xbff64c9c;
&b = 0xbff64c9c;
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。