忆江南-春风

象蜗牛一样生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

基本类型(二)

Posted on 2013-10-07 00:05  忆江南-春风  阅读(254)  评论(0编辑  收藏  举报

在c++中,我们需要基本类型,按照一定的格式,创建自己的数据类型。

c++中,有两种基本数据类型:整型浮点类型、bool

整型:char、float、int、long、long long,每种类型都有符号版本和无符号版本,共10种类型可供选择。

  符号版本:前面加signed关键字,也可以省略。如:signed int 

  无符号版本:前面加unsigned关键字,不能取负值。如:unsigned int 

在c++中,我们可以使用sizeof运算符来查看变量或类型的长度,单位为字节。 如:int age ; sizeof (age),sizeof (int)

  注意:查看变量时,括号可以省略;查看类型时,不能省略。

在climits头文件中,包含了整型限制的一些信息,如:最大值、最小值等。如:

 1 #include<iostream>
 2 #include<climits>
 3 
 4 using namespace std ;
 5 
 6 int main(){
 7         int int_max = INT_MAX ;    //int最大值
 8         int int_min = INT_MIN ;    //int最小值
 9         unsigned int u_int_max = UINT_MAX ;   //unsigned int 最大值   最小值为0
10 
11         short short_max = SHRT_MAX ;
12         short short_min = SHRT_MIN ;
13         unsigned short u_short_max = USHRT_MAX ;
14 
15         long long_max = LONG_MAX ;
16         long long_min = LONG_MIN ;
17         unsigned long u_long_max = ULONG_MAX ;
18 
19         long long llong_max = LLONG_MAX ;
20         long long llong_min = LLONG_MIN ;
21         unsigned long long u_llong_max = ULLONG_MAX ;
22 
23         char char_max = CHAR_MAX ;
24         char char_min = CHAR_MIN ;
25         signed char s_char_max = SCHAR_MAX ;      //signed char的最大值
26         signed char s_char_min = SCHAR_MIN ;      //signed char的最小值
27         unsigned char u_char_max = UCHAR_MAX ;
28 
29         int char_bits = CHAR_BIT ;                //char的位数
30 
31         cout << "int is "<<sizeof(int) << " bytes" << endl ;
32         cout << "short is "<< sizeof short_max << " bytes" << endl ;
33 
34         cout << "maximun values :" << endl ;
35         cout << "int : " << int_max << endl ;
36         cout << "short :" << short_max << endl ;
37         cout << "long : " << long_max << endl ;
38         cout << "long long :" << llong_max <<endl ;
39 
40         return 0 ;
41 }

整数字面值:c++可以使用三种不同的计数方式来表示整数:十进制、八进制、十六进制。

  十进制:第一位为1至9的整数,如:23

  八进制:第一位为0,第二位为1至7的整数,如:025

  十六进制:前两位为0x的整数,如:0x23a

iostream头文件中,定义了控制符dec、oct、hex,分别指示cout以十进制、八进制、十六进制格式显示整数,默认是十进制,在修改之前,原来的格式将一直有效。如:

  

#include<iostream>

using namespace std ;

int main(){
        int chest = 42 ;
        int waist = 42 ;
        int inseam = 42 ;

        cout << "Monsieur cuts a striking figure!" << endl ;
        cout << "chest = " << chest << " (decimal for 42)" << endl ;
        cout << hex << "waist = " << waist << " (hexadecimal for 42)" << endl ;
        cout << oct << "inseam = " << inseam << " (octal for 42)" << endl ;

        return 0 ;
}

cout << oct ;   不显示任何内容,只是告诉cout以何种方式显示数字。

整数字面值默认是int类型,long l = 235L ;  long long ll = 235LL ;    unsigned long ul =  2334uL ;

bool类型:c++中添加了bool类型,值可以是true、false,c++将非0视为true,0视为false。

const限定符:定义常量,以前我们可以使用#define ZERO 0   预处理命令,现在我们可以使用const限定符,如:

  const int P = 3.14 ;    p定义后,以后就不能修改了。

浮点数:float、double、long double

浮点数常量默认是double类型,要表示float和long double : 234.3F、234.2L ;

类型转换:(这个以后总结)

  1:初始化和赋值进行的转换。将一种类型的值赋值给另一种类型的变量时,值将被转换为接受变量的类型,

    如:so_long的类型为long,thirty的类型为short,则:so_long = thirty ;   程序将thirty的值扩展为long值,扩展后得到一个新值,这个新值被存储在so_long存储空间中。thirty值不变。

  2:表达式中的转换。