本店POD版图书均在书名下有明显红字标注,POD图书属于按需定制,您下单购买后我们才开始印刷,故不可取消订单。
我们一般会在您下单后的7-10个工作日内完成发货,请谨慎下单!商品无质量问题不支持退货,定价和装帧可能会与原书不同,请以实物为准!详情请咨询客服
购买电子版图书请与客服直接联系,或者到科学出版社电子商务平台直接购买
CCF中学生计算机程序设计-入门篇 |
| 定价 | 38.00 |
出版社 | 科学出版社 |
版次 | 1 |
出版时间 | 2016年10月 |
开本 | 16 |
作者 | 中国计算机学会 |
装帧 | 平装 |
页数 | 272 |
字数 | 336 |
ISBN编码 | 9787030500212 |
目录
目录
第1章编程如此简单
1.1程序设计概念1
1.2整数算术运算4
1.3实数算术运算8
附录ADev-C++集成开发环境11
第2章数据的存储和读入
2.1变量和变量的类型17
2.2赋值语句和数学表达式21
*2.3数据类型转换32
2.4变量的读入38
*2.5C语言中的scanf语句和printf语句43
2.6顺序结构程序设计实例51
附录B基本数据类型56
附录C常用数学函数57
第3章程序的选择执行
3.1if语句和关系表达式59
3.2逻辑表达式和条件表达式68
3.3嵌套if语句75
3.4switch语句83
*3.5分支结构程序设计实例92
第4章程序段的反复执行
4.1for语句105
4.2while语句119
4.3do-while语句131
4.4多重循环142
*4.5在循环结构中应用位运算156
*4.6循环结构程序设计实例167
附录Dbreak语句和continue语句178
第5章数据的批量存储
5.1一维数组183
5.2活用数组下标192
5.3数值排序和查找204
5.4字符数组220
5.5二维数组233
*5.6数组的综合应用实例245
参考文献261
索引263
在线试读
第1章编程如此简单
为什么计算机能管理庞大的系统?为什么人能指挥计算机按自己的想法做事?计算机能超越人的思维吗?面对计算机,很多人都会带着或多或少的疑问。其实,计算机是通过执行一个个程序来实现各种神奇的功能。人们要指挥计算机做事,需要编写程序,把自己的思想融入程序中,再利用这些程序按照自己的思路去指挥计算机工作。
1.1程序设计概念
【例1.1】用记事本编写一个程序,让计算机告诉大家我爱编程,即“Iloveprogramming.”
程序如下:
1//exam1.1
2#include<iostream>
3usingnamespacestd;
4intmain()
5{
6cout<<"Iloveprogramming."<<endl;
7return0;
8}
编写完这个程序后,大家还会有些疑问,程序为什么要这样写?编程到底要遵循什么样的规则?这个程序编写后怎样让计算机去执行呢?为了回答这些问题,我们必须先弄清一些概念。
1.1.1编程概念
1.程序和计算机语言
程序就是为实现特定目标或解决特定问题而用计算机语言编写的一系列指令序列。
计算机语言是人与计算机之间通信的语言。计算机语言有很多种,比如BASIC语言、PASCAL语言、C语言、C++语言、Java语言等,每种程序语言都有自身所定义的规则,即使是同一个语言也有不同的版本,内部规则也会有少许不同,比如C++语言就有VisualC++、Dev-C++等。
编程可以简单理解为程序员为解决特定问题,按照自己的思路,在遵循特定的计算机语言规则下编写程序的过程。因此,要学好编程,首先选择一种计算机语言,然后按照该程序语言规则编写程序。本书以C++语言规则为例来学习编程。
2.编辑和编译
在某种计算机语言环境下编写程序的过程,叫程序的编辑。程序编辑好后,计算机是不是就可以立即运行呢?其实不然。这个程序在没有被计算机识别之前,仅仅只是一些符号所组成的文本。就像我们读的书籍一样,如果不经过大脑去领会书籍内容所包含的含义,文字永远只能是文字,课本也只能是课本,但经过我们的大脑学习和领会了书籍文字中所包含的内涵和思想,那么看起来死板的文字就成为大脑所学到的知识。程序也一样,也需要计算机去学习和领会程序所包含的含义,这个学习和领悟的过程当然不完全类似人脑对知识的学习,而仅仅是按照计算机语言所对应的规则,对所编写的程序进行解析的过程,这个过程叫翻译。翻译分为两种方式,一种叫解释,是计算机对程序的指令翻译一句执行一句的行为,BASIC语言和Java语言都属于解释语言;另一种叫编译,是计算机对程序的全部指令一次性全部翻译后,再让计算机执行的行为,PASCAL语言和C++语言都属于编译型语言。
高级语言程序要通过编译器才能运行得到结果,不同的计算机语言使用的编译器不同,如不能用C++编译器编辑运行BASIC语言编写的程序,同时,编译后的程序,在不同操作系统环境下进行的解析也会略有区别。
3.集成开发环境
知道了编辑和编译后,自然就需要一个用来编辑程序的软件和一个对程序进行编译的软件。编辑的软件有很多,所有的文本编辑器都可以,比如记事本。编译的软件只能是特指,比如C语言用的是GCC编译器,C++语言用的是G++编译器等。
一个程序编辑后,需要经过编译,方可执行。可万一编写程序时出错了,或者程序思路有问题,那么就要反复对程序进行编辑和编译,显得非常麻烦。为了方便程序的编辑和编译,软件公司开发了程序语言的集成环境,也就是将编辑和编译调试集成在一块,形成了集成开发环境(IntegratedDevelopmentEnvironment,IDE)。IDE对人们学习编程提供了极大的方便。
为了学习方便,本章将在附录A中简单介绍DEVC++的IDE使用方法。当然大家选择C++语言的其他IDE也可,使用方法也与Dev-C++的IDE类似。
1.1.2程序结构
为了弄清C++的编程规则,首先我们看C++程序的基本结构,如图1.1所示。
图1.1C++语言基本结构
由图1.1可以看出,C++程序由头文件、名字空间和主函数组成。
1.头文件
头文件是C++程序对其他程序的引用。头文件作为一种包含功能函数、数据接口声明的载体文件,用于保存程序的声明。include的英文含义是“包括”。格式为:#include<引用文件名>或#include“引用文件名”。
2.名字空间
指明程序采用的名字空间。采用名字空间是为了在C++新标准中,解决多人同时编写大型程序时名字产生冲突问题。比如A、B两个班都有叫张三的人,你要使用A班的张三,必然要先指明是A班这个名字空间(namespace),然后你对张三的所有命令才能达到你的预想,不会叫错人。“usingnamespacestd”表示这个程序采用的全部都是std(标准)名字空间,std是英文单词standard(标准)缩写。若不加这句,则该程序中cout和endl都需指明其名字空间的出处。cout语句必须写成std::cout<<"Iloveprogramming."<<std::endl;
3.主函数
日常生活中,我们要完成一件具有复杂功能的事,总是习惯把“大功能”分解为多个“小功能”来实现。在C++程序的世界里,“功能”可称为“函数”,因此“函数”其实就是一段实现了某种功能的代码,并且可以供其他代码调用。
一个程序,无论复杂或简单,总体上都是一个“函数”,这个函数称为“main函数”,也就是“主函数”。比如有个“做菜”程序,那么“做菜”这个过程就是“主函数”。在主函数中,根据情况,你可能还需要调用“买菜、切菜、炒菜”等子函数。main函数在程序中大多数是必须存在的,程序运行时都是找main函数来执行。
每个函数内的所有指令都需用花括号“{}”括起来。一般每个函数都需要有一个返回值,用return语句返回。
练习
(1)阅读附录A中的Dev-C++集成开发环境,尝试运行图1.1的程序。
(2)熟悉C++程序的基本结构,尝试改变程序,输出你想说的句子。
1.2整数算术运算
【例1.2】把20张画平均分给7个同学,每人分得几张,还剩几张?
分析:每个人分得的张数是20除以7的商,剩余的张数是20除以7的余数。
程序如下:
1//exam1.2
2#include<iostream>
3usingnamespacestd;
4intmain()
5{
6cout<<20/7<<endl;
7cout<<20%7<<endl;
8return0;
9}
5
运行结果:
对于这个解决问题的程序,大家的疑问会是什么呢?cout语句能做什么事?如何表达两个整数相除的商和余数?为了回答这些问题,我们需要学习cout语句的格式和使用,学习算术表达式的计算机表示方式。
1.2.1cout语句
cout是C++的输出语句,C++的输出和输入是用“流”(stream)的方式实现的。
图1.2C++的输出流
在定义流对象时,系统会在内存中开辟一段缓冲区,用来暂存输入输出流的数据。在执行cout语句时,先把数据存放在输出缓冲区中,直到输出缓冲区满或遇到cout语句中的endl或'\\n'为止,此时将缓冲区中已有的数据一起输出,并清空缓冲区。输出流中的数据在系统默认的设备(一般为显示器)输出。输出遇到endl或'\\n'换行。cout语句的一般格式为:cout<<项目1<<项目2<<…<<项目n;
功能:
(1)如果项目是表达式,则输出表达式的值。
(2)如果项目加引号,则输出引号内的内容。
1.2.2算术运算符
在例1.2中运用cout语句输出算术表达式的值,C++语言为算术运算提供了5种基本算术运算符号:加(+)、减(-)、乘(×)、除(/)还有模(%)。如表1.1所示。
表1.1基本算术运算符
上述运算符的优先级与数学中相同,*、/、%高于+、-。
表1.1中特别值得注意的是“/”号和“%”,对于“/”号,当参与运算的数含有实数,运算结果是两数相除的值,当参与运算的两个数都是整数,运算结果是两数相除的商,如:例1.2程序中第6行求20/7的商为2;对于“%”是求两个整数相除的余数,如:例1.2程序中第7行求20%7的余数为6。
【例1.3】阅读下列程序和运行结果,学习表达式的书写格式,了解程序中表达式运算先后顺序和数学习惯的数学表达式运算先后顺序的关系。
1//exam1.3
2#include<iostream>
3usingnamespacestd;
4intmain()
5{
6cout<<9/8<<4*(6+3)%5<<(4*6+3)%5<<endl;//输出算式值
7return0;
8}
运行结果:
说明:由于9和8是整数,因此,9/8结果为1;对于式子4*(6+3)%5,先计算4*(6+3)的值为36然后%5,结果为1;对于式子(4*6+3)%5,先计算(4*6+3)的值为27然后%5,结果为2。表达式的运算先后顺序与数学习惯相同。
【例1.4】在例1.3中3个表达式的运行结果紧挨在一起,希望改变输出方式,要求:(1)每个表达式值隔开一个空格;(2)在结果前提示表达式。
内容介绍
本丛书是基于《CCF青少年计算机程序设计评级标准》开发的一个系列培训教材。该标准围绕计算机程序设计的知识要求和能力要求,共分十级,其中1-3级为基础级,4-5级为提高级,6-7级为高手级,8-10级为大师级。本丛书将评级内容进行归纳,计划1-3级出1本、4-5级出1本,6-7级出1本,8-10级出1本,共4本教材。
对于保修期外的商品,维修时效与客户支付维修费用的时效相关,维修时效将做相应的顺延。
Q:有权按照活动规则对商家标示的价格进行核对。
A:商家参加组织的活动应确保在其承诺的该宝贝价格有效期内开展,不得在期间擅自提价、擅自提前结束活动;如宝贝有数量限制的还必须明示参加活动的宝贝数量。有权按照活动规则对商家标示的价格进行核对。如商家违反价格承诺,可在核实情况后从商家的保证金中予以冻结、划扣以便向所有购买该宝贝者进行赔付,因此产生的所有费用及损失由商家自行承担。
Q:如何避免价格欺诈行为
A:商家如对价格法等相关法律规定不理解的,平台推荐商家每个商品仅发布一个价格,避免因与其他商家或其他业态进行价格比较却又无法准确标明被比较价格的含义、无法证明被比较价格的真实有据,从而导致价格欺诈行为。
Q:关于价格说明的免责声明
A:此说明仅当出现价格比较时有效,具体请参见《价格发布规范》。若商家单独对划线价格进行说明,以商家的表述为准。
Q:商品要素之间明显不匹配主要有哪几种情况?
A:商品要素包括商品标题、图片、价格、属性、描述中的重要信息(如商品介绍、物流方式、运费、售后服务等),这些要素之间的彼此不匹配,都是违规的信息。
Q:紫辰祥昱图书专营店自提订单是否收费??
A:您好,自提订单是不收运费的。
Q:商品发布价格与商品描述中标注的价格不符
A:案例1:发布一口价为5元,但是却在商品描述中标注产品其它价格的;
案例2:商品的一口价标10.5元,但实际却是10件起拍。
此服务仅支持紫辰祥昱图书专营店配送范围。
Q:乱用与本商品无关的品牌
A:使用与其他大牌比较的方式;
Q:商家对价格的真实性、准确性、合法性负责。
A:商家参加组织的活动应当标示真实有效的被比较价格,标示有真正价格优惠的宝贝价,确保可以向或监管部门提供被比较价格的真实依据,并对所有价格的真实性、准确性、合法性负责。
对于到家服务范围内的商品,不代表该商品同时符合保内条件。
到家服务不提供数据备份,系统及软件安装,个人信息保管等服务内容,请您自行备份个人信息资料等,以免造成资料丢失,紫辰祥昱图书专营店对资料丢失不承担任何法律责任。
到家服务仅针对部分特定商品,具体以您查询结果为准。
Q:不得进行虚假的或引人误解的价格标示
A:在,商家对未过的宝贝不得使用“原售价”、“成交价”、“折”、“新品折”等类似概念,误导消费者认为该宝贝有成交记录;不会强制要求商家进行虚假的或引人误解的价格标示。
Q:可以指定送货时间吗??
A:目前紫辰祥昱图书专营店暂不提供指定时间段的配送服务,但是配送人员在配送前电话联系您的时候,您可以与配送员协商您的需求,配送的同事会尽量为您安排的!
Q:地址比较偏僻,紫辰祥昱图书专营店是否可以送到??
A:一般情况下,邮局可覆盖的范围我们均可以为您配送到。填写地址时会有提示,范围详情可参考配送服务承诺。