欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言第二章表达式和简单程序设计.ppt

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

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

    c语言第二章表达式和简单程序设计.ppt

    C C语言编程语言编程 授课教师:王占骜授课教师:王占骜 第第2 2章章表达式和简单程序设计 2.1 2.1 表达式表达式1.操作符(操作符(Operators)由基本字符集中的一个或几个字符组成由基本字符集中的一个或几个字符组成 的,用来表示一种具体操作的符号。的,用来表示一种具体操作的符号。如如:+-%+&2.操作数(操作数(Operands)执行某种操作的对象。执行某种操作的对象。如:如:x5 3表达式(表达式(Expressions)由一个或多个操作组成的有实际意由一个或多个操作组成的有实际意义的式子。义的式子。如:如:s=3.1415926*r*r可以把表达式分为可以把表达式分为7种不同的类型。种不同的类型。4.优先级(优先级(Precedence)优先级用来确定不同操作运算的顺优先级用来确定不同操作运算的顺序,按照优先级别由高到低的次序序,按照优先级别由高到低的次序执行,例如先乘除后加减。执行,例如先乘除后加减。5.结合性(结合性(Associativity)各种运算符的结合方向叫做结合性,各种运算符的结合方向叫做结合性,结合性用来决定多个相同优先级的结合性用来决定多个相同优先级的操作处理的方向。操作处理的方向。左结合左结合:自左至右,先左后右自左至右,先左后右 右结合右结合:自右至左,先右后左自右至左,先右后左 先考虑优先级,再考虑结合性。先考虑优先级,再考虑结合性。2.1.1 2.1.1 初级表达式初级表达式初级表达式是只含一个操作数不含初级表达式是只含一个操作数不含运算符的表达式。运算符的表达式。C语言中初级表语言中初级表达式可以是标识符、常量或括号表达式可以是标识符、常量或括号表达式。达式。2.1.2 2.1.2 二元表达式二元表达式格式为操作数运算符操作数的格式为操作数运算符操作数的表达式。表达式。二元运算符二元运算符描述描述运算符运算符优优先先级级结结合性合性格式格式乘乘*13左左结结合合7*2除除/x/2取余取余%5%2加加+12左结合左结合x+y 减减-a-1 说明:说明:(1)两个整数相除两个整数相除(相乘相乘)结果为整结果为整数,小数部分忽略;如果有一个数,小数部分忽略;如果有一个数为小数,则结果为小数。数为小数,则结果为小数。如:如:5/2 结果为结果为 2 5./2 结果为结果为 2.5 5/2.0 结果为结果为 2.5 说明:说明:(2)取余取余运算要求运算要求%两侧只能是整数两侧只能是整数,结果为两个数相除得的余数。结果为两个数相除得的余数。如:如:5%3 结果为结果为 2 7%3 结果为结果为 1 5.0%3 ERROR 说明:说明:(3)%运算往往用来构建条件或运算往往用来构建条件或周期性事物处理。周期性事物处理。如如:int x;x%2=0 用来判断奇偶用来判断奇偶 说明:说明:(4)/和和%运算结合可以分离整数运算结合可以分离整数如如:int x=1234,b1,b2,b3,b4;b1=x%10;b2=x/10%10;b3=x/100%10;b4=x/1000;2.1.3 2.1.3 赋值表达式赋值表达式把等号右边的操作数的制存储到等把等号右边的操作数的制存储到等号左边的变量中。号左边的变量中。分分类类运算符运算符优优先先权权结结合性合性examples 简单赋值简单赋值=2右右结结合合 x=2 复合复合赋值赋值*=/=%=+=-=x*=2 x/=2 x%=2 x+=y x-=y (1)一般格式一般格式如如:int x,y=10;x+=y+10;赋值符号赋值符号“”就是赋值运算符,就是赋值运算符,它的作用是将一个数据赋给一个它的作用是将一个数据赋给一个变量,表达式的值是等号右边式变量,表达式的值是等号右边式子的值。子的值。(2)复合赋值复合赋值复合赋值表达式复合赋值表达式 等价的简单表达式等价的简单表达式 x*=y x=x*y x/=y x=x/y x%=y x=x%y x+=y x=x+y x-=y x=x-y (3)左边一定是变量左边一定是变量如如:x+1=7;ERROR(4)赋值运算均为右结合赋值运算均为右结合如如:int x=10,y=20,z=30;x+=y+=z*z;等价为:等价为:x=(x+(y=y+(z*z)例:若变量已正确定义并赋值,以下合法的例:若变量已正确定义并赋值,以下合法的C C语言赋值语言赋值语句是(语句是()。)。2007.9 2007.9A.x=y=5;B.x=n%2.5;C.x+n=I;D.x=5=4+1;答案:答案:A 2.1.4 2.1.4 后缀表达式后缀表达式一个操作数后面跟一个运算符组成一个操作数后面跟一个运算符组成的表达式。的表达式。1.函数调用(函数调用(Function Call)函数名是操作数,函数名后面的括号函数名是操作数,函数名后面的括号是运算符。是运算符。如如:printf();2.后置自增后置自增/自减自减只能用于单个变量。只能用于单个变量。i;(True)(i5););(False)作用为使变量的值增加或减作用为使变量的值增加或减1。如:如:a+a-表达式的值为变量原来的值表达式的值为变量原来的值 如如:int x,a=1;x=a+;等价于:等价于:x=1,a=a+1;2.1.5 2.1.5 一元表达式一元表达式由一个运算符跟一个操作数组成。由一个运算符跟一个操作数组成。只能用于单个变量。只能用于单个变量。使变量的值增加或减使变量的值增加或减1。如:如:+a -a1前置自增前置自增/自减自减 表达式的值为变量的新值表达式的值为变量的新值 如如:int x,a=1;x=+a;等价于:等价于:a=a+1,x=2;2sizeof运算符运算符用来测定对象占用内存的字节数。用来测定对象占用内存的字节数。格式格式:sizeof(对象)(对象)或或 sizeof 对象对象对象可以是类型标识符,也可以是表对象可以是类型标识符,也可以是表达式。达式。如:如:sizeof(int)sizeof 1.5 3一元取正一元取正/取负取负取正、负运算,可以简单的认为取正、负运算,可以简单的认为是数学中的正负号,但实际在是数学中的正负号,但实际在C语语言中是运算符。言中是运算符。如:如:a -a 例:设有定义:例:设有定义:int k=0;以下选项的四个表达式中与以下选项的四个表达式中与其他三个表达式的值不同的是(其他三个表达式的值不同的是()。)。2007.42007.4A.k+;B.k+=1;C.+k;D.k+1;答案:答案:D 例:数字例:数字0的的ASCII值为值为48,若有以下程序,若有以下程序 main()()char a=1,b=2;printf(%c,,b+);printf(%dn,b-a);程序运行后的输出结果是(程序运行后的输出结果是()。)。2005.4A.3,2 B.50,2 C.2,2 D.2,50答案:答案:C 例:有以下程序例:有以下程序 main()()int m=12,n=34;printf(%d%d,m+,+n);printf(%d%dn,n+,+m);程序运行后的输出结果是(程序运行后的输出结果是()。)。2005.4A.12353514 B.12353513 C.12343514 D.12343513答案:答案:A 2.1.6 2.1.6 逗号表达式逗号表达式由逗号连接表达式而构成的式子。由逗号连接表达式而构成的式子。格式:格式:表达式表达式1,表达式,表达式2,表达式,表达式n如:如:x=5,y=x+5,z=-y,x+6 运算规则:运算规则:从左至右依次运算各表达式,整从左至右依次运算各表达式,整个逗号表达式的值为最右边的表个逗号表达式的值为最右边的表达式的值达式的值。如:如:x5,x10,x*10+3则逗号表达式的值为则逗号表达式的值为53。说明说明常用于给多个变量同时赋值。常用于给多个变量同时赋值。如:如:int x,y,z;x=1,y=2,z=3;优先级为优先级为1。如:如:int x,y,z;z=(x=1,y=x*10,x+=y+15);例:有以下程序例:有以下程序 main()()char a1=M,a2=m;printf(%cn,(a1,a2);以下叙述中正确的是(以下叙述中正确的是()。)。2005.4A.程序输出大写字母程序输出大写字母MB.程序输出小写字母程序输出小写字母mC.格式说明符不足,编译出错格式说明符不足,编译出错D.程序运行时产生错误信息程序运行时产生错误信息答案:答案:B 例:执行以下程序后的输出结果是例:执行以下程序后的输出结果是_。2007.4#include main()()int a=10;a=(3*5,a+4);printf(a=%dn,a);答案:答案:a=14 例:以下叙述中错误的是(例:以下叙述中错误的是()。)。2006.42006.4A.C程序中的程序中的#include和和#define行均不行均不是是C语句语句B.除逗号运算符外,赋值运算符的优先除逗号运算符外,赋值运算符的优先级最低级最低C.C程序中,程序中,j+;是赋值语句;是赋值语句D.C程序中,程序中,+、-、*、/、%号是算术运号是算术运算符,可用于整型和实型数的运算。算符,可用于整型和实型数的运算。答案:答案:D 2.2 2.2 副作用(副作用(Side effectSide effect)由于表达式运算而引起变量发生变由于表达式运算而引起变量发生变化的一种情况。化的一种情况。如:如:x10*(y=8);结果是:结果是:x=80y=8 2.3 2.3 表达式求值表达式求值(1)用变量的值替换表达式中的)用变量的值替换表达式中的变量,得到新表达式。变量,得到新表达式。(2)按优先级顺序计算各表达式)按优先级顺序计算各表达式并用求得的值替换原来的部分。并用求得的值替换原来的部分。(3)重复步骤()重复步骤(2),直到得到一),直到得到一个单独的值。个单独的值。2.3.1 无副作用表达式求值无副作用表达式求值 2.3.2 有副作用表达式求值有副作用表达式求值 2.4 2.4 混合类型表达式混合类型表达式不同类型数据联合而成的式子。不同类型数据联合而成的式子。整型、单精度型、双精度型数据和整型、单精度型、双精度型数据和字符型可以混合运算。字符型可以混合运算。如:如:10+A+1.58765.1234*b不同类型数据计算时,应当首先将不同类型数据计算时,应当首先将其转换成相同数据类型。其转换成相同数据类型。2.隐式类型转换(隐式类型转换(Implicit Type Conversion)系统自动按规则由低向高层转换。系统自动按规则由低向高层转换。如如:int i;float f;10ai*f 赋值表达式中,如果赋值号左右两端的类型赋值表达式中,如果赋值号左右两端的类型不同,将右边的值转换为左边的类型,结果不同,将右边的值转换为左边的类型,结果为赋值号左边的类型。为赋值号左边的类型。2.4.2.强制类型转换(强制类型转换(Explicit Type Conversion)使用强制类型转换符进行转换。使用强制类型转换符进行转换。格式:格式:(数据类型标识符)表达式(数据类型标识符)表达式优先级为优先级为14。如如:(:(float)x;(int)()(xy););(float)()(53););应用:应用:(int)5.553;C(float)5/9(F32););如:如:main()()float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);运行结果:运行结果:x=3.600000,i=3在强制类型转换时,得到一个所需要的中间变量,在强制类型转换时,得到一个所需要的中间变量,原来的变量的类型未发生改变。原来的变量的类型未发生改变。例:表达式例:表达式3.6-5/2+1.2+5%2的值的值是(是()。)。2006.42006.4A.4.3B.4.8C.3.3D.3.8答案:答案:D 例:以下程序运行后的输出结果是例:以下程序运行后的输出结果是_。2007.9#include main()()char c;int n=100;float f=10;double x;x=f*=n/=(c=50);printf(%d%fn,n,x);答案:答案:2 20.000000 2.5 2.5 语句语句 2.5 2.5 语句语句 2.6 2.6 标准库函数(标准库函数(Standard Library FunctionsStandard Library Functions)开发商编写的函数。开发商编写的函数。函数原型包含在不同的头文件中。函数原型包含在不同的头文件中。1数学函数(数学函数(Mathematical Functions)大多数包含在头文件大多数包含在头文件math.h中。中。(1)求绝对值函数)求绝对值函数 abs/labs/fabs 三个函数对应类型不同三个函数对应类型不同 abs(int)abs(3)labs(long)fabs(double)fabs(-3.4)(2)ceil/floor函数函数函数原型函数原型:double ceil/floor(double number);作作 用用:ceil返回不小于返回不小于number的最小整数的最小整数,结果为结果为double型。型。如如:ceil(-1.9)-1.0 ceil(1.9)2.0 floor返回不大于返回不大于number的最大整数的最大整数,结果为结果为 double型。型。如如:floor(-1.9)-2.0 floor(1.9)1.0 (3)求幂求幂pow函数函数函数原型函数原型:double pow(double x,double y);作作 用用:返回返回x的的y次幂次幂 如如:pow(3.0,4.0)81.000000 (4)求平方根求平方根sqrt函数函数函数原型函数原型:double sqrt(double x);作作 用用:返回非负数的平方根。返回非负数的平方根。如如:sqrt(2)1.414000 2通用库函数通用库函数(General Library Functions)头文件为头文件为stdlib.h(1)种子随机函数种子随机函数srand函数函数函数原型函数原型:void srand(unsigned int seed);作作 用用:返回返回0-seed之间的随机数之间的随机数 (1)种子随机函数种子随机函数srand函数函数常常使用系统时间作为参数来产生首个常常使用系统时间作为参数来产生首个种子数,此时需包含头文件种子数,此时需包含头文件time.h例:例:srand (time(NULL)也可以用常量也可以用常量例:例:srand (997)(2)rand函数函数函数原型函数原型:int rand(void);作作 用用:返回返回0-32767之间的随机整数之间的随机整数产生不同的随机数只需使用一次产生不同的随机数只需使用一次srand函数。函数。若不调用若不调用srand函数,函数,rand函数的种子函数的种子初始值为初始值为1,每次产生的随机数序列将,每次产生的随机数序列将是不变的。是不变的。(3)生成指定范围的随机数(生成指定范围的随机数(min-max)方法方法:rand()%(max+1)-min)+minmin和和max为指定范围的最小值和最大值。为指定范围的最小值和最大值。如如:产生产生20-30之间的任意随机数之间的任意随机数 rand()%(30+1)-20)+20 rand()%11+20 例:产生例:产生20-30之间的任意随机数之间的任意随机数#include#include#include main()srand(time(NULL);printf(“%d”,rand()%11+20);The End

    注意事项

    本文(c语言第二章表达式和简单程序设计.ppt)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开