奥赛学本第一单元.docx
- 文档编号:11932662
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:34
- 大小:656.53KB
奥赛学本第一单元.docx
《奥赛学本第一单元.docx》由会员分享,可在线阅读,更多相关《奥赛学本第一单元.docx(34页珍藏版)》请在冰豆网上搜索。
奥赛学本第一单元
第一单元
C语言入门问题选编
第一课:
HelloWorld
1.DevC++的安装与使用
软件简介:
Dev-C++是一个Windows环境下C/C++的集成开发环境(IDE),它是一款自由软件,遵守GPL许可协议分发源代码。
它集合了MinGW等众多自由软件,并且可以取得最新版本的各种工具支持,而这一切工作都是来自全球的狂热者所做的工作。
Dev-C++是NOI、NOIP等比赛的指定工具,缺点是Debug功能弱。
Dev-C++最新版本:
5.5.3。
Dev-C++使用MingW32/GCC编译器,遵循C++11标准,同时兼容C++98标准。
开发环境包括多页面窗口、工程编辑器以及调试器等,在工程编辑器中集合了编辑器、编译器、连接程序和执行程序,提供高亮度语法显示的,以减少编辑错误,还有完善的调试功能,适合初学者与编程高手的不同需求,是学习C或C++的首选开发工具!
多国语言版中包含简繁体中文语言界面及技巧提示,还有英语、俄语、法语、德语、意大利语等二十多个国家和地区语言提供选择。
该软件采用Delphi开发。
Noip比赛使用环境是4.9.9.2。
下载该版本软件安装即可
2.第一个程序helloworld
启动devcpp后,新建源代码文件,将以下代码键入编辑界面
样例代码1.1.1:
基本模板
#include
usingnamespacestd;
intmain()
{
cout<<"helloworld";
return0;
}
在合适的位置保存源代码后(以d:
\1.cpp为例),点击下图中按钮:
如果编译成功则会出现下图提示:
此时1.cpp源文件会被编译成1.exe可执行文件,在命令行中执行该应用程序会出现如图结果:
学习建议:
1、正确安装DEVC
2、代码严格保证与本教材一致,全部使用英语输入
3、尝试修改代码,观察不同效果。
第二课:
入门第一题与代码评测
例题:
A+B问题
这是一个经典的入门问题,通过此问题,你可以学会如何使用oj评测系统。
【问题描述】
现在有两个实数,分别是A和B。
请你从命令行中读取A和B,计算它们的和A+B,并把它输出到文件中。
(保留到整数)
【输入格式】
第一行:
一个实数A
第二行:
一个实数B
【输出格式】
第一行:
一个整数C=A+B
【输入样例】
1
2
【输出样例】
3
思路分析:
这道题目的设计目的是希望选手理解c++语言如何读入数据域输出数据
例题代码1.2.1:
#include
usingnamespacestd;
intmain()
{
inta,b,c;//声明三个变量
cin>>a>>b;//读入两个数字分别赋值给变量a和b
c=a+b;//将a+b的结果赋值给c
cout< return0;//程序结束 } Oj链接: https: //www.vijos.org/p/1000 在评测系统上提交你的代码: 1)打开一个在线评判系统以smartoj为例,注册账号后,以注册的账号登录 2)进入题库 3)选择要解决的问题 4)点击提交评测,将自己的代码复制到文本框内,注意选择相应的语言,本章采用C++语言,点击评测 5)系统将会显示评测结果,评测结果将会被永久记录,可以在记录板块中查看 6)提示AC为通过该测试点WA为答案错误TLE为程序运行超时RTE为运行时错误CE为编译错误 7)使用oj的原则,用户需要在提交代码之前仔细思考自己的代码,实力的体现在于用户第一次提交的代码的成绩。 第三课: 数字类型变量与运算符 1)赋值与四则运算 i.学习建议: 结合参考c语言书籍,熟悉c++语言的基本运算符,将本学案中的代码操练一遍,会起到更好的效果。 ii.四则运算的样例 下面的几份代码清单简要的说明了c++语言的基本四则混合运算的性质: 样例代码1.3.1: 加减乘除与取模运算 #include #include usingnamespacestd; intmain() { inta,b,c;//声明三个变量 cin>>a>>b;//读入两个数字分别赋值给变量a和b c=a+b;//将a+b的结果赋值给c cout< c=a-b;//将a-b的结果赋值给c cout< c=a*b;//将a*b的结果赋值给c cout< doubled;//考虑小数情况声明一个浮点型变量d d=a*1.0/b;//要注意为什么要乘以1.0 cout< c=a%b;//求a除b的余数 cout< return0;//程序结束 } 代码重点分析: C++语言中除法的运算有些特别,运算时如果除号两边都是整型数字,则除号是会进行整除操作的,所以为了得到正确的结果,要乘以1.0进行精度提升操作。 endl可以当做是换行符的意思,其实远不止这点,但现在可以暂且这样想。 样例代码1.3.2: 除法的运算规则验证 #include #include usingnamespacestd; intmain() { intn1,n2,n3,n4; doubled1,d2,d3,d4; n1=5/2;/*n1<-2*/ n2=5.0/2.0;/*n2<-2.5(赋值时舍弃小数点以后的部分)*/ n3=5.0/2;/*n3<-2.5(赋值时舍弃小数点以后的部分)*/ n4=5/2.0;/*n4<-2.5(赋值时舍弃小数点以后的部分)*/ d1=5/2;/*d1<-2*/ d2=5.0/2.0;/*d2<-2.5*/ d3=5.0/2;/*d3<-2.5*/ d4=5/2.0;/*d4<-2.5*/ cout<<"n1="< cout<<"n2="< cout<<"n3="< cout<<"n4="< cout<<"d1="< cout<<"d2="< cout<<"d3="< cout<<"d4="< return0; } 运行结果: n1=2 n2=2 n3=2 n4=2 d1=2.000000 d2=2.500000 d3=2.500000 d4=2.500000 i.针对训练 例题1.3.1: 平均数问题 【问题描述】 现在有两个实数,分别是A和B。 请你从命令行中读取A和B,计算它们的和A+B,并把它输出到文件中。 (保留到整数) 【输入格式】 第一行: 三个实数A,B,C 【输出格式】 第一行: 一个实数D=(A+B+C)/3 【输入样例】 123 【输出样例】 2 框架支撑与思路分析: 输入数据要正确,求平均数的数据类型要正确,请补全代码。 例题代码1.3.1: #include #include usingnamespacestd; intmain() { inta,b,c;//声明三个变量 //输入三个数字 //将结果赋值给d cout< return0;//程序结束 } 第四课: 利用if语句结构解决问题 1)If语句的模板 样例代码1.4.1: 基本if语句 #include #include usingnamespacestd; intmain() { if(条件) { //代码块 } else { //代码块 } return0; } 样例代码1.4.2: 多条件if语句块,elseif可多个 #include #include usingnamespacestd; intmain() { if(条件) { //代码块 } elseif(条件) { //代码块 } else { //代码块 } return0; } 样例代码1.4.3: 单一if语句,else可不加 #include #include usingnamespacestd; intmain() { if(条件) { //代码块 } return0; } 2)例题: 奇数判定 例题1.4.1: 奇数判定 这是一个经典的入门问题,通过此问题,你可以学会如何使用if分支结构 【问题描述】 现在有一个整数A,请告诉我这个数字是奇数还是偶数,奇数输出“Yes”偶数输出“No” 数据范围 0 【输入格式】 第一行: 一个整数A 【输出格式】 Yes或者No 【输入样例】 1 【输出样例】 Yes 例题代码1.4.1: #include #include usingnamespacestd; intmain() { inta; cin>>a; if(a%2==0) {
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 奥赛学本 第一单元 奥赛学 第一 单元
![提示](https://static.bdocx.com/images/bang_tan.gif)