《C++语言入门经典》一2.2 数据类型

2.2 数据类型

C++语言中常用的数据类型有数值类型、字符类型、数组类型、布尔类型、枚举类型、结
构体类型、共用体类型、指针类型、引用类型和自定义类型。本节将详细介绍这些数据类型。

2.2.1 数值类型

在C++语言中,数值类型主要分为整型和实型(浮点类型)两类。其中,整型按符号划分
可以分为有符号型和无符号型两类;按长度划分可以分为普通整型、短整型和长整型三类,整
型的分类如表2.2所示。
image

image

在程序中使用实型数据时需要注意以下两点。
(1)实数的相加
实型数据的有效数字是有限制的,如单精度float的有效数字是6~7位,如果将数字
86 041 238.78 赋值给float类型,显示的数字可能是86 041 240.00,个位数8被四舍五入,小数
位被忽略。如果将86 041 238.78与5相加,输出的结果为86 041 245.00,而不是86 041 243.78。
(2)实数与零的比较
在开发程序的过程中,经常会进行两个实数的比较,此时尽量不要使用“==”或“!=”
运算符,而应使用“>=”或“<=”之类的运算符,否则可能产生未知的错误。例如:

float fvar = 0.00001; 
if (fvar == 0.0) 
…

上述代码并不是高质量的代码,如果程序要求的精度非常高,就可能产生未知的结果。通
常,在比较实数时需要定义实数的精度。
【例2.1】 利用实数精度进行实数比较。
实例位置:光盘MR源码第2章2.1

#include "stdafx.h" 
void main()
{ 
 float eps = 0.0000001; // 定义0的精度
 float fvar = 0.00001; 
 if (fvar >= -eps && fvar <= eps)
   printf("等于零!\n",fvar);
 else 
   printf("不等于零!\n",10);
}

程序运行结果如图2.1所示。
image

2.2.2 字符类型

在C++语言中,字符数据使用“' '”表示,如'A'、'B'、'C'等。定义字符变量时可以使用
char关键字。例如:

char c= 'a'; 
char ch = 'b';

在计算机中,字符是以ASCII码的形式存储的,因此可以直接将整数赋值给字符变量。
例如:

char ch = 97; 
printf("%c\n",ch);

输出结果为a,因为97对应的ASCII码为a。

2.2.3 布尔类型

在逻辑判断中,结果只有真和假两个值。C++ 语言中提供了布尔类型bool 来描述真和假。
bool类型共有两个取值,分别为true和false,true表示真,false表示假。在程序中,bool类型被
作为整数类型对待,false表示0,true表示1。将bool类型赋值给整型是合法的,同样,将整型
赋值给bool类型也是合法的。例如:

bool ret; 
int var = 3; 
ret = var; // ret=true 
var = ret; // var=1

说明
引用类型数据与指针类型数据将在第5章进行讲解,自定义类型数据(即类和结构
体)则会在第7、8、10章进行讲解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值