标识符,常量,变量_第1页
标识符,常量,变量_第2页
标识符,常量,变量_第3页
标识符,常量,变量_第4页
标识符,常量,变量_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、l标识符:标识符:w标识符是用户自己命名的、符合语法规范的对象名称。变量名、自定义函数名等等。w语法规范:标识符可由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 合法的标识符:sum,x1,f_name,_time等。 不合法的标识符:2a,x/y,ab等。第二章 C语言的基本数据类型及运算w使用标识符应注意:使用标识符应注意:C语言中区分大小写字母,所以Sum、SUM、sum是不同的标识符。标识符的长度通常默认前面8个字符。例如:student_db与student_data为相同标识符。标识符不能和C语言中的关键字相同,也不能和已定义的函数名或库函数名相同。1)C语言中

2、所有的关键字(p220附录2)标准库函数(P222附录4)不是标识符,且必须使用小写字母。l为了实现程序的功能,通常要对各种数据进行处理,以获得结果。程序处理的数据从使用的角度分为: 常量 变量l常量:在程序运行过程中,其值保持不变的量。整型常量:C语言中有三种常用整型常量。w十进制整数:156,0,-123等。w八进制整数:以0开头,如 011,023等。w十六进制整数:以0 x开头,如0 x11,0 x23等。实型常量(浮点数):有两种表示方法w小数形式:0.123 12.3 .123 123.等。w指数形式:men(mEn) (m为非0实数,n为整数):表示 m*10n 。 如:123e

3、+2表示123*102 123E-2表示123*10-2注意:(1)e前后必须有数字:e4,2e(错误)(2)e后面必须是整数:2e3.5 (错误)字符常量w用单引号括起来的单个字符,如a,b等。注意:单引号是字符常量的标志,而不属于字符常量本身。例如:a与a ,1与1w转义字符(P17):以开头的,使后面的字符失去了原来的意义。例如n注意: 与后面的字母或数字构成的是一个一个具有特殊意义的字符。例如b例2.1 转义字符的功能。 main() printf(abE_tbcdn); printf(efg_); 显示屏: 80列*40行TAB区1:8列TAB区2:8列abEc defg字符串常量用

4、双引号括起来的一个或多个字符序列称为字符串常量。例如: a,CHINA,$123.45,How are you?n可以输出一个字符串,例如: printf(How do you do.n.n););字符常量与字符串常量的区别:C语言在内存中存储字符常量时,只存储字符本身,因此存储长度为1。存储字符串时,除了存储字符本身,还要存储一个C语言中规定的字符串结束标志0,因此字符串的储存长度为(字符个数1 )。例如:a的存储长度为2, how are you.n的存储长度为14符号常量w符号常量是用符号表示的一个常量。通常用大写字母表示,必须先用#define加以定义。w作为常量的符号必须符合C语言的

5、标识符规范。w举例符号常量的使用:#define PRICE 15 /*定义符号PRICE,代表整常量15*/main() int number=10,count; count=number*PRICE; printf(count=%d,count);使用符号常量的好处:main()float area,circle,vol,r; r=1.0; area=3.14 *r*r; circle=2* 3.14 *r; vol= 3.14 *; 若要将3.14改为3.1415926,则该程序需要处处修改。define PI 3.14main()float area,circle,vol,r; r=1

6、.0; area=PI *r*r; circle=2* PI *r; vol= PI *; 好处:1、含义清楚,增加了程序的可读性。2、方便程序的修改。3.1415926l在C语言程序中用到最多的是:变量。变量:在程序运行过程中,其值可以改变的量。使用变量的原则:先定义:说明变量的类型。再使用:使用该变量进行各种运算。所有数据在内存中以二进制形式存储变量的类型:整型变量:(1)有符号:二进制的最高位为符号位。(2)无符号:二进制的最高位为数值位。要求掌握:(1)不同整型类型名称对应的关键字(2)系统为该类型分配的字节数(3)该类型数据的取值范围(int、unsigned)整型常量类型的确定根据

7、常量的范围:15 32769在常量后面加上字母u(U)或l(L)15L:long型常量32769U:无符号整型常量实型:(1)单精度:float(2)双精度:double要求掌握:(1)每种类型的类型名称关键字(2)系统为该类型分配的字节数(3)该类型数据的取值范围(4)有效位:能够准确表达的数字的位数。有效位举例:(double有效位16位,float有效位7位) double a; float b; a=123456789.1234; b=123456789.1234; printf(a=%f b=%f,a,b);运行结果:a=123456789.123400 b=123456792.00

8、0000字符型:在内存中只需要一个字节:(1)有符号:char(2)无符号:unsigned char注意:字符在内存中存放的是该字符对应的ASCII码。因此,字符和整型间可以相互赋值。例如: char c; c=65; printf(%d %c,c,c); 输出: 65 A字符串常量不能赋值给字符变量:例如: char ch; ch=a; ch=a; 因为字符变量只分配一个字节,而一个非空字符串至少需要两个字节的空间。例2.3 整型数据与字符型互换输出。 main() char c1,c2; c1=98; c2=99; printf(%c,%cn,c1,c2); printf(%d,%dn,

9、c1,c2); 运行结果如下运行结果如下:b,c98,99例2.4 将大写字母转换成小写字母。 main() char c1,c2; c1=A; c2=B ; c1=c1+32; c2=c2+32; printf(%c %cn,c1,c2); printf(%d %d,c1,c2);字符变量可以进行算术运算。运行结果如下:运行结果如下:a b97 98l变量的定义及赋值C规定,所有的变量必须先定义,后使用。定义方式: 类型名称 变量1,变量2,;用户自定义变量的名称,必须符合C标识符的规定C语言规定的关键字:int、char、float为什么变量必须先定义后使用?定义变量:(1)声明该变量的类

10、型(2)C系统根据其类型在内存某起始位置开始申请连续sizeof(类型名)个字节分配给该变量。(3)在系统中建立变量名与分配空间起始地址之间的映射关系。使用变量:(1)根据变量名与起始地址之间的映射关系找到该变量在内存中的起始地址。(2)根据该变量的类型,从起始地址开始连续sizeof(类型名)个字节均属于该变量,可以向该段内存单元写或读数据。小结:内存构成:内存由若干存储单元构成,32位机的一个存储单元为32字节,每个字节相当于一个小房间,大小为一个字节,每个房间都有一个编号(内存地址)。变量定义:是系统根据程序中声明变量的类型,在内存中从某起始地址开始分配n个连续的字节,并记录下变量名、类

11、型及其在内存的起始地址。使用变量:根据变量名找到该变量在内存占用的空间,对该变量的访问(读数、存数)就是对这段连续内存空间的访问。使用没有定义变量:例如:main() int A;a=3;printf(“%d”,a);则编译时会出现下面的错误提示: Errors:Undefined symbol a in function main.变量的赋值(变量的使用):将数据送到变量对应的内存单元中。(1)赋值的方式:A、定义变量同时给变量赋值:例如:int a=3,b=4,c;给所有变量赋相同的值:正确方式: int a=3,b=3,c=3;错误方式: int a=b=c=3;B、通过赋值语句实现:例

12、如: int a; a=3;/*赋值语句*/C、通过C语言提供的输入函数:例如: int a; scanf(“%d”,&a);给变量赋值时需要注意的问题(1)注意被赋值变量的取值范围:例如:short a,b; long c; a=32768; b=32767; c=b+1; printf(“%d,%ld”,a,c);输出结果: 32768,32768原因:32768超过了int型的范围,因而没有出现预期的结果。但C对此类错误不做检测,因而要求编程者细心。(2)任何变量必须先赋值,然后才能进行运算。例如:main() int a,b; b=a+1;printf(“%d”,b);编译时会出现下面的警告错误:Warning: Possible use of a before definition in function main.若忽略,程序能够执行,但会得到

温馨提示

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

评论

0/150

提交评论