01常量、变量与数据类型

上传人:小** 文档编号:45731289 上传时间:2018-06-18 格式:PPT 页数:37 大小:868.50KB
返回 下载 相关 举报
01常量、变量与数据类型_第1页
第1页 / 共37页
01常量、变量与数据类型_第2页
第2页 / 共37页
01常量、变量与数据类型_第3页
第3页 / 共37页
01常量、变量与数据类型_第4页
第4页 / 共37页
01常量、变量与数据类型_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《01常量、变量与数据类型》由会员分享,可在线阅读,更多相关《01常量、变量与数据类型(37页珍藏版)》请在金锄头文库上搜索。

1、C 语言程序设计主讲:李 果 E-mail:数据类型数据类型n 常量与变量的概念n 不同数据类型的常量与变量n 变量赋初值n 不同类型数据之间的混合运算数据类型数据类型n程序的组成包含两部分: 数据(程序处理的对象)+ 算法(处理问题的方法)nC语言数据类型很多,本章主要介绍基本数据类型。数据类型基本类型空类型指针类型构造类型整型实型字符型枚举类型数组类型结构体类型共用体类型单精度双精度标识符n在编写程序中,必须为函数、变量等命名,这个 名字称为标识符。n标识符第一个字符只能是字母或下划线,随后的 字符只能是字母、数字或下划线。 如:下列标识符不合法:3a、k-12、_3f$、int、s*um

2、、n在C语言中字母的大小写是不同的。如:int sum,Sum; /*定义两个不同的变量*/n各版本C命名中可识别字符个数不同(最好不超 过8个)。标识符n此外标识符不能与有特殊意义的关键字(附 录)相同,同一个C程序中标识符尽量不重 复。关键字也叫保留字,只能小写,是C语言中具有 特定含义的一类标识符,一共32个。如:int、if、 else、long、voidC语言中的关键字(32个)auto break case char const continue default do double else enum extern float for goto if int long regist

3、er return short signed sizeof static struct switch typedef union unsigned void volatile while常量n在程序运行过程中不能被程序修改的固定量,常 量从表现形式看可分为两大类:字面常量(直接常量): 如0、-4.3、101、a等符号常量: 在编译预处理时定义,用一个标识符来代替常量常量常量算术常量字符常量整型常量实型常量常量n例:已知圆半径为4,求圆周长。 难点:如何处理(3.14159)#define PI 3.14 /*定义符号常量,用PI代替3.14*/main() /*函数首部*/ float r,

4、s; /*定义实型变量r、s分别代表半径和周长*/r=4; /*为变量r赋初值*/s=2*PI*r; /*计算圆周长,并将结果赋给s*/printf(“Result : %f n”,s); /*输出结果*/常量n注意:习惯上我们通常用大写的标识符作 为符号常量名,以和变量名区分。n注意:定义符号常量的方式。#define #define 标识符标识符 字符串字符串n使用符号常量最大的好处是在一个程序中 多次用到固定的某个常量值时,可以做到一 改多改。常量#include main ( ) printf (“%d n” , NULL); 程序运行后的输出结果是 ?变量n变量是程序运行过程中可以改

5、变的量。n变量是一个存储单元,其所占字节数取决于 变量的数据类型。如一个整型的变量占据两 个字节空间。n为某个变量赋值,原值将被覆盖;调用某个 变量时,仅仅将该变量值复制到运算器处理 ,原值不变。变量n变量必须先定义,后使用。n变量的定义方式: 数据类型 变量表; 当同时定义多个变量时,变量名用“,”隔开。 如:int a1,a2;float x,y,z;变量n在函数体中定义变量的说明语句必须位于 执行部分的上方。 main() x=7; /*C语言当中,语句顺序执行,此处x还没定义,就已经使用了*/int x; /*作为变量定义,必须放在函数体中上部*/printf(“%d”,x); 不同数

6、据类型的常量与变量数据类型是数据的内在表现形式。 (存储、运算)n整型常量十进制整数:123、70、250、10000、0八进制整数(以0开头):0123、074、050十六进制整数(以0x开头):0x123、0xff、0x3d 0123相当于十进制83,0x123相当于十进制291。不同数据类型的常量与变量n例:分析以下程序的执行结果。 #include void main( ) int x, y, z ;x=010 ; y=10 ; j=0x10 ;printf ( “%d,%d,%d”, x, y, z) ; 不同数据类型的常量与变量n整型变量(6种类型)类类型型bitsbits数数值值

7、范范围围 signed int 16-32768 32767 unsigned int160 65535 signed short int16-32768 32767 unsigned short int160 65535long int32 -2147483648 2147483647 unsigned long int320 4294967295 注意:方括弧内部分表示可以省写。不同数据类型的常量与变量n整型数据一个整型常量后加上一个字母l或L,则认为 是long int型常量。如123L。一个整型常量后加上一个字母u,则作无符 号整型常量处理。如254u。定义一个变量,其值应在其数据类型

8、所能 表示的范围之内,否则可能导致错误。n比如int类型,其数值范围为-32768到32767 之间。设想一下,一个变量值为32767,然后 再加1,结果如何?运行 结果 数据数据 溢出溢出不同数据类型的常量与变量n实型(浮点型)常量十进制小数形式:3.14、.625、20.、0.0指数形式:17e2、17E2、2.3e10 17e2相当于17102,e可以用大写E代替。 注意:字母e前必须有数字,指数后必须是整 数。因此e3、2.1e3.5、12e、e不合法。不同数据类型的常量与变量规范化的指数形式:即在字母e之前的小数部分, 小数点左边应有一位(且只能有一位)非零的数字 。 如:2.135

9、E10、3.066e9n实型常量不管表现形式如何,总是占据8个字节的 存储空间(即表现为双精度的形式)。不同数据类型的常量与变量n实型变量(3种类型)类类 型型bitsbits有效数字有效数字数数值值范范围围float326 710-37 1038double6415 1610-307 10308long double8018 1910-4931 104932使用实型数据要注意不同数据类型表示范围和有效位数,否则可能出现误差。不同数据类型的常量与变量n实型变量 比如:float x; x=123456.789e5; 此例中,由于float型数据有效位数为7位,因 此后两位数字不起作用。 在一个

10、实型常量后加上f或F,表示将此实型 数作单精度类型数处理。不同数据类型的常量与变量n 字符常量 用单引号括起来的一个字符:a、%、D 转义字符:n、t、b、r 反斜杠|单引号|双引号:、” 反斜杠加数字:741、x8D 注意:加三位八进制数或x加两位十六进制数。 比如101和x41表示ASCII值为65的字符A。0 表示ASCII值为0的空字符。ASCII码值与字符对照表(附录)不同数据类型的常量与变量语句printf (“abrehiyboun”);的输出结 果是 ( ) abrehiybou abrehiybou rehiyou abrehiybou不同数据类型的常量与变量n字符变量,用于

11、存储字符常量,不过只能 存储单个字符。一个字符变量占一个字节(8 bits)signed char 与 unsigned char字符变量也被认为是一类特殊的整型变量,因此 你可以给一个字符变量赋值一个整型常量字符型数据在内存中以ASCII码形式存放不同数据类型的常量与变量比如: main() char x1;x1=97; /* 此句等价于x1=a; */printf(“%d,%c”,x1,x1); 可见字符型数据和整型数据是通用的,它们 既可以用%c输出,也可以用%d输出。输出结果: 97,a不同数据类型的常量与变量编写程序实现大小写字母的转换。main() char x1,x2;x1=a;

12、 x2=b;x1=x1-32; x2=x2-32;printf(“%c %c”,x1,x2); 不同数据类型的常量与变量编写程序判断输入的字符是否为大写字母。main() char wat_1;scanf(“%c”,if(wat_1=65 printf(“%c,%c,%dn”,k1,k2,k1-k2); 不同数据类型的常量与变量n 字符串常量一对双引号括起来的字符序列。 如”Hello world!”、”China” C规定,每一个字符串结尾都要加上字符串结 束标志0。 比如”China”,在内存中占6个字节。 因此a与”a”在内存中存储字节数不同。n 字符串”ab”占几个字节?不同数据类型的

13、常量与变量n将小写字母b赋值给字符变量ch的正确操作 是( )。nch = b ;nch = “b” ;nch = 98 ;nch = B ;C不同数据类型的常量与变量n对于下面各种值,最适合使用何种类型的 变量来存储?人的年龄圆的半径您的年薪温度到某个星球的距离(公里)变量赋初值n定义一个变量之后,程序常常需要对变量预先设 置初值。如:float a=8.1; /*可以在定义变量同时对变量初始化*/char c1=x21;int a,b,c;c=74;int a,b,c=74;int x=3,y=3,z=3; 注意不能写成 int x=y=z=3;思考:不通过第三方变量交换两个变量的值。已知

14、x=22,y=11,编程实现x=11,y=22。main()int x,y;x=22; y=11;x = x y ; x = x y ;y = x + y ; y = x + y ;x = y x ; x = y x ;printf (“x=%d,y=%d”,x,y);如何理解,“=”左边 与右边出现的x和y!不同类型数据之间的混合运算n不同类型数据在进行运算时,要先转换成 同一类型,然后进行运算。原则上,存储字节少的原则上,存储字节少的 数据类型转化为存储字数据类型转化为存储字 节多的数据类型。节多的数据类型。假设指定i为整型变量,f为float变量,d为 double型变量,e为long型,有下面式子:10+a+i*10+a+i*f-d/ef-d/e 在计算机执行时从左至右扫描,运算次序为: 进行10+a的运算,先将a转换成整数97,运 算结果为107。 由于“*”比“+”优先,先进行i*f的运算。先将i与f都 转成double型,运算结果为double型。 整数107与i*f的积相加。先将整数107转换成双 精度数(小数点后加若干个0,即10700000), 结果为double型。 将变量e化成double型,d/e结果为double型。 将10+a+i*f的结果与d/e的商相减,结果为 double型。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号