不变的的箱子-常量.ppt

上传人:za****8 文档编号:14114452 上传时间:2020-07-03 格式:PPT 页数:29 大小:517KB
收藏 版权申诉 举报 下载
不变的的箱子-常量.ppt_第1页
第1页 / 共29页
不变的的箱子-常量.ppt_第2页
第2页 / 共29页
不变的的箱子-常量.ppt_第3页
第3页 / 共29页
资源描述:

《不变的的箱子-常量.ppt》由会员分享,可在线阅读,更多相关《不变的的箱子-常量.ppt(29页珍藏版)》请在装配图网上搜索。

1、不变的箱子常量,标识符和关键字常量,不变的和变的箱子常量与变量,在C语言中,根据存储方式和表示形式,数据有常量和变量之分,就像方程有已知数和未知数一样。,标识符和关键字,1、标识符2、关键字,标识符,C语言中,常量、变量、函数名称都是标识符。标识符,可以看做一个代号,就像日常生活中物品的名称一样。标识符的名称可以由用户来决定,但也不是想怎么命名就怎么命名,它也需要遵循一定的规则。,标识符,标识符只能是由英文字母(AZ,az)、数字(09)和下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。如:intMAX_LENGTH;/*由字母和下划线组成*/不能使用C语言中保留的关键字。C语言

2、对大小写是敏感的,程序中不要出现仅靠大小写区分的标识符,如:intx,X;/*变量x与X容易混淆*/,标识符,标识符应当直观且可以拼读,让别人看了就能了解其用途。标识符最好采用英文单词或其组合,不要太复杂,且用词要准确,便于记忆和阅读。切忌使用汉语拼音来命名。如:标识符的长度应当符合“min-length”就是错误的,会导致程序编译错误。因为double是关键字,不能做变量名。下表列出了C语言中的所有关键字。,关键字,常量,1什么是常量2数值常量3字符常量4字符串常量5符号常量,常量,其实我们已经使用过常量了,只是我们不知道,在前面的程序中输出过的“HelloWorld!”就是一个常量,是一个

3、字符串常量,从这我们不难看出,常量的值在程序运行中是不能改变的。,什么是常量,在程序中,有些数据是不需要改变的,也是不能改变的,因此,我们把这些不能改变的固定值称之为常量。到底常量长什么样呢?我们就来看几条语句吧。01inta=1;02charss=a03printf(“Hellon”);在此,我们看一下“1”,“a”,“Hello”,这些在程序执行中都是不能改变的,它们都是常量。,什么是常量,细心一些的朋友可能会问:这些常量怎么看上去不一样呢?确实,就像布可以分为丝绸、棉布、麻布各种类型一样,常量也是有种类之分的。,什么是常量,【范例1】显示不同类型的常量的值01#include02intm

4、ain(void)/*程序的入口*/304printf(+125n);/*输出+125并换行*/05printf(-50n);/*输出-50并换行*/06printf(an);/*输出a并换行*/07printf(Hellon);/*输出Hello并换行*/08return0;/*程序无错误安全退出*/在本例中,有四个常量,分别是数值+125,-50,字符“a”和字符串“Hello”。这些就是常量的不同类型的值。这里,我们可以把常量分为数值常量、字符常量、字符串常量和符号常量(后面我们会具体介绍)。,数值常量,上例中的+125,-50都是数值常量,通常表示的是数字,就像数字可以分为整型,实型一

5、样,数值常量也可以分为整型常量和实型常量。数字有正负之分,数值常量的值当然也有正负。在上面的例子中+125带的是“+”,当然也可以不带,而-50前的“-”是必须要带的。,数值常量,【范例2】在命令行中输出数值常量。01#include02intmain(void)0304printf(123n);/*输出123*/05printf(45.31n);/*输出45.31*/06printf(-78n);/*输出-78*/07printf(-12.8975n);/*输出-12.8975*/08return0;第4行输出一个正整数123,第5行输出正实数45.31,第6行输出负整数-78,第7行输出负

6、实数-12.8975,这些都是数值常量。,数值常量,在C语言中,数值常量如果大到一定的程度,程序就会出现错误,无法正常运行,这是为什么?原来,C程序中的量,包括我们现在学的常量,也包括在后面要学到的变量,在计算机中都要放在一个空间里,这个空间就是常说的内存。你可以把它们想成是一个个规格定好了的盒子,这些盒子的大小是有限的,不能放无穷大的数据。那到底能放多大?学到数据类型就会有所认识。在这里只需记住,整数也好,小数也好,不是你想放多大就能放多大的。不过你不用担心,你能碰到的数不管多大都能想办法放进程序中去,具体的办法你慢慢就会学会的。,字符常量,在C语言中,字符常量就是指单引号里的单个字符,像上

7、例中的“a”,这是一般情况,还有一种特殊情况,比如:“n”,“a”,像这样的字符常量就是我们所说的转义字符。这种字符是以反斜杠()开头,后面跟一个字符或一个八进制或十六进制数,表示的不是单引号里面的值,而是“转义”,即转化为具体的含义。下面是C语言中常见的转义字符表:,字符常量,字符常量,注意:在C语言中,3和3的含义是不一样的,一个是数值,可运算,一个是字符,一个符号而已。而a和A同样也是不一样的,字符区分大小写。,字符常量,【范例3】比较字符常量的含义。01#include02intmain(void)0304printf(a,An);/*输出a,A并换行*/05printf(123x20

8、 x20n);/*输出123、空格、单引号、空格和双引号,最后换行*/06return0;范例中不仅用到数值常量,比如123,字符常量,比如a,A等,还用到转义字符,如n,、x20等。第4行首先输出一个小写字母“a”,然后又输出一个大写字母“A”,接着输出一个转义字符“n”,相当于输出一个换行符。第5行先输出一个数值常量123,接着输出一个转义字符“x20”,相当于输出1个空格,接着输出转义字符“”,相当于输出1个单引号,接下来又输出空格,双引号,最后输出换行符。,字符串常量,在前面的HelloWorld程序中,程序中输出的“Hello,World”就是字符串常量,用双引号括起来的形式显示的,

9、其值就是双引号里面的字符串。所以字符串常量可以定义为在一对双引号里的字符序列或转义字符序列。比如“”、“”、“a”、“abc”、“abcn”等等。我们把称之为空串,即一个不包含任意字符的字符串,而我们称之为空格串,是包含一个空格字符的字符串。二者不能等同。,字符串常量,比较a和a的不同。书写形式不同:字符串常量用双引号,字符常量用单引号。存储空间不同:在内存中,字符常量只占用一个存储空间,而字符串存储时必须有占用一个存储空间的结束标记o,所以,a占用一个,而a占用两个。二者的操作功能也不相同:例如,字符常量可进行加减运算,字符串常量不能。,符号常量,当某个常量引用起来比较复杂而又经常要被用到时

10、,可以将该常量定义为符号常量,也就是分配一个符号给这个常量,在以后的引用中,这个符号就代表了实际的常量。这种用一个指定的名字代表一个常量称之为符号常量,即带名字的常量。在C语言中允许将程序中的常量定义为一个标识符,这个标识符称为符号常量。符号常量必须在使用前先定义,定义的格式为:#define其中,通常使用大写字母表示,可以是数值常量,也可以是字符常量。,符号常量,一般情况下,符号常量定义命令要放在主函数main()之前。如:#definePI3.14159表示是用符号PI代替3.14159。在编译之前,系统会自动把所有的PI替换成3.14159,也就是说编译运行时系统中只有3.14159而没

11、有符号。,符号常量,【范例4】使用符号常量计算圆的周长和面积。01#definePI3.14159/*定义符号常量PI的值为3.14159*/02#include03intmain(void)0405floatr;06printf(请输入圆的半径:);/*提示输入圆的半径*/07scanf(%f,11,符号常量,由于我们在程序前面定义了符号常量PI的值为3.14159,所以经过系统预处理,程序在编译之前已经将“2*PI*r”变为“2*3.14159*r”,将“PI*r*r”变为“3.14159*r*r”,然后经过计算并输出。代码第1行的#define就是预处理命令。程序在编译之前首先要对这些命

12、令进行一番处理,在这里就是用真正的常量值取代符号。,符号常量,有的人可能会问,那既然在编译时都已经处理成常量,为什么还要定义符号常量。原因有两个。易于输入,易于理解。在程序中输入PI,我们可以清楚地与数学公式对应,且每次输入时相应的字符数少一些。便于修改。此处如果想提高计算精度,如把PI的值改为3.14159,我们只需修改预处理中的常量值,那么程序中不管你用到多少次,都会自动跟着修改。,符号常量,提示:符号常量不同于变量,它的值在其作用域内不能改变,也不能被赋值。习惯上,符号常量名用大写英文标识符,而变量名用小写英文标识符,以示区别。定义符号常量的目的是为了提高程序的可读性,便于程序的调试和修改。因此,在定义符号常量名时,应尽量使其表达它所代表的常量的含义。对程序中用双引号括起来的字符串,即使与符号一样,预处理时也不做替换。,

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!