戳一戳!和我一起走进C++的世界
导读
C++是信息学中非常重要的一门课程,也是绝大多数学生入门信息学、参加信息学竞赛所必备的一门编程语言。
掌握C++,不仅可以让孩子对电脑、编程有更加深刻的认识,也能将学习信息学的方法应用到其他学科领域,特别是能够促进孩子对数学逻辑的理解。
本篇文章中,我们一起来回顾一下数据的范围,总结所有的数据类型,并完成课后小练习吧!
1 数据范围问题
1 引入
。
如果我们不考虑有X的情况,我们使用我们之前学过的整数变量来存一下我们的身份证号。
为保证隐私性,我们创建一个身份证号,创建的要符合身份证号的规范:
根据规范,我们创建一个人的身份证号如下:
我们使用int类型来保存,并输出:
警告如下:
执行结果如下:
我们发现,输出的和我们存的不一样。这是因为,保存的数据,超出了int类型的最大值。
2 数据范围扩充
为了解决上面的问题,C++中又有了如下几种类型:
其中unsigned也可以用作前缀,后面我们会详细讲。
每种类型能够存储的数据范围如下:
具体为什么能这几种类型的数据范围是这样,在这里,我们不做过多的说明,我们以后讲到计算机的编码,还会详细讲解。
我们发现,long long类型可以存放19位整数,而身份证号只有18位,所以我们可以使用long long类型来存身份证号:
执行结果如下:
除了整数,小数也有一个类型double可以存比float更大的数据,这两种类型可以统称为:浮点型,它们具体的名字分别是:
它们能存的范围如下:
2 数据类型总结
1 总述
我们最开始学了四种基础结构,这四种基础结构及其对应的类型如下:
这四种结构是我们最常用的,一般来说,这四种结构能解决我们大部分的问题。但是我们还需要更多的结构实现更多的功能。
不过,不管什么类型,定义变量都是一样的:
下面就让我们总结一下我们能用到的所有的类型吧!
2 unsigned 前缀
我们前面说的int类型,是可以存储负数的,C++中提供了一个前缀:unsigned,用来强调:我们定义的类型只能是非负的。
一般来说,unsigned只给整数类型当前缀:
对于非数据类型,例如char类型,意义不大;
对于浮点数类型,它们不支持unsigned前缀。
3 整数相关类型
整数的类型比较多。有下面几个:
注意:
一般来说,int能够满足我们日常定义整型变量需求;
如果int不行,直接使用long long;
如果明确是非负数,直接使用unsigned long long。
4 小数相关类型
小数相关类型一共有两种:
小数类型也可以保存整数,但是不支持int类型的一些操作。所以如果我们要使用整数,尽量还是定义整数类型。
整数类型可以和小数类型做运算,运算的结果还是小数类型。
5 布尔类型
布尔类型的写法为:bool ,布尔类型是这些类型中值最少的,布尔类型只有两个可取的值: true 和 false :
之前我们讲if语句中的条件表达式,它的值就是bool类型。
6 字符与字符串类型
字符就是单个字符,字符串就是多个字符(可以为1个,可以为很多个)。
字符可以利用ASCII码与整数进行转化。具体讲解请看:
注意:
字符串是能保存数据最多的类型,一串字符取出单个字符就是字符类型。
字符串存储的数据多,但是它没有前面那些类型的独特功能。所以我们一般都通过字符分割分割成一个个字符,然后再转化成其他类型进行操作。具体的,我们后面再讲。
3 习题
根据今天讲的内容,完成下面的两道习题。
1 正确编码
有一个编码是11位整数,如果编码满足,前面十位数据加起来之后的数据的个位是编码数的个位,则这个编码就是正确的编码,否则就是错误编码。
现在要求通过键盘输入一个编码,判断这个编码是否为正确编码。
2 简单计算器
写一个简单的计算器能够实现两个数的四则运算,要求两个数据使用double类型。
注意:
除法要判断,分母不能为零。
AI与区块链技术
长按二维码关注