各种程序设计语言都具有许多独具特色的特征,这些特征决定了每种语言所适合开发的应用程序的种类。程序设计语言也有一些共同的特征。基本上所有的语言都要提供下列特征:
- 内置数据类型,如 整型,字符型等。
- 表达式和语句:表达式和语句用于操纵上述类型的值。
- 变量:程序员可以使用变量对所使用的对象命名。
- 控制结构:如if, for, while等;程序员可以使用控制结构有条件的执行或者重复执行一组动作。
- 函数:程序员可以使用函数把行为抽象为可调用的计算单元。
大多数现代程序设计语言都采用两种方式扩充上述基本特征集:
- 允许程序员通过自定义数据类型扩展该语言。
- 提供一组库例程,这些例程定义了一些并非内置在语言中的实用函数和数据类型。
c++ 是提供了一组内置的数据类型、操纵这些类型的操作符和一组少量的程序流控制语句。c++是一门简单的语言,c++的表达能力是通过支持一些允许程序员自定义的数据结构的机制来提升的。包括c++在内的许多程序设计语言允许程序员定义类型的不仅包括数据还包括操作。c++设计的主要目标之一就是允许程序员自定义类型,而且这些类型和内置类型一样易于使用。
类型是所有程序的基础,类型告诉我们数据代表什么意思以及可以对数据执行哪些操作。
基本内置类型:
- bool 布尔类型
- char类型, 字符类型 8位
- wchar_t类型 宽字符类型 32位
- short 短整型 16位
- int 整型 32位
- long 长整型 32位
- float 单精度浮点型 32位 (6位有效数字)
- double 双精度浮点型 64位 (10位有效数字)
- long double 扩展精度浮点类型 96位
这个是本人的个人电脑上(32位linux系统)得出的结果,具体情况会应该编译器等不同而有所不同。比如:
以前的系统是16位的所以int只有2字节,现在都是32位了,所以大部分编译器把int提升为32位,即4字节在TC中int似乎还是16位的;
win32 中 long 和 int 范围一样的,因为C/C++语言标准只是规定sizeof(long int)> =sizeof(int) ,取等号也是可以的,具体如何实现由各个编译器厂家决定。
这三个类型都表示整形值,存储空间的大小不同,一般,short类型为半个机器字长,int类型为一个机器字长,而long类型为两个机器字长,根据编译器的不同,其表示长度是有区别的,上面的列表只供参考,另外,int 、short、long都默认是带符号型,要获得无符号类型则必须制定该类型为unsigned,比如unsigned long
(机器字长:计算机能直接处理的二进制数据的位数,它决定了计算机的运算精度;目前流行的是32位和64位)
这三个类型都是浮点数,一般,float用一个字长来表示,double用两个字长,long double 用3个或者4个字长来表示。类型的取值范围决定了浮点数所含的有效数字位数。 实际应用中float类型精度通常是不够用的——float只能保证6位有效数字,而double型至少可以保证10位有效数字,能满足大多数计算的需要。
Single ( Fortran's REAL*4, C's float ), ( Obligatory ),
Double ( Fortran's REAL*8, C's double ), ( Ubiquitous ),
Double-Extended ( Fortran REAL*10+, C's long double ), ( Optional ).