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

    (中职)C语言程序设计模块四电子课件.pptx

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

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

    (中职)C语言程序设计模块四电子课件.pptx

    YCF正版可修改PPT(中职)C语言程序设计模块四ppt电子课件LOGO运算符C语言的血液模块44.1第1级:()、-、.(1)()运算符:在多个运算符中,括号运算优先运算。这个与数学运算方式保持一致。例如:int a;a=a+(a=4);/*先()号运算,给变量a赋常量值4;因为“+”运算高于赋值“”运算,故先执行4+4运算;最后执行赋值“”运算,结果a值等于8*/printf(%d,a);/*输出8*/(2)为变址运算符(后述)。(3)-为指向结构体成员运算符(后述)。(4).为结构体成员运算符(后述)。1.!:逻辑非运算4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)其值为:非0即1,即只有0和1两个逻辑值。例如:int a=6,b=0,c=0,d;d=!a+!b+!c;/*!a结果为0;!b结果为1;!c结果为1;故d最后得2*/printf(%d-%d,!d,d);/*输出0-2*/(2)要领会条件语句中的含义。例如:if条件判断中,if(x)等同于if(x!=0),而if(!x)则等同于if(x=0)。while循环条件判断中,while(x)等同于while(x!=0),而while(!x)则等同于while(x=0)。2.:按位取反运算(简称位非运算)4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)正整数的位非运算。由于正整数的原反补一致,故直接对原码取反,得新原码,此时最高位变1,即为负,对该新原码求补码即得位非值。可见,正整数位非结果变负。例如:int a=6;printf(%d,a);/*输出-7*/计算方法如下:2.:按位取反运算(简称位非运算)4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(2)负整数的位非运算。由于负整数在内存中是以补码形式存在的,所以必须先对负整数求补码,再取反。此时最高位为0,为正,正数原反补一致,直接计算结果即得位非值。可见,负整数位非结果变正。例如:int a=-6;printf(%d,a);/*输出5*/计算方法如下:3.+、-:自增自减运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)前置时,如+i,-j,要先增减后运算。(2)后置时,如i+,j-,要先运算后增减。(3)只能用于单个变量自增自减,不能用于表达式,如(x+y)+或-(x+y)是错误的;也不能用于常量,如+3,4-等也都是错误的。例如:int i=3;printf(%d-%dn,i+,+i);/*printf()函数里的运算是从右往左的,故先计算+i,即先自增1到4,再做输出运算,输出4;执行i+时,先做输出运算,输出4,再自增1,i实际变为5。故输出4-4*/printf(%dn,i);/*输出自增后的值,即5*/3.+、-:自增自减运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()再如:int x=2,y=3,d;d=y*x+(y-)+(+x);/*先执行+x,变量x增1得值3,而y-要先运算再自减,故先不动,则右边为3*3+3+3,得15,故d被赋值 15,y参加了运算,再自减1,为2*/printf(d%d,x=%d,y=%dn,d,x,y);/*输出d=15,x=3,y=2*/(4)结合方式:自左向右。例如:a+b-c;/*实际上就是:(a+)+(b-)-c;*/(5)i+本质就是i=i+1。4.(类型):强制数据类型转换运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()数据类型的转换有两种,一种是自动转换,另一种是强制转换。(1)自动转换:由低向高自动转换,其中有两个必然转换。float型在运算时一定会先自动转换成double型。short和char型在运算时一定会先自动转换成int型。4.(类型):强制数据类型转换运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(2)强制转换:分为显式强制转换和隐形强制转换,显式强制转换必须用()号把转换类型括起来。例如:/*显式强制转换:*/(int)3.58;/*强制转换3.58为整型,即为3*/int x=25,m;float y=25.0;printf(%fn,(float)x);/*强制转换变量x为浮点型,输出值为25.000000*/*隐形强制转换:*/m=x+y;/*m是int型,故x+y虽是浮点型,但赋给m时强制转换为int型,即m=50*/printf(%d,m);/*输出50*/5.&地址与运算符和*指针运算符4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)&地址与运算。例如:int a;scanf(%d,&a);/*给变量a输入值,就是输入一个常值到a的内存空间中。不可忘记&*/(2)*指针运算:定义指针变量。对地址进行取内容运算。例如:int a=5;int*p=&a;/*等同于“int*p;p=&a;”,定义一个整型指针p并指向变量a的地址*/printf(%d,*p);/*这里*p的含义是:对指针p进行取内容运算。因为p指向了变量a的地址,因此就是*(&a)运算,即对变量a的地址进行取内容运算,即为5*/6.sizeof():内存空间长度运算4.2第2级:!、+、-、+、-、(类型)、&、*、sizeof()(1)sizeof()计算的结果都是整型(int)值。(2)16位编译环境下指针的内存长度为2 B(32位环境下为4 B)。float f_x;float*p=&f_x;printf(%dn,sizeof(f_x);/*计算变量f_x的内存空间长度,输出4*/printf(%dn,sizeof(p);/*计算指针变量p的内存空间长度,输出2*/4.3第3级:*、/、%(1)*乘法运算符(略)。(2)/除法运算符。除法规则:若两边均为整型,则结果去掉小数部分只取整数部分。例如:printf(%d,5/2);/*取整,输出2*/若有实数,则结果为浮点型。例如:printf(%f,5/2.0);/*2.0为实数,输出2.500000*/4.3第3级:*、/、%(3)%模运算(求余运算)。运算规则:要求两边都为整型。例如:printf(%d,5%2);/*输出1*/;printf(%d,5%2.0);/*程序报错*/最常用法:判断一个数是偶数还是奇数。例如,有整型变量x,若x%2=0,则x为偶数,x%2=1则为奇数。被除数为负,无论除数符号如何,结果都为负。除数的符号对结果无影响。例如:3%2=1,3%-2=1-3%2=-1,-3%-2=-1 加法运算和减法运算比较简单,不再详细介绍。4.4第4级:+(加)、-(减)4.5第5级:(右移)位移运算符(1)移位规则:正整数位移左移右补0,右移左补0。例如:int a=7,b=7;printf(%d-%d,a2);/*a左移2位后结果为28,b右移2位后结果为1*/4.5第5级:(右移)位移运算符负整数位移先求补码再位移,左移右补0,右移左补1,位移后得到的是新原码,再进行求补码运算即得位移结果。例如:int a=-7,b=-7;printf(%d-%d,a2);/*输出-28和-2*/4.5第5级:(右移)位移运算符(2)当位移与位非结合时,由于位非级别高于位移,要注意须先进行位非运算。例如:int a=7,b=-7;printf(%d-%d,a2);/*输出-32和1*/a2:先a运算,结果是-8,再-82:先b运算,结果是6,再62,6/22,结果为1。4.6第6级:关系运算符:、=常用于if条件控制语句和循环条件语句中。要特别注意不要把赋值符号“=”当作“等于”符号。“”符号处于第14级的位置。4.7第7级:等于符号=和不等于符号=4.8第8级:&按位与运算符运算法则:1&1为1,其他为0(1&0、0&1、0&0)。例如:int a=7,b=-7;printf(%d,a&b);/*输出1*/运算过程如右。思考:任意一个数与0进行&运算,结果如何?4.9第9级:按位异或运算符运算法则:11为0,00为0,10为1,01为1。例如:int a=7,b=-7;printf(%d,ab);/*输出-2*/运算过程如右。思考:任意一个数与0进行运算,结果如何?4.10第10级:|按位或运算符运算法则:1|1为1,1|0为10|1为1,0|0为0。例如:int a=7,b=-7;printf(%d,a|b);/*输出-1*/运算过程如下:思考:任意一个数与0进行|运算,结果如何?4.11第11级:&逻辑与运算符运算法则:自左向右运算。两边同时为真(逻辑值1),表达式的值才为真;左边为真,继续右边运算;左边为假(逻辑值0),停止右边运算。例如:int a=7,b=-7;printf(%dn,a0&b0);/*a0为真,b0为假,故a0&b0的值为0,输出0*/printf(%dn,a0&b0为真,b0&b0&+b);/*+a得8,大于0成立,+b得-6,不为0,故输出1*/printf(%dn,-b&+a0&+a);/*b0不成立,不再执行后面的+a,a的值不变,故输出0*/printf(a=%d,b=%d,a,b);/*输出a=9,b=-7*/4.12第12级:|逻辑或运算符运算法则:自左向右运算。任意一边为真,表达式的值即可为真;左边为真,不再运算右边;左边为假,继续右边运算。例如:int a=7,b=0;printf(%dn,a0|b0);/*a0为真,表达式的值为真,输出1*/printf(%dn,a0|b);/*a0为假,继续右边运算;b为0,故表达式的值为0,输出0*/printf(%dn,a0|+b);/*a0|+a);/*b0为真,不再执行右边,a的值不变,表达式值为1,输出1*/printf(a=%d,b=%d,a,b);/*输出a=7,b=1*/例如:int a=3,b=-3,c=0;printf(%dn,a+b|b+c&a+c);/*先&得1,再|得1*/printf(%dn,ac|a+b&+c);/*先&得0,再|得1*/4.13第13级:?:条件运算符条件运算符是C语言唯一的一个三目运算符,结合方向自右向左。语法规则:表达式1?表达式2:表达式3;运算法则:如果表达式1成立(值为真),则执行表达式2作为整个表达式的值,否则执行表达式3作为整个表达式的值。例如:int a=7,b=3,c,d;c=ab?a+b:a-b;/*ab成立,执行a+b,并把运算结果赋给变量c*/printf(c=%dn,c);/*输出10*/d=ac?a+b:ca?a-b:c-a;/*这里体现了自右向左的结合性(运算方向),可书写为“ac?a+b:(ca?a-b:c-a);”,ca成立,执行a-b,得4,ac不成立,取“:”后面的值4,赋给变量d*/printf(d=%d,d);/*输出d=4*/4.13第13级:?:条件运算符模块2.2.1的程序目的是让我们快速了解C语言的程序结构。该程序用?:条件运算符写则很简单。比较输入的2数大小:#include int main()int a,b,c;scanf(%d%d,&a,&b);c=ab?a:b;printf(%dn,c);同样,比较输入的3个数大小,也可用三目运算符来实现:(ab?a:b)c?(ab?a:b):c;/*看作3个表达式*/“”外,其他也称复合运算符(由2个运算符构成),运算方向自右至左。1.运算符(1)一定要把它和等于符号=区分开来。“a=2;”读法是:把2赋给变量a。“a=2;”读法是:a等于2。“a=b+(a=2);”要注意括号里的“a=2”不能加分号,因为它只是语句里的一部分。(2)要特别注意只能给变量赋值,不能给表达式赋值。所谓表达式,就是由运算符构成的式子,如a+b。int a_1,b,c;a_1=10;/*给单个变量赋值,正确*/b+c=20;/*不能给表达式赋值,错误*/a_1=b+c=30;/*不能给表达式赋值,错误*/4.14第14级:=、+=、-=、*=、/=、%=、=、&=、=、|=赋值运算符除2.+=、-=、*=、/=、%=、=、&=、=、|=复合赋值运算符以+=为例:(1)“a+=b;”等同于“a=a+b;”。(2)“a+=b+c;”等同于“a=a+b+c;”,其他各运算符一样,以此类推。(3)有多个复合赋值运算符时要注意变量值的变化。例如:int a=5;a+=a-=12+8;/*自右往左,加号优于复合赋值符,故先算12+8得20;接着a-=20,即a=a-20,结果为-15,即a=-15;a被重新赋值,再运算a+=-15,即a=a+(-15),结果为-30,即a=-30;a被重新赋值-30*/4.14第14级:=、+=、-=、*=、/=、%=、=、&=、=、|=赋值运算符除运算方向自左至右。语法规则:表达式1,表达式2,,表达式n。运算规则:以最后一个表达式的值作为整个逗号表达式的值。4.15第15级:,逗号运算符4.16程序示例:评比奖学金学校奖学金评比办法:语、数、外各科均以100分计,总的条件是语、数、外各科必须60分(含)以上方可评比。具体等级是:(1)语、数、外各科均在90分以上(含)或平均分在90分以上(含)为一等奖,输出:“First prize!”。(2)语、数、外各科均在80分以上(含)90分以下或平均分在80分以上(含)90分以下为二等奖,输出“Second prize!”。(3)语、数、外各科均在70分以上(含)80分以下或平均分在70分以上(含)80分以下为三等奖,输出“Third prize!”。不符合上述条件的没有奖,输出“No prize!”。本程序主要是条件的满足问题,哪些条件是逻辑与,哪些是逻辑或。另外,条件的书写可能比较长,可以预先用变量保存条件的逻辑值。本程序用到的ifelse ifelse,学习者可查阅“5.3.3程序示例if()多分支选择结构”的介绍。LOGO

    注意事项

    本文((中职)C语言程序设计模块四电子课件.pptx)为本站会员(春哥&#****71;)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

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




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

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

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

    收起
    展开