CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书

CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 下载 mobi epub pdf 电子书 2024


简体网页||繁体网页
中国计算机学会 著



点击这里下载
    


想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

发表于2024-12-23

类似图书 点击查看全场最低价

图书介绍

店铺: 科学出版社旗舰店
出版社: 科学出版社
ISBN:9787030500298
商品编码:10900023895
包装:平装
开本:16
出版时间:2016-10-08
页数:256
字数:315


相关图书





图书描述



本店POD版图书均在书名下有明显红字标注,POD图书属于按需定制,您下单购买后我们才开始印刷,故不可取消订单。 我们一般会在您下单后的7-10个工作日内完成发货,请谨慎下单!商品无质量问题不支持退货,定价和装帧可能会与原书不同,请以实物为准!详情请咨询客服 购买电子版图书请与客服直接联系,或者到科学出版社电子商务平台直接购买
CCF中学生计算机程序设计-基础篇
定价 36.00
出版社 科学出版社
版次 1
出版时间 2016年10月
开本 16
作者 中国计算机学会
装帧 平装
页数 256
字数 315
ISBN编码 9787030500298


内容介绍
本丛书是基于《CCF青少年计算机程序设计评级标准》开发的一个系列培训教材。该标准围绕计算机程序设计的知识要求和能力要求,共分十级,其中1-3级为基础级,4-5级为提高级,6-7级为高手级,8-10级为大师级。本丛书将评级内容进行归纳,计划1-3级出1本、4-5级出1本,6-7级出1本,8-10级出1本,共4本教材。

目录
目录
第1章 模块化编程—函数
1.1自定义函数的引入1
1.2函数的定义3
1.3函数调用与参数传递5
1.4变量的作用域9
1.5函数的应用11
1.6递归函数20
第2章 字符串处理—string类型
2.1string类型的引入33
2.2string类型的基本操作36
2.3string类型中字母与数字的关系41
2.4string类型的应用48
本章小结52
第3章 数据类型的组合—结构和联合
3.1结构体(struct)的引入61
3.2结构体(struct)的使用66
*3.3结构体(struct)的扩展72
*3.4联合(union)的定义和使用76
*3.5枚举(enum)的定义和使用79
本章小结81
第4章 功能强大的利器—指针
4.1指针概念、定义与内存分配85
4.2指针的引用与运算87
4.3指针与数组90
4.4指针与字符串95
*4.5函数指针和函数指针数组97
4.6指针的扩展100
本章小结104
第5章 数据外部存储—文件
5.1数据存储的分类109
5.2文件类型变量的定义及引用110
5.3文件的重定向116
本章小结118
第6章 数据结构及其运用
6.1什么是数据结构125
6.2线性表的储存结构及其应用126
6.3队列及其应用138
6.4栈及其运用145
6.5二分及其快速排序151
第7章 简单算法
7.1什么是算法169
7.2高精度数值处理171
7.3简单枚举算法178
7.4模拟算法184
7.5简单动态规划187
7.6用递归实现回溯算法199
第8章 数学在程序设计中的应用
8.1常用数学函数207
8.2质因数的分解209
8.3zui大公约数的欧几里德算法212
8.4加法原理与乘法原理216
8.5排列与组合219
8.6圆排列、可重集排列222
第9章 STL(标准模板库)简要说明
*9.1STL中的一些新概念227
9.2几个常见的容器介绍232
9.3几个常见的算法函数240
索引244

在线试读
第1章模块化编程—函数
我们处理任何问题都有诸多环节,比如煮饭,先要准备米,将米淘净后,然后根据米的吸水特性加水,弄好后放入电饭煲中,按下电饭煲的煮饭开关,等电饭煲灯熄灭,然后饭就做好了。现在煮饭看起来变得十分简单,其关键原因是煮饭的技术活都被电饭煲干了。电饭煲煮饭是如何控制火候和时间的,其实我们并不关心,我们所关心的是用电饭煲将饭煮熟的结果,这个方法我们叫封装。在计算机程序设计中,封装是一个非常重要的概念,它是实现程序模块化结构的重要手段。在C++中,我们通常采用函数来进行模块封装,对于函数,我们所关心的是对给定的自变量输入,能否得到我们想要的输出。有些函数系统已经做好了,可直接调用,比如诸多的数学函数、字符串处理函数等,有些函数则需要根据自己的需求进行个性开发,这章我们就重点讲授如何创作自己的函数。
1.1自定义函数的引入
【例1.1】给出平面上两个点的坐标,求两点之间的曼哈顿距离。
提示:平面上A点(x1,y1)与B点(x2,y2)的曼哈顿距离为:|x1-x2|+|y1-y2|。
分析:计算曼哈顿距离可以用前面学过的分支结构来解决。
程序如下:
1//eg1.1_1
2#include
3usingnamespacestd;
4intmain()
5{
6doublex1,y1,x2,y2;
7doubledx,dy;
8cin>>x1>>y1>>x2>>y2;
9if(x1>x2)//计算|x1-x2|
运行结果:
输入:1.21.52.53.8
输出:3.6
10dx=x1-x2;
11else
12dx=x2-x1;
13if(y1>y2)//计算|y1-y2|
14dy=y1-y2;
15else
16dy=y2-y1;
17cout<18return0;
19}
可以使用自定义函数来计算|x1-x2|,|y1-y2|。
程序如下:
1//eg1.1_2
2#include
3usingnamespacestd;
4doubleabs(doublex)//计算x的绝对值函数
5{
6if(x>0)
7returnx;
8else
9return-x;
10}
11intmain()
12{
13doublex1,y1,x2,y2;
14doubledx,dy,mht;
15cin>>x1>>y1>>x2>>y2;
16mht=abs(x1-x2)+abs(y1-y2);
17cout<18return0;
19}
比较上面两个程序容易发现,使用自定义函数的程序有以下几个优点:
(1)程序结构清晰,逻辑关系明确,程序可读性强。
(2)解决相同或相似问题时不用重复编写代码,可通过调用函数来解决,减少代码量。
(3)利用函数实现模块化编程,各模块功能相对独立,利用“各个击破”降低调试难度。
1.2函数的定义
1.2函数的定义
前面我们用过了很多C++标准函数,但是这些标准函数并不能满足所有需求。当我们需要特定的功能函数时,这就需要我们要学会自定义函数,
根据需求定制想要的功能。
1.2.1函数定义的语法
返回类型函数名(参数列表)
{
函数体
}
关于函数定义的几点说明:
(1)自定义函数符合“根据已知计算未知”这一机制,参数列表相当于已知,是自变量,函数名相当于未知,是因变量。如程序eg1.1_2中的abs函数的功能是根据给定的数x计算x的绝对值,参数列表中x相当于已知—自变量,abs函数的值相当于未知—因变量。
(2)函数名是标识符,一个程序中除了主函数名必须为main外,其余函数的名字按照标识符的取名规则命名。
(3)参数列表可以是空的,即无参函数,也可以有多个参数,参数之间用逗号隔开,不管有没有参数,函数名后的括号不能省略。参数列表中的每个参数,由参数类型说明和参数名组成。如程序eg1.1_2中abs函数的参数列表只有一个参数,参数数据类型是double,参数名是x。
(4)函数体是实现函数功能的语句,除了返回类型是void的函数,其他函数的函数体中至少有一条语句是“return表达式;”用来返回函数的值。执行函数过程中碰到return语句,将在执行完return语句后直接退出函数,不去执行后面的语句。
(5)返回值的类型一般是前面介绍过的int、double、char等类型,也可以是数组。有时函数不需要返回任何值,例如函数可以只描述一些过程用printf向屏幕输出一些内容,这时只需定义函数返回类型为void,并且无须使用return返回函数的值。
1.2.2函数定义应用实例
根据上述定义,我们知道C++函数形态有以下四类:
(1)返回类型函数名(参数列表)。
(2)返回类型函数名()。
(3)void函数名(参数列表)。
(4)void函数名()。
下面我们一起来看几个例子:
【例1.2】给定两个非负整数n和m,编写函数计算组合数Cmn。
分析:首先分析函数的功能,根据给定的n,m计算Cmn。n,m已知,相当于自变量;Cmn未知,相当于因变量。设计以下函数:
longlongC(intn,intm)
其中,函数的返回值为Cmn,返回类型为longlong,函数名为C,参数列表中有两个参数n,m,类型都是int。函数体是实现函数功能的语句,根据发现需要三次用到“计算一个数的阶乘”这个功能,因此把这个功能独立出来设计一个函数来实现:
longlongf(intn)
该函数的返回值为n!,返回类型为longlong,函数名为f,需要一个参数n,类型为int。
综上,该函数的代码如下:
1//eg1.2
2longlongf(intn)
3{
4longlongans=1;
5for(inti=1;i<=n;i++)
6ans*=i;
7returnans;
8}
9
10longlongC(intn,intm)
11{
12returnf(n)/(f(m)*f(n-m));
13}
提示:
(1)函数体中的语句可以是对另一个函数的调用。
(2)对于较大的n,m来说,上述程序可能会产生溢出。
【例1.3】编写函数输出斐波那契数列的第n项。其中斐波那契数列f(n)的定义如下:
f(1)=0,f(2)=1
f(n)=f(n-1)+f(n-2)(n>=2)
分析:因为该函数不需要返回值,只需要输出f(n)即可,所以该函数的返回类型为void,函数体部分只需计算出f(n)再输出即可。
函数代码如下:
1//eg1.3
2voidoutput(intn)
3{
4if(n<=2)
5cout<6else
7{
8longlongp1,p2,p3;
9p1=0;
10p2=1;
11for(inti=3;i<=n;i++)
12{
13p3=p1+p2;
14p1=p2;
15p2=p3;
16}
17cout<18}
19}
1.3函数调用与参数传递
上一节学习了函数的定义方法和四种不同类型的函数,在实际编程中如何调用函数呢?调用函数时参数是如何传递的?参数传递又有几种方法呢?本节将重点学习这些内容。
1.3.1函数的调用
1.调用方法
上一节中讲过函数一共有四种不同的类型,也可以根据返回类型分为两大类:其中一类有返回值,如程序eg1.1_2中的abs函数、例1.2中的f函数和C函数;另一类没有返回值,如例1.3中的output函数。对于有返回值的函数,调用时必须以值的形式出现在表达式中。比如程序eg1.1_2第16行:
mht=abs(x1-x2)+abs(y1-y2);
该语句对abs函数的调用出现在赋值语句的右边,程序eg1.2第12行:
returnf(n)/(f(m)*f(n-m));
该语句对f函数的调用出现在re CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 下载 mobi epub pdf txt 电子书 格式

CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 mobi 下载 pdf 下载 pub 下载 txt 电子书 下载 2024

CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 下载 mobi pdf epub txt 电子书 格式 2024

CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 下载 mobi epub pdf 电子书
想要找书就要到 图书大百科
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

用户评价

评分

正版,放心购买

评分

很好

评分

很好,正版。

评分

很好

评分

很好,速度快!

评分

很好,很实用,内容丰富

评分

很好,很实用,内容丰富

评分

收到,好。

评分

很好,正版。

类似图书 点击查看全场最低价

CCF中学生计算机程序设计-基础篇 信息学奥赛官方指定用书 mobi epub pdf txt 电子书 格式下载 2024


分享链接








相关图书


本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

友情链接

© 2024 book.qciss.net All Rights Reserved. 图书大百科 版权所有