信息学奥赛课课通(C++)第3单元-电子课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《信息学奥赛课课通(C++)第3单元-电子课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息学 奥赛课课通 单元 电子 课件
- 资源描述:
-
1、 高等教育出版社高等教育出版社 第第 3 单元单元 分支结构程序设计分支结构程序设计作者:林厚从作者:林厚从信息学奥赛课课通(信息学奥赛课课通(C+C+)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第1课课 关系运算符关系运算符学习目标学习目标1.熟练掌握熟练掌握 C+中的关系运算符。中的关系运算符。2.熟知关系运算符和数学运算符的优先级。熟知关系运算符和数学运算符的优先级。3.学会正确书写关系表达式。学会正确书写关系表达式。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)1.关系运算符关系运算符C+提供了六种关系运算符:提供了六种关系运算符:
2、(大于)、(大于)、=(大于或等于)、(大于或等于)、y+z x+y y+z (2 2)x z x =y x=x=y (4 4)(x yx (y=zy=z)高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。/p3-1-2#includeusing namespace std;int main()int n1=4,n2=5,n3;n3=(n1 n2);cout n3 “,”;n3=(n1 n2);cout n3 “,”;n3=(n1=4);cout n3 “,”;n3=(n1=5);cout n3 endl
3、;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例3、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。/p3-1-3#includeusing namespace std;int main()char x,y;x=m ;y=n ;int n;n=x y;cout n endl;n=x=y-1;cout n 3)+(y-x=1);cout n endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 2 2
4、课课 逻辑运算符逻辑运算符学习目标学习目标1.熟练掌握熟练掌握 C+中的逻辑运算符。中的逻辑运算符。2.熟知逻辑运算符的优先级。熟知逻辑运算符的优先级。3.学会正确书写逻辑表达式。学会正确书写逻辑表达式。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)逻辑运算符逻辑运算符C+提供了提供了&(逻辑与)、(逻辑与)、|(逻辑或)和!(逻辑(逻辑或)和!(逻辑非)三种逻辑运算符。其中,非)三种逻辑运算符。其中,&和和|是双目运算符,而!是双目运算符,而!是单目运算符。是单目运算符。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)逻辑运算符逻辑运算符高等教育
5、出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)1、逻辑运算符的优先级问题、逻辑运算符的优先级问题高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)(1)一个一个 0100 之间(不包括之间(不包括 0 和和 100)的数)的数 a。(2)x 大于大于 y 且且 x 大于大于 z。(3)x 是英文字母。是英文字母。例例1 1、写出下列语义的、写出下列语义的 C+C+表达式。表达式。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)整型数据在参与逻辑运算时,根据其值是整型数据在参与逻辑运算时,根据其值是 0 或非或非 0,分,分别当作逻辑值别
6、当作逻辑值“假假”或或“真真”进行处理。进行处理。例例2、假设变量定义为、假设变量定义为“int a=0,b=0,c=1,d=1;”,请写出表达式请写出表达式 a&b|c&d的结果。的结果。2、整型数据也可以参与逻辑运算、整型数据也可以参与逻辑运算高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p3-2-3#includeusing namespace std;int main()int a,b,c,d;a=2;b=3;c=0;d=(a+b|c);cout d endl;return 0;例例3、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。高等教育出版
7、社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例 4、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。/p3-2-4#includeusing namespace std;int main()int a,b,c,d;a=2;b=3;c=0;d=(a b)&(c=4);cout d ”c endl;return 0;3、逻辑表达式是、逻辑表达式是“短路计算短路计算”在逻辑表达式的计算过程中,一旦能够确定整个表达式在逻辑表达式的计算过程中,一旦能够确定整个表达式的值,就会立刻停止计算。的值,就会立刻停止计算。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通
8、(C+)【问题分析问题分析】判断判断“闰年闰年”的口诀是:四年一闰,百年不闰,四百的口诀是:四年一闰,百年不闰,四百年又闰。年又闰。2016 年是闰年,因为年是闰年,因为 2016 能被能被 4整除;整除;2100 年不年不是闰年,因为它能被是闰年,因为它能被 100 整除;但整除;但 2000 年是闰年,因为它年是闰年,因为它能被能被 400 整除。整除。所以,判断某一年份是否是闰年有两种情况:一种是能所以,判断某一年份是否是闰年有两种情况:一种是能被被 400 整除;另一种是能被整除;另一种是能被 4 整除但不能被整除但不能被 100 整除。所整除。所以,可以表示成:以,可以表示成:(x%
9、400=0)|(x%4=0)&(x%100!=0)例例5、写出判断某一年份、写出判断某一年份 x 是否是是否是“闰年闰年”的表达的表达式。式。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 3 课课 if 语句语句学习目标学习目标1.掌握掌握 if 语句的两种格式。语句的两种格式。2.理解分支结构和复合语句。理解分支结构和复合语句。3.熟练应用熟练应用 if 语句解决一些实际问题。语句解决一些实际问题。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)1.if
10、语句语句if 语句有两种格式:语句有两种格式:第一种格式为:第一种格式为:if(表达式表达式)语句语句1;else语句语句2;第二种格式为:第二种格式为:if(表达式表达式)语句语句;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、旅游费用。、旅游费用。【问题描述问题描述】风华公司风华公司“南京一日游南京一日游”的收费标准为:的收费标准为:5 人以内(含人以内(含 5 人)人)按散客标准,每人按散客标准,每人 300 元;超过元;超过 5 人,按团体标准,每人人,按团体标准,每人 280 元。请根据输入的人数,输出其旅游费用。元。请根据输入的人数,输出其旅游费用。
11、【输入格式输入格式】一行一个正整数一行一个正整数 n,表示人数,表示人数,1n5000000。【输出格式输出格式】一行一个正整数,表示需要的总旅游费用。一行一个正整数,表示需要的总旅游费用。【输入样例输入样例】9【输出样例输出样例】2520高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)【问题分析问题分析】这是一个这是一个“选择性选择性”问题,根据人数问题,根据人数 n 来选择不同的收来选择不同的收费标准。条件就是费标准。条件就是 n5,如果成立,那么收费为,如果成立,那么收费为 n300;否;否则,收费为则,收费为 n280。/p3-3-1a#includeusing
12、namespace std;int main()int n;cin n;if(n=5)cout n*300 endl;else cout n*280 endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)或换成另一种形式:或换成另一种形式:/p3-3-1b#includeusing namespace std;int main()int n,ans;cin n;ans=n*300;if(n 5)ans=n*280;cout ans endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例2、三个数的大小比
13、较。、三个数的大小比较。【问题描述问题描述】输入三个整数输入三个整数 x、y 和和 z,判断是否满足,判断是否满足 x y z。若满足,则输出。若满足,则输出“YES”;否则,输出;否则,输出“NO”。【输入格式输入格式】一行三个整数一行三个整数 x、y 和和 z,int 范围以内。范围以内。【输出格式输出格式】一行一个单词,表示答案。一行一个单词,表示答案。【输入样例输入样例 1】3 6 7【输出样例输出样例 1】YES【输入样例输入样例 2】3 7 6【输出样例输出样例 2】NO高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)【问题分析问题分析】如果逻辑表达式如果逻辑
14、表达式“x=y&y=z”为真,则输出为真,则输出“YES”;否则,输出;否则,输出“NO”。/p3-3-2#includeusing namespace std;int main()int x,y,z;cin x y z;if(x=y&y=z)cout ”YES”endl;else cout ”NO”b”成立时,需要依成立时,需要依次执行完这次执行完这 3 条语句,这时就需要用花条语句,这时就需要用花括号括号“”将这将这 3 条语句括起来,这条语句括起来,这些括起来的语句组合称为些括起来的语句组合称为“复合语句复合语句”,流程图如右图。流程图如右图。高等教育出版社高等教育出版社信息学奥赛课课通
15、(信息学奥赛课课通(C+)/p3-3-3#includeusing namespace std;int main()int a,b,c;cin a b;if(a b)c=a;a=b;b=c;cout a ”b endl;return 0;高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 4 课课 if 语句的嵌套语句的嵌套学习目标学习目标1.理解理解 if 语句嵌套的含义。语句嵌套的含义。2.熟练应用熟练应用 if 语句及其嵌套解决一些实际问题。语句及其嵌套解决一些实际问题。高等教育
16、出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)if 语句的嵌套语句的嵌套 在分支结构中经常会遇到这样的情况:如果条件在分支结构中经常会遇到这样的情况:如果条件1 1成成立,就去做立,就去做A A事情,否则去做事情,否则去做B B事情,但是,在做事情,但是,在做A A事情(事情(或者或者B B事情)时,还要根据条件事情)时,还要根据条件2 2是否成立,决定是做是否成立,决定是做A1A1(或者或者B1B1)这件子事情,还是去做)这件子事情,还是去做A2A2(或者(或者B2B2)这件子事情)这件子事情。在程序设计中,把这种情况称为分支结构的。在程序设计中,把这种情况称为分支结构的“嵌
17、套嵌套”,一般用来解决三种及以上的分支情况。一般用来解决三种及以上的分支情况。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)【问题描述问题描述】输入三个整数输入三个整数 x、y、z,判断其是否满足,判断其是否满足 xyz。若满足。若满足,输出,输出“YES”;否则,输出;否则,输出“NO”。【输入格式输入格式】一行三个整数一行三个整数 x、y、z,int 范围以内。范围以内。【输出格式输出格式】一行一个单词,表示答案。一行一个单词,表示答案。【输入样例输入样例】3 6 7【输出样例输出样例】YES例例1、三个数的大小比较。、三个数的大小比较。高等教育出版社高等教育出版社
18、信息学奥赛课课通(信息学奥赛课课通(C+)【问题分析问题分析】前面已经介绍过用逻辑表达式前面已经介绍过用逻辑表达式“x=y&y=z”来表示来表示YES”的条件,本题也可以用的条件,本题也可以用 if语句的嵌套来解决,如图:语句的嵌套来解决,如图:高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p3-4-1#includeusing namespace std;int main()int x,y,z;cin x y z;if(x=y)if(y=z)cout ”YES”endl;else cout ”NO”endl;else cout ”NO”endl;return 0;高
19、等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)(1)分支结构可以嵌套很多层;)分支结构可以嵌套很多层;(2)if 与与 else 的配对关系;的配对关系;(3)编程要形成良好的代码风格;)编程要形成良好的代码风格;使用使用 if 语句的嵌套需注意的问题语句的嵌套需注意的问题高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p3-4-2a#includeusing namespace std;int main()int x=4,y=3,z=2;if(x=y)if(y=z)cout YES endl;elsecout NO endl;return 0;例
20、例2、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)【问题分析问题分析】程序不会输出任何结果。因为其中的程序不会输出任何结果。因为其中的else子句从书写格式上子句从书写格式上看,与外层看,与外层“if(x=y)”语句配对,但其实是与内层的语句配对,但其实是与内层的“if(y=z)”配对。而外层的配对。而外层的“if(x=y)”是不成立的,又没有是不成立的,又没有else子句,所以直接执行后面的子句,所以直接执行后面的“returne 0;”语句。语句。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛
21、课课通(C+)例例3、判断闰年。、判断闰年。【问题描述问题描述】输入某一年份输入某一年份 x,判断该年份是否是闰年。是则输出,判断该年份是否是闰年。是则输出“YES”,否则输,否则输出出“NO”。【输入格式输入格式】一行一个正整数一行一个正整数 x,int 范围以内。范围以内。【输出格式输出格式】一行一个单词,表示判断结果。一行一个单词,表示判断结果。【输入样例输入样例】2000【输出样例输出样例】YES高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)【问题分析问题分析】前面已经介绍过判断闰年的条件表达式。对于闰年的判断,也可以采用前面已经介绍过判断闰年的条件表达式。对于
22、闰年的判断,也可以采用嵌套的方法来实现。嵌套的方法来实现。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)/p3-4-3#includeusing namespace std;int main()int x;cin x;if(x%400=0)cout “YES”endl;else if(x%4=0)if(x%100!=0)cout “YES”endl;else cout “NO”endl;else cout “NO”500,则则 flag=1;【参考代码参考代码】教材教材78页。页。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)实践巩固实践巩固高等
23、教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)第第 5 课课 条件表达式条件表达式学习目标学习目标学会书写和使用条件表达式解决一些实际问题。学会书写和使用条件表达式解决一些实际问题。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)条件表达式条件表达式C+语言表达能力强,表达式类型丰富。其中就有语言表达能力强,表达式类型丰富。其中就有一个一个“条件表达式条件表达式”,通过它也可以来实现有选择的取,通过它也可以来实现有选择的取值。值。条件表达式的格式为:条件表达式的格式为:?:其运算规则为:首先计算表达式其运算规则为:首先计算表达式 1 的值,若表达式的值
24、,若表达式 1 的值为真(非的值为真(非 0),则只计算表达式),则只计算表达式 2,并将其结果作为,并将其结果作为整个表达式的值;否则,只计算表达式整个表达式的值;否则,只计算表达式 3,并将其结果作,并将其结果作为整个表达式的值。为整个表达式的值。高等教育出版社高等教育出版社信息学奥赛课课通(信息学奥赛课课通(C+)例例1、阅读程序,写出程序的运行结果。、阅读程序,写出程序的运行结果。/p3-5-1#includeusing namespace std;int main()int x=5,y=10,z;z=x y?x:y;cout z 0?1:-1;cout z endl;cout (x%
展开阅读全文