数据存储、表现形式和基本运算

数据存储、表现形式和基本运算

本文内容比较枯燥。

C++的数据类型

C++可以使用的数据类型如下:

  • 基本类型
    • 整型
      • short int
      • int
      • long int
    • 字符型:char
    • 浮点型
      • float
      • double
      • long double
    • 布尔型:bool
  • 派生类型
    • 指针:*
    • 枚举:enum
    • 数组:[ ]
    • 结构体:struct
    • 共用体:union
    • 类:class
  • 空类型:void
  1. C++没有规定每一种数据所占的字节数,只规定了各个数据类型所占数据字节数的相对关系;
  2. 整型数据的存储方式为二进制数形式存储;
  3. 在整型和字符型前面可以加修饰符,signed/unsigned。如果指定signed,则数值以补码的形式存放,存储单元中的最高位bit用来表示数值的符号;如果指定为unsigned,则数值没有符合,所有的二进制位都用来表示数值的本身。

常量

  1. 如果在实数的后面加上字母f或F,表示此数单精度浮点数,占4个字节;如果加字母L或l,表示此数为长双精度数,在GCC中占12个字节,在Visual C++中占8个字节。
  2. 在程序中,不论把浮点数写成小数还是指数形式,在内存中都是以指数的形式存储的,存储格式为:数符 + 数字部分 + 指数部分
  3. \0表示空字符。
  4. \ddd表示1-3位八进制所代表的字符,例如\012表示八进制数012表示的ASCII字符,它相当于以十进制10表示的ASCII字符,表示换行;
  5. \xhh表示1-2位十六进制所代表的字符。
  6. 将一个字符常量存放在内存单元时,实际上并不是把该字符本身放到内存单元中去,而是将该字符对应的ASCII代码存放到存储单元中。
  7. 既然字符数据是以ASCII码存储的,它的存储形式就与整数的类似,这样C++中字符型数据和整型数据之间就可以通用。一个字符型数据可以赋值给一个整型变量,反之,一个整型数据也可以赋值给一个字符变量。也可以对字符数据进行算术运算,此时相当于对它们的ASCII码进行算术运算。

【例2.1】将字符赋给整型变量:

1
2
3
4
5
6
7
8
#include<iostream>
using namespace std;
int main(){
int i, j;
i = 'A';
j = 'B';
cout << i << ' ' << j << endl;
}

结果:

1
65 66

【例2.2】字符数据与整数进行算术运算,下面的程序的作用是将小写字母转换成大写字母:

1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;

int main(){
char c1, c2;
cout << "输入一个小写字母:" << endl;
cin >> c1;
c1 = c1 - 32;
cout << "它的大写是:" <<c1 << endl;
}

运行结果:

1
2
3
输入一个小写字母:
z
它的大写是:Z

注意字符串常量要用双引号而不能用单引号括起来,否则会出错。

# C++

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×