资源描述:
《第5、6次(数据类型、常量、变量)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ITEducation&TrainingNeusoftInstituteofInformationDate:08September2021第二章数据类型及表达式办公室:C7EMAIL:huang.w@neusoft.com课件下载网址:ftp://computer.dept.ccniit.com任课教师:黄伟基本数据类型常量变量授课要点【例2.1】关于常量、变量及数据类型说明的程序实例。#includemain(){intiNum=108;/*定义整型变量iNum并赋予常量值108*
2、/floatfGrade=95.5;/*定义单精度实型变量fGrade并赋予实型常量值95.5*/charch=‘A';/*定义字符变量ch并赋予字符常量值‘A'*/charstr[10]=“huang.we”;/*定义字符数组str[10]*/printf("学号:%d",iNum);/*输出各变量的值*/printf("姓名:%s",str);printf("成绩:%f",fGrade);printf("等级:%c",ch);}案例回顾问题分析(能否缺少数据类型定义)将【例2.1】
3、的变量定义部分删掉,程序改为:#includevoidmain(){printf("学号:%d",iNum);/*输出各变量的值*/printf("姓名:%s",str);printf("成绩:%f",fGrade);printf("等级:%c",ch);}编译结果结论:变量在使用之前必须先定义!程序举例【例2.2】关于常量、变量及数据类型说明的程序实例。#includevoidmain(){inta=3;/*定义整型变量a并赋予常量值3*/shor
4、tr=6;/*定义短整型变量r并赋予常量值6*/charc='a';/*定义字符变量c并赋予字符常量值'a'*/floatpi=3.14;/*定义单精度实型变量pi并赋予实型常量值3.14*/doubles;/*定义双精度实型变量s*/s=pi*r*r;/*将pi*r*r值赋给s*/printf(“int:%d,short:%d,char:%d,float:%d,double:%d”,sizeof(a),sizeof(r),sizeof(c),sizeof(pi),sizeof(s));/*输出各
5、变量占内存的字节数*/printf("a=%d,r=%d,c=%c,pi=%f,s=%lf",a,r,c,pi,s);/*输出各变量的值*/}问题分析(不同类型的表示)结果分析:变量可以被定义成不同的数据类型并赋值,不同类型的数据在内存中所占的字节数不同,通过sizeof()求得数据宽度。短整型、整型、字符型、单精度实型、双精度实型在内存中分别占2字节、4字节、1字节、4字节和8字节(不同运行环境结果会有所差异,这里仅是VisualC++6.0的结果)。同时,这些数据在输出时所使用的输出格式控制符
6、也不相同,分别为%d、%d、%c、%f和%lf形式。由此可见,数据表现为常量或变量,数据又具有不同的数据类型,不同数据类型的数据存储格式不同,数据的输出格式控制也不相同。注意:在TruboC环境下,整型数据存储时在内存中占2字节。运行结果“数据类型”的意义:定义了数据占用的内存空间大小定义了数据在内存中的存储格式决定了数据的运算规则(自身的行为)为编译器提供了检查依据数据类型的意义数据类型是避免程序错误的初级(基本)手段,不是全部手段;C语言的数据类型单精度实型(float)双精度实型(double)
7、整型(int)字符型(char)枚举类型数组类型结构体类型共用体类型实型基本类型构造类型空类型(void)指针类型数据类型1.整型数据2.实型数据3.字符型数据数据的存储格式、范围整型数据的取值范围实例【例2.3】观察以下程序的运行结果。#includemain(){shortsNum=32768;printf(“%d”,sNum);}运行结果如下图所示:整型数据分类及取值范围整型数据分为一般整型(int)、短整型(short)和长整型(long),并且每一种类型又分为带符号(s
8、igned)和无符号(unsigned)两种类型。整型数据的特性见下表:数据类型名说明VisualC++6.0环境TurboC2.0环境字节取值范围字节取值范围short[int]短整型2-32768~327672-32768~32767signedshort[int]带符号短整型2-32768~327672-32768~32767unsignedshort[int]无符号短整型20~6553520~65535int整型4-2147483648~2147