当前位置: 首页 > news >正文

孝感个人网站建设软件安卓下载

孝感个人网站建设,软件安卓下载,佛山移动网站建设费用,深圳网站搭建电话文章目录 一、C中的布尔类型 二、C中的三目运算符 三、C中的引用 四、总结 一、C中的布尔类型 C在C语言的基本类型系统之上增加了boolC中的bool可取的值只有true和 false理论上bool只占用一个字节C编译器会将非0值转换为true ,0值转换为false 注意: true代表真…

文章目录

一、C++中的布尔类型

二、C++中的三目运算符

三、C++中的引用

四、总结


一、C++中的布尔类型

  • C++在C语言的基本类型系统之上增加了bool
  • C++中的bool可取的值只有truefalse
  • 理论上bool只占用一个字节
  • C++编译器会将非0值转换为true ,0值转换为false

注意:

true代表真值,编译器内部用1来表示

false代表非真值,编译器内部用0来表示

         下面看一下这段代码,加深一下对bool类型的理解。

#include <stdio.h>int main(int argc, char *argv[])
{bool b = 0;printf("b = %d\n", b);b++;printf("b = %d\n", b);b = b - 3;printf("b = %d\n", b);return 0;
}

        下面为输出结果,可以看到0值输出为0,而非0值输出为1,和上面介绍的一样。

         接下来再上一段代码,再次加深对布尔类型的理解。

#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;
}

        下面为输出结果,可以看到bool类型只占用一个字节,且输出符合上面讲的理论。 

 布尔类型是C++中的基本数据类型

  • 可以定义bool类型的全局变量
  • 可以定义bool类型的常量
  • 可以定义bool类型的指针
  • 可以定义bool类型的数组
  • ......

二、C++中的三目运算符

  • C++对三目运算符进行了升级
  • C语言的三目运算符返回的是变量值
    • 不能作为左值使用
  • C++中的三目运算符可直接返回变量本身
    • 既可作为右值使用,又可作为左值使用

注意:三目运算符可能返回的值中如果有一个是常量值,则不能作为左值使用。

         通过下面这个程序来说明一下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;
}

        下面为输出结果,可以看到上面的程序在C语言的编译条件下编译不通过,而在C++的编译条件下编译通过, 这说明在(a < b ? a : b)代码中,因为a < b ,所以输出a的值,然后把3赋值给a。

  • C++对三目运算符做了什么?
    • 当三目运算符的可能返回都是变量时返回的是变量引用
    • 当三目运算符的可能返回中有常量时返回的是值

        从C++编译器输出结果也可知,第一种写法编译可以通过,第二种写法编译不通过,如下图所示。 

三、C++中的引用

  • 变量名回顾
    • 变量是一段实际连续存储空间的别名
    • 程序中通过变量来申请并命名存储空间
    • 通过变量的名字可以使用存储空间 
变量命名及对应地址
  • 在C++中新增加了引用的概念
    • 引用可以看作一个已定义变量的别名
    • 引用的语法: Type& name = var;

注意:普通引用在定义时必须同类型的变量进行初始化

        以下面的程序为例,说明一下引用。 

#include <stdio.h>int main(int argc, char *argv[])
{int a = 4;int& b = a;    //b为a的别名printf("a = %d, b = %d\n", a, b);    //操作b就是操作areturn 0;
}

        下面为输出结果,可以看到a和b均为4,这就很好的说明了引用的概念。       

         为了进一步理解引用,下面对上述程序进行了修改。

#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变量的别名b对a变量进行了修改,操作b就相当于操作a,C++中可以对同一段连续的内存起任意多的别名 ,所以标识符a和b代表内存里面同一段连续的空间。

         如果我们把 int& b = a; 改成 float& b = a; 或者改成 float& b; 或者改成  float& b = 1,则编译器分别报如下错误,这说明C++编译器对数据类型要求是非常严格的。

四、总结

  • bool类型是C++新增加的基础类型
  • bool类型的值只能是truefalse
  • C++中的三目运算符可作为左值使用
  • C++中的引用可以看作变量的别名来使用
  • 三目运算符的可能返回都是变量时返回的是引用 

http://www.yayakq.cn/news/198089/

相关文章:

  • 百度输入法下载网站整站优化
  • 临沂网站公众号建设wordpress主题akina
  • 申请网站的域名郑州建设网站企业定制
  • 分类型网站建设免费h5生成网站
  • 腾讯建设网站视频视频视频做网站要买服务器吗
  • 中山企业网站优化出售友情链接是什么意思
  • 怎么在百度建设一个网站wordpress wp loginpro
  • 网站建设协议百度怎样才能搜到自己的网站
  • 毕业设计网页制作网站建设湖南网站开发 岚鸿
  • 个人备案做别的网站看免费的视频的软件app
  • 大型网站建设制作wordpress文章目录分页
  • 网站商城运营成本广州企业搜索引擎优化服务
  • 龙岗企业网站建设什么是网站交互
  • 网站开发地图网络营销主要内容
  • 做农产品网站需要办什么证什么样企业需要网站建设
  • 自己做的网站打开超慢网站备案表格
  • 诸暨有哪些制作网站公司江苏网站建设培训
  • 麻将棋牌网站开发番茄小说推广对接平台
  • 做seo还要需要做网站吗网站写动态新闻有什么好处
  • 做网站 设备地方建立网站做SEM
  • 易思espcms企业网站管理系统南京平台网站建设
  • 沈阳网站建设哪里的公司比较好wordpress注册页面带邀请码
  • 手机访问网站自动跳转wordpress网站建设公司
  • 玉田住房与城乡建设局网站怀化seo优化
  • 成都集团网站建设国家企业信用公示(上海)
  • 怎么样做网站磁力猫
  • 中国行业网站大全用dw做网站的空格怎么打
  • 那个免费做微信订阅号的网站界面网页设计培训
  • 怎么做游戏和网站漏洞网站管理员怎样管理员权限
  • 哪个网站的域名到期直接注册自建网站怎么做推广