已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第3章数据的基本表现形式,常量变量,本章的基本内容是:,【任务3.1】计算圆的面积,【问题】给定圆的半径,求圆的面积。【想法】设圆的半径为radius,圆的面积为area,则根据下式求圆的面积:area=radius2(式4.1)【算法】设变量radius存储(表示)圆的半径,变量area存储(表示)圆的面积,算法如下:,算法需要处理哪些数据?常量()变量(radius)这些数据在计算机内是如何存储的?,3.1常量,常量:在程序的运行过程中其值不能被改变的量,即不接受程序修改的固定值,例如程序中的具体数字、字符等。程序设计语言中一般提供两种类型的常量:1.字面常量:常量本身的字面意义就是它所代表的常量值。2.符号常量:用标识符来代表常量,为字面常量起个名字。,字面常量,3.1常量,C/C+语言的常量及其数据类型,为什么程序设计语言中的常量要区分数据类型?,字面常量,1.整型常量整型常量一般用来表示数学中的整数。,3.1常量,不同进制的表现形式对应的同一个二进制存储表示层与表现层。,字面常量,1.整型常量,3.1常量,字面常量,2.实型常量实型常量一般采用十进制,其表示形式有小数形式和指数形式。,3.1常量,默认情况下,如果整型常量属于int型的取值范围,则编译器将其作为基本整型来处理,否则作为长整型处理。为了强制编译器把常量作为长整型处理,需要在常量后面加上字母L(或l),例如123L。实型常量以双精度double型存储,为了强制编译器以单精度float型存储实型常量,需要在常量后面加上字母F(或f),例如0.12F。,字面常量,3.1常量,字面常量,3.字符常量字符常量通常指的是单个字符,在C语言中用单引号将单个字符括起来,如a、b、c。转义字符(用于描述不可见字符)以反斜线“”开头,其含义是将反斜线后面的字符转换成另外的含义。,3.1常量,字面常量,4.字符串常量字符串常量(简称串)通常指的是字符序列,在C语言中用双引号将字符序列括起来,如abc、ghj。在大多数语言中字符和字符串具有不同的存储方式和处理方法。,3.1常量,符号常量,在C语言中,定义一个符号常量需要使用预处理指令#define。【语法】用#define定义符号常量的一般形式为:#define符号常量常量值其中,#define是预处理指令,因此,行尾不能有分号;符号常量是一个标识符;常量值可以是一个字面常量,也可以是一个表达式。【语义】将符号常量的值定义为常量值,在对程序进行预编译时,预处理器会把每一个符号常量用其表示的常量值进行替换。,3.1常量,符号常量,3.1常量,定义符号常量,程序中的语句,预编译后,符号常量,3.1常量,定义符号常量,程序中的语句,预编译后,预编译不进行语法检查,有隐患,在编译阶段产生语法错误,符号常量,新的C标准提倡采用const定义符号常量。【语法】用const定义符号常量的一般形式如下:const类型名符号常量=常量值;其中,类型名是任意合法的数据类型,包括基本数据类型和自定义数据类型;符号常量是一个标识符;常量值可以是一个字面常量,也可以是一个表达式,但是其值的数据类型必须与类型名兼容;const是一条语句,因此要以分号结尾。【语义】定义一个符号常量并指定常量值。例如,constdoublePI=3.14;,3.1常量,使用符号常量有如下好处:1.程序的可读性好见名知意;2.程序的可修改性好改一处避免处处改。3.避免误操作采用统一值。,符号常量,3.1常量,变量的概念,3.2变量,变量:在程序的运行过程中其值可以被改变的量,变量用一个标识符来表示,称为变量名。编译器在对源程序进行编译时,会给每个变量分配一个特定大小的存储单元,并将变量名与这个存储单元的起始地址绑定在一起。,变量的概念,3.2变量,变量具有如下属性:1.地址:变量所在存储单元的编号;2.变量名:变量所在存储单元起始地址的助记符;3.变量值:存储在相应存储单元中的数据,即该变量的值;4.类型:变量所属的数据类型。,变量的定义和初始化,【语法】变量声明的一般形式如下:类型说明符变量名列表;其中,类型说明符必须是有效的数据类型,包括基本数据类型和自定义数据类型;变量名列表是一个变量名或由逗号分隔的多个变量名;最后用分号表示结束变量声明。【语义】将变量名列表的各个变量声明为类型说明符的类型,编译器为各变量分配相应的存储单元。本书中变量的命名方法:除第一个单词外的每个单词的首字母大写,例如:studentName、studentAddress。,3.2变量,变量的属性由变量声明规定,即在变量声明中引进变量并规定该变量的属性。,变量声明后编译器会给该变量分配一块存储空间,但是从程序开始执行到给变量赋值之前,该变量是没有确定值的,这时称该变量为“值无定义的”,严格来说,该变量的值是一个随机数。,变量的定义和初始化,4.2变量,变量定义的例子:,变量的定义和初始化,变量的初始化是指在定义变量的同时为其赋初值,使该变量成为“值有定义的”。【语法】变量初始化的一般形式如下:类型说明符变量名=值;其中,类型说明符是有效的数据类型;变量名必须是一个,如果为多个变量进行初始化,则用逗号分隔;最后用分号表示结束变量的初始化。【语义】将变量定义为类型说明符表示的类型,并给该变量赋初值。,4.2变量,变量的定义和初始化,4.2变量,变量初始化的例子:,变量的赋值,【语法】变量赋值的一般形式如下:,3.2变量,变量名表达式;,只能为变量赋值,将表达式的值存入变量,【语义】计算表达式的值,然后将这个值(即表达式的运算结果)存储到变量中。,变量的赋值,3.2变量,变量的赋值,3.2变量,对“值有定义的”变量可以重新给它赋予新值,例如:,变量的赋值,3.2变量,给对变量赋值需要注意如下两个问题:1.取值范围。由于变量所占的存储单元是有限的,因此变量能够表示的数据都有一定的取值范围,对变量进行赋值要保证变量值在这个范围内。2.数据类型。当赋值运算符“=”两侧的数据类型不一致时,系统将进行自动类型转换,一般是将右侧表达式值的数据类型转换成左侧变量的数据类型。,强制类型定义,3.2变量,大多数程序设计语言要求对程序中的所有变量必须“先声明,后使用”,即在变量声明中定义变量的类型等属性,称为变量的强制类型定义。强制类型定义便于编译器的工作,使编译器为变量分配相应的存储单元以及将变量名与其存储单元的起始地址进行绑定。具体体现在:1.词法检查,使程序中使用的变量不发生错误。,强制类型定义,3.2变量,2.分配相应的存储空间,将变量按照某种规定的格式进行存储。,3.检查运算是否合法,使表达式的运算不发生类型错误。,解决任务3.1的程序,1#include2constdoublePI=3.14;/定义符号常量PI34voidmain()56intradius;/声明radius为整型变
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏省南京市江浦高级中学、六合高级中学、江宁高级中学三校2026届高一上数学期末综合测试试题含解析
- 2025年公司年终总结(2篇)
- 2025年胸外科护理宣传主题题目及答案
- 安全高压电工考试题库及答案
- 上海市2026届化学高一第一学期期中联考模拟试题含解析
- 山东水利职业学院《城乡生态规划》2024-2025学年第一学期期末试卷
- 云南省宣威市第十中学2025年高二上生物期末学业质量监测试题含解析
- 安徽省宿州市泗县一中2025年高一数学第一学期期末质量跟踪监视模拟试题含解析
- 山西省大同一中2025年化学高一第一学期期中联考试题含解析
- 2026年印刷公司供应链协同平台管理制度
- 【地理】跨学科主题学习 认识我国的“世界灌溉工程遗产”课件-2025-2026学年八年级地理上学期(人教版2024)
- 道路监控维护合同范本
- 70岁以上老人考驾照,三力测试题库(含答案)
- 烟叶知识培训总结课件
- 化工自动化仪表培训课件
- 小学生食品安全知识讲座
- 建筑工程知识产权课件
- 高级合伙人协议合同范本
- 全国大学生职业规划大赛《生物育种技术》专业生涯发展展示
- 2025年春季学期国开电大行管本科《行政领导学》期末纸质考试总题库
- 土地管理法实施条例培训
评论
0/150
提交评论