数值数据与算术运算.ppt_第1页
数值数据与算术运算.ppt_第2页
数值数据与算术运算.ppt_第3页
数值数据与算术运算.ppt_第4页
数值数据与算术运算.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

第二课时数值数据与算术运算,C语言数据类型,当我们提到计算机数据时,大家想想在平时哪些可以称为计算机数据?那C语言里的数据又有哪些?数据在计算机内部的存储形式(占用的内存单元数量、编码方式、取值范围等)分为以下数据类型:,基本数据类型整型数,整型数:分类:包括正数、负数和零,在数学中它是一个无限集合,但在计算机中,由于受到分配给整型数的存储空间的限制,它有一定的数值范围。分为int、shortint和longint,以及带符号的整型数(signedint)和不带符号的整型数(unsignedint),基本数据类型整型数,书写形式:十进制:用0、1、2、3、4、5、6、7、8、9十个码;八进制:用0打头,并使用07八个码;十六进制:用0 x打头,并使用09、AF或09、af十六个码注意:八进制和十六进制只能使用非负数!提问:08677、25762、0 x35AQ是否为合法数字?答案:08677(不合法,非八进制含数字8;非十进制以0开头)25762(合法,十进制负数)0 x35AQ(不合法,含非法字母Q),基本数据类型整型数,int型数的表示范围:二进制16bit(2Byte)0000000000000001-10000000000000011-30111111111111111-327671000000000000000-32767,int型整数的最大值,int型整数的最小值,int型表示数的范围:-3276832767,因为int型数有一定的表示范围所以使用中要注意数据溢出,现在我们来看一道例题!,基本数据类型整型数,main()inti;i=1;i=i*2;printf(”ni=%d”,i);i=i*3;printf(”ni=%d”,i);i=i*4;printf(”ni=%d”,i);i=i*5;printf(”ni=%d”,i);i=i*6;printf(”ni=%d”,i);i=i*7;printf(”ni=%d”,i);i=i*8;printf(”ni=%d”,i);i=i*9;printf(”ni=%d”,i);i=i*10;printf(”ni=%d”,i);,期望结果i=2i=6i=24i=120i=720i=5040i=40320i=362880i=3628800,基本数据类型整型数,main()inti;i=1;i=i*2;printf(”ni=%d”,i);i=i*3;printf(”ni=%d”,i);i=i*4;printf(”ni=%d”,i);i=i*5;printf(”ni=%d”,i);i=i*6;printf(”ni=%d”,i);i=i*7;printf(”ni=%d”,i);i=i*8;printf(”ni=%d”,i);i=i*9;printf(”ni=%d”,i);i=i*10;printf(”ni=%d”,i);,实际运行结果i=2i=6i=24i=120i=720i=5040i=-25216i=-30336i=24320,上溢,下溢,产生数据溢出,基本数据类型整型数,例:main()inta,b,;a=32767;b=a+1;printf(“%d,%d”,a,b);结果为:32767,-32768,基本数据类型实型数,实型数分类:float类型和double类型。在机器内部,C语言的实型数是以浮点数形式存储的,存储的数值都是近似的,而且随着运算的进行会有误差积累,为了提高精度,引进双精度类型,即以两倍单精度的存储空间存放数据。所以看书第10页的最下面的倒算第二行到第11页最上面。表示形式:十进制形式(就是数学中的小数形式)、指数形式(类似于科学记数法),指数须是整数。早泄有很多种原因引起的,不管哪一种都会影响你的性福的,我老公以前就是早泄,用了朋友推荐的东西,一个疗程好多了,大家可以加微|杏msdf003咨询的,基本数据类型字符型,C语言中的一个字符型数据代表ASCII字符集里的一个字符,在内存中占一个字节长度。取值范围:128127,其中0127是基本ASCII字符,1281是扩展ASCII字符用单撇号将一个字符括起来就表示该字符。C语言中,存放一个字符时,内存中存放的是该字符的ASCII码。在书上的第25页给出了一个表,在这个表上可以快速的找到每个字母在计算机中对应的二进制,请同学们看25页的最下面,这里告诉了怎么在上表中进行查找。如果我们想表示比如换行、回车那怎么办呢?因为我们知道用单撇号括起来的字符只能表示一些普通字符,但我刚才所说的那些表示特定功能的字符用这种方法就无法表示,基本数据类型字符型,为此,C语言提供了一种以“”开头的转义字符序列。理解转义字符序列:转义字符是一种特殊的字符常量。转义字符以反斜线开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在printf函数的格式串中用到的“n”就是一个转义字符,其意义是“回车换行”。转义字符主要是用来表示那些用一般字符不便于表示的控制代码。,main()printf(Yb=n);,数据类型长度的测试,现在我们来看一个在C语言中的用来计算数据类型长度的函数:测定各数据类型所占存储空间长度的运算符“sizeof”。书写格式为:Sizeof(类型标识符)现在写一个例子,请大家看后我提问这个程序运行后的结果是什么?,main()printf(char:%dbytesn,sizeof(char);printf(short:%dbytesn,sizeof(short);printf(int:%dbytesn,sizeof(int);printf(long:%dbytesn,sizeof(long);printf(float:%dbytesn,sizeof(float);printf(double:%dbytesn,sizeof(double);,算术运算符与算术表达式,运算符:运算符是一个符号,它告知编译程序执行特殊的算术或逻辑运算等。C中有许多运算符,比如算术运算符、关系运算符等。表达式:运算符、常量和变量是表达式的要素,表达式是这些要素的有效组合。首先我们来看一下赋值表达式赋值表达式的一般格式是:变更名表达式结合性:我们知道在四则运算中有个“优先级”,在C语言中,除了优先级外,还有个结合性问题,赋值表达式属于“右结合”,也就是从右到左结合。提问:a=b=3,基于右结合的原则,这个是怎么赋值的?答案:先算b=3,然后再参加下一步运算,可理解为:a=(b=3),算术运算符和算术表达式,算术运算符及其功能见书上的第12页的下面除了书上说的以外还有两个高级别的算术运算符:自增运算()、自减运算(),它们放在变量的前面和后面,表示使变量增1或减1,i+:先使用,后自加。i-:先使用,后自减。+i:先自加,后使用。-i:先自减,后使用。粗略看来,i和i的作用相同,都是使i的值加1,但有时它们的区别却很大,现在给大家写一段程序,告诉我运行后的结果:,算术运算符和算术表达式,例2:main()inti,ia=2,j=2,k,ka=2;i=(ia+)+(ia+)+(ia+);k=(+ka)+(+ka)+(+ka);printf(ni=%d,ia=%d,i,ia);printf(nk=%d,ka=%d,i,ka);printf(nj=%d,ja=%d,j,j+);运行结果:i=6,ia=5k=15,ka=5j=3,ja=2s,例1:main()intx,y,i,j;x=i=3;yx+;j=+i;printf(y=%dtj=%dn,y,j);运行结果:y=3j=4,变量,在程序中使用的数据有两种形式:常量和变量变量名(也就是标识符)的命名规则:请下一位同学读一下前三条规则(第14页)根据刚才读到的规则现在我们看一个例题,大家想一下正确答案是什么?,现在请一位同学把书上对于变更的宏观概念读一下!(翻到第13页最下面),注意:变量名和变量值的区别对应内存地址内存地址中存放的内容,变量,除了刚才提到的4点注意事项外还有以下两点:C语言中,变量必须“先定义后引用”,以便在编译时发现错误。标识符的选取原则“见名知意”。这也是结构化程序的特征之一,同时为以后便于再次阅读程序。变量的赋值运算:例如:x=6,j=4*8在C语言中,“”是赋值号而不是等号,C语言中的等号是“”,赋值号与等号的概念是完全不同的。等号表达了一种“成立”或不成立的关系。例如:书上第15页中间。在书上还介绍了另一种复合赋值运算符,这个大家可以在业余霎时间了解一下。,常量,概念:在程序运行过程中不允许改变的量可用一个标识符来代表一个常量。下面我们来看一个例题:,definePI3.14159/*#define命令用来定义一个宏,其宏main()名为PI,其值为3.14159,程序中凡是出现PI的地方都用3.14159代替*/floatr,area,circle;r=3;area=rrPI;circle=2PIr;printf(nR=%f,S=%f,L=%f,r,area,circle);,常量,常量的类型:整型、实型、字符型常量、字符串常量。,整型常量(3种形式)10进制8进制16进制实型常量(2种形式)十进

温馨提示

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

评论

0/150

提交评论