欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    基本数据类型与运算.ppt

    • 资源ID:5952274       资源大小:498.50KB        全文页数:61页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基本数据类型与运算.ppt

    C语言程序设计,第二章 基本数据类型与运算,第二章 基本数据类型与运算,C的基本数据类型,常量,变量,运算符及表达式,为什么讨论这些知识?,通常程序要对数据进行操作处理:处理的对象是数据通过运算符和表达式进行操作,例如:已知圆半径为5 cm,计算圆的面积。,#include main()int r;float area;r=5;area=3.14*r*r;printf(%fn,area);,运算结果是输出圆的面积:78.500000,程序中用到的数据:r、area、5、3.14对数据进行的运算:*、=,分析:,计算机操作处理时,要完成以下工作:在内存中给半径 r 和运算结果 area 开辟存储空间,存放它们的值。应该留多大的地方来存放它们的值?数据5、3.14 与 r、area 不同,它们是在编写程序时就给出确定的值,在运算过程中不会改变。这样的数计算机怎么处理?对整数 5 和小数3.14,计算机存放时是否有区别?,涉及数据类型的基本知识,数据:计算机程序加工处理的对象数据类型:具有相同性质的数据对象的集合,2.1 C的基本数据类型,C的数据类型,短整型 short,数据类型决定:1.数据占内存字节数2.数据取值范围3.其上可进行的操作,2.1-1 整型数据(了解),注意:数据类型所占字节数随机器硬件和编译器的不同而不同,上表以16位机为例。,整型数据输入输出举例,#include main()int a,b,sum;printf(Please input two integers:);scanf(%d%d,输入:5 10输出:The sum of 5 and 10 is 15.,整型数据输入输出举例(了解),#include main()unsigned int m;m=65535;printf(m=%dn,m);printf(m=%un,m);,输出结果为:m=-1m=65535,按有符号数输出,按无符号数输出,整型数据输入输出举例(了解),#include main()int a;printf(please input:);scanf(%d,运行结果:please input:1234a=1234,Why?!,运行结果:please input:123456a=-7616,整型数据输入输出举例(了解),运行结果:please input:1234a=1234,运行结果:please input:123456a=-7616,2.1-2 实型数据(浮点型)(了解),注意:数据类型所占字节数随机器硬件和编译器的不同而不同,上表以16位机为例。,实型数据输入输出举例,#include main()float a,b,sum;printf(“Please input two decimals:”);scanf(“%f%f”,输入:1.5 10.6输出:The sum of 1.5 and 10.6 is 12.1.,2.1-3 字符类型,注意:不同的编译器处理有所不同,此处以Turbo C为例。,字符数据输入输出举例,#include main()char a,b;printf(Please input a char:);scanf(%c,输入:a输出:The ASCII value of char a is 97.The ASCII value of char A is 65.,字符数据输入输出举例(了解),计算机中的存储:-9:1111 1111 1111 0111-10:1111 1111 1111 0110,247,246,#include stdio.hmain()char a,b;a=-9;b=-10;/*signed char type*/printf(%c%c,a,b);,输出:,字符数据输入输出举例,#include main()char c1,c2;c1=97;c2=98;printf(%c,%cn,c1,c2);,运行结果:a,b,#include main()char c1,c2;c1=97;c2=98;printf(%d,%dn,c1,c2);,运行结果:97,98,思考如果将例中char改成int,结果如何?如果将c1=97 改为c1=97+3,结果如何?如果将c2=98 改为c1=98-32,结果如何?,字符数据输入输出举例,#include main()char c1,c2;c1=97;c2=98;printf(%d,%dn,c1,c2);printf(%c,%cn,c1,c2);,运行结果:97,98a,b,思考如果将例中char改成int,结果如何?如果将c1=97 改为c1=97+3,结果如何?如果将c2=98 改为c2=98-32,结果如何?,int,c1=97+3;,c2=98-32;,运行结果:100,98d,b,运行结果:100,66d,B,原始运行结果:97,98a,b,2.2 变量(variable),数据类型 变量名;,概念:在程序运行过程中其值可以改变的量。变量名:必须使用合法的标识符作变量名 不能使用关键字为变量命名三个要素:变量类型、变量名和变量值。内涵:变量名实际代表存储空间地址的一个符号。编写程序时通过变量名来存、取变量值。定义格式:,决定分配字节数和数的表示范围,合法标识符,*标识符的命名规则*,标识符(identifier)是用来标识变量、常量、函数等的字符序列。命名规则:只能由字母、数字、下划线组成,且开头必须是字母或下划线。大小写敏感。不能使用关键字。命名原则:见名知意。,2.2 变量,例如:int a,b=5;char c;float s;,例如:int a=1,b=-3,c;,int a=1,b=-3,c;,1,-3,?,a,b,c,编译程序根据变量定义为其分配指定字节的内存单元,随机值,2.2 变量,定义位置:置于函数的开头,而且必须位于所有的执行语句之前。使用方法:必须先定义,再使用。变量初始化:允许在定义变量的时对变量赋初值。表示定义变量并对变量存储单元赋值。,2.2 变量,main()int a,b=2;a=1;float data;data=(a+b)*1.2;printf(“data=%fn”,data);,error:syntax error:missing;before typeerror:data:undeclared identifier,2.3 常量(constant),1、常量在程序运行过程中,其值不能改变的量称为常量。常量可分为:符号常量:用标识符(identifier)代表常量。定义格式为:标识符一般用大写字母是宏定义预处理命令,不是C语句直接常量:即具体的常数,如5,-4.6,a等。,整型常量 实型常量,字符常量 字符串常量,#define PI 3.1416,2.3-1 符号常量,符号常量:用标识符(identifier)代表常量。标识符一般用大写字母是宏定义预处理命令,不是C语句,#include#define PI 3.14main()int r=2;float s,l;l=2*PI*r;s=PI*r*r;printf(l=%f,s=%f n,l,s);,运行结果:l=12.560000,s=12.560000,编译前系统进行替换,2.3-1 符号常量,#include#define PI 3.14main()int r=2;float s,l;l=2*PI*r;s=PI*r*r;printf(l=%f,s=%f n,l,s);,一般用大写字母是宏定义预处理命令,不是C语句(没有“;”)编译时先由系统替换为它所代表的常量,再进行编译虽然是用标识符来表示标识,但本质是常量,具有常量值不能改变的 性质,2.3-2 整型常量,2.3-2 整型常量,#include main()int a,b,c;a=123;b=0123;/注意,是数字0,不是字母Oc=0 x123;printf(a=%d,b=%d,c=%dn,a,b,c);,运行结果:a=123,b=83,c=291,2.3-2 整型常量,例 30000 为int型 65536 为long int 型,整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常量,长整型示例:129L/129ul/0X1FFLU。,2.3-3 实型常量,实型常量的类型默认double型在实型常量后加字母f或F,认为它是float型例如:3.5f、1e2F,例如:,1e,2.3-4 字符及字符串常量(ASCII),2.3-4 转义字符及其含义,000 377,x00 xFF,main()int a,b,c;a=1;b=2;c=3;printf(t%dn%d%dn%d%dtb%dn,a,b,c,a,b,c);,输出:1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 12 31 2 3,2.3-4 转义字符举例,什么时候要使用转义字符?,#include main()printf(123t56an);printf(The directory of TC.exe is E:Turbocn);printf(Look 16 and x15n);,运行结果:123 56The directory of TC.exe is E:TurbocLook and,2.4 运算符与表达式,运算符的学习方法,运算符功能与运算量关系 要求运算量个数:单目、双目、三目 要求运算量类型运算符优先级别:同一个表达式中不同运算符进行运算时的先后次序结合方向:左结合性与右结合性。当一个运算对象两侧的运算符的优先级别相同,则按规定的结合方向处理。结果的类型,基本概念:表达式与语句,a=3;b=4;,表达式:由变量、常量以及运算符按照语法规则组成的序列。表达式的特点是能够求值。例如:a+b*c%d 语句:特点是以;结束,可产生执行代码:1、表达式语句。如:y=x+3;2、空语句。如:;3、函数调用语句。如:printf(“%d”,4、复合语句。如:5、控制语句。如:if、while等,一、算术运算符和算术表达式,#include main()int a;float b;a=1/2;b=1.0/2printf(“na=%d,b=%f n”,a,b);,输出:a=0,b=0.500000,注意:两整数相除,结果为整数,一、算术运算符和算术表达式,2、求模运算符号:%结合方向:从左向右 说明:%要求两侧均为整型数据,例:5%2=-5%2=1%10=5%1=5.5%2=,1,-1,1,0,(),一、算术运算符和算术表达式,3、自增加、自减少运算符:+-作用:使变量值加1或减1,常用于循环语句中种类:前置,形式如+i,-i,先执行i+1或 i-1,再使用i值。后置,形式如 i+,i-,先使用i值,再执行i+1或i-1。注意:只能用于变量,不能用于常量和表达式,一、算术运算符和算术表达式,main()int i=3,j=10,m,n,p,q;m=+i-1;n=i+-1;p=-j+1;q=j-1;printf(”i=%d,m=%d,n=%dn”,i,m,n);printf(”j=%d,p=%d,q=%dn”,j,p,q);,运行结果为:i=5,m=3,n=3j=8,p=10,q=8,课堂练习,j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,/*k=4,j=4*/,/*k=3,j=4*/,/*j=4,输出 4*/,/*j=4,输出3*/,/*c=20,a=4*/,/*c=15,a=4*/,说明:+和-的运算对象只能是变量(或运算结果是变量的表达式),不能是常量(或运算结果是数值的表达式)。例如:5+、(a+2)+不合法。具有右结合性,结合方向为从右到左。例如:a+等价于-(a+)在有+和 的表达式中,尽量不要使用难于理解和容易出错的表达方式,尤其是具有二义性的表达式。,int i=3;m=(i+)+(i+)+(i+);(),int i=3;a=i+;b=i+c=i+;c=a+b+c;,(),二、赋值运算符和表达式,1、基本的赋值运算符:=格式:变量=表达式结合方向:从右向左,优先级14级(次最低)作用:将数据(常量或表达式)赋给一个变量 注意:左侧必须是变量,不能是常量或表达式转换规则:使赋值号右边表达式值自动转换成其左边变量的类型。赋值号与数学中的等号含义不同.,n=t+2sa+b=15,a=b=b*c10 a=(b=(b*c)10),数学中 a=b 等价于 b=a C语言中 a=b 不等价于 b=a,int a;a=7.99999,/a=7,例 a=3;d=func();c=d+2;,(),(),二、赋值运算符和表达式,#include main()int a;a=10;a=a+3;a+3=10;a*3=8;5=5;,error=:left operand must be l-valueerror=:left operand must be l-valueerror=:left operand must be l-value,二、赋值运算符和表达式,赋值表达式的值为赋值后左侧变量的值且只能给变量赋值例:a=b=c=5;a=(b=5);a=5+(c=6);a=(b=4)+(c=6);a=(b=10)/(c=2);,/表达式值为5,a,b,c值为5,/表达式值为5,b=5;a=5,/表达式值11,c=6,a=11,/表达式值10,a=10,b=4,c=6,/表达式值5,a=5,b=10,c=2,二、赋值运算符和表达式,2、复合的赋值运算符:算术运算相关:+=、-=、*=、/=、%=位运算 相关:=、,二、赋值运算符和表达式,例,设a=3,则:a+=5;,/表达式值为8,a=8,例:a=12;a+=a-=a*a;请试着求上面表达式的值,例:int a=2;a%=4-1;等价于:a=a%3=2%3=2;,二、赋值运算符和表达式,main()int a=2,b=3,c=4,d=5,x;a+=b*c;b-=c/b;printf(%d,%d,%d,%dn,a,b,c*=2*(a+c),d%=a);printf(x=%dn,x=a+b+c+d);,运行结果为:14,2,144,5x=165,三、逗号运算符和表达式,int a,b=5;x=(a=3,6*3);printf(“x=%d”,x=(a=1,y=5);,/表达式值为18,a=3,/输出结果:,/定义整型变量a,b且b初始化为5,/变量x=5,a=1,y=5,x=5,逗号运算符:,格式:表达式1,表达式2,表达式n 结合方向:从左向右,优先级最低逗号表达式的值:等于表达式n的值 用途:常用于声明变量或for循环语句中,三、逗号运算符和表达式,例 a=3*5,a*4 a=3*5,a*4,a+5 例 x=(a=3,6*3)x=a=3,6*a 例 a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);,/a=15,表达式值60,/a=15,表达式值20,/赋值表达式,表达式值18,x=18,/逗号表达式,表达式值18,x=3,/1,2,3,/3,2,3,六、逗号运算符和表达式,#include main()int x,a;x=(a=3*5,a*4,a+5);printf(“x=%d,a=%dn”,x,a);,#include main()int x,a;x=(a=3*5,a*4),a+5;printf(“x=%d,a=%dn”,x,a);,运行结果:x=20,a=15,运行结果:x=60,a=15,四、数据类型长度运算符,运算符:sizeof格式:sizeof(类型说明符、数组名或表达式)类型说明符:该类型数据所占字节数数组名:该数组所占字节数表达式:该表达式所占字节数,但并不计算表达式的值,七、数据类型长度运算符,main()float f=1.5,x,a10;printf(%d,%dn,sizeof(double),sizeof(char);printf(%d,%dn,sizeof(x=f+2),sizeof(f);printf(x=%fn,x);printf(%d,%dn,sizeof(2.5),sizeof(2.5f);printf(%d,%dn,sizeof(a),sizeof(a5);,运行结果:,8,14,4x=随机值8,440,4,五、类型转换,1、自动类型转换发生情况:运算转换-不同类型数据混合运算时:赋值转换-把不同类型的值赋给变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换转换规则:不同类型数据运算时先自动转换成同一类型。,=小数部分自动补0=自动舍去实型表达式的小数部分=自动截取表达式值的低字节赋值,舍去高字节=自动给高字节补0 或补1,不同类型数据间的混合运算与类型转换,例:int i;float f;double d;long l;,类型转换实例,10+a+i*f-d/l,五、类型转换,2、强制类型转换一般形式:(类型名)(表达式)说明:强制转换得到所需类型的中间变量,原变量类型不变。,例(double)(3/2)(int)3.6,注意:(float)22/5(float)(22/5),(int)b=a+5;b=int(3*a);,结果为:4.4,结果为:4.0,(),(),main()int a=5;float b=3.15;printf(float)a=%f,a=%dn,(float)a,a);printf(int)b=%d,b=%fn,(int)b,b);,运行结果为:(float)a=5.000000,a=5(int)b=3,b=3.150000,例:强制类型转换不改变对该变量说明的类型。,八、类型转换,main()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);,注意:高精度的数据向低精度的数据时可能发生数据丢失。,运行结果:x=3.600000,i=3,程序执行后x的类型是什么?,综合练习,例:请输入x的数值为15,编程求以下数学表达式的值。,#include#include#define PI 3.14main()int x;double y;printf(please input the x:);scanf(%d,运行结果:y=2.846407,

    注意事项

    本文(基本数据类型与运算.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开