信息学奥赛之选择结构_第1页
信息学奥赛之选择结构_第2页
信息学奥赛之选择结构_第3页
信息学奥赛之选择结构_第4页
信息学奥赛之选择结构_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

信息学奥林匹克竞赛教练员:邓富教练员:邓富选择结构程序设计本节要点关系运算符和关系表达式逻辑运算符和逻辑表达式选择结构程序设计单分支双分支复合语句一关系运算符与关系表达式1、关系运算符:注意:(1)==与=(a=5;赋值运算;a==5;判断是否相等)(2)<,>,<=,>=的优先级大于==,!=(3)算术运算符的优先级高于关系运算符的优先级;关系运算符的优先级高于赋值运算符的优先级;如:c>ab等效于c>aba>b==c等效于a>b==c不知道优先级的高低,万能的方法是多加括号!>(大于)<(小于)==(等于)>=(大于等于)<=小于等于!=(不等于)2、关系表达式:用关系运算符将表达式连接起来称为关系表达式。其值非真即假。在C语言中,用非0代表真,用0表示假。关系表达式的结果只有两个,真为1,假为0。一般格式为:表达式1关系运算符表达式2如:a<b、ab!=cd、‘a’>‘b’等都是合法的关系表达式。说明:1关系表达式的值:如果关系表达式成立,其值为1,表示“真”;否则是0,表示“假”。2关系运算符的两侧可以是变量也可以是表达式一关系运算符与关系表达式【例题】输出关系表达式的运算结果。#include<bits/stdch>usingnamesain{inta=10,b=20;cout<<a<b<<""<<a>=b<<""<<a!=b<<endl;cout<<a*b<=ab<<""<<a*b==ab<<""<<a*b>ab<<endl;cout<<'a'>'b'<<""<<'a'<'b'<<endl;return0;}运行结果为:10100101二逻辑运算符与逻辑表达式1.逻辑运算符:与&&;或||;非!;AB!AA&&BA||B10110001!AA&&BA||B001011100101长沙籍的男生长沙籍的或所有男生非长沙籍的长沙籍&&男生例如:两个条件:长沙籍男生长沙籍||男生!长沙籍注意:优先级!&&||!算术关系逻辑赋值逗号3不可写为1<<10应为:1<&&<102作为条件,所有非0值均为真;作为结果,只有0或1两种。【例题】判断某年是否为闰年1)能被400整除2)能被4整除,不能被100整除%400==0%4==0&&%100!=0%400==0||%4==0&&%100!=0判断一个数是否为偶数,应如何表示?a%2==0(除以2的余数为0就是偶数)1<=a<=10,如何表示?a>=1&&a<=10(多个关系运算符不能连在一起写)判断一个字符是否为小写字母,应如何表示?ch>=‘a’&&ch<=‘’或者ch>97&&ch<122‘a’的ASCII码为97,‘’的ASCII码为122三选择程序设计所谓选择结构,就是根据不同的条件,选择不同的处理块。(1)基本形式1:if(表达式)语句;其执行过程是:首先计算表达式的值,若不为0,表示条件判断为真,则执行语句;否则,不执行语句,如图所示。三选择程序设计例题1:求的绝对值#include<bits/stdch>usingnamesain{

return0;}int;cin>>;if<0=-;cout<<<<endl;(2)基本形式2if(表达式)语句1;else语句2;其执行过程是:首先计算表达式的值,若不为0,表示条件判断为真,则执行语句1,否则执行语句2。三选择程序设计#include<bits/stdch>usingnamesain{

return0;}int;cin>>;if<0cout<<-<<endl;elsecout<<<<endl;例题1:求的绝对值【问题描述】行李托运,10公斤以内运费25元,超过10公斤,超过部份每公斤加收15元。【文件输入】输入只有一个数,表示行李的重量(<=10000)。【文件输出】输出只有一行,包括1个数(保留两位小数)。【样例输入】9【样例输出】250例题2:行李托运#include<bits/stdch>usingnamesain{

return0;}doublep,s;cin>>p;ifp<=10s=25;elses=25p-10*15;cout<<fied<<setprecision2<<s<<endl;参考代码【问题描述】已知有三个不等的数均小于10000,将其中的最大数找出来。【文件输入】输入只有一行,包括3个整数。之间用一个空格分开。【文件输出】输出只有一行包括1个整数。【样例输入】158【样例输出】8例题3:求三个数的最大数方法一:#include<bits/stdch>usingnamesain{inta,b,c,ma;cin>>a>>b>>c;ifa<bma=b;elsema=a;ifma<cma=c;cout<<ma<<endl;return0;}方法二:#include<bits/stdch>usingnamesain{inta,b,c;cin>>a>>b>>c;ifa<ba=b;ifa>ccout<<a<<endl; elsecout<<c<<endl;return0;}参考代码在if语句中,跟在条件或else后的语句可能不止一个,这时要用到复合语句。复合语句是以{开始,以}结束的语句。在{与}之间可以包括若干个语句,每个语句之间以分号分开。复合语句的一般形式:{语句1;语句2;……语句n;}复合语句方法三:#include<bits/stdch>usingnamesain{inta,b,c,d;cin>>a>>b>>c;ifa<b{d=a;a=b;b=d;}ifa<c{d=a;a=c;c=d;}cout<<a<<endl;return0;}参考代码基本形式3——if语句的嵌套if表达式1语句1;elseif表达式2语句2;…elseif表达式n语句n;else语句n1;三选择程序设计#include<bits/stdch>usingnamesain{int,y;cin>>;if<0y=0;elseif<=5y=;elsey=*;cout<<”=”<<<<”y=”<<y<<endl;return0;}参考代码【问题描述】编程模拟剪刀、石头、布游戏:用S表示剪刀,用R表示石头,用P表示布。规则是:剪刀剪布,石头砸剪刀,布包石头。游戏者甲乙分别把自己的选择输入,计算机给出结果。【文件输入】输入甲乙两个人分别出的结果【文件输出】输出结果,若甲获得胜利输出"Win",平局输出"Equ",否则输出"Fall"【样例输入】SR【样例输出】Fall例题6:剪刀石头布游戏#include<bits/stdch>usingnamesain{chara,b;cin>>a>>b;ifa=='R'&&b=='S'||a=='S'&&b=='P'||a=='P'&&b=='R'cout<<"Win";ifa=='S'&&b=='R'||a=='P'&&b=='S'||a=='R'&&b=='P'cout<<"Fall";ifa==bcout<<"Equ";return0;}参考代码判断大写字母题目描述 判断一个字符是否是大写字母即大于等于A且小于等于。若该字符是大写字母,输出1,否则输出0。输入 一个字符输出 一行。若该字符是大写字母,输出1,否则输出0。样例输入 E样例输出 1DescripleOutput4练习:求分段函数的值习题:判断闰年题目描述 判断某年是否是闰年。如果公元a年是闰年输出Y,否则输出N。输入 输入只有一行,包含一个整数a输出 一行,如果公元a年是闰年输出Y,否则输出N。样例输入 2006样例输出 N提示判断闰年的条件:

1能被400整除的是闰年

2能被4整除但是不能被100整除的也是闰年

习题:计算邮资题目描述根据邮件的重量和用户是否选择加急计算邮费。计算规则:重量在1000克以内包括1000克,基本费8元。超过1000克的部分,每500克加收超重费4元,不足500克部分按500克计算;如果用户选择加急,多收5元。输入输入一行,包含整数和一个字符,以一个空格分开,分别表示重量(单位为克)和是否加急。如果字符是y,说明选择加急;如果字符是n,说明不加急。输出输出一行,包含一个整数,表示邮费。样例输入1200y样例输出17DescripleOutputGOOD练习2:判断成绩等级多分支语句—switch在一些实际问题中,分类情况特别多,用if语句嵌套实现起来,层数太多,容易出错。为此,C提供了一种多分支语句——switch。switch语句的一般格式为:switch表达式{case常量表达式1:语句组1;case常量表达式2:语句组2;…case常量表达式n:语句组n;}多分支语句—switch执行过程为:先计算表达式的值,然后从前往后依次与case子句中所列出的各个常量表达式的值进行比较,若表达式的值与常量中的值相等,就开始进入相应的case后

温馨提示

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

评论

0/150

提交评论