一个计算机程序的基本操作过程包括读入数据,对数据进行处理,然后再输出相应的结果(输出数据)。但是数据是什么呢?如何在计算机中存储以及表示数据呢?这一切都是由数据的类型决定的。C++中,不同的数据类型在计算机中的存储形式和表示方法,以及我们可以对该类型的数据进行的操作都不尽相同。这很容易理解,例如我们可以对整数或实数类型的数据进行加减乘除的运算操作,但却不能对字符串类型的数据进行这些操作。反之,我们可以对字符串进行插入,删除或者是连接操作,但却无法对整数或者实数进行这些操作。本节将详细介绍C++的几种基本数据类型,包括整型,字符型,布尔型和浮点型(实数型)。(注脚:
:这些并不是所有的基本数据类型,还有两种特殊的基本数据类型我们以后再讲。)
小知识:有些读者可能已经注意到这几种基本数据类型并不包括我们上面提过的字符串,那是因为字符串并不属于基本类型(Foundamental Types)。字符串是一种稍微复杂的数据类型,我会在以后的章节详细的讲述。简单来说,字符串是由一个一个的字符组合而成的,这种由其他数据类型组合而成的类型在C++中被统称为复合类型(Compound Types)。
在C++中,数据最简单也是最直接的表达方式是直接把他们的值写出来,例如2012, 3.14159,'a',"I am a C++ programmer."等。这些被直接表达出来的数据有一个看似很奇怪的名字``字面值常量''。字面值是说这些数据的值就是我们看到的文本符号(字面上的值),而常量是说这些数据无法被更改(注脚:字面值常量的英文为Literal,原意是``字面上的'',但在C++中,Literal指的是``表示常数的文本符号'' 。)。如果你还是觉得很难理解,请看下面这个例子,
2012是整数字面值常量,3.14159是浮点字面值常量,'a'是字符字面值常量,"I am a C++ programmer."是字符串字面值常量。这个程序的作用仅仅是把这些用字面值常量所表达的数据输出。从输出结果可以看到,这些数据的值就是我们敲入键盘的字面上的值。要注意的一点是字符字面值常量是单引号而字符串字面值常量是双引号。字符型和字符串型数据的值是引号括起来的内容而不包括引号本身。
你也许已经猜到了,上面提到的几种基本数据类型都有其对应的字面值常量(布尔字面值常量稍后介绍)。接下来的几小节将详细的讲述这几种基本数据类型及其对应的字面值常量。而字符串虽然不属于基本数据类型,由于其重要性,C++也定义了字符串型字面值常量,我们也将在本节讲述。
小知识:有些读者可能已经注意到这几种基本数据类型并不包括我们上面提过的字符串,那是因为字符串并不属于基本类型(Foundamental Types)。字符串是一种稍微复杂的数据类型,我会在以后的章节详细的讲述。简单来说,字符串是由一个一个的字符组合而成的,这种由其他数据类型组合而成的类型在C++中被统称为复合类型(Compound Types)。
在C++中,数据最简单也是最直接的表达方式是直接把他们的值写出来,例如2012, 3.14159,'a',"I am a C++ programmer."等。这些被直接表达出来的数据有一个看似很奇怪的名字``字面值常量''。字面值是说这些数据的值就是我们看到的文本符号(字面上的值),而常量是说这些数据无法被更改(注脚:字面值常量的英文为Literal,原意是``字面上的'',但在C++中,Literal指的是``表示常数的文本符号'' 。)。如果你还是觉得很难理解,请看下面这个例子,
#include <iostream>
int main()
{
std::cout << 2012 << std::endl;
std::cout << 3.14159 << std::endl;
std::cout << 'a' << std::endl;
std::cout << "I am a C++ programmer." << std::endl;
return 0;
}
这个程序的运行结果是,
2012
3.14159
a
I am a C++ programmer.
2012是整数字面值常量,3.14159是浮点字面值常量,'a'是字符字面值常量,"I am a C++ programmer."是字符串字面值常量。这个程序的作用仅仅是把这些用字面值常量所表达的数据输出。从输出结果可以看到,这些数据的值就是我们敲入键盘的字面上的值。要注意的一点是字符字面值常量是单引号而字符串字面值常量是双引号。字符型和字符串型数据的值是引号括起来的内容而不包括引号本身。
你也许已经猜到了,上面提到的几种基本数据类型都有其对应的字面值常量(布尔字面值常量稍后介绍)。接下来的几小节将详细的讲述这几种基本数据类型及其对应的字面值常量。而字符串虽然不属于基本数据类型,由于其重要性,C++也定义了字符串型字面值常量,我们也将在本节讲述。
练习:
指出下面的字面值常量的数据类型:
0,0.00001,100,100.0,'x',"x"