《Visual C++ 开发从入门到精通》——2.6 数据类型

简介:

本节书摘来自异步社区出版社《Visual C++ 开发从入门到精通》一书中的第2章,第2.6节,作者: 王东华 , 李樱,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.6 数据类型

知识点讲解:光盘视频PPT讲解(知识点)第2章数据类型.mp4

我们编写的一系列操作都是基于数据的,但是不同的项目、不同的处理功能会需要不同的数据,为此C++推出了数据类型这一概念。数据类型规定了数据的组织和操作方式,它能说明数据是怎么存储的以及怎么对数据进行操作。C++中的数据类型可以分为四大类。

数字型。
逻辑运算型。
字符型和字符串。
复合类型。
本节将详细讲解上述4种数据类型的基本知识。

2.6.1 数字型

数据是人们记录概念和事物的符号表示,如记录人的姓名用汉字表示、记录人的年龄用十进制数字表示、记录人的体重用十进制数字和小数点表示等,由此得到的姓名、年龄和体重都叫数据。根据数据的性质不同,将其可以分为不同的类型。在日常开发应用中,数据主要被分为数值和文字(即非数值)两大类,数值又细分为整数和小数两类。

这里的数字型是指能够进行数学运算的数据类型,可以分为整型、浮点型和双精度型。整型数字可以用十进制、八进制、十六进制等进制表示。根据整型字长的不同,又可以分为短整型、整型和长整型。

表2-2列出了在32位编译器中的基本数据类型所占空间的大小和值域范围。

表2-2  数据类型说明


c74f8cf52a94ef3defa8c69d9142237190848004

90c7677c44d2ef4577f75f41dd16368ce6c2df8f

2.6.2 逻辑运算型

逻辑运算型用来定义逻辑型数据的类型,用关键字bool来说明。在C++中没有提供专门的逻辑类型,而是借用了其他类型来表示,如整型和浮点型。在C++中用0来表示逻辑假,1表示逻辑真。并分别定义了宏true表示真,false表示假。C++提供了3种逻辑运算符,如表2-3所示。

表2-3    C++逻辑运算符


8ab35b24dd1dd2f9f14342131b5379ba7ecdb061

逻辑非(!)是单目运算符,它将操作数的逻辑值取反,即如果操作数是非零,它使表达式的值为0;如果操作数是0,它使表达式的值为1。

逻辑与(&&)与逻辑或(||)的含义如表2-4所示。

表2-4  逻辑与(&&)和逻辑或(||)运算


d40a23f8e450b0abef12625d20f79fad77eae9f8

下面是一些有效的逻辑表达式。

!20                         //结果得出 0
10 &&                       //结果得出 1
10 || 5.5                   //结果得出 1
10 && 0                     //结果得出 0```
2.6.3 字符型和字符串
字符型包括普通字符和转义字符,下面将详细讲解。

1.普通字符
普通字符常量是由一对单引号括起来的单个字符,例如:

'a' //字符常量
'A' //字符常量`
在此,a和A是两个不同的常量。

字符型表示单个字符,用char来修饰,通常是8位字长,具体格式如下。

char var;
其中,char是说明符,var是变量名,每个变量只能容纳一个字符,每个字符用一对单引号包含进来。

2.转义字符
转义字符常量是一种特殊表示形式的字符常量,是以“”开头,后跟一些字符组成的字符序列,表示一些特殊的含义。在C++语言中,有如下常用字符。

':单引号。
":双引号。
\:反斜杠。
0:空字符。
a:响铃。
b:后退。
f:走纸。
n:换行。
r:回车。
t:水平制表符。
v:垂直制表符。
xnnn:十六进制数(nnn)。
例如下面的代码:
`
printf( "ThisnisnantestnnShe said, "How are you?"n" );`
执行上述代码后将输出:

This
is
a
test
She said, "How are you?"````
3.字符串
字符串与字符数组都是描述由多个字符构成的数据,字符串借用字符数组来完成处理。在使用字符串时需要注意如下4点。

(1)字符串数据用双引号表示,而字符数据用单引号。

(2)字符串的长度可以根据串中字符的个数临时确定,而字符数组的长度必须事先规定。

(3)对字符串,系统在串尾加“\O”作为字符串的结束标志,而字符数组并不要求最后一个字符为“\O”。

(4)用字符数组来处理字符串时,字符数组的长度应比要处理的字符串长度大1,以存放串尾结束符“\O”,例如:
`
static char city[9]=“c”,“h”,“a”,“n”,“g”,“s”,“h”,“a”,“\0\”),0=1
可用字符串描述为:`
`
static char city[9]={\"changsha\"}或\"changsha\";`
上述两条语句可分别理解为用字符数组来处理字符串,用字符串对字符数组初始化。但千万注意不能在程序中给字符数组赋值,例如:
相关文章
|
24天前
|
开发框架 Linux C语言
C、C++、boost、Qt在嵌入式系统开发中的使用
C、C++、boost、Qt在嵌入式系统开发中的使用
31 1
|
1月前
|
JavaScript 编译器 API
【C++ 函数和过程 进阶篇】全面掌握C++函数返回值:从入门到精通的实战指南
【C++ 函数和过程 进阶篇】全面掌握C++函数返回值:从入门到精通的实战指南
71 1
|
2天前
|
设计模式 存储 Java
C++从入门到精通:3.5设计模式——提升代码可维护性与可扩展性的关键
C++从入门到精通:3.5设计模式——提升代码可维护性与可扩展性的关键
|
2天前
|
存储 C++
C++从入门到精通:1.1.4基础语法之控制流
C++从入门到精通:1.1.4基础语法之控制流
|
2天前
|
存储 编译器 C++
C++从入门到精通:1.1.2基础语法之数据类型
C++从入门到精通:1.1.2基础语法之数据类型
|
18天前
|
存储 程序员 C++
C++数据类型
C++数据类型
|
24天前
|
存储 C++
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
|
1月前
|
算法 IDE Java
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
【软件设计师备考 专题 】面向对象程序设计语言:C++、Java、Visual Basic和Visual C++
41 0
|
1月前
|
存储 安全 编译器
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
【C/C++ 基本数据类型】C++ 基本数据类型深度解析与C语言对比
59 0
|
1月前
|
Java API 开发工具
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用(三)
【软件设计师备考 专题 】C、C++、Java、Visual Basic、Visual C++等语言的基础知识和应用
30 0