您好,欢迎访问三七文档
当前位置:首页 > 幼儿/小学教育 > 小学教育 > 01_常用运算符及优先级
Lesson1常用运算符及优先级mtysoft@163.com2.obj.exe.c编程流程运行编辑编译链接编译Ctrl+F7链接F7运行Ctrl+F53整型与格式符#includestdio.hmain(){inta,b,c;a=1;b=2;c=a+b;printf(c=%d,c);}a1b2c3c=34赋值运算符inta,b,c;a=1;b=2;a=a+b;b=a+b;c=a+b;黄建语录一:变量某一时刻只能保存一个值。a1b2c8355inta=3,b=3,c=3;inta,b,c;a=3;b=3;c=3;inta,b,c;a=b=c=3;inta=b=c=3;变量赋值正确正确正确错误6算术运算符乘法、除法和求余的运算优先级高于加法和减法。减法加法乘法除法求余-*/%+7求余运算:a=7%4;b=-7%4;c=7%-4;d=-7%-4;e=4%7;f=40%70;算术运算符黄氏定理一:两个整数进行算术运算,结果还是整数。公式表示:7/4=1。[2006.4.14]表达式3.6-5/2+1.2+5%2的值是A)4.3B)4.8C)3.3D)3.83-33-34408赋值运算符[例]以下程序运行后,a的值是inta=2;a+=a*=a+=a/a;18[2009.9.15]以下程序运行后,x的值是intx=10;x-=x+x;-10[2009.9.16]以下程序的运行结果是inta=1,b=0,c=5;printf(%d,%d,b=a+b,c+=c=7);1,14[2010.9.16]以下程序的运行结果是printf(%d,a+=a-=a=9);09自增自减运算符b=a++;相当于:b=a;a++;先取值,后自增b=++a;相当于:++a;b=a;先自增,后取值10自增运算符[例]以下程序的运行结果是inta=2,b=2,c,d;c=a++;d=++b;printf(%d%d%d%d,a,b,c,d);3323[2005.4.17]以下程序的运行结果是intm=12,n=34;printf(%d%d,m++,++n);1235[例]以下程序运行后,x的值是intm=3,n=4,x;x=-m++;x=x+8/++n;-211关系运算符小于或等于=大于或等于=小于不等于!=大于等于==关系运算12关系运算符[2007.4.21]当x为大于1的奇数时,值为0的是A)x%2==1B)x/2C)x%2!=0D)x%2==0[例]以下程序运行后,c和d的值分别是inta=3,b=3,c,d;c=a=3;d=b==3;3,1[例]以下程序的运行结果是inta=3,b=a3,c=a=3;printf(%d,%d,b,c);0,113逻辑运算符真变假,假变真全假才假全真才真非!与&&或||14逻辑运算符2-1[2005.4.9]设a=10;b=20;则c的值是c=(a%b1)||(a/b1);[2010.3.17]若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是0[2009.9.8]设a=20,则输出结果是printf(%d,%d,0a20,0a&&a20);1,01[2005.4.20]设c=25,则a和b的值是a=c/10%9;b=a&&(-1);2,115逻辑运算符2-2[2010.3.6]x为int型变量,请写出一个表达式,用以判断x同时为3和7的倍数时,表达式的值为真。x%3==0&&x%7==0[2005.9.23]若有inta=2,b=3,c=4;则值为0的表达式是A)(ab)&&!c||1B)a&&bC)(!a==1)&&(!b==0)D)a||(b+b)&&(c-a)16短路逻辑运算符2-1[例]以下程序运行后,各变量的值是a=b=c=d=e=f=1;x=(a=2)&&(b=0)&&(c=2);y=(d=0)||(e=2)||(f=2);[2007.4.11]intc=2,i=1,j;执行j=!c&&i++以后,i的值为:1[2008.4.6]intc=2,a=1,b;执行b=!c&&a以后,b的值为:017短路逻辑运算符2-2[例]以下程序运行后d的值是inta=4,b=5,c=0,d;d=!a&&!b||!c;1[例]以下程序运行后n的值是a=b=c=d=m=n=2;(m=ab)&&(n=cd);2[2005.4.21]以下程序的运行结果是inti=1,j=2,k=3,m;m=i++==1&&(++j==3||k++==3);printf(%d,%d,%d,%d,i,j,k,m);2,3,3,118条件运算符条件运算符具有右结合性。ab?a:cd?c:d;相当于:ab?a:(cd?c:d);[2005.9.24]以下程序运行后,k的值是intk=0,a=1,b=2,c=3;k=ab?b:a;k=kc?c:k;[2005.4.22]若a=1,b=4,c=3,d=2;则表达式ab?a:cd?c:d的值是A)1B)2C)3D)4219条件运算符填空实现以下功能:在a、b、c中找出中间的那个数,放到变量t中。例如,当a=3,b=5,c=4时,t为4。t=ab?(bc?b:(ac?c:____)):(ac?____:(bc?c:____));aab[例]以下程序的运行结果是inta=0,b=3,c;c=a++?++b:++a;printf(%d%d%d,a,b,c);23220逗号运算符k=(2,3,4);执行后,k=4;k=2,3,4;执行后,k=2;[例]以下程序的运行结果是x=y=1;z=x++,y++,++y;printf(%d,%d,%d,x,y,z);[2007.4.6]以下程序运行后,a的值是inta=10;a=(3*5,a+4);142,3,1[例]以下程序的运行结果是printf(%d,(1,2),3);221C语言常见运算符优先级口诀22运算符优先级简称含义运算符数目结合单单目++,--,!单目←算算术*,/,%双目→+,-双目→关关系,=,,=双目→==,!=双目→逻逻辑&&双目→||双目→条条件?:三目←赋赋值=,+=,-=,*=,/=,%=双目←逗逗号,→23运算符的右结合性单目、条件和赋值运算符具有右结合性,如:单目运算符:!a++;相当于:!(a++);条件运算符:a?b:c?d:e;相当于:a?b:(c?d:e);赋值运算符:a=b=c;相当于:a=(b=c);其它运算符左结合,如:算术运算符:a+b-c;相当于:(a+b)-c;24基本概念6-1[2007.4.15]对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束25基本概念6-2[2008.4.11]下列叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中26基本概念6-3[2010.3.12]以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示27基本概念6-4[2009.9.11]下列叙述中正确的是A)程序设计的任务就是编写程序代码并调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整[2008.9.11]下列叙述中正确的是A)C程序的基本组成单位是语句B)C程序的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完28基本概念6-5[2006.4.45]以下叙述中错误的是A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出C)算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果[2008.9.12]计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序29基本概念6-6[2010.9.12]以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构30[2009.9.12]以下合法的标识符是A)unsignedB)8_8C)_0_D)void标识符标识符是由字母或下划线开头,后面跟着字母、数字或下划线的字符序列。[2008.4.12]以下不合法的用户标识符是A)printB)FORC)&aD)_00大写字母和小写字母是不同的字符;通常变量用小写字母表示,常量用大写字母表示。31[例]以下选项中非法的表达式是A)0=x100B)i=iiC)x+1=x+1D)1/3*x++合法的表达式[2006.9.14]符合C语法的表达式是A)++x,y=x--B)y=++(x+5)C)x=x+10=x+yD)n%2.5[2010.9.14]有以下定义:inta;longb;doublex,y;则以下选项中正确的表达式是A)a%(int)(x-y)B)a=x!=y;C)(a*y)%bD)y=x+y=x32表达式的值[2008.4.7]下列表达式的值为n=i=2,++i,i++3[例]以下选项中与k=n++完全等价的表达式是A)k=n,n=n+1,kB)k=++nC)n=n+1,k=nD)k+=n+1[2009.3.14]若x的值为2,则以下值不为6的是A)x*=x+1B)x++,2*xC)x*=(1+x)D)2*x,x+=233填空题填空实现以下功能:a是一个两位的正整数,如果a的十位、个位至少有1位数字是7或者a能被7整除,则输出Yes,否则输出No。#includestdio.hmain(){inta=75;_____________________________?printf(Yes):printf(No);}a/10==7||a%10==7||a%7==034编程题请编写程序:输出w后n-1位的数(w是大于10并且小于10000的整数)。例如:若w=45,则输出5;若w=4567,则输出567。#includestdio.hmain(){intw=45;}printf(%d,w=1000?w%1000:(w=100?w%100:w%10));456;4567;35本课小结VC++6.0开发环境C语言的特点C程序的书写格式运算符的优先级运算符的结合性36课后题:整数分离及合并将两个两位的正整数a、b合并形成一个整数放在c中:将a的十位和个位数依次放在c的千位和十位上,b的十位和个位数依次放在c的百位和个位上。例如:若a=45,b=12,使c=4152。37整数分离及合并将两个两位的正整数a、b合并形成一个整数放在c中:将a的十位和个位数依次放在c的千位和十位上,b的十位和个位数依次放在c的百位和个位上。例如:若a=45,b=12,使c=4152。#includestdio.hmain(){inta=45,b=12,c;c=a/10*1000+b/10*100+a%10*10+b%10;}
本文标题:01_常用运算符及优先级
链接地址:https://www.777doc.com/doc-3531903 .html