资源描述
Lesson1常用运算符及优先级,mtysoft,.obj,.exe,.c,编程流程,运行,编辑,编译,链接,编译Ctrl+F7链接F7运行Ctrl+F5,整型与格式符,#includemain()inta,b,c;a=1;b=2;c=a+b;printf(c=%d,c);,a,1,b,2,c,3,c=3,赋值运算符,inta,b,c;a=1;b=2;a=a+b;b=a+b;c=a+b;,黄建语录一:变量某一时刻只能保存一个值。,a,1,b,2,c,8,3,5,inta=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;,变量赋值,算术运算符,乘法、除法和求余的运算优先级高于加法和减法。,减法,加法,乘法,除法,求余,求余运算: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.8,3-33-3440,赋值运算符,例以下程序运行后,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);,0,自增自减运算符,自增运算符,例以下程序的运行结果是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;,-2,关系运算符,小于或等于=,小于,等于=,关系运算符,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,1,逻辑运算符,真变假,假变真,全假才假,全真才真,逻辑运算符2-1,2005.4.9设a=10;b=20;则c的值是c=(a%b1);,2010.3.17若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是,0,2009.9.8设a=20,则输出结果是printf(%d,%d,0a20,0a,1,0,1,2005.4.20设c=25,则a和b的值是a=c/10%9;b=a,2,1,逻辑运算符2-2,2010.3.6x为int型变量,请写出一个表达式,用以判断x同时为3和7的倍数时,表达式的值为真。,x%3=0则值为0的表达式是A)(ab),2,2005.4.21以下程序的运行结果是inti=1,j=2,k=3,m;m=i+=1,2,3,3,1,条件运算符,条件运算符具有右结合性。ab?a:cd?c:d;相当于:ab?a:(cd?c:d);,2005.9.24以下程序运行后,k的值是intk=0,a=1,b=2,c=3;k=ac?c:k;,2005.4.22若a=1,b=4,c=3,d=2;则表达式ac?b:(ac?c:_):(ac?_:(bc?c:_);,a,a,b,例以下程序的运行结果是inta=0,b=3,c;c=a+?+b:+a;printf(%d%d%d,a,b,c);,232,逗号运算符,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);,14,2,3,1,例以下程序的运行结果是printf(%d,(1,2),3);,2,C语言常见运算符优先级口诀,运算符优先级,运算符的右结合性,单目、条件和赋值运算符具有右结合性,如:单目运算符:!a+;相当于:!(a+);条件运算符:a?b:c?d:e;相当于:a?b:(c?d:e);赋值运算符:a=b=c;相当于:a=(b=c);其它运算符左结合,如:算术运算符:a+b-c;相当于:(a+b)-c;,基本概念7-1,2007.4.15对于一个正常运行的C程序,以下叙述中正确的是A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束,基本概念7-2,2008.4.11下列叙述中正确的是A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中,基本概念7-3,2010.3.12以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示,基本概念7-4,2009.9.11下列叙述中正确的是A)程序设计的任务就是编写程序代码并调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整,2008.9.11下列叙述中正确的是A)C程序的基本组成单位是语句B)C程序的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完,基本概念7-5,2006.4.45以下叙述中错误的是A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出C)算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果,2008.9.12计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序,基本概念7-6,2010.9.12以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构,基本概念7-7,2011.3.12以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件,2009.9.12以下合法的用户标识符是A)unsignedB)8_8C)_0_D)void,标识符,标识符是由字母或下划线开头,后面跟着字母、数字或下划线的字符序列。,2008.4.12以下不合法的用户标识符是A)printB)FORC),以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c);,表达式的值,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+=2,填空题,填空实现以下功能:a是一个两位的正整数,如果a的十位、个位至少有1位数字是7或者a能被7整除,则输出Yes,否则输出No。#includemain()inta=75;_?printf(Yes):printf(No);,a/10=7|a%10=7|a%7=0,编程题,请编写程序:输出w后n-1位的数(w是大于10并且小于10000的整数)。例如:若w=45,则输出5;若w=4567,则输出567。#includemain()intw=45;,printf(%d,w=1000?w%1000:(w=100?w%100:w%10);,456;,4567;,1,本课小结,VC+6.0开发环境,C语言的特点,C程序的书写格式,运算符的优先级,运算符的结合性,课后题:整数分离及合并,将两个两位的正整数a、b合并形成一个整数放在c中:将a的十位和个位数依次放在c的千位和十位上,b的十位和个位数依次放在c的百位和个位上。例如:若a=45,b=12,使c=4152。,整数分离及合并,将两个两位的正整数a、b合并形成一个整数放在c中:将a的十位和个位数依次放在c的千位和十位上,b的十位和个位数依次放在c的百位和个位上。例如:若a=45,b=12,使c=4152。,#includemain()inta=45,b=12,c;c=a/10*1000+b/10*100+a%10*10+b%10;,生活中难免有些不如意,就像旅行,途中未必时时都有好风景。,向前走!,
展开阅读全文