计算机软件基础数据类型.ppt

上传人:小飞机 文档编号:6024153 上传时间:2023-09-15 格式:PPT 页数:59 大小:676KB
返回 下载 相关 举报
计算机软件基础数据类型.ppt_第1页
第1页 / 共59页
计算机软件基础数据类型.ppt_第2页
第2页 / 共59页
计算机软件基础数据类型.ppt_第3页
第3页 / 共59页
计算机软件基础数据类型.ppt_第4页
第4页 / 共59页
计算机软件基础数据类型.ppt_第5页
第5页 / 共59页
点击查看更多>>
资源描述

《计算机软件基础数据类型.ppt》由会员分享,可在线阅读,更多相关《计算机软件基础数据类型.ppt(59页珍藏版)》请在三一办公上搜索。

1、计算机基础教学部,第2章,数据类型、运算符与表达式,计算机基础教学部,回顾,编辑源程序文件名:*.c编译目标程序文件名:*.obj连接可执行程序文件名:*.exe编译器将源程序转换成机器能理解的程序连接器用于连接相关的目标文件以生成可执行程序C程序的组成函数,计算机基础教学部,目标,理解变量和常量的含义熟悉基本数据类型 int、char、float 和 double使用算术运算符理解赋值运算符、逗号运算符理解类型转换,计算机基础教学部,main()float r,cm;scanf(“%f”,对数据的描述,对操作的描述,一个简单的C程序例子,计算机基础教学部,2.1 C的数据类型,C语言提供了以

2、下一些数据类型:,数据类型,构造类型,指针类型,空类型(无值类型)void,计算机基础教学部,程序是用来对数据进行处理的,数据是所要处理的对象,而运算符是施加给这些数据的操作。例如求圆的周长,写有如下程序语句:cm=2*3.1 4 1 5 9*r;其中 cm、r、2、3.14159 是参加运算的数据,而*、=是要进行的运算的符号。手工计算时,根据给定的半径 r 就可以计算出圆的面积。,什么是数据和数据类型,计算机基础教学部,计算机完成上述计算,首先要解决数据的存放问题:1.输入的半径 r、运算的结果 cm 事先要给它们留好位置。留多大的地方来存放它们?2.还要知道它们被存放在计算机内存的什么地

3、方?3.数据 2 和 3.14159 与 r、cm 不一样,它们是在编写程序时就给出确定的值,在运算过程中不会改变。这样的数计算机应该怎么处理?4.数 2 和 3.14159 一个是整数、一个是小数,计算机存放它们是需要不需要区别?,什么是数据和数据类型,计算机基础教学部,基本数据类型,数据属于不同类别,Africa,The quick brown fox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,Jackie Chan,char,数据类型,非数值,数值,整型,int,short int,long int,double,floa

4、t,非整型,计算机基础教学部,数据类型(Data Type),数据为什么要区分类型?不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类,计算机基础教学部,2.2 常量与变量,2.2.1 常量在程序运行过程中,其值不能被改变的量称为常量常量区分为不同的类型:,整型 100,125,-100,0实型 3.14,0.125,-3.789字符型 a,b,2,说明:符号常量(又称宏名、宏常量)为了使用方便,可用一个符号名来代表一个常量。,计算机基础教学部,符号常量宏常量,#define 标识符 字符串宏常量(宏名)也称符号常量一般采用全大写字母表示 宏定义不是语句,而是一

5、种编译预处理命令,计算机基础教学部,例:计算圆的周长和面积,#include#define PI 3.14159#define R 5.3main()printf(area=%fn,PI*R*R);printf(circumference=%fn,2*PI*R);,area=88.247263circumference=33.300854,相当于执行#include main()printf(area=%fn,3.14159*5.3*5.3);printf(circumference=%fn,2*3.14159*5.3);,宏替换,计算机基础教学部,2.2 常量与变量,变量变量代表内存中具有特

6、定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。,计算机基础教学部,常量 在程序运行过程中其值不改变的数据,是常量。变量在程序运行过程中,其值改变的数据,称之为变量,给变量一个名称,就是变量名。变量名和内存中的存储单元相对应。编写程序时通过变量名来存、取存储单元。,2.2 常量与变量,计算机基础教学部,变量用来标识对象名字(包括变量、函数、数组、类型等)的有效字符序列。C

7、语言中,有3类标识符:关键字,系统预定义的标识符,用户标识符。变量的名字必须符合C语言对标识符的规定。C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。,2.2 常量与变量,计算机基础教学部,变量命名的规定:变量的名字必须符合C语言对标示符得规定 例:sum,_total,month,Student_name,lotus_1_2_,BASIC,li_ling,¥123,3D64,ab,2.2 常量与变量,计算机基础教学部,注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名

8、知意”,即选有含意的英文单词(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,后使用”。,2.2 常量与变量,2.3 整型数据,整数类型的有关数据:,类型 类型说明符 长度 数的范围 基本型 int 2字节-3276832767 短整型 short 2字节-215215-1 长整型 long 4字节-231231-1 无符号整型 unsigned 2字节 065535 无符号短整型 unsigned short 2字节 065535 无符号长整型 unsigned long 4字节 0(232-1),4字节2字节4字节4字节2字节4字节,VC+6.0系统下:,b,B,KB,

9、MB,GB,TB,一个位(bit)有多大?只能是“0”或者“1”,这叫二进制一个字节(Byte)有多大?有8位保存一个字符(英文字母、数字、符号)ASCII(美国标准信息交换码)编码两个字节保存一个汉字GB编码,b,B,KB,MB,GB,TB,Megabyte(MB),中文叫法:兆Kilobyte(KB),中文叫法:KByte,中文叫法:字节bit,中文叫法:位Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T,1 TB=1,024 GB,1 GB=1,024 MB,1 MB=1,024 KB,1 KB=1,024 B,1 B=8 b,计算机基础教学部,使用整型变量,

10、声明:int number;long sum;unsigned age;可按如下方式初始化:,在同一语句中可以声明多个类型相同的变量:int page,height,width;,三种整型常量(整常数)表示法:十进制:16 八进制:016 十六进制:0 x16,定义时初始化变量:int number=36;定义后初始化变量:long sum;sum=57;,计算机基础教学部,整型数据的溢出#include void main()int a2147483647,b;b=a+1;printf(“%d,%dn”,a,b);,说明:数值是以补码表示的。一个整型变量只能容纳-21474836482147

11、483647范围内的数,无法表示大于2147483647或小于-2147483648的数。遇此情况就发生“溢出”。,运行结果:2147483647,-2147483648,计算机基础教学部,使用变量要注意,不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度现场演示程序在Turbo C2.0和Visual C下的运行结果,注意!,printf(“int=%d”,sizeof(int);,计算机基础教学部,变量声明,使用变量的基本原则变量必须先定义,后使用所有变量必须在第一条可执行语句前定义声明的顺序无关紧要一条声明语句可声明若干个同类型的变量声明变量,是初始化变量的最好

12、时机不被初始化的变量,其值为危险的随机数char esc=a;int i=1;int sum=0;float eps=1.0e-5;,计算机基础教学部,2.4 浮点型数据,浮点型常量的表示形式,两种表示形式,十进制小数指数,0.1233e-3,注意:字母e(或E)之前必须有数字,且e后面的指数必须为整数,1e3、1.8e-3、-123e-6、-.1e-3e3、.e3、e,计算机基础教学部,e指数,规范化的指数形式:在字母e(或E)之前的小数部分中,小数点左边应有一位(且只能有一位)非零的数字.例如:123.456可以表示为:123.456e0,12.3456e1,1.23456e2,0.123

13、456e3,0.0123456e4,0.00123456e 其中的1.23456e3称为“规范化的指数形式”。,计算机基础教学部,单精度浮点型,float 在 C 语言中用于存储单精度浮点数,float,32 位,10-38 至 10+38,7位有效数字,float price;price=11.3;,两种浮点型(实数)常量表示法:十进制形式:41.235,-12.0,.5 指数形式:2e4,1.8e-3,-123e-6,3.5e+4,计算机基础教学部,双精度浮点型,213.5671435568967,64位,取值范围:10-308 至 10308,16 位有效数字,double pressu

14、re,d=35.4;pressure=213.5671435568967;,计算机基础教学部,在线保险单年龄:_保险总额:_性别:_,2.5 字符型数据,23,98340,M,数值型,字符型,int/float,char,计算机基础教学部,5 p$,有效的字符型值,2,2,正确,2+2=4,X,计算机基础教学部,声明:char sex;初始化:sex=m;char sex=m;,字符在内存中按照ASCII码存放的;,ASCII码表,计算机基础教学部,ASCII码表,计算机基础教学部,转义字符,计算机基础教学部,例 转义字符的使用#include void()printf(abc);printf

15、(nabc);printf(ab c);,显示屏上的运行结果:abc abc abc,计算机基础教学部,在0255范围内,字符型数据和整型数据是通用的。字符型数据可以以字符形式输出,也可以以整数形式输出,main()char c1,c2B;int a1;c1=97;a1=b-32;printf(%c,%dn,c1,c1);printf(%c,%dn,a1,a1);,运行结果:a,97B,66,字符型数据和整型数据通用,计算机基础教学部,用双引号括住的由0个或多个字符组成的字符序列I am a string表示空字符串除注释外,是唯一可以出现中文的地方C语言内部用0表示字符串的结束x和x是不同的

16、里定义了一系列专门的字符串处理函数转义字符也可在字符串中使用 字符串tNameAddressn的长度?15,字符串常量,计算机基础教学部,2.6 各类数值型数据间的混合运算,混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.,说明:这种类型转换是由系统自动进行的。,计算机基础教学部,2.7 算术运算符和算术表达式,算术,一元,二元,操作数,操作数,运算符,二元运算符,+,-,*,/,%,5/3=?5%3=?,计算机基础教学部,2.7 算术运算符和算术表达式,基本的算术运算符:(加

17、法运算符,或正值运算符。如:、)(减法运算符,或负值运算符。如:、)*(乘法运算符。如:*)(除法运算符。两个整数相除的结果为整数两个整数相除的结果为整数,如:/结果为)(模运算符,或称求余运算符,两侧均应为整型数据,如:53的值为2)。,计算机基础教学部,算术运算符,算术,一元,-,+,num+,num=num+1,num-,num=num-1,+num-num,num+num-,前缀,后缀,二元,计算机基础教学部,算术运算符,算术,一元,-,+,num+,num=num+1,num-,num=num-1,+num-num,num+num-,前缀,后缀,二元,计算机基础教学部,算术运算符,n

18、um1=num1+1;num2=num1;,num2=num1;num1=num1-1;,num1=num1-1;num2=num1;,num2=num1;num1=num1+1;,num2=6;num1=6;,num2=5;num1=6;,num2=4;num1=4;,num2=5;num1=4;,计算机基础教学部,增一和减一运算符,良好的程序设计风格提倡:在一行语句中,一个变量只能出现一次加1或者减1运算过多的加1和减1运算混合,不仅可读性差,而且因为编译器实现的方法不同,导致不同编译器产生不同的运行结果,计算机基础教学部,优先级C语言规定了各种运算的优先级。优先级的规定符合思维习惯。例如

19、在算术运算中,先*/后+-。利用()提高程序的可读性,并减少出错的概率。结合性多数运算符为左结合少数为右结合:赋值运算符条件运算符,运算符的优先级和结合性,计算机基础教学部,赋值表达式,赋值运算符:,说明:结合方向:自右向左优先级:14左侧必须是变量,不能是常量或表达式,例:3=x-2*y;a+b=3;,例:a=5 a=5+(c=6),a=5+c=6,赋值转换规则:使赋值号右边表达式值自动转换成其左边变量的类型,例 float f;int i;i=10;f=i;则 f=10.0,例 int i;i=2.56;/结果i=2;,注意:调整教学顺序,计算机基础教学部,复合赋值运算符:+=*=&=/=

20、%=|=(结合性),已知:int a=12;a+=a-=a*a;(1)a=a-a*a=-132(2)a=a+(-132)=-132-132=-264,a+=b a=a+b,赋值运算,计算:int a=2;a%=4-1;a+=a*=3;,计算机基础教学部,类型转换,自动类型转换原则:把表示范围小的类型的值转换到表示范围大的类型的值 short int long float double强制类型转换(Casting)语法:(类型名)变量或数值 消除从大到小的警告,int x;float y=3.14;x=(int)y;,计算机基础教学部,Example:int total,number;float

21、 average;average=total/number;,15/2,7,类型强转(Casting),两个整数运算的结果还是整数,不是浮点数,计算机基础教学部,Example:int total,number;float average;average=(float)total/number;,15.000000/2,7.500000,类型强转(Casting),计算机基础教学部,可以通过“(类型)表达式”的方式把表达式的值转为任意类型强转时,你必须知道你在做什么强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将,屠龙刀,倚天剑,类型强转(Casting),计算机基础教学部

22、,2.8 逗号运算符和逗号表达式,逗号运算符:将两个表达式连接起来,又称为“顺序求值运算符”。如:5,,一般形式:表达式,表达式,求解过程:先求解表达式,再求解表达式。整个逗号表达式的值是表达式的值。优先级:自左向右,逗号表达式 的值为14,计算机基础教学部,2.8 逗号运算符和逗号表达式,例:逗号表达式*5,*,分析:赋值运算符的优先级别高于逗号运算符,因此应先求解*5。,的值为5,然后求解*,得。整个逗号表达式的值为。,一个逗号表达式又可以与另一个表达式组成一个新的逗号表达式。如:(*,*),a+5 先计算出的值等于,再进行*的运算得60(但值未变,仍为15),再进行得,即整个表达式的值为

23、。,计算机基础教学部,2.8 逗号运算符和逗号表达式,逗号表达式的一般形式可以扩展为 表达式,表达式,表达式,表达式 它的值为表达式的值。,逗号运算符是所有运算符中级别最低的 例:(,*),*3,赋值表达式,将一个逗号表达式的值赋给,的值等于,逗号表达式,包括一个赋值表达式和一个算术表达式,的值为,整个逗号表达式的值为18。,计算机基础教学部,2.8 逗号运算符和逗号表达式,注意:并不是任何地方出现的逗号都是作为逗号运算符。例如函数参数也是用逗号来间隔的。如:printf(“%d,%d,%d”,a,b,c);,“,”并不是一个逗号表达式,它是printf函数的3个参数,printf(“%d,%

24、d,%d”,(a,b,c),b,c),“(,)”是一个逗号表达式,它的值等于的值。,计算机基础教学部,多数情况下,并不使用整个逗号表达式的值,更常见的情况是要分别得到各表达式的值主要用在循环语句中,同时对多个变量赋初值等 for(i=0,j=0;i j;i+,j+),逗号运算,计算机基础教学部,总结 1,常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型,计算机基础教学部,总结 2,单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多字符型变量可以存储单个字符,其值是该字符的ASCII 码算术运算符提供运算功能,包括+、-、*、/、%、+和-逗号运算符、赋值运算符的优先级与结合性,计算机基础教学部,给大家介绍了有关C 语言的基本组成结构、数据类型、运算符以及表达式等项内容为后期的程序设计打好基础,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号