设为首页 加入收藏

TOP

第3章 简单的C程序设计——顺序程序设计(二)
2019-05-23 14:40:52 】 浏览:424
Tags:简单 程序设计 顺序
大写字母和小写字母认为是两个不同的字符。如SUM和sum是两个不同的变量名。习惯上(不是硬性要求),变量名用小写字母表示。

 

3.2.2 数据类型

At:用计算机进行的计算不是抽象的理论值的计算,而是用工程的方法实现的计算机,所以在许多情况下只能得到近似的结果。

  类型,就是对数据分配存储单元,包括存储单元的长度(占有多少个字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。

         C语言允许使用的类型见下图,其中图中带有*的是C99才增加的。

其中基本类型(包括整型和浮点型)和枚举类型变量的值都是数值,统称为算术类型(arithmetic type)。算术类型和指针类型统称为纯量类型(scalar type),因为其变量的值是以数字来表示的。枚举类型是程序中用户定义的整型类型。数据类型和结构体类型统称为组合类型(aggregate type),共用体类型不属于组合类型,因为在同一时间内只有一个成员具有值。函数类型用来定义函数,描述一个函数的接口,敖阔函数返回值的数据类型和参数的类型。

3.2.3 整型数据

1. 整型数据的分类

a)       基本整型(int型)

编译系统分配给int类型数据2个bytes或4个bytes(由具体的C编译系统自行决定)。

存储单元中存储方式是:用整数的补码(complement)形式存放。

在存放整数的存储单元中,最左面的一位是用来表示符号的。0—数值为正;1—数值为负。

b)       短整型(short int)

类型名为short int或short。范围为:-32768~32767

c)        长整型(long int)

类型名为long int或long。

d)       双长整型(long long int)

类型名为long long int 或long long,一般分配8个bytes。这是C99新增的类型,许多C编译系统尚未实现,使用时需要看编译系统支不支持该类型。

 

说明:C标准没有具体规定各种类型数据所占用存储单元的长度,这是由各编译系统自行决定的。C标准只要求long型数据长度不短于int型,short型不长于int型。即

         Sizeof(short)≤Sizeof(int)≤Sizeof(long)≤Sizeof(long long)

Sizeof是测量类型或变量长度的运算法。关于它的使用方法,将在后面阐述。

2.整型变量的符号属性

   存储值在存储单元中都是以补码形式存储的,存储单元中的第1个二进位制代表符号。

整型变量的值的范围包括负数到整数。见下

 

有符号整形数据存储单元中最高位代表符号(0为正,1为负)。如果指定unsigned(为无符号类型),存储单元中全部进制位都用来存放数值本身,故数值的范围扩大一倍(从0开始)。无符号型变量只能存放不带符号的整数,如123,456,789等;不能存放负数,如-123,-3等。

 

说明:

(1)     只有整型(包括字符型)数据可以加signed或unsigned修饰符,实行数据不能加。

(2)     对无符号整型数据用“%u”格式输出。%u表示用无符号十进制数的格式输出。

 

 

3.2.4 字符型数据

1.字符与字符代码

   字符与字符代码并不是任意写一个字符,程序都能识别的。目前大多数系统采用ASCII字符集。如下图

 

2.字符变量

  字符变量是用类型符char定义字符变量。Char是英文character(字符)的缩写。

在输出字符变量的值时,可以选择以十进制整数形式输出,或以字符形式输出。如:

         char a = ‘A’;

printf(“%d   %c\n”,c,c);

输出的结果是: 65    A

用“%d”格式输出十进制整数63,用“%c”格式输出字符’A’。

类 型

字节数

取值范围

Signed char(有符号字符型)

1

-128~127,即-2^7~(2^7-1)

Unsigned char(无符号字符型)

1

0~255,即0~(2^8-1)

说明:在用有符号字符型变量时,允许存储的值为-128~127,但字符的代码不可能为负值,故在存储字符时实际上只用到0~127这一部分,其第1位都是0。

 

3.2.5 浮点型数据

浮点型数据是用来表示具有小数点的实数的,换句话说就是数学中的带小数格式的数字。

为什么在C语言中把实数称为浮点数呢?

因为在C语言中,实数是以指数形式存放在存储单元中的。由于小数点的位置可以浮动,所以实数的指数形式称为浮点数。

规范化的指数形式——把小数部分中小数点前的数字为0,小数点后第1位数部位0的表示形式。如0.314159*10^1就是3.14159的规范化的指数形式。一个实数只有一个规范化的指数形式,在程序若以指数形式输出一个实数时,必然以规范化的指数形式输出,如0.1314159e001.

  浮点数类型包括float(单精度浮点型)、double(双精度浮点型)、long double(长双精度浮点型)。

(1)     float(单精度浮点型).编译系统为每一个float型变量分配4个字节,数值以规范化的二进制数指数形式存放在存储单元中。在存储时,系统将实型数据分为小数部分指数部分,分别存放。小数部分的小数点前面的数为0.

At小数部分占的位(bit)数愈多,数的有效数字愈多,精度也就愈高。指数部分占的位数愈多,则能表示的数值范围愈大。float型数据能得到6位有效数字,数值范围为:           -3.4*10^-38~3.4*10^38。

(2)     double(双精度浮点型).为了扩大能表示的数值范围,用8个字节存储一个double型数据,可以得到15位有效数字,数值范围为-1.7*10^-308~1.7*10^-308。

(3)     long double(长双精度浮点型).不同编译系统对long double的处理方法不同。VC6.0对long double型和double型是一样

首页 上一页 1 2 3 4 5 6 7 下一页 尾页 2/7/7
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇第1章 程序设计和C语言 下一篇第2章 算法——程序的灵魂

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目