版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2.2C语言分支结构能力目标:
理解、区分并掌握C语言的逻辑运算符与位运算符,理解并掌握C语言的比较运算符,能利用if语句与switch语句实现分支结构程序。任务要求:
任务A:输入年份,判断该年份是否为闰年。
任务B:某商场举办优惠购物活动,购物满5000元打8折,购物满2000元,不满5000元打8.5折,购物满1000元,不满2000元打9折,其余不打折,输入购物金额数,自动计算折后价。2.2.1C语言的运算符(二)(1)逻辑运算符在逻辑关系中,用整型或字符型数字“0”代表“假”,用非零值代表“真”,但逻辑表达式的计算结果只有“0”或者“1”。演示程序://逻辑与运算printf("And:%d,%d,%d,%d\n",0&&0,0&&1,2&&0,3&&4);//逻辑或运算printf("Or:%d,%d,%d,%d\n",0||0,0||1,2||0,3||4);//逻辑非运算printf("Not:%d,%d\n",!0,!1);运算符功能表达式&&逻辑与a&&b||逻辑或a||b!逻辑非!a
运行结果:(2)位运算符运算符功能举例运算符功能举例&按位与a&b^按位异或a^b|按位或a|b<<左移a<<n~按位取反~a>>右移a>>n首先演示按位与、按位或、按位取反、按位异或运算符的使用:运行结果:下面是四个表达式的手工验算过程:01000010B=42H,11111011B=FBH,10000101B=85H,10111001B=B9Hunsignedchara=0x7A,b=0xC3;printf("%x,%x,%x,%x\n",a&b,a|b,(unsignedchar)(~a),a^b);接着演示左移运算符:运行结果:
下面是手工验算过程:55H=01010101Bunsignedchardat=0x55;dat=dat<<1;printf("左移一位:%x\n",dat);dat=dat<<3;printf("继续左移三位:%x\n",dat);C语言的左移运算表达式在移动数据位的过程中左侧移出位丢弃,右侧补010101010B=AAH,01010000B=50H
右移运算与左移运算类似,不做演示。
(3)关系运算符关系运算符用来表达数值的大小,关系成立则运算结果为“真”(1),否则为“假”(0)。演示程序:运行结果:chara,b;a=(3>=2),b=(3==2);printf("%d,%d\n",a,b);运算符符号实例读作大于>小于等于<=大于等于>=等于==小于<不等于!=
(4)运算优先级
*C语言中的运算优先级一共分为16级,数字越小,优先级就越高。优先级运算符结合方向优先级运算符结合方向1后缀运算符:[]().->++(后置)--(后置)从左往右2一元运算符:++(前置)--(前置)!~+-*(指针)&从右往左3类型转换运算符:()从右往左4乘除法运算符:*/%从左往右5加减法运算符:+-从左往右6移位运算符:<<>>从左往右7关系运算符:>>=<<=从左往右8关系运算符:==!=从左往右9位运算符:&从左往右10位运算符:^从左往右11位运算符:|从左往右12逻辑运算符:&&从左往右13逻辑运算符:||从左往右14条件三目运算符:?:从右往左15赋值运算符:=+=-=*=/=%=&=^=|=<<=>>=从右往左16逗号运算符:,从左往右2.2.2分支语句(1)if语句if分支语句的通用格式为:if语句的流程图:
if(条件表达式1)分支语句1;elseif(条件表达式2)分支语句2;elseif(条件表达式3)分支语句3;……elseif(条件表达式n)分支语句n;else分支语句n+1;例如,随机输入数字0~9,输出与其对应的英文翻译:charnum;printf("输入数字0~9:");scanf("%d",&num);If(num==0)printf("Zero\n");elseif(num==1)printf("One\n");elseif(num==2)printf("Two\n");elseif(num==3)printf("Three\n");elseif(num==4)printf("Four\n");elseif(num==5)printf("Five\n");elseif(num==6)printf("Six\n");elseif(num==7)printf("Seven\n");elseif(num==8)printf("Eight\n");elseif(num==9)printf("Nine\n");elseprintf("输入数字超限!\n");
运行结果:C语言有一条“条件三目运算符(?:)”可以替代“if...else...”结构语句,比如判断随机输入整数是否为正数:可以用条件三目运算符替代:intnum;printf("请输入一个整数:");scanf("%d",&num);if(num>0)printf("输入的数字是正数:-)\n");elseprintf("输入的数字不是正数:-(\n");intnum;printf("请输入一个整数:");scanf("%d",&num);num>0?printf("输入的数字是正数:-)\n"):printf("输入的数字不是正数:-(\n");(2)switch开关语句switch开关语句的通用格式为:switch语句的流程图:switch(表达式){case常量表达式1:语句1;break;case常量表达式2:语句2;break;……case常量表达式n:语句n;break;default:语句n+1;}例如,随机输入数字0~9,输出与其对应的英文翻译:charnum;printf("输入数字0~9:");scanf("%d",&num);switch(num){case0:printf("Zero\n");break;case1:printf("One\n");break;case2:printf("Two\n");break;case3:printf("Three\n");break;case4:printf("Four\n");break;case5:printf("Five\n");break;case6:printf("Six\n");break;case7:printf("Seven\n");break;case8:printf("Eight\n");break;case9:printf("Nine\n");break;default:printf("输入数字超限!\n");}
运行结果:任务要求:
任务A:输入年份,判断该年份是否为闰年。
任务B:某商场举办优惠购物活动,购物满5000元打8折,购物满2000元,不满5000元打8.5折,购物满1000元,不满2000元打9折,其余不打折,输入购物金额数,自动计算折后价。2.2.3
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 殡仪服务员技能认知知识考核试卷含答案
- 《客户销售技巧》课件
- 中药材生产技术员岗前基础操作考核试卷含答案
- 化纤组件清理工操作管理评优考核试卷含答案
- 2026年人体生理学学习指南与习题
- 2026葡萄牙葡萄产业可持续发展模式与市场开拓
- 《婴儿湿疹的治疗》课件
- 保险代理人业务拓展与维护备考习题
- 《因数中间或末尾有0的乘法》课件
- 工业管道布置、设计、安装技术要求及规范标准
- 2026年浙江省选调生笔试《综合能力测试》真题及答案解析
- 2026-2030中国制冷和空调压缩机行业市场发展趋势与前景展望战略分析研究报告
- 2026江西遂川抽水蓄能有限公司第一批次招聘5人笔试历年参考题库附带答案详解
- 第5课 从小爱劳动 第1课时 课件+视频 2025-2026学年道德与法治三年级下册统编版
- GB/T 10801.2-2025绝热用挤塑聚苯乙烯泡沫塑料(XPS)
- 七年级英语第一次月考卷(全解全析)(仁爱版2024)
- 2025年大学天文学(天体物理基础)试题及答案
- 2026年天津大学管理岗位集中招聘15人备考题库及参考答案详解1套
- DB21∕T 1564.1-2007 岩土工程勘察技术规程 标准贯入试验规程
- DB23T 3439-2023 梭鲈人工繁殖技术规程
- 眼科查体流程
评论
0/150
提交评论