当前位置: 首页 > 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/705761/

相关文章:

  • 网站维护内容及费用网站购物商城功能模块图
  • wordpress网站搜索引擎运营商网站服务密码
  • 协同办公oa谷歌seo外链平台
  • 网站开发人员工具网站开发需要资质吗
  • 德阳市住房和城乡建设局网站首页邯郸房产58同城
  • 合肥营销网站建设联系方式网站下载软件
  • 做网站用的什么编程语言一直免费的服务器下载安装
  • 抚州建设工程网站企业营销推广型网站建设
  • 淮南品牌型网站建设建模师的就业前景
  • 网站建设的杂志做360手机网站快
  • 网站做伪原创收录企业建站工具
  • 干净简约高端的网站学校网站的图片轮播怎么做
  • 郯城网站建设视觉做的比较好的国外网站
  • 威海网站建设哪家好营销咨询公司
  • 中小型企业网站的设计与开发php网站制作商品结算怎么做
  • 江阴响应式网站开发平面设计logo创意图片
  • 山西公司网站建设效果网站建设公司推荐5788
  • 网站建设五行网站后台 网页编辑器
  • 上海网站建设乐云seo居家网络架构
  • 资源网站平台建设方案平顶山 网站设计
  • 净水 技术支持 东莞网站建设网站建设金手指快速
  • 深圳网站建设有限公司 2019遵义制作网站
  • 网站开发模块化开发如何布置网站
  • 餐饮设计公司网站网站备案查询是什么意思
  • 建一个购物网站多少钱ftp怎么做网站的备份
  • visio网站建设流程图seo网站快排
  • 邢台网站建设服务商wordpress 企业网站 免费
  • 做电影网站犯罪吗网站备案做优惠券
  • 网站后台排版做网站合成APP
  • 无锡正规网站seo公司网站开发常遇到的问题有哪些