第5、6次(数据类型、常量、变量)_第1页
第5、6次(数据类型、常量、变量)_第2页
第5、6次(数据类型、常量、变量)_第3页
第5、6次(数据类型、常量、变量)_第4页
第5、6次(数据类型、常量、变量)_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、Neusoft Institute of InformationDate: May 27, 2022IT Education & TrainingIT Education & TrainingNeusoft Institute of InformationDate: May 27, 2022第二章第二章数据类型及表达式数据类型及表达式办公室:办公室:C7EMAIL:课件下载网址:ftp:/任课教师:黄伟任课教师:黄伟Neusoft Institute of InformationDate: May 27, 2022IT Education & Training 基本数据类型基本数据类型 常量常

2、量 变量变量授课要点授课要点Neusoft Institute of InformationDate: May 27, 2022IT Education & Training【例2.1】关于常量、变量及数据类型说明的程序实例。#includemain() int iNum=108;/*定义整型变量iNum并赋予常量值108 */ float fGrade=95.5; /*定义单精度实型变量fGrade并赋予实型常量值95.5 */ char ch=A; /*定义字符变量ch并赋予字符常量值A */ char str10=“huang.we”; /*定义字符数组str10 */ printf(学

3、号:%dn,iNum); /*输出各变量的值 */ printf(姓名:%sn,str); printf(成绩:%fn,fGrade); printf(等级:%cn,ch);案例回顾Neusoft Institute of InformationDate: May 27, 2022IT Education & Training问题分析(问题分析(能否缺少数据类型定义)将【例2.1】的变量定义部分删掉,程序改为:#includevoid main() printf(学号:%dn,iNum); /*输出各变量的值 */ printf(姓名:%sn,str); printf(成绩:%fn,fGrad

4、e); printf(等级:%cn,ch);编译结果编译结果结论:变量在使用之前必须先定义! Neusoft Institute of InformationDate: May 27, 2022IT Education & Training程序举例程序举例【例2.2】关于常量、变量及数据类型说明的程序实例。#includevoid main() int a=3;/*定义整型变量a并赋予常量值3 */ short r=6; /*定义短整型变量r并赋予常量值6*/ char c=a; /*定义字符变量c并赋予字符常量值a */ float pi=3.14; /*定义单精度实型变量pi并赋予实型常量

5、值3.14 */ double s; /*定义双精度实型变量s */ s=pi*r*r; /*将pi*r*r值赋给s */ printf(“int:%d,short:%d,char:%d,float:%d,double:%dn”,sizeof(a),sizeof(r),sizeof(c),sizeof(pi),sizeof(s); /*输出各变量占内存的字节数 */ printf(a=%d,r=%d,c=%c,pi=%f,s=%lfn,a,r,c,pi,s);/*输出各变量的值 */ Neusoft Institute of InformationDate: May 27, 2022IT Ed

6、ucation & Training问题分析(不同类型的表示)结果分析:变量可以被定义成不同的数据类型并赋值,不同类型的数据在内存中所占的字节数不同,通过sizeof()求得数据宽度。短整型、整型、字符型、单精度实型、双精度实型在内存中分别占2字节、4字节、1字节、4字节和8字节(不同运行环境结果会有所差异,这里仅是Visual C+6.0的结果)。同时,这些数据在输出时所使用的输出格式控制符也不相同,分别为%d、%d、%c、%f和%lf形式。由此可见,数据表现为常量或变量,数据又具有不同的数据类型,不同数据类型的数据存储格式不同,数据的输出格式控制也不相同。注意:在Trubo C环境下,整型

7、数据存储时在内存中占2字节。 运行结果运行结果Neusoft Institute of InformationDate: May 27, 2022IT Education & Training“数据类型数据类型”的意义:的意义:定义了数据占用的内存定义了数据占用的内存空间大小空间大小定义了数据在内存中的定义了数据在内存中的存储格式存储格式决定了数据的决定了数据的运算规则运算规则(自身的行为)(自身的行为)为编译器提供了为编译器提供了检查依据检查依据数据类型的意义数据类型的意义数据类型是避免程序错误的初级(基本)手段,不是全部手段;数据类型是避免程序错误的初级(基本)手段,不是全部手段;Neus

8、oft Institute of InformationDate: May 27, 2022IT Education & TrainingC语言的数据类型语言的数据类型单精度实型单精度实型 (float)双精度实型双精度实型 (double)整型整型 (int)字符型字符型 (char)枚举类型枚举类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型实型实型基本类型基本类型构造类型构造类型空类型空类型 (void)指针类型指针类型数据类型数据类型Neusoft Institute of InformationDate: May 27, 2022IT Education & Traini

9、ng1.1.整型数据整型数据2.2.实型数据实型数据3.3.字符型数据字符型数据 数据的存储格式、范围数据的存储格式、范围Neusoft Institute of InformationDate: May 27, 2022IT Education & Training整型数据的取值范围实例整型数据的取值范围实例【例2.3】观察以下程序的运行结果。 #includemain() short sNum=32768;printf(“%dn”,sNum);运行结果如下图所示:Neusoft Institute of InformationDate: May 27, 2022IT Education &

10、 Training整型数据分类及取值范围整型数据分类及取值范围 整型数据分为一般整型(整型数据分为一般整型(int)、短整型()、短整型(short)和长整型()和长整型(long),),并且每一种类型又分为带符号(并且每一种类型又分为带符号(signed)和无符号()和无符号(unsigned)两种类型)两种类型 。整型数据的特性见下表:整型数据的特性见下表: 数据类型名说明Visual C+ 6.0环境Turbo C2.0环境字节取值范围字节取值范围short int短整型2-32768327672-3276832767signed short int带符号短整型2-32768327672

11、-3276832767unsigned short int无符号短整型20655352065535int整型4-214748364821474836472-3276832767signed int带符号整型4-214748364821474836472-3276832767unsigned int无符号整型4042949672952065535long int长整型4-214748364821474836474-21474836482147483647signed long int带符号长整型4-214748364821474836474-21474836482147483647unsigne

12、d long int无符号长整型404294967295404294967295Neusoft Institute of InformationDate: May 27, 2022IT Education & Training实型数据分类实型数据分类 实型数据分为单精度实型(实型数据分为单精度实型(float)、双精度实型()、双精度实型(double)和长双)和长双精度实型(精度实型(long double)。具体情况见下表所示)。具体情况见下表所示 : 数据类型名说明Visual C+ 6.0环境Turbo C2.0环境字节取值范围有效数字字节取值范围有效数字float单精度实型4-3.4

13、10383.41038674-3.410383.4103867double双精度实型8-1.7103081.71030815168-1.7103081.7103081516long double长双精度实型8151610-1.21049321.210493218191.7103081.710308Neusoft Institute of InformationDate: May 27, 2022IT Education & Training字符型数据分类字符型数据分类 字符型数据分为一般字符型(字符型数据分为一般字符型(char)、带符号字符型()、带符号字符型(signed char)和无符

14、号字符型(和无符号字符型(unsigned char)三种类型。具体情况见下表所示)三种类型。具体情况见下表所示 : 数据类型名说明字节取值范围char字符型1-128127signed char带符号字符型1-128127unsigned char无符号字符型10255Neusoft Institute of InformationDate: May 27, 2022IT Education & Training 基本数据类型基本数据类型 常量常量 变量变量授课要点授课要点Neusoft Institute of InformationDate: May 27, 2022IT Educati

15、on & Training 标识符标识符 定义:用来标识变量、常量、函数等的字符序列定义:用来标识变量、常量、函数等的字符序列 组成:组成:只能由只能由字母字母、数字数字、下划线下划线组成,且第一个字母必须是字组成,且第一个字母必须是字母或下划线母或下划线大小写敏感大小写敏感不能使用关键字不能使用关键字 长度:最长长度:最长32个字符个字符 命名原则:命名原则:见名知意见名知意不宜混淆不宜混淆 如如l与与I, o与与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above

16、$123M.D.John3days#33char$123ab常量与变量常量与变量Neusoft Institute of InformationDate: May 27, 2022IT Education & Training常量常量 常量的存在形式常量的存在形式5 5 数字数字/ /整型常量整型常量5.35.3数字数字/ /浮点常量浮点常量“Black”Black”字符串常量字符串常量CC字符常量字符常量 推荐的常量表示推荐的常量表示 #define#defineMaxMax100100 Const int Max = 100;Const int Max = 100; 使用命名常量的好处使用

17、命名常量的好处 增加程序可读性增加程序可读性; ; 减少书写错误减少书写错误; ; 便于维护便于维护; ;Neusoft Institute of InformationDate: May 27, 2022IT Education & Training整型常量实例整型常量实例 在在C语言中,整型常量有十进制、八进制、十六进制三种进制表示语言中,整型常量有十进制、八进制、十六进制三种进制表示方法,并且各种数制均可有正(方法,并且各种数制均可有正(+)负()负(-)之分,正数的)之分,正数的“+”可省略。可省略。 【例2.4】定义一个八进制常量并显示在屏幕上 。 #include void mai

18、n() const int num1=89;const int num2=047;const int num3=0X8A;printf(“%dn%xn%0 xn”,num1,num2,num3);运行结果如下图所示:Neusoft Institute of InformationDate: May 27, 2022IT Education & Training字符型常量字符型常量实例实例 【例2.5】观察以下程序的运行结果 。 #include main() const int num1=97;const char ch=a;printf(%cn,num1);printf(%dn,ch);运行

19、结果如下图所示:Neusoft Institute of InformationDate: May 27, 2022IT Education & Training字符型常量说明字符型常量说明 (1 1)一般字符常量一般字符常量 :一般字符常量是用单引号括起来的一个普通字符,一般字符常量是用单引号括起来的一个普通字符,其值为该字符的其值为该字符的ASCIIASCII代码值。如代码值。如a a、A A、0 0、? ?等都是一般等都是一般字符常量,但是字符常量,但是a a和和A A是不同的字符常量,是不同的字符常量,a a的值为的值为9797,而,而A A的值为的值为6565。 字符型常量是由一对单

20、引号括起来的一个字符。它分为字符型常量是由一对单引号括起来的一个字符。它分为一般字符常量一般字符常量和和转义字符转义字符。字符常量在内存中占一个字节。字符常量在内存中占一个字节。(2 2)转义字符转义字符 :C C语言允许用一种特殊形式的字符常量,它是以反斜杠语言允许用一种特殊形式的字符常量,它是以反斜杠( )开头的特定字符序列,表示)开头的特定字符序列,表示ASCIIASCII字符集中控制字符、某些用于字符集中控制字符、某些用于功能定义的字符和其他字符。如功能定义的字符和其他字符。如nn表示回车换行符,表示回车换行符,表示字符表示字符“ ”。常用的转义字符见。常用的转义字符见

21、.1中所叙。中所叙。 Neusoft Institute of InformationDate: May 27, 2022IT Education & TrainingASCII表表Neusoft Institute of InformationDate: May 27, 2022IT Education & Training字符串常量说明字符串常量说明 字符串常量也称字符串,由一对双引号括起来(字符串常量也称字符串,由一对双引号括起来(“”“”)的)的字符序列。字符序列。 字符串常量中的字符是连续存储的,并在最后自动加上字符串常量中的字符是连续存储的,并在最后自动加上字符字符0作为字符串结束

22、标志。如字符串作为字符串结束标志。如字符串“a”在计算机内存在计算机内存中占两个连续单元,存储内容为字符中占两个连续单元,存储内容为字符a和和0。Neusoft Institute of InformationDate: May 27, 2022IT Education & Training 基本数据类型基本数据类型 常量常量 变量变量授课要点授课要点Neusoft Institute of InformationDate: May 27, 2022IT Education & Training(1)数据类型:C语言的合法数据类型。如例中的int、short、char、float、double

23、等。 (2)变量名表:变量名是C语言合法的标识符。变量名表可以包含多个变量名,彼此之间使用逗号分开,表示同时定义若干个具有相同数据类型的变量,如: float a,b;变量及类型定义变量及类型定义 1. 1. 变量定义变量定义变量定义一般格式: 数据类型数据类型 变量名表;变量名表;如:int a; 对变量定义说明如下: 变量是指在程序执行过程中其值可以被改变的量。变量定义的实质是按照变量说明的数据类型为变量分配相应空间的存储单元,在该存储单元中存放变量的值。 C语言中,变量使用时遵循“先定义,后使用”的原则。 Neusoft Institute of InformationDate: May

24、 27, 2022IT Education & Training变量及类型定义变量及类型定义 Memory Value(5)Name (a)Type (int)int a = 5 ; /* 申请空间并初始化 */一个变量必然包含以下概念:一个变量必然包含以下概念:1. 名字(变量名)名字(变量名)2. 类型(变量占用空间)类型(变量占用空间)3. 值(变量的内容)值(变量的内容)4. 地址(变量在内存中所处的位置)地址(变量在内存中所处的位置)字节Address2. 2. 变量的存储模式变量的存储模式Neusoft Institute of InformationDate: May 27, 2

25、022IT Education & Training变量及类型定义变量及类型定义 3. 3. 变量初始化及赋值变量初始化及赋值 在【例2.2】中“s=pi*r*r;”语句是通过赋值运算符“=”将“pi*r*r”的值赋给变量s,即该语句实现了给变量s的赋值。所以,变量值可以通过初始化取得,也可以在定义后,通过给变量赋值的方法取得。 在【例2.1】中,“int num=108; float grade=95.5; char ch=A;”的“=”是赋值运算符,用来给变量赋值。所以,以上四条语句都是在定义变量的同时给变量赋了值,称为变量的初始化。变量初始化是指定义变量同时,给变量一个初始值。 Neus

26、oft Institute of InformationDate: May 27, 2022IT Education & Training模仿练习模仿练习 定义学生的学号、姓名、性别、年龄、两门功课定义学生的学号、姓名、性别、年龄、两门功课的成绩并进行输入和输出。的成绩并进行输入和输出。Neusoft Institute of InformationDate: May 27, 2022IT Education & Training讨论并总结讨论并总结1. 为什么要定义数据类型?为什么要定义数据类型?2. 不同数据类型的区别是什么?不同数据类型的区别是什么?3. 常量在使用时和变量的区别是什么?常量在使用时和变量的区别是什么?Neusoft Institute of InformationDate: May 27, 2022IT Education & Training结论结论1定义数据类型的定义数据类型的作用作用1. 定义了数据占用的内存空间大小定义了数据占用的内存空间大小2. 定义了数据在内存中的存储格式定义了数据在内存中的存储格式3. 决定了数据的运算规则(自身的行为)决定了数据的运算规则

温馨提示

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

评论

0/150

提交评论