《计算机C++入门培训讲义》由会员分享,可在线阅读,更多相关《计算机C++入门培训讲义(16页珍藏版)》请在金锄头文库上搜索。
1、武平一中信息学奥林匹克竞赛校本课程C+编程第一课时:认识C+程序和DEV-C+集成开发环境一学习目标:1认识C+程序结构;2掌握编程基本步骤;3记住“保存”、“编译”和“运行”的快捷键(ctrl+s、F9、F10)二学习内容与步骤:1双击桌面图标,启动DEV-C+集成开发环境,单击“文件”菜单下的“新建源代码”命令,在程序编辑区输入下面程序:#include#includeusing namespace std;int main()couthello;system(pause);return 0;2输入完毕,单击“文件”菜单下的保存命令。在弹出的“保存文件”对话框中保存位置选择“桌面”,文件名
2、为“ex1”,文件类型为c+不必修改,单击保存。3单击“运行”菜单下的“编译”命令,窗口出现红色条时说明程序有错误,请对照修改,直到正确为止。4单击“运行”菜单下的“运行”命令;弹出新窗口,观察新窗口中内容,按一下键盘任意键(通常按空格键),返回编辑界面。5单击“文件”菜单“退出”命令,结束。6观察桌面的ex1.cpp和 ex1.exe两个文件,双击“ex1.exe”试试,ex1.cpp称为源程序,ex1.exe称为可执行程序,虽然这个程序简单了一点,但是电脑中的程序就是这样设计出来的。7参考以上步骤,输入下面这个程序:#include using namespace std;int main
3、()int a,b,c;cinab;c=a+b;coutc;return 0;程序运行之后,需要输入2个整数,输完第一个数按一下空格键,输完第二个数按一下Enter(回车键)。观察程序运行结果,说说这个程序的作用是什么?三参考书:全国青少年信息学奥林匹克竞赛教程 信息学奥赛一本通(C+版) 第二版,(董永建 舒春平等主编,科学技术文献出版社出版),同学们可以到图书馆借阅。第二课时:C+编程体验一学习目标:1巩固C+程序结构,记住“保存”、“编译”和“运行”的快捷键(ctrl+s、F9、F10);2了解C+数据类型(int和float);3掌握整除和求余运算(整除/ 求余%);4学习编写顺序结构
4、的C+程序。二学习内容:1计算票价已知每张门票价格为50元,输入游客人数,计算并输出票价。#includeusing namespace std;int main ()int n,k;cinn;k=n*50;coutkendl;return 0;2计算梯形面积输入梯形上底、下底和高,计算并输出梯形面积。#include using namespace std;int main ()float a,b,h,s;cinabh;s=(a+b)*h/2;coutsendl;return 0;3输入一个三位数,反序输出,比如输入:789,输出:987。#include using namespace s
5、td;int main()int a,b,c,n;cinn;a=n % 10;b=(n /10)%10;c=n/100;coutabcendl;return 0;第三课时:C+选择语句一学习目标:1学习if单分支和双分支结构语句;2学习switch语句,;3学习复合语句;二学习内容:1票价打折已知每张门票价格50元,5人以上的团体票为45元,输入游客人数,计算并输出票价。#includeusing namespace std;int main()int n,k;cinn;if (n4)k=n*45;elsek=n*50; coutk;思考:如果题目改为:5人以上打9.5折,程序是否需要修改?2
6、计算2017年各月天数输入2017年的月份,计算并输出该月的天数。#includeusing namespace std;int main()int month,day;cinmonth;switch(month)case 4:day=30;break;case 6:day=30;break;case 9:day=30;break;case 11:day=30;break;case 2:day=28;break;default:day=31;break;coutdayendl;return 0;思考:本题也可以用if语句实现,请试试。第四课时:C+循环语句(1)一上节课思考题:1票价打折已知每
7、张门票价格50元,5人以上打9.5折,输入游客人数,计算并输出票价。#includeusing namespace std;int main()int n;float k;cinn;if (n4)k=n*50*0.95;elsek=n*50; coutk; return 0;提示:因为9.5折是实数,所以金额的变量类型应修改为float。2计算2017年各月天数输入2017年的月份,计算并输出该月的天数(if语句实现)。#includeusing namespace std;int main()int month,day;cinmonth;day=31; /先把天数统一设置为31天 if (m
8、onth=2) /如果是2月份,把day变量修改为28天 day=28;if (month=4)|(month=6)|(month=9)|(month=11) /如果是4月或6或9或11月,day=30; /把day变量修改为30天 coutdayendl;return 0;提示:|是逻辑运算符,“或”的意思。二、循环语句1导游购票1已知每张门票价格50元,5人以上打9.5折。售票处有10个导游在排队,因为每个旅游团人数一般都不相同,所以每个导游希望购买的门票张数也不一定相同。现在要求你编写一个程序,输入10个导游需要的门票张数,计算并输出各自的总价。解题重点:本题和原题的最主要区别是“10个
9、导游在买票”,本质上就是把原来的那个程序运行10遍。相同的事情重复多遍,这在计算机领域叫“循环”。本题明确规定10遍,属于“已知次数的循环”。要用for语句。参考程序:#includeusing namespace std;int main()int n;float k;for (int i=1;in;if (n4)k=n*50*0.95;elsek=n*50; coutkendl; return 0;2导游购票2已知每张门票价格50元,5人以上打9.5折。售票处有多个导游在排队,因为每个旅游团人数一般都不相同,所以每个导游希望购买的门票张数也不一定相同。现在要求你编写一个程序,输入每一个导游
10、需要的门票张数,计算并输出各自的总价。当输入的门票张数为0时,程序结束。已知导游人数不超过100,每个导游购买的门票不超过1000张。解题重点:本题和上一题的最主要区别是“导游人数不确定”,也就是重复执行的次数不确定了。这属于“未知次数的循环”。要用while语句。参考程序:#includeusing namespace std;int main()int n;float k;cinn;while (n!=0) /当输入的门票张数不等于0的时候,就计算。 if (n4)k=n*50*0.95; elsek=n*50;coutkn; return 0;思考:今天的两道“循环”练习题,都是输入一张
11、数,输出一个票价。再输入一个张数,又输出一个票价。如果题目要求“连续输入全部导游需要的门票张数,再连续输出相应的总票价”该如何实现?第五课时:C+循环语句(2)学习要点:1复习自增自减运算符,i+与+i的区别;2For 循环、循环嵌套;练习题:1.计算1+2+3+100的和;参考程序:#includeusing namespace std;int main()int s=0;for (int i=1;i=100;+i) s=s+i;coutsendl;return 0;2.计算1*2*3*20的积;参考程序:#includeusing namespace std;int main()int l
12、ong long s=1;for (int i=1;i=20;+i) s=s*i;coutsendl;return 0;3.计算1!+2!+3!+20!的和;参考程序:#includeusing namespace std;int main()int long long s=0;for (int i=1;i=20;+i) int m=1; for (int j=1;j=i;+j) m=m*j; s=s+m;coutsendl;return 0;思考题:1 对n!和的改进;2 输出水仙花数;第6课时 数组一学习目标:1掌握“数组”这一数据类型的使用场合;2掌握“数组”的定义、应用;3学习排序算法。二学习内容:1输入一个正整数n(不超过100),再输入n个整数,按相反的顺序将n个整数输出。分析与探索:输入n个整数,需要等到全部输入完毕,才可以从最后一个开始逆序输出,所以这n个整数需要事先保存起来,这n个数的类型相同,彼此之间有一定的关系,所以用一种新的数据类型数组来定义:Int a101就定义了一个有100个元素的整型数组。参考程序:#includeusing namespace std;int a101,n;int main()