VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 4581|回复: 103

《实用C++》第5课:C++的数据类型与常量

  [复制链接]
Syc 发表于 2017-8-8 00:13:46 | 显示全部楼层 |阅读模式


1、C++的各种数据类型:


有的网友会问,为什么有这么多的数据类型,烦不烦啊?那我要问你了,你家做饭就用一个盆吗?
是不是有个大盆,中盘,小盆?勺子呢?有大勺,中勺,小勺,露眼勺 等等,刀呢,是不是有切肉的,还有切菜的,还有切水果的?
数据类型也是一样,不同的数据类型有不同的作用。

整型呢,一般用来表示整数,没有小数点的,浮点型一般用来表示有多位小数点的数,字符型呢,一般表示一个一个的字符,比如字母 a,b,c 之类的。
有的网友会问,简单来说,整型和浮点型能不能统一都用浮点型,比如:5.0 就表示整数5,也是可以的。他们占用的空间不一样,那我问你,你在家用饭盆吃饭么?能不能吃,肯定能吃,但是太大了,不方便啊,你喝水呢,用水桶喝水吗?能不能喝,能喝,但是不方便。所以,还是本着什么东西该用到什么地方就用到什么地方,不能乱用,不然不是这不合适,就是那不合适。

类型呢,又可分为 有符号的 和 无符号的,有符号的可以表示负数,无符号的只能表示正数。但是无符号的最大正数会比有符号的最大正数大很多。


2、各种类型所占用的空间大小:即,桶的大小
必须得知道各个“桶”的大小之后,才能决定用哪个来“喝水”,对吧?不然太大浪费,太小了又不够用。


举个栗子:比如说中国有13亿人口,用来表示人口数的变量类型你怎么选?用 short 或者 unsigned short 可以吗?其最大表示的正整数才是65535,也就是 6万 多人,跟13亿差太远了。。。如果用 unsigned int 呢,其最大值是 4294967295,也就是 42亿多,用来表示中国 13 亿人口足够了。但是全球的世界人口呢?

在人口统计学中,世界人口是目前全球的总人数。 世界人口估计在2017年4月24日16时21分(UTC)达到75亿人。 联合国估计,在2100年将进一步增加到112亿。
75亿,112亿,那么现有的 unsigned int 类型又表示不下了,unsigned int 类型占用 4个 字节,所以得找能占用 8个字节的整型才行。上面的那个表没有,再给大家看一个表:


用什么类型啊?unsigned long long 占用8个字节,这回足够用了,其最大值是:18446744073709551615,这个数确实是太大了。。。184万万亿!这回表示全球人口够用了吧!可如果你用 unsigned long long 来表示一个班级中所有学生的数目,那就有点太浪费了。一个班级中所有学生的数量不会超过几百人吧,用个 unsigned short 足够用了,还节省空间。所以说大家以后做编码开发的时候要根据自己的实际情况来选择。

3、空间大小的衡量标准:
我上面说的类型占用几个字节啊什么的,大家可能没个标准也不太好衡量。下面我给大家介绍一个单位:
就目前来说大家可能比较熟悉的单位就是:MB、GB、TB 可能大家比较熟悉了。说今天我买了一块 2TB 的硬盘。昨天我买了一块240G的固态硬盘,我电脑的内存是8G,等等。
存储单位主要有以下这么多:B,KB,MB,GB,TB,EB,ZB,YB,BB
他们之间都是1024倍的关系:
1B   = 8bit(比特)
1KB = 1024B(字节)
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB

有个了这个比较,大家大体上应该知道字节单位的大小了吧!一首MP3音乐文件的大小大概在 3~4MB的样子,一个普通的高清电影一般在1~2GB的样子。

使用重点:要兼顾扩展性与占用空间两方面的需求。小了不够用,容易溢出越界,大了呢既占用空间,又不利于网络传输!
举个例子:有符号的 char 能表示的范围是:-128~+127,你说这个体积小,就占用一个字节,我就用它来表示人的年龄吧,127,但是你不感觉这个数字有点悬吗?真就有某位长寿星,年龄超过127也不是不可能啊,所以一味的为了节省空间,而选择占用小的类型也不是明智之举,容易越界溢出。所以用个 short 来表示还是比较不错的,取值范围既够用,占用空间也才 2 个字节。另外,年龄不可能是负数,所以直接用 unsigned short 就可以了。

4、C++中的常量:
常量的分类:
①、数值常量:整型、浮点型;
整型:5,6 之类的;
浮点型:1.3, 2.6 等等,就是带小数点的;

②、字符常量:普通字符常量、转义字符常量、字符串常量;
普通字符常量:'a','d'等
转义字符常量:


字符串常量:"zhangsan"

③、符号常量:宏定义:#define PRICE 30

5、常量示例代码:
#include <iostream>
using namespace std;

//苹果的价格是5块钱一斤

  1. #include <iostream>
  2. using namespace std;

  3. #define Apple_Price 5

  4. int main()
  5. {
  6.         cout << "Hello World." << endl;
  7.         cout << "张三 要去买苹果啦..." << endl;

  8.         int num = 10; //10斤
  9.         int total_money = num * Apple_Price;
  10.         cout << "张三要买 " << num << " 斤苹果,每斤 " << Apple_Price << " 块钱,总共要付:\n" << total_money << " 元" << endl;

  11.         return 0;
  12. }
复制代码


6、小作业:
自己编写代码实现输出单引号和双引号!

第5课免费试看,下载地址(回复后可见):
游客,如果您要查看本帖隐藏内容请回复


#######################################################
获得所有教学视频、课件、源代码以及售后答疑详见:
《实用C++》:http://www.cctry.com/thread-275996-1-1.html
VC驿站官方客服QQ:8260671

#######################################################

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?加入驿站

x

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

mixskey 发表于 2017-8-8 00:27:12 | 显示全部楼层
刚刚注册了 VC驿站,感觉蛮好的,新手的东西确实不少,支持楼主!继续学习 C++

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

Mtong 发表于 2017-8-8 10:52:27 | 显示全部楼层
学习了,支持老大

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

tomok 发表于 2017-8-8 17:01:14 | 显示全部楼层
坚持 8年的C网站  不错!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

1332129756 发表于 2017-8-8 20:34:25 | 显示全部楼层
注意:VC6.0 里面不可以用 long long 类型
建议: 上机的时候用vs来写

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

2017666 发表于 2017-8-9 16:34:09 | 显示全部楼层
学习了 哈哈哈~~~~~~~~~

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

supersct 发表于 2017-8-9 19:27:44 | 显示全部楼层
学习了
感谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

布衣木人 发表于 2017-8-9 20:18:22 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

jesy 发表于 2017-8-9 21:28:46 | 显示全部楼层
学习了啊。。。。。。。。。。。。。。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

ChenLeo 发表于 2017-8-10 10:30:14 | 显示全部楼层
学习一下谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

滴水 发表于 2017-8-10 15:46:15 | 显示全部楼层
一直 就是没学好C 和 C++ 很郁闷

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

t682685 发表于 2017-8-10 15:58:10 | 显示全部楼层
学习一下谢谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

renjishuang 发表于 2017-8-10 16:02:51 | 显示全部楼层
非常感谢

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

123fengye 发表于 2017-8-10 17:04:37 | 显示全部楼层
学习一下 看看怎么样

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

initialb 发表于 2017-8-10 20:27:54 | 显示全部楼层
更新速度好快,拉下好几节了

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

zp521 发表于 2017-8-10 22:49:17 | 显示全部楼层
学习学习!!!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

maixiu 发表于 2017-8-11 06:04:22 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

abc_123 发表于 2017-8-11 22:56:08 | 显示全部楼层
学习了,感谢分享!

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

csa 发表于 2017-8-12 00:04:20 | 显示全部楼层
不错,下载学习

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

Tiptoe 发表于 2017-8-12 21:50:29 | 显示全部楼层
通俗易懂,的确不错

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请编辑帖子并把分类改成【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】【驿站币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入驿站

本版积分规则

展开

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )

返回顶部
x

VC驿站微信公众号cctry2009

GMT+8, 2017-12-14 04:29

Powered by Discuz!

© 2009-2017 cctry.com

快速回复 返回顶部 返回列表