GESP编程能力等级认证一本通 (C++ 一级)

978-7-115-57566-1
作者: 王桂平张 兵王延平
译者:
编辑: 吴晋瑜

图书目录:

详情

本书围绕中国计算机学会(CCF)发布的《CCF 编程能力等级认证C++ & Python认证标准》中的C++部分而设计,主要介绍C++编程和算法学习的相关内容。 本书对标CCF编程能力等级认证(GESP)C++ 一级,详细介绍了初识C++编程、变量、输入语句、算术运算、浮点型数据和字符型数据、程序控制结构及顺序结构、分支结构、关系表达式和逻辑表达式、多分支和switch语句、循环结构及for循环、while循环和do-while循环、程序控制结构的嵌套、break和continue语句、程序控制结构综合应用、程序测试及调试等内容。 为帮助读者夯实编程基础,本书特设置案例、基础知识练习——大部分选自GESP历年真题。另外,本书还配有课件、视频等资源,读者购书后,可关注“傲梦少年”微信公众号进行领取。 本书可以作为中小学编程社团的教材,也可以作为少儿编程培训机构的培训教材,还可以作为少儿编程等级考试和编程竞赛的入门教材。

图书摘要

版权信息

书名:GESP编程能力等级认证一本通(C++一级)

ISBN:978-7-115-57566-1

本书由人民邮电出版社发行数字版。版权所有,侵权必究。

您购买的人民邮电出版社电子书仅供您个人使用,未经授权,不得以任何方式复制和传播本书内容。

我们愿意相信读者具有这样的良知和觉悟,与我们共同保护知识产权。

如果购买者有侵权行为,我们可能对该用户实施包括但不限于关闭该帐号等维权措施,并可能追究法律责任。


版  权

主  编 王桂平 张 兵 王延平

副 主 编 胡 雕 吴跃进 卢文超

责任编辑 吴晋瑜

人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 http://www.ptpress.com.cn

读者服务热线:(010)81055410

反盗版热线:(010)81055315

内 容 提 要

本书围绕中国计算机学会(CCF)发布的《CCF 编程能力等级认证C++ & Python认证标准》中的C++部分而设计,主要介绍C++编程和算法学习的相关内容。

本书对标CCF编程能力等级认证(GESP)C++ 一级,详细介绍了初识C++编程、变量、输入语句、算术运算、浮点型数据和字符型数据、程序控制结构及顺序结构、分支结构、关系表达式和逻辑表达式、多分支和switch语句、循环结构及for循环、while循环和do-while循环、程序控制结构的嵌套、break和continue语句、程序控制结构综合应用、程序测试及调试等内容。

为帮助读者夯实编程基础,本书特设置案例、基础知识练习——大部分选自GESP历年真题。另外,本书还配有课件、视频等资源,读者购书后,可关注“傲梦少年”微信公众号进行领取。

本书可以作为中小学编程社团的教材,也可以作为少儿编程培训机构的培训教材,还可以作为少儿编程等级考试和编程竞赛的入门教材。

编 委 会

(排名不分先后)

王桂平 张 兵 王延平 胡 雕 吴跃进 卢文超

魏光静 蔡 蓓 唐尚梅 张俊玲 王 婷 代 伟

陈 帅 明正华 潘以华 卢亚丽 刘 哲 杨启萌

罗 鹏 谭 逍 赖德鹏

前  言

在数字化浪潮席卷全球的当下,编程已成为青少年迈向未来、拥抱科技的关键技能之一。我国对编程教育高度重视,早在2017年,国务院发布的《新一代人工智能发展规划》就明确提出,要在中小学阶段设置人工智能相关课程,逐步推广编程教育。2018年,教育部在《教育信息化2.0行动计划》中进一步强调,要完善课程方案和课程标准,充实适应信息时代、智能时代发展需要的人工智能和编程等课程内容。这些政策的出台,为青少年编程教育指明了方向,奠定了坚实的基础。

在这样的背景下,中国计算机学会(CCF)发起了编程能力等级认证(GESP)项目,旨在为青少年计算机和编程学习者提供一个权威、公正的学业能力验证平台。GESP覆盖中小学全学段,通过科学分级的考试体系,全面考查学生在编程知识、操作能力以及理论框架等方面的掌握程度。其中,C++作为一门广泛应用于系统软件、应用软件、游戏开发等多个领域的编程语言,既是编程教育的普及语言,也是信息学奥林匹克竞赛的指定语言。GESP C++认证共分为一至八级,每一级都设定了明确的知识目标。

本书正是为了满足广大青少年编程学习者的需求而精心编写。本书由“傲梦少年”联盟发起,编委会成员为各级教师进修学院教研员、大中小学资深教师,他们凭借丰富的教学经验和对编程教育的深刻理解,确保了本书内容的科学性、实用性和针对性。

本书紧密围绕GESP C++一级的考试大纲,内容包括初识C++编程、数据的存储——变量、数据的输入——输入语句、数据的运算——算术运算、浮点型数据和字符型数据、程序控制结构及顺序结构、分支结构——if语句、关系表达式和逻辑表达式、多分支和switch语句、循环结构及for循环、while循环和do-while循环、程序控制结构的嵌套、break和continue语句、程序控制结构综合应用、程序测试及调试。此外,本书还包含5个附录。附录A以一道编程题的求解为例,详细讲解了用Dev-C++编写、运行一个C++程序的完整过程。附录B总结了C语言的输入输出函数,即scanf和printf。附录C总结了C++中运算符的优先级和结合性。附录D介绍了本书配套资源的使用方法。附录E给出了基础知识练习答案。

在内容编排上,我们注重循序渐进,从基础概念入手,逐步引导学生深入学习编程的思维方式和实践技巧。同时,书中配备了大量生动有趣的案例和练习,旨在帮助学生更好地理解和掌握所学知识,提高编程实践能力。

此外,本书充分考虑了国家编程教育政策的要求,致力于激发青少年对编程的兴趣,培养他们的逻辑思维和创新能力。通过学习本书,学生不仅能够为参加GESP C++一级认证考试做好充分准备,还能在编程的道路上迈出坚实的一步,为未来的学习和发展打下稳固的基础。

我们相信,在国家政策的引领下,在社会各界的共同努力下,青少年编程教育将迎来更加美好的明天。希望本书能够成为广大青少年编程学习者的良师益友,助力他们在编程的世界里绽放光彩,开启通往未来科技的大门。

编者

2025年3月

资源与支持

资源获取

本书提供如下资源:

本书源代码;

本书思维导图;

异步社区7天VIP会员。

要获得以上资源,读者可以扫描下方二维码,根据指引领取。

提交勘误

作者和编辑尽最大努力来确保书中内容的准确性,但难免会存在疏漏。欢迎读者将发现的问题反馈给我们,帮助我们提升图书的质量。

当读者发现错误时,请登录异步社区(https://www.epubit.com),按书名搜索,进入本书页面,单击“发表勘误”,输入勘误信息,单击“提交勘误”按钮即可(见下图)。本书的作者和编辑会对读者提交的勘误进行审核,确认并接受后,将赠予读者异步社区的100积分。积分可用于在异步社区兑换优惠券、样书或奖品。

与我们联系

我们的联系邮箱是wujinyu@ptpress.com.cn。

如果读者对本书有任何疑问或建议,请发送邮件给我们,并请在邮件标题中注明本书书名,以便我们更高效地做出反馈。

如果读者有兴趣出版图书、录制教学视频,或者参与图书翻译、技术审校等工作,可以发邮件给我们。

如果读者所在的学校、培训机构或企业,想批量购买本书或异步社区出版的其他图书,也可以发邮件给我们。

如果读者在网上发现有针对异步社区出品图书的各种形式的盗版行为,包括对图书全部或部分内容的非授权传播,请将怀疑有侵权行为的链接发邮件给我们。这一举动是对作者权益的保护,也是我们持续为广大读者提供有价值的内容的动力之源。

关于异步社区和异步图书

“异步社区”(www.epubit.com)是由人民邮电出版社创办的IT专业图书社区,于2015年8月上线运营,致力于优质内容的出版和分享,为读者提供高品质的学习内容,为作译者提供专业的出版服务,实现作者与读者在线交流互动,以及传统出版与数字出版的融合发展。

“异步图书”是异步社区策划出版的精品IT图书的品牌,依托于人民邮电出版社在计算机图书领域多年来的发展与积淀。异步图书面向IT行业以及各行业使用IT技术的用户。

第1章 初识C++编程

本章主要内容

认识并熟悉键盘,练习键盘指法。

掌握C++程序的框架。

掌握用C++程序输出信息及字符图形,解决简单的数学问题。

了解C和C++语言的发展及版本变迁。

1.1 程序及编程语言

同学们,在我们学习、生活和工作中,程序无处不在。你们玩的遥控玩具,家里的智能锁、扫地机器人、洗衣机、电冰箱、空调等设备和家用电器,小区和学校的门禁系统,教室里的多媒体设备,日常使用的手机,学习和工作用的平板计算机、笔记本计算机、台式计算机等,里面都有程序,如图1.1所示。

图1.1 广义上的“计算机”

上面提到的这些设备,广义上都可以称为“计算机”,因为它们都遵循冯·诺依曼(Von Neumann)架构。1944年,美籍匈牙利数学家冯·诺依曼提出了计算机基本结构和工作方式的设想,为计算机的诞生和发展提供了理论基础。时至今日,尽管计算机软硬件技术飞速发展,但计算机本身的体系结构并没有明显的突破,当今的计算机仍属于冯·诺依曼架构。

冯·诺依曼架构的理论要点如下。

(1)计算机硬件设备由存储器、运算器、控制器、输入设备和输出设备5个部分组成。

(2)存储程序思想——把计算过程描述为由许多命令按一定顺序组成的程序,然后把程序和数据一起输入计算机,计算机对已存入的程序和数据处理后,输出结果。

自1946年世界上第一台通用电子计算机ENIAC问世以来,计算机科学家已经设计出超过1000种编程语言,俗称“计算机语言”。总的来说,计算机语言可以分为机器语言汇编语言高级语言。计算机做的每一个动作,执行每一个步骤,都是按照用计算机语言编写好的程序来进行的。程序是计算机要执行的指令的集合。程序是用计算机语言编写出来的。

本书介绍的C++语言是由C语言发展起来的。C语言是20世纪70年代初由美国贝尔实验室设计的,C++语言是20世纪80年代初由C语言扩展升级而产生的。C语言和C++语言都是高级语言。与图形化编程不同的是,C语言和C++语言编程都是代码式编程,每一行程序都是用键盘编写的,所以接下来我们要先认识键盘。

1.2 认识键盘

飞速且正确地敲键盘,是不是很酷?同学们,你们只要勤加练习,也可以做到!

同学们,观察你的计算机,看看键盘上有哪些按键。下面我们认识一下键盘,常见的笔记本计算机键盘如图1.2所示。键盘上主要有以下几类按键。

(1)26个字母。注意,由于大写字母更容易区分,因此键盘按键上的字母均为大写形式。联想一下,汽车车牌号中的字母,是不是也是大写?但是,奇怪的是,键盘上的字母按键不是按字母顺序排列的,为什么这样设计呢?

(2)数字按键:1、2、3、4、5、6、7、8、9、0。

(3)标点符号、括号等符号:,、?、!、.、(、)、[、]、{、}、<、>等。

(4)方向键:↑、→、↓、←。

(5)控制键:Ctrl、Shift、Alt等。

图1.2 常见的笔记本计算机键盘

1.3 键盘上的字母为什么不按顺序排列

打字机在计算机问世前就有了。早期的打字机如图1.3(a)所示,键盘完全按照英文字母表顺序排列,这样人们就能轻松记住字母的位置,打字速度非常快。要知道世界上没有那么多的完美,在打字速度快的同时,问题也来了,当时的机械工艺不成熟,打字速度稍微快些,相邻两个字母的长杆和字锤就会卡在一起,发生“卡键”的故障。

机械工艺的改进,不是一两年甚至不是10年、20年能做到的。当时的人们没有办法通过改进机械工艺来解决“卡键”的问题,而是想办法让人们降低打字速度。

于是,“打字机之父”肖尔斯(Sholes)故意把字母顺序打乱,把常见相邻字母,比如S和T,在键盘上拉开较远的距离,并且把常使用的字母放在不灵活的手指下面,强迫打字员降低速度。

这些“反效率”的设计,最终形成了“QWERTY”的键盘布局,如图1.3(b)所示。

图1.3 打字机和键盘

1.4 如何练习打字

首先,对初学者,在刚开始使用键盘时就应该练习正确的指法,杜绝“一指禅”和“二指禅”。

左手食指放在F键上、右手食指放在J键上,如图1.4所示。键盘上F、J这两个按键上一般有凸点,就是为了提醒用户始终把手指放在正确的位置。

图1.4 打字时,手指应该放在正确的位置

左手和右手的大拇指较短,负责按空格键。左手的小指、无名指、中指和食指,右手的食指、中指、无名指和小指各司其职,负责一列、两列或更多列按键,如图1.5所示。

图1.5 键盘指法

同学们平时可以通过以下方式来练习打字。

(1)在计算机上安装一些软件,如金山打字通,这些软件除了可以练习打字,通常附带了一些游戏(《生死时速》《鼠的故事》《拯救苹果》《太空大战》《急流勇退》等),可以让用户练习使用键盘并测试。

(2)在一些网站在线打字练习和测试,如https://dazidazi.com/。

此外,做编程题,也可以练习打字。接下来,我们就来做几道编程题吧!

1.5 程序的编写、编译和运行

计算机程序需要用编辑器来编写,编辑器通常和其他相关工具软件(如编译器、连接器)构成比较大的软件,一般称为集成开发环境(Intergrated Development Environment,IDE)。本书推荐采用Dev-C++来编写C++程序。关于Dev-C++这个软件的使用,详见本书附录A。

一个C++程序从编写到最后得到正确的运行结果,要经历以下几个主要的步骤。这些步骤都可以在Dev-C++中完成。

(1)在编辑器中用C++语言编写程序。用编程语言编写的程序称为“源程序”。源程序编写完后要保存为源程序文件。计算机里的文件名是由文件主名扩展名组成的。C++的源程序文件的扩展名是.cpp。例如,code.cpp,code是文件主名,.cpp是扩展名。

(2)对源程序进行编译和连接。用称为“编译器”和“连接器”的软件,把源程序翻译并生成可以直接运行的可执行文件,这种文件的扩展名通常是.exe。编译的作用是对源程序进行语法检查,如果有语法错误,还会列出所有的编译出错信息。一个程序如果有语法错误,将无法运行。

(3)运行程序。运行最终形成的可执行文件,得到运行结果。

(4)分析运行结果。一个程序编写完毕,能够运行了,不一定就大功告成了。通常还要根据程序的运行结果判断程序是否正确。如果运行结果不正确,则还要对程序进行分析和改正等。

1.6 案例1:Hello World!

学习一门编程语言,往往从编写Hello World!这个案例程序开始。这个习惯是从布莱恩·克尼汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合著的《C语言程序设计》(The C Programme Language)一书中正式采用这个案例程序而广泛流行的。

【题目描述】

编写C++程序,往屏幕上输出一行信息:Hello world!。

【题目分析】

以下是实现题目要求的完整的C++程序:

#include <iostream>                      //包含iostream头文件
using namespace std;                     //使用std命名空间
int main( )                              //主函数
{
    cout <<"Hello world!" <<endl;        //向屏幕上输出一行字符(用英语打招呼)
    return 0;                            //程序正常退出
}

一个完整的C++程序至少要包含以下两个部分,这两个部分就构成了C++程序的框架。

(1)头文件包含和命名空间。示例如下:

#include <iostream>

其中,“#include”是C++语言的预处理命令,表示要把另一个程序文件中的内容包含到本程序中,iostream是被包含程序文件的文件名。iostream中定义了一些与输入输出相关的、现成的“工具”。cout就是iostream中定义好的、用于输出的“工具”,能往屏幕上输出一串字符(或其他数据)。在main函数中使用了cout,所以要把头文件iostream包含进来,否则程序在编译时会给出编译错误,提示'cout'没有定义。

又如以下的代码:

using namespace std;

这行代码是指使用命名空间std。std里面定义了一些标识符(变量名就是标识符的一种),如cout。using和namespace都是C++语言的关键字。关键字详见7.12节。

有些编译器可以使用万能头文件。注意,使用万能头文件就不用再包含其他头文件了。示例如下:

#include <bits/stdc++.h>       //万能头文件
using namespace std;           //使用万能头文件必须使用标准命名空间std

对初学者,我们认为还是应该知道要包含哪些头文件。常用的头文件其实不多。所以,本书暂时不用万能头文件。

(2)主函数。示例代码如下:

int main( )
{
    …
}

其中,main函数是程序中的主函数。每个C++程序都必须包含main函数,而且只能有一个main函数,但可以有多个其他函数。

C++程序的最小独立单位是语句,上述程序中main函数内每一行就是一条语句。程序运行时,总是从main函数的第一条语句开始执行,一直执行完main函数中的最后一条语句,或者执行到main函数中的return语句,整个程序才执行完毕。最后一行代码往往是return 0,表示程序执行完毕、没有出错、正常退出。return是“返回”的意思。

在C++语言中,分号是语句的标志。例如,main函数中有一条语句:

cout <<"Hello world!" <<endl;    //向屏幕上输出一行字符(用英语打招呼)

这条语句的作用是在屏幕上输出一串字符“Hello world!”。endl的作用是换行,endl是end of line(一行结束)的缩写。其中,“//向屏幕上输出一行字符(用英语打招呼)”是程序中的注释,用来对程序做注解。

C++规定,一行中如果出现“//”,则从它开始到本行末尾之间的全部内容都作为注释。这种注释称为行注释。注释内容对程序的运行不起作用,主要用来对代码注解。

C语言只支持块注释(也称为多行注释),块注释以“/*”开头,以“*/”结尾,注释内容可以包含多行。因为C++语言兼容C语言,所以C++也支持块注释。

1.7 案例2:输出大小写字母、计算数学式子

【题目描述】

输出3行,第一行是26个大写字母,第2行是26个小写字母,第3行是12345 + 67890的运算结果。

【题目分析】

本题要通过C++语言中的cout语句实现输出内容。如果希望原样输出,那么输出内容需要用双引号括起来,而且必须是英文双引号;如果是希望输出一个数学式子的计算结果,要把数学式子放在cout语句中,而且不能用双引号括起来。代码如下:

#include <iostream>
using namespace std;
int main( )
{
    cout <<"ABCDEFGHIJKLMNOPQRSTUVWXYZ" <<endl;
    cout <<"abcdefghijklmnopqrstuvwxyz" <<endl;
    cout <<12345+67890 <<endl;
    return 0;
}

【知识点】cout语句

cout是C++的输出语句。它的作用就是往显示器上输出一些内容,如图1.6所示。

图1.6 C++的cout语句

cout语句的一般格式如下(<<是插入运算符):

cout <<输出项1 <<输出项2 <<… <<输出项n;

执行上述代码,如果输出项是表达式,如“12345 + 67890”,则计算表达式的值并输出;如果输出项是用双引号括起来的,则输出双引号内的内容,双引号不输出,双引号及其中的内容称为字符串。注意,双引号必须用英文双引号。

1.8 案例3:输出由加号组成的菱形

【题目描述】

cout语句输出以下字符图形。

+

+++

+++++

++++++

+++++

+++

+

【题目分析】

以上字符图形,每一行都是通过cout语句输出的。注意,有些行前面有空格,多一个空格、少一个空格都可能导致程序不能通过评测。代码如下:

#include <iostream>
using namespace std;
int main( )
{
    cout <<"   +" <<endl;
    cout <<"  +++" <<endl;
    cout <<" +++++" <<endl;
    cout <<"+++++++" <<endl;
    cout <<" +++++" <<endl;
    cout <<"  +++" <<endl;
    cout <<"   +" <<endl;
    return 0;
}

1.9 练习1:求两门课程成绩总分(1)

【题目描述】

已知小A同学期末考试语文考了96分,数学考了92分,求他的总分并输出。

注意,要求在程序里计算并输出,不能手动计算或口算出结果然后在程序里输出。

【题目分析】

在数学上,求两个数的和,要用加法,例如96 + 92,我们把这个式子放到C++语言的cout语句中,能计算出结果并输出,而这正是本题想要达到的效果。代码如下:

#include <iostream>
using namespace std;
int main( )
{
    cout <<96+92 <<endl;  //这里不能加双引号
    return 0;
}

1.10 练习2:还剩多少钱(1)

【题目描述】

妈妈给小A同学100元钱,小A同学买了10支铅笔,每支铅笔2元钱,请问还剩多少元钱?

【题目分析】

这是一道数学题,求解答案的式子是100 − 2 × 10,注意,数学上的乘号“×”在C++语言中只能用星号表示。我们不需要手动计算,直接把这个式子放在cout语句中,cout语句会计算这个式子的结果并输出。代码如下:

#include <iostream>
using namespace std;
int main( )
{
    cout <<100-2*10 <<endl;  //这里不能加双引号
    return 0;
}

1.11 练习3:输出星号长方形

【题目描述】

用C++的cout语句输出以下星号长方形,有5行, 每行有10个星号。

**********

**********

**********

**********

**********

【题目分析】

cout语句输出5行星号即可,每行有10个星号。代码如下:

#include <iostream>
using namespace std;
int main( )
{
    cout <<"**********" <<endl;
    cout <<"**********" <<endl;
    cout <<"**********" <<endl;
    cout <<"**********" <<endl;
    cout <<"**********" <<endl;
    return 0;
}

1.12 C和C++语言的发展及版本变迁

图1.7所示为C和C++语言发展的时间线。C语言之所以命名为C,是因为C语言源自肯·汤普森(Ken Thompson)发明的B语言,而B语言则源自BCPL(Basic Combined Programming Language,基本组合编程语言)。

一门编程语言不是一成不变的,而是在不断发展的,它会借鉴其他编程语言的一些优良特性。一门编程语言发展到一定阶段,就需要稳定下来,形成一个稳定的版本,这就需要进行标准化。就像一家手机设计和制造公司,它的手机产品也在不断升级,对一款手机改进性能、增加功能后,就会形成一个新的手机型号。

图1.7 C/C++语言发展的时间线

C++语言的标准化工作由标准化组织ISO/IEC负责,每个版本都有一个对应的国际标准。以下是C++语言的几个重要版本及其变迁。

C++98(也称为C++03):该版本于1998年发布,是第一个国际标准化的C++版本。它包括C++语言的基本特性和标准库。C++98有时也简写为C98,其他版本类似。

C++11:该版本于2011年发布,引入了许多新特性,如自动类型推导、Lambda表达式、智能指针等。这些特性提供了更便捷和安全的编程方式。

C++14:该版本于2014年发布,对C11进行了一些细微的改进,包括更强大的类型推导、二进制字面量等。

C++17:该版本于2017年发布,引入了许多新特性,如结构化绑定、折叠表达式、并行算法等。它还对语言和标准库进行了一些改进和扩展。

C++20:该版本于2020年发布,引入了许多新特性,如概念、协程、范围for循环等。它进一步扩展了C++语言的功能和灵活性。

除了以上几个版本,C++还在不断发展和演进。每个新版本都会对C++语言进行改进和扩展,以满足不断变化的编程需求。

此外,万能头文件<bits/stdc++.h>是一个非标准的头文件包含方式,它是由一些编译器提供的,并不属于C++标准库规范。这种写法的目的是简化头文件的包含,以方便地引入常用的标准库头文件,它依赖于特定的编译器和环境配置。

1.13 基础知识练习(GESP真题)

【选择题】

1.以下奖项与计算机领域最相关的是(  )。

A.奥斯卡奖

B.图灵奖

C.诺贝尔奖

D.普利策奖

2.提出“存储程序”的计算机工作原理的是(  )。

A.冯·诺依曼

B.克劳德·香农

C.戈登·摩尔

D.查尔斯·巴比奇

3.以下不属于操作系统的是(  )。

A.Windows

B.photoshop

C.Linux

D.macOS

4.人们在使用计算机时所提到的Windows通常指的是(  )。

A.操作系统

B.多人游戏

C.上市公司

D.家居用具

5.计算机领域的图灵奖为了纪念(  )科学家图灵。

A.英国

B.德国

C.瑞典

D.法国

6.以下不属于计算机输出设备的有(  )。

A.麦克风

B.音箱

C.打印机

D.显示器

7.现代计算机是指电子计算机,它所基于的是(  )体系结构。

A.阿兰·图灵

B.冯·诺依曼

C.阿塔纳索夫

D.埃克特-莫克利

8.在Dev-C++中对一个写好的C++源文件要生成一个可执行程序需要执行下面哪个处理步骤?(  )

A.创建

B.编辑

C.编译

D.调试

9.小杨的父母最近刚刚给他买了一块华为手表,他说手表上跑的是鸿蒙,这个鸿蒙是(  )。

A.小程序

B.计时器

C.操作系统

D.神话人物

10.ENIAC于1946年投入运行,是世界上第一台真正意义上的计算机,它的主要部件都是(  )组成的。

A.感应线圈

B.电子管

C.晶体管

D.集成电路

11.下列软件中是操作系统的是(  )。

A.高德地图

B.腾讯会议

C.纯血鸿蒙

D.金山永中

12.在某集成开发环境中编辑一个源代码文件时不可以执行下面的(  )操作。

A.修改变量定义

B.保存代码修改

C.撤销代码修改

D.插入执行截图

【判断题】

1.第一台现代电子计算机是ENIGMA。(  )

2.C++程序中必须有main函数。(  )

3.操作系统是让用户可以操纵计算机完成各种功能的软件。(  )

4.要执行Windows的桌面上的某个程序,通常需至少连续单击程序图标3次。(  )

5.注释是对于C++程序员非常有用,但会被C++编译器忽略。(  )

6.在Windows系统中通过键盘完成对选定文本移动的按键组合是先Ctrl+X,移动到目标位置后按Ctrl+V。(  )

7.在C++语言中,注释不宜写得过多,否则会使得程序运行速度变慢。(  )

8.计算机硬件主要包括运算器、控制器、存储器、输入设备和输出设备。(  )

9.诞生于1958年的103机是中国第一台通用数字电子计算机,比1946年在美国诞生的第一台通用电子计算机ENIAC晚了十多年。(  )

10.神威·太湖之光超级计算机是中国自主研制的超级计算机,在全球超级计算机TOP500排行榜中多次荣膺榜首。(  )

11.C++是一种高级程序设计语言。(  )

12.小杨最近在准备考GESP,他用的Dev-C++来练习和运行程序,所以Dev-C++也是一个小型操作系统。(  )

13.在Windows的资源管理器中为已有文件A创建副本的操作是按快捷键Ctrl+C,然后按快捷键Ctrl+V。(  )

14.C++、Python都是高级编程语言,它们的每条语句最终都要通过机器指令来完成。(  )

相关图书

信息学奥赛CSP-J初赛通关手册10年真题+10套模拟  精练精讲
信息学奥赛CSP-J初赛通关手册10年真题+10套模拟 精练精讲
信息学奥赛CSP-S初赛通关手册10年真题+10套模拟  精练精讲
信息学奥赛CSP-S初赛通关手册10年真题+10套模拟 精练精讲
中学生C++创意编程
中学生C++创意编程
写给 青少年的人工智能 实践
写给 青少年的人工智能 实践
青少年编程魔法课堂 Python图形化创意编程
青少年编程魔法课堂 Python图形化创意编程
青少年编程魔法课堂 C++图形化创意编程
青少年编程魔法课堂 C++图形化创意编程

相关文章

相关课程