- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第章数据类型
第2章 数据类型
本章重点介绍了C语言的基本数据类型(整型、实型、字符型)的概念、详细分类、内存表示及使用方法,常量、变量的使用语法、规范。对各种数据类型之间的混合运算的规则给出了详细说明。本章还介绍了C语言的算术、赋值和逗号表达式的概念和使用语法。通过本章的学习,应能掌握C语言数据和运算的基本概念,为以后各章的学习打下基础。
2.1 数据类型的概念
在高级语言的编程中,必须首先在内存中定义数据,才能描述对数据的处理方法。数据在内存中的存储方式、运算方法,被称为数据类型。
C语言提供了基本数据类型表示常见的信息类型,见表2-1。其中的整型、实型,用于常见的数值运算;字符型用于非数值运算的应用。为了满足应用中的具体需求,这些基本数据类型可以附加修饰词,用于定义长整型、短整型有符号整型、无符号整型、有符号字符型、无符号字符型等,详细内容见本章后继章节。
表2-1 基本数据类型符号
数据类型 数据类型符号 占用字节数 数值范围 整型 int 4 -231~231-1 单精度实型 float 4 -1038~1038(保留6位有效数字) 双精度实型 double 8 -10308~10308(保留17位有效数字) 字符型 char 1 -128~127
数据类型的本质是确定数据在内存的存储方式。举例而言,在VC环境中一个int型数占用4个字节,那么int型描述的就是这32个位是如何表示整数的,以及可表示整数的范围。因此,在学习数据类型时,不仅要关心数据的具体值,更应留意数据在内存的表示形式。
2.2 常量和变量
2.2.1 字面常量
常量是程序运行过程中其值不能改变的数据。它有两种表现形式:字面常量和符号常量。字面常量以字面格式直接写在程序之中。字面常量用于数据类型的表示时,有不同的格式要求。在C语言中,整型数据有3种字面格式:
①十进制整数:书写格式与通常整数写法无异,如:-111、0、111等
②八进制整数:书写格式是在通常八进制数的前面加一个数字0,如:-0111、0111,分别表示的十进制数是-73、73。
③十六进制整数:书写格式是在通常十六进制数的前面加一个数字0x,如:-0x111、0x0、0x111,分别表示的十进制数是-273、0、273。
在VC环境中,整数的字面常量的表示范围是-231~231-1。对于超出范围的字面常量,编译器常常并不提示语法错误,可相应内存单元实际只存储了部分数字。这种情形称为溢出,可能造成严重的逻辑错误。
实型常量只能使用十进制表示,字面格式有两种:
①一般格式,如-12.345、0.0、12.345等。有时小数点前后的“0”可以被省略,如-.12、0.、.12、12.等等。
②指数格式,如-1.2345e2、12.34e-4等,由尾数、字母e或E、指数部分组成。所有实型常量无论大小,都是按照双精度类型进行存储的。实型常量可以表示的最小实数是-1.79e308,最大实数是1.79e308。字符常量只有一种字面格式,就是用单引号括起来的单个字符,如a、X、5、,、 。注意 表示空格字符,与是完全不同的,是非法的字符常量。若单引号中包含多个字符,在编译时,一般编译器会忽略多余的字符,并产生警告错误。
字符串常量也只有一种字面格式,不同于字符常量,它是用双引号括起来的若干字符,如abc123、x,Y,z。其中包含的字符数可长可短,甚至可以为0。如表示一个空的字符串,请留意其与 (空格字符)的区别。
2.2.2 符号常量
在同一程序中,某些字面常量可能使用多次,为了提高程序的可读性,方便程序员维护代码,常常采用预处理命令#define定义符号常量。例如以下命令定义符号常量PI为3.14。在后续的代码中,所有的符号常量PI都表示3.14。
#define PI 3.14
一个程序可以根据需要定义多个符号常量。不同程序中的符号常量互不影响。#define命令的功用发生在程序被编译之前的预处理阶段。在此阶段,编译器根据符号常量的定义,将程序中的所有符号常量,统一替换为相应的字面常量。替换之后,再对程序代码进行编译。
【例 2.1】 字面常量和符号常量的应用对比。以下两个程序的功能,都是计算半径是10的圆的面积和周长。前者使用了使用字面常量,后者使用了符号常量。
// 使用字面常量的程序版本
#includestdio.h
int main()
{
double area, circumference;
area =10 * 10 * 3.14;
circumference = 2*3.14*10;
printf(area=%f\n, area);
printf(circumference=%f\n, circumference);
return 0;
}
// 使用符号常量
您可能关注的文档
- 第六节克莱姆法则.doc
- 第六讲圆与扇形.doc
- 第册语文第二单元副备何翠娟.doc
- 第十一章波动().doc
- 第十一讲总复习《数与代数》.doc
- 第十三章销售与收款循环的审计习题(修改).doc
- 第十三章轴对称..doc
- 第十七周统计与可能性解决问题的策略.doc
- 第十二“华杯赛”浙江赛区六数学复赛试题(数学).doc
- 第十二章SECTION特殊函数.doc
- 2010-2023历年福建省清流一中高一下学期第二阶段考试历史卷(带解析).docx
- 2024年碗扣式多功能脚手架项目可行性研究报告.docx
- 2024年中国环氧地坪涂料固化剂市场调查研究报告.docx
- 2024年中国自动高速厚料机旋梭市场调查研究报告.docx
- 2024年中国美白祛角质霜市场调查研究报告.docx
- 2024年不锈钢六角塞头项目可行性研究报告.docx
- 2010-2023历年福建省厦门二中高三上学期期中考试语文试卷(带解析).docx
- 2010-2023历年福建省三明市高三质检理综化学试卷(带解析).docx
- 2010-2023历年福建省宁德市高一下学期期末考试化学试题.docx
- 2024年橡胶垫钉项目可行性研究报告.docx
文档评论(0)