C程序基础数据类型、运算符与表达式.ppt

上传人:tia****nde 文档编号:12706144 上传时间:2020-05-14 格式:PPT 页数:26 大小:621.50KB
返回 下载 相关 举报
C程序基础数据类型、运算符与表达式.ppt_第1页
第1页 / 共26页
C程序基础数据类型、运算符与表达式.ppt_第2页
第2页 / 共26页
C程序基础数据类型、运算符与表达式.ppt_第3页
第3页 / 共26页
点击查看更多>>
资源描述
第2章数据类型、运算符与表达式,第一节数据的表示,数据是程序的基础,是语句加工的对象,数据:常量和变量,数据类型:基本类型:intcharfloatdouble枚举类型类型构造类型:数组类型结构体类型共用体类型指针类型,2.1.1标识符标识符:用来对C程序中的常量、变量、语句标号以及用户自定义函数的名称进行标识的符号。三条规则:1.由字母、数字和下划线组成,长度不超过32的字符,由字母和下划线开头;,2.大小写字母表示不同意义,即代表不同的标识符;3.标识符不能与C关键字同名.关键字:己被C本身专用的字.如:intdoubleforbreaklong等.练习:判断下列标识符是否正确?china5a4_decisionbomb?key.word_boardFL_OATchar,2.1.2常量常量:在程序运行过程中其值不能被改的量.常量的类型(一般由字面形式进行判断):1)整型常量(如:6,-120);0.0000012272)实型常量(如:9.14,-8.121.227e-6);3)字符型常量(如:a,v);4)符号常量(如:#definePI3.1415926).,2.1.3变量变量的定义变量:在程序运行过程中其值可以被改变的量.命名方法:A.符合标识符的命名法则;B.结合实际意义来命名.变量使用前须说明,形式如下:数据类型,如:intm,j,n;unsignedcharch,a10,*p;说明:a).在变量名列表中,变量与变量之间用逗号分开;b).变量说明通常放在函数的开始或函数的外部,或在复合语句的内部.2)变量的赋初值(1).一个变量占据着一个实际的存储单元,变量名实际上是存储单元的标志,而存储单元中的内容是变量的值;(2).对变量预先设置初值,且允许在定义变量的同时对其赋值.如:inta=13;floatf=7.8;chara=s;,(3).允许在同一个变量说明语句中仅对部分变量赋初值或同时对几个变量赋同一个初值;如:inta,b,c=13;inta=b=c=6;(不合法),第二节:基本数据类型基本类型:整型、实型、字符型;构造类型:数组、结构体、共用体等。2.2.1整型最常用的类型:类型标识符长度(byte)int2short2long4unsignedint2unsignedshort2unsignedlong4,例2.1main()inta,b,c;unsignedlongd;a=123;/*十进制*/b=045;/*八进制*/c=0 x3D8;/*十六进制*/d=0773L;/*八进制长整数*/printf(“a=%d,b=%o,c=%x,d=%lo”,a,b,c,d);,整型数据在内存中的存放形式:以二进制补码的形式存储正数的补码与原码相同负数的补码是在原码的基础上按位取反再加1最左位为0是正数,为1是负数。,整型数据的溢出问题:见书23-24,2.2.2实型两种类型:单精度型和双精度型类型标识符长度(byte)float4double8(还有不常用到的长双精度),浮点型数据是按指数形式存储超出有效数字范围的将被舍去(可能引起误差)对于所有的浮点型常量,编译系统将视其为双精度数据来处理(把浮点型常量赋值给一个单精度变量时将会警告),2.2.3字符型1)字符型常量字符型常量:用一对单引号括起来的单个字符。一般字符:如:A,9,*等.转义字符:如:n,t等.关于转义字符详见P13.2)字符变量charc,ch,c1=*;说明:(1).用char定义,单字符值;(2).字符和整数的机内码是一致的;如:inta=42;charb=*;(3).字符型数据和字符串数据是有区别的.如:*占据一个字节;“*”占据二个字节,存储了一个字符串的结束标志字符0.,第三节基本运算符和表达式类型:算术运算符、关系运算符、;逻辑运算符、位运算符等等。算术运算符和算术表达式1)算术运算符双目运算符:+-*/%单目运算符:+-+-(取正、取负)。,例2.2inta=5;intb=4;intc=a+/-b;intd=a%4;b变量先自减1,再计算a除以b.,操作对象限于变量,操作数为整数,2)算术运算符的运算优先级和结合性优先级:指同一个表达式中不同运算符进行计算时的先后次序;结合性:指相同优先级的多个运算符的求值顺序。优先级运算符结合性1()由内向外2+-(取负)自右至左3/%自左至右4+-自左至右,3)算术表达式如:+ig*t*t/2.0,说明:1.在算术表达式中,所有的字符都是在一条水平线上;2.运算符不能省略;3.一律用圆括号,若是多重括号,由内向外逐层计算。,4)算术型数据的混合运算(1)自动类型转换(隐式类型转换)规则:A,由低级向高级转换;B,一个运算符有两个类型不同的操作数,由低转向高级的类型,结果为较高的类型。,高级,低级,double,long,unsigned,int,float,Char,short,例#includemain()floaty,z=242.5;unsignedx=2;shorts=4;y=10+b+5.7*x+z/a-s*12.5;printf(“y=%f”,y);,强制类型转换(显式类型转换)根据程序的需要,将某数据强制转换成指定的数据类型.形式:(类型标识符)表达式如:(int)(2.7+6.8)(float)x/y注明:经强制类型转换后得到的值存储在一个临时的中间变量中,变量或表达式原来的类型并没有发生任何变化.,例2.4#includemain()floatx=4.55;printf(“n(int)x=%d,tx=%fn”,(int)x,x);运算结果:(int)x=4,x=4.550000,注意(1)两个整数直接相除,结果自动取整,丢弃小数部分;例如:设floatx,y;x=10/4;/*结果为:2.0*/y=10.0/4;/*结果为:2.5*/(2)自增1、自减1运算符为单目运算符,其运算的优先级高于算术运算中的所有双目运算符,且运算对象只能整型、字符型和指针型变量,不能是常量;如:3+ch+是错误的前缀形式:n=+i;后缀形式:n=i+;,例设intx=2;请计算下列表达式中x,y的值.y=+x;/*x=x+1;y=x*/y=x+;/*y=x;x=x+1*/y=x+*x+;y?y=+x*x+;y?y=+x*+x;y?,4916,2.8逗号运算符和逗号表达式1)逗号运算符一.逗号“,”的用法:(1)用作分隔符.如:intx,y,z;(2)用作运算符.如:a=2*6,a-4,b+5;用作运算符需注意:(1)是一个双目运算符;(2)优先级是所有运算符中最低的;(3)运算顺序是自左至右的;(4)只在有“=”的式子中才有赋值功能.如:x=4/2,x+3,x+;,逗号表达式定义:用逗号运算符将若干表达式连接起来的式子.形式:表达式1,表达式2,表达式n注意:最后一个表达式的值为整个逗号表达式的值.如:a=7.3,b=1.1,12+b,a+b;计算下面逗号表达式的值:y=(x=5,x+4,+x);y?n=(m=3,+m,m*=2);n?n=(m=3,m+,m*=2);n?,688,位运算符和位表达式C语言提供类似汇编语言的功能,完成这功能的即是位运算符.1)位运算符:!非!1=0!0=12,对二进制位进行运算.2)位运算符规则:如:!a(取非)aprintf(“nInputa,b:n”);scanf(“%d%d”,设a=0110110111101100b=0100011100100110a&0 x00ff:0110110111101100&00000000111111110000000011101100(a&0 x00ff)=yx=xy后赋给x*/,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!