考点1 C 语言的基本数据类型《C语言程序设计》山东(春季高考)软件与应用技术类 知识点讲解
山东省(软件与应用技术类)春季高考
《C语言程序设计》复习讲义
模块 一 C 语言程序设计
考点 1 C 语言的基本数据类型
【考纲要求】
1. 了解C语言的基本数据类型。
【知识网络】
【知识和技能要点】
一、基本数据类型的分类
1.整型
整型用于表示整数,是程序中最常用的数值类型。C 语言把整型按宽度分为基本整型、短整型与长整型,又可按是否带符号再分为有符号与无符号两类,故同一宽度可有四种写法。各类型
学科网(北京)股份有限公司
所占字节数由编译环境与具体的编译器决定,答题时以常见环境为准,并须记住同一环境内各类型之间的相对大小。
(1)基本整型:写作 int,常见环境下占四字节,是默认的整型。
(2)短整型:写作 short,占二字节,所能表示的范围较小,用于节省空间的场合。
(3)长整型:写作 long,常见环境下占四字节,输出时格式字符之后须加字母 l。
(4)无符号整型:在类型名前加 unsigned,最高位不再兼作符号位,故取值自零起,正数一侧约扩一倍。
2.实型
实型用于表示带小数或数值很大的量,分为单精度与双精度两种。二者都以阶码与尾数的方式存放,故能表示的数值范围远大于同宽度的整数,然其精度有限,并非每个小数都能准确存下。故判断两个实型量是否相等,不可径用等号,而应看其差的绝对值是否小于某个微小的量。
(1)单精度实型:写作 float,占四字节,有效数字约六七位,宜用于精度要求不高的场合。
(2)双精度实型:写作 double,占八字节,有效数字约十五六位,是实型常量的默认类型。
3.字符型
字符型用于存放单个字符,占一个字节。所存者并非字符的形状,而是该字符的编码,故其本质是一个小整数,可以与整数互通,也可参与加减。常用的编码为美国信息交换标准码,其中大写字母、小写字母与数字各自连成一段,故可借编码之先后判断字符的类别。
(1)字符型数据的存储:字符变量占一个字节,所存为其编码值,故也可赋以整数编码。
(2)字符常量与字符串常量:前者以单引号括起一个字符,占一字节;后者以双引号括起,末尾另存一个结束标志。
二、数据的存储与表示
1.长度运算符 sizeof
某一类型占多少字节,可用长度运算符测知。它与函数不同:其后可加括号,亦可不加;编译之时即可算出其值,并不生成可执行的代码。写此运算符时须留意其所测者为何,测类型与测变量所得不同,测数组所得尤为整个数组之和,而非其中一元素。
(1)测类型:写作 sizeof(类型名),得该类型所占的字节数,如 sizeof(int)。
(2)测变量:写作 sizeof 变量名 或 sizeof(变量名),得该变量所占的字节数。
学科网(北京)股份有限公司
(3)测数组:若所测为数组之名,所得为整个数组的字节数,等于元素个数乘单元素字节数。
2.有符号与无符号
同宽度的整数,加无符号之后,全部二进制位都用于计值,故其范围自零起;有符号者以最高位作符号位,负数以补码存放,故其范围向负数一侧展开。二者字节数相同而意义不同,故输入输出时须以相应的格式字符配合,否则同一串二进制位会读出判然有别的数值。
3.溢出与精度损失
每种类型都有其能容纳的范围。若所赋之值超出此范围,则发生溢出:整型或截去高位,或转为意外的负值;实型则舍去多余的精度。溢出之时程序并不报错,其值静默地变为另一个数,故危害尤大。故定义变量之前,宜先估算数据的大致范围并留有余量。
三、类型与输入输出的配合
1.输出所用的格式字符
输出时须以格式字符说明所输出数据的类型,格式字符与实参类型不符,轻则输出错值,重则读出无序之数。又可在格式字符前加宽度与小数位数,以控制排布。常用的格式字符中,整数用 d,无符号用 u,长整型加 l,单精度与双精度用 f 与 lf,字符用 c,字符串用 s。
(1)整数类:%d、%u、%ld 分别用于整型、无符号整型与长整型,%x 与 %o 则以十六进制、八进制输出。
(2)实型类:%f 用于单精度,%lf 用于双精度;写作 %.2f 则可限定小数位数。
(3)字符与字符串:%c 输出单个字符,%s 输出字符串,其后接数组名即可。
2.输入所用的格式字符
输入时,格式字符须与变量类型相符,且其后的实参须为变量的地址。整型用 d,实型用 f 或 lf,字符用 c,字符串用 s。数字之间的空白与回车,多数格式字符可自行跳过;唯读字符时不然,前一次输入残留的换行符常被误读,须设法处置。
3.类型选用与常见错误
选型之首在于合用:计数与下标用整型,金额与测量值用实型,单个字符用字符型,成串文字用字符数组。常见之误有数端:以整数相除求平均值而只得整数;把字符常量与字符串常量混为一谈;以等号判断两个实型量是否相等;以小类型容纳超范围之值。凡此皆宜于初学之时辨明。
学科网(北京)股份有限公司