第四课:布尔类型和引用

学习狄泰软件学院唐老师C++课程笔记,文章内容部分来自唐老师课件
一、布尔类型
(1)C++中的布尔类型

  • C++在C语言的基本类型系统之上增加了bool
  • C++中的bool可取的值只有true和false
  • 理论上是bool只占用一个字节
  • 注意:
  • true代表真值,编译器内部用1来表示
  • false代表非真值,编译器内部用0来表示

(2)布尔类型的值

  • bool类型只有true(非0)和false(0)两个值
  • C++编译器会将非0值转换为false
#include <stdio.h>

int main(int argc, char *argv[])
{
    bool b = false;
    int a = b;
    
    printf("sizeof(b) = %d\n", sizeof(b));
    printf("b = %d, a = %d\n", b, a);
    
    b = 3;
    a = b;
    
    printf("b = %d, a = %d\n", b, a);
    
    b = -5;
    a = b;
    
    printf("b = %d, a = %d\n", b, a);
    
    a = 10;
    b = a;
    
    printf("a = %d, b = %d\n", a, b);
    
    a = 0;
    b = a;
    
    printf("a = %d, b = %d\n", a, b);
    
    return 0;
}

结果:
sizeof(b) = 1
b = 0, a = 0
b = 1, a = 1
b = 1, a = 1
a = 10, b = 1
a = 0, b = 0

  • 布尔类型是C++中的基本数据类型
  • 可以定义bool类型的全局变量
  • 可以定义bool类型的常量
  • 可以定义bool类型的指针
  • 可以定义bool类型的数组

二、三目运算符
C++对三目运算符进行了升级
在这里插入图片描述C语言中的三目运算符返回的是变量值,它不能作为左值使用
C++中的三目运算符可直接返回变量本身,它既可以作为右值,也可以作为左值使用
注意:三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用
在这里插入图片描述在这里插入图片描述三、C++中的引用

  • (1)变量名的回顾
  • 变量是一段实际连续存储空间的别名
  • 程序中通过变量来申请并命名存储空间
  • 通过变量的名字可以使用存储空间
    在这里插入图片描述
    (2)在C++中新增加了引用的概念
  • 引用可以看作一个已定义变量的别名
  • 引用的语法:Type& name=var
    在这里插入图片描述在这里插入图片描述
#include <stdio.h>

int main(int argc, char *argv[])
{
    int a = 4;
    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);
    
    return 0;
}
结果:
a = 5
b = 5
&a = 000000000062FE14
&b = 000000000062FE14

(3)C++对三目运算符做了什么?

  • 当三目运算符的可能返回都是变量时,返回的是变量的引用
  • 当三目运算符的可能返回值中有常量时,返回的是值
    在这里插入图片描述总结:
  • bool类型是C++新增加的基础类型
  • bool类型的值只能是true和false
  • C++中的三目运算符可作为左值使用
  • C++中引用可以看作变量的别名来使用
  • 三目运算符的可能返回值都是变量时,返回的是引用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值