C语言逻辑运算符详解_第1页
C语言逻辑运算符详解_第2页
C语言逻辑运算符详解_第3页
C语言逻辑运算符详解_第4页
C语言逻辑运算符详解_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、模块二模块二 C语言输入输出顺序程序设计(二)语言输入输出顺序程序设计(二)2复习q常量与变量q基本数据类型q基本输入输出函数(printf和scanf)q算术运算和赋值运算3项目一 输入输出同学个人信息【项目任务【项目任务】从键盘上输入学生基本信息,打印输出。=学号: 09288726 姓名: 张小勤性别: 男 年 龄: 19身高: 1.70 m 体重: 60 kg班级: 11级UI1班 电话:1352626889QQ号: 78788068 电子邮箱:=4q任务1:分析学生信息的基本数据类型q任务2:根据数据特点确定变量名和变量类型q任务3:输入数据q任务4:输出数据5说明q1、字符串的存取

2、方式char name10; scanf(“%s”,name);printf(“%s”,name);2、scanf函数和printf函数数据类型要与变量类型一致。6练习q练习教材上P43【技能训练】第2题。q练习教材上P34【技能训练】第2题。7项目二 密码加工译码器【项目任务【项目任务】 密码加工程序。从键盘输入小写字母,后移加密,当超出字母范围从头循环,如当后移2位时,输入kyz加工后为mab。8任务分析q任务1:理解单个字符在内存中的存储形式q任务2:从键盘输入/输出单个字符q任务3:如何处理特殊情况?q任务4:了解基本的运算符9程序说明q字符变量可参与数值运算q单个字符数据的输入输出p

3、utchar(a); putchar(ch1); putchar(n);getchar()只能接受单个字符,如ch=getchar();q算术运算符、关系运算符、逻辑运算符、条件运算符,优先级和结合性q各种表达式10表达式用运算符把运算对象连接在一起的式子,称为“表达式”1112Z = ( X * 2 ) + ( 5 Y ) 操作数操作数操作数操作数表达式表达式表达式表达式表达式表达式运算符运算符13表达式q表达式由操作数和运算符的组合而成q表达式中的操作数可以是变量、常量或者子表达式q运算符的主要类型有:q 算术运算符q 赋值运算符q 关系运算符q 逻辑运算符q 条件运算符14算术运算符算术

4、 一元一元 二元二元操作数操作数运算符15#include void main()int a = 5, b = 3;printf(5+3= %dn,a+b);printf(5-3= %dn,a-b);printf(5*3= %dn,a*b);printf(5/3= %dn,a/b);printf(5%3= %dn,a%b);算术运算符示例16算术运算符算术一元一元-+num+num=num+1num-num=num-1+num-numnum+num-前缀前缀后缀后缀二元二元17qi+与+i 都相当于 i=i+1q区别:i+ 先使用i的值,再执行i=i+1;+i 执行i=i+1,再使用i的值。1

5、8表达式表达式如何计算如何计算结果结果 (i=5)j = +i;i = i + 1;j = i;j = i = j = i+;j = i;i = i + 1;j = i = j = - -i;i = i - 1;j = i;j = i = j = i - -;j = i;i = i - 1;j = i = 19#include void main()int a=3,b=5;printf(“a=%dn”,+a);printf(“a=%dn”,a);printf(“b=%dn”,b-);printf(“b=%dn”,b);算术运算符示例20数值型数据间的混合运算q整型和实型数据可以混合运算。q字符

6、型数据可以与整型通用q字符型数据?100/33 10+a+1.5-8.7q原则:横向箭头表示必定的转换,纵向箭头表示当运算对象为不同类型时转换的方向。intunsigneddoublechar ,shortlong低高float21强制转换q强制类型转换q语法:(类型名) (数值、变量或表达式 )q例如:int a = 5, b = 3;float qu = float(a) / b; 22sizeof 运算符 sizeof(int);float num;sizeof(num);24char1int4short int2long4float4double8sizeof 运算符返回的大小q使用

7、sizeof 运算符可以获得数据类型占用内存空间的大小。其一般形式为: sizeof(type_name)qsizeof 运算符的结果以字节为单位显示注意:在32位计算机中,int类型的变量占4字节的内存大小,和long类型的大小一样,所以现在基本上可以直接使用int类型,而不需要使用long类型。 23变量变量 表达式表达式; ;赋值运算符Height = 177.5;Weight = 78;Gender = m;x = a+b;24复合赋值运算符运算符运算符表达式表达式计算计算结果(假设结果(假设 X=10X=10)+=X += 5X = X + 515-=X -= 5X = X - 55

8、*=X *= 5X = X * 550/=X /= 5X = X / 52%=X %= 5X = X % 5025示例#include void main () float book_price = 60.75; printf(n 书的价格 = %f,book_price); book_price += 12.50; printf(n 书的新价格 =%fn,book_price);book_price=book_price+12.50;输出:书的价格 = 60.750000书的新价格 = 73.25000026关系运算符操作数操作数关系运算符关系运算符关系表达式的关系表达式的计算结果计算结果

9、= = 逻辑值(真或假)逻辑值(真或假)在在C C语言中,语言中,“0”0”表示表示“假假”,“非非0”0”表表示示“真真”操作数操作数q关系运算符用于测试两个操作数或两个表达式之间的关系,其中操作数可以是变量、常量或表达式。27关系运算符关系运算符关系运算符操作数操作数1 1操作数操作数2 228关系运算符num1=10; num2=5;num3=20;num4=10;(num1 + num2) (num3 num4)num=40;num/10 != 2gender = m真假=如果 gender = f如果 gender = m29逻辑运算符 运算运算运算符运算符表达式表达式逻辑“与”&a

10、mp;operand1 & operand2逻辑“或”|operand1 | operand2逻辑“非”!operand1 q逻辑运算符用于连接一个或多个条件,判断这些条件是否成立q逻辑运算符的类型为:30 逻辑“与”运算符 &所有学科及格考勤率达到 75%留级留级留级升级YesNoNoNoNoYesYesYes31逻辑“与”运算符 &表达式表达式 1 1表达式表达式 2 2结果结果000010100111所有学科及格考勤率达到 75%留级留级NoNo升级YesYes留级NoYes留级留级NoYes32逻辑“或”运算符 |无法支付可支付可支付可支付YesNoNoNoNo

11、YesYesYes购物帐单信用卡33现金信用卡逻辑“或”运算符 |表达式 1表达式 2结果000011101111无法支付NoNo可支付NoYes可支付NoYes可支付YesYes34逻辑“非”运算符 !表达式结果100135逻辑运算符总结所有学科所有学科及格及格考勤率达到考勤率达到 75%&天气天气 NOT 阴天阴天只有当两个两个条件都为真真时才执行操作只要任何任何一个条件为真真时就执行操作对原条件取反取反,即:如果原条件为假时就执行操作|!36练习:写出下列表达式q判断一个字符是否为小写字母q判断一个整数是奇数还是偶数q接受用户输入的三种商品的价格。如果购买的三种商品中至少有一种商

12、品的价格大于 50 或者三种商品的总额大于 100,则折扣率为15,否则折扣率为,计算并显示用户应付的钱数。q一个整数能否被5整除37条件运算符唯一的三目运算符 ?:表达式1 ? 表达式2 : 表达式3NYab?a:b38条件运算符#include void main()int a,b,max;printf(请输入两个整数);scanf(%d%d,&a,&b);printf(max=%dn,ab?a:b);39运算符优先级 2-1 q 当我们遇到一个复杂表达式时,需要确定先执行哪种运算,此时就需要考虑运算符的优先级 z = x + y g * h * (t/20)+ 65 r

13、% 2先算哪部分加?减?取余?除?括号?要解决此问题,需要使用:运算符优先级40运算符优先级运算符运算符描述描述结合性结合性()圆括号自左向右!, +, -, sizeof逻辑非,递增, 递减,求数据类型的大小自右向左*, /, %乘法,除法,取余自左向右+, -加法,减法自左向右, , =小于,小于等于,大于,大于等于自左向右= =, !=等于,不等于自左向右&逻辑与自左向右|逻辑或自左向右=,+=, *=, /=, %= ,-=赋值运算符,复合赋值运算符自右向左41问题描述: 判定给定的年份是否为闰年。提示:闰年的判定规则为:能被 4 整除但不能被 100 整除的年份,或能被 40

14、0 整除的年份。 #include void main() int year; printf(n 请输入年份:); scanf(%d,&year); if(year % 4 =0 & year % 100 != 0) | (year % 400 = 0) printf(n %d 年是闰年 n , year); else printf(n %d 年不是闰年 n , year);综合示例1请输入年份:20052005 年不是闰年42问题描述:输入一个5位数,判断它是不是回文数。例如:12321是回文数,个位与万位相同,十位与千位相同。 #include void main()lon

15、g ge,shi,qian,wan,x;printf(n 请输入一个五位整数:);scanf(%ld,&x);wan=x/10000; /分解出万位数qian=x%10000/1000; /分解出千位数shi=x%100/10; /分解出十位数ge=x%10; /分解出个位数if (ge=wan & shi=qian) /*个位等于万位并且十位等于千位*/printf(n 这个数是回文数n);elseprintf(n 这个数不是回文数n);综合示例2输出:请输入一个五位整数:45654这个数是回文数43项目三 超市购物结账程序【项目任务【项目任务】 超市购物结账程序,购买饮料,打印购买商品清单。44任务分析q任务1:项目算法设计q任务2:画流程图q任务3:程序的数据结构q任务4:输入输出45项目算法设计q确定会员身份q录入购买商品的数量、汇总q收取用户整币q找零币q打印

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论