C++语言教程(详解,会更新)——第5篇:多种多样的C++类型
2019-08-30 12:06
78 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Tinx_G/article/details/100152928
正文 预习&作业
非自定义的类型我们称之为“基本数据类型”。
提示:字符要放在两个单引号
文章目录
对于本系列声明
版权声明
copyright 2019 XyloZebra 原创,请勿抄袭!
转发请注明原贴位置
悄悄地告诉你:这名字分为Xylo和Zebra,是我真名的首字母组成的单词!
系列内容声明
- 这个系列适合想学C++的菜鸟或略懂一些的人,大佬请绕路而行。
- 这个系列基本涵盖所有C++基础知识。
- 参考文献:《零基础学C++》吉林大学出版社
百度百科
系列文章链接
- 入门篇
# 第1篇:计算机语言的崛起
# 第2篇:Hello C++!
# 第3篇:智能的输出和输入流
# 第4篇:C++变量的那些事儿
正文
Hello,大家好
上篇文章我讲了关于C++变量的知识。
定义变量需要:
[类型] [标识符];
这篇文章我们就学习一下C++类型的知识。
整型
整型类型是一个大家庭,有很多描述整型数字(就是整数)的类型。
类型 | 范围 | 描述 |
---|---|---|
[signed] int |
-2147483648-2147483647 | 整型 |
unsigned [int] |
0-4294967295 | 无符号整型 |
[signed] short [int] |
-32768-32767 3ff7 | 短整型 |
unsigned short [int] |
0-65535 | 无符号短整型 |
[signed] long [int] |
-2147483648-2147483647 | 长整型 |
unsigned long [int] |
0-4294967295 | 无符号长整型 |
[signed] long long [int] |
-9223372036854775808-9223372036854775807 | 超长整型 |
unsigned long long [int] |
0-18446744073709551615 | 无符号超长整型 |
如果一个类型存储的数据超出范围(学名叫溢出),就会又从范围中最小的数记起。如:
int outtaRange_num=2147483648;
此时
outtaRange_num的值溢出,所以又从最小记起,是-2147483648。
相信大家一看到“无符号”就晕了吧!这是一个术语。观察一下,所有无符号整型类型的范围,其实无符号只表示正整数和零。
PS:中括号中的都可以省略。
实型
类型 | 范围 | 有效位数 | 描述 |
---|---|---|---|
float |
3.4 X 10^-38 - 3.4 X 10^38 | 6~7 | 单精度实型 |
double |
1.7 X 10^-308 - 1.7 X 10^308 | 15~16 | 双精度实型 |
long double |
-1.2 X 10^-4932 - 1.2 X 10^4932 | 18~19 | 长双精度实型 |
注意:实型类型中没有无符号的。
布尔型
布尔型
bool用于描述真或假两种状态:
bool t=true; bool f=false;
字符型
一般来说,字符型有两种:
[signed] char //-128-127
unsigned char //0-255
为什么要存储字符的类型存储的却是整型数字呢?
这要从ASCII码说起:
ASCII字符表将字符表示为0-127的整型数字,而
char和
unsigned char刚好可以表示。如下:
char A='A'; //char A=65;
用户自定义类型
之后会讲到,我们可以自己定义类型供使用,也可以用C++自带库里头的类型。
string类就是一个例子。
非自定义的类型我们称之为“基本数据类型”。
编程挑战
请声明一个char,赋值一个字符。
再声明一个long,将char复制赋值给这个long。
再用cout输出流输出这两个变量,用逗号
,分隔。
提示:字符要放在两个单引号
'中间,如:
'C'
代码示例
char实现
#include <iostream> using namespace std; int main() { char c='s'; int c_int=c; cout<<c<<','<<c_int<<endl; //注意,你不能将在两个双引号中的字符串赋值给char或unsigned char //不能:char a="a"; return 0; }
unsigned char实现
#include <iostream> using namespace std; int main() { unsigned char c='s'; int c_int=c; cout<<c<<','<<c_int<<endl; //注意,你不能将在两个双引号中的字符串赋值给char或unsigned char //不能:unsigned char a="a"; return 0; }
预习&作业
下一节:基本数据类型之间的转换
预习:隐式转换和显式转换
作业:将本节课所有学到的类型都定义一个变量,cout输出看看。(除了string和用户自定义变量)
相关文章推荐
- C++语言教程(详解,会更新)——第6篇:基本数据类型之间的转换
- c++ 时间类型详解 time_t
- c++的POD类型详解
- linux c/c++ GDB教程详解
- 16位计算机中C++常用基本数据类型描述 和 字符常量 摘自 钱能C++教程
- C++中char类型详解
- C++类型转换详解
- python基础教程之五种数据类型详解
- 简明python教程 --C++程序员的视角(一):数值类型、字符串、运算符和控制流
- [教程] 在电脑上安装Android模拟器-部分更新详解
- c++ 时间类型详解 time_t
- linux c/c++ GDB教程详解
- c++ 时间类型详解 time_t
- c++ 时间类型详解 time_t
- c++ 时间类型详解 time_t
- C++入门教程,全套C++基础教程(已更新完毕)
- Python安装与基本数据类型教程详解
- Effective Modern C++ Item1 模板类型推导详解
- Java中JNI的使用详解第一篇:Jni 调用C++图文教程
- 初学C++之自定义类型名简化详解