C++信息学奥赛题目归类:2007-2018初赛普及组单项选择题

每个题前的()里的数字代表了年份

我把选择题分成了三部分,第一部分的参考性不大,可以适当做做,第二部分的知识理论题的出题频率相对较高,希望针对相应的知识点进行讲解和至少一次的练习,第三部分是相对比较难得一部分,不仅需要考生明白相应的知识点,还需要融会贯通,计算无误,这一部分占得比重也是最大的,因此这类题型更应该反复练习。

NOIP普及组单项选择题

一部分

这部分题目的范围比较大,分数不太容易得,涉猎的范围比较广泛,推荐是准备一些比较流行和关键的技术来讲解,也可以放弃这方面的内容,12年之后还没有出过类似的题目。

关键名词和流行技术

点评:这一部分每年考察的点都不一样,不太容易寻找规律,只能看同学们的日积月累,考察过IT、数据库、互联网、生物识别、图灵机、仿生学、搜索引擎等

(2007) IT的含义是( )。
A. 通信技术
B. 信息技术
C. 网络技术
D. 信息学

(2007) 在关系数据库中,存放在数据库中的数据的逻辑结构以( )为主。
A. 二叉树
B. 多叉树
C. 哈希表
D. 二维表

(2007) 冗余数据是指可以由其它数据导出的数据。例如,数据库中已存放了学生的数学、语文和英语的三科成绩,如果还存放三科成绩的总分,则总分就可以看作冗余数据。冗余数据往往会造成数据的不一致。例如,上面4个数据如果都是输入的,由于操作错误使总分不等于三科成绩之和,就会产生矛盾。下面关于冗余数据的说法中,正确的是( )。
A. 应该在数据库中消除一切冗余数据
B. 用高级语言编写的数据处理系统,通常比用关系数据库编写的系统更容易消除冗余数据
C. 为了提高查询效率,在数据库中可以保留一些冗余数据,但更新时要做相容性检验
D. 做相容性检验会降低效率,可以不理睬数据库中的冗余数据

(2008) Web2.0是近年来互联网的热门概念之一,其核心思想是互动与分享。下列网站中,( )是典型的Web2.0应用。
A. Sina
B. Flickr
C. Yahoo
D. Google

(2009) 关于互联网,下面的说法哪一个是正确的:
A. 新一代互联网使用的IPv6标准是IPv5标准的升级与补充。
B. 互联网的入网主机如果有了域名就不再需要IP地址。
C. 互联网的基础协议为TCP/IP协议。
D. 互联网上所有可下载的软件及数据资源都是可以合法免费使用的。

(2009) 关于HTML下面哪种说法是正确的:
A. HTML实现了文本、图形、声音乃至视频信息的统一编码。
B. HTML全称为超文本标记语言。
C. 网上广泛使用的 Flash动画都是由HTML编写的。
D. HTML也是一种高级程序设计语言。

(2010) 在下列HTML语句中,可以正确产生一个指向NOI官方网站的超链接的是( )。
A. <a url="http://www.noi.cn">欢迎访问NOI网站</a>
B. <a href="http://www.noi.cn">欢迎访问NOI网站</a>
C. <a>http://www.noi.cn</a>
D. <a name="http://www.noi.cn">欢迎访问NOI网站</a>

(2012) ( )是主要用于显示网页服务器或者文件系统的HTML文件的内容,并让用户与这些文件交互的一种软件。
A. 资源管理器
B. 浏览器
C. 电子邮件
D. 编译器

(2009) 关于图灵机下面的说法哪个是正确的:
A. 图灵机是世界上最早的电子计算机。
B. 由于大量使用磁带操作,图灵机运行速度很慢。
C. 图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。
D. 图灵机只是一个理论上的计算模型。

(2011) 生物特征识别,是利用人体本身的生物特征进行身份认证的一种技术。目前,指纹识别、虹膜识别、人脸识别等技术已广泛应用于政府、银行、安全防卫等领域。一下不属于生物特征识别技术及其应用的是( )。
A. 指静脉验证
B. 步态验证
C. ATM机密码验证
D. 声音验证

(2012) 矢量图(Vector Image)图形文件所占的贮存空间比较小,并且无论如何放大、缩小或旋转等都不会失真,是因为它( )。
A. 记录了大量像素块的色彩值来表示图像
B. 用点、直线或者多边形等基于数学方程的几何图元来表示图像
C. 每个像素点的颜色信息均用矢量表示
D. 把文件保存在互联网,采用在线浏览的方式查看图像

(2012) 仿生学的问世开辟了独特的科学技术发展道路。人们研究生物体的结构、功能和工作原理,并将这些原理移植于新兴的工程技术中。以下关于仿生学的叙述,错误的是( )
A. 由研究蝙蝠,发明雷达
B. 由研究蜘蛛网,发明因特网
C. 由研究海豚,发明声纳
D. 由研究电鱼,发明伏特电池

(2013) 通常在搜索引擎中,对某个关键词加上双引号表示( )。
A. 排除关键词,不显示任何包含该关键词的结果
B. 将关键词分解,在搜索结果中必须包含其中的一部分
C. 精确搜索,只显示包含整个关键词的结果
D. 站内搜索,只显示关键词所指向网站的内容

(2008) 在32*32点阵的“字库”中,汉字“北”与“京”的字模占用字节数之和是( )。
A. 512
B. 256
C. 384
D. 128

(2010) 提出“存储程序”的计算机工作原理的是( )。
A. 克劳德·香农
B. 戈登·摩尔
C. 查尔斯·巴比奇
D. 冯·诺依曼

二部分

这部分题目的知识点也比较固定,讲解和回答起来的规律也很好把握,重点是平时的积累和记忆,建议是至少进行一遍讲解。

计算机发展过程

点评:主要考察计算机的发展历史

(2012) 1946年诞生于美国宾夕法尼亚大学的ENIAC属于( )计算机。
A. 电子管
B. 晶体管
C. 集成电路
D. 超大规模集成电路

(2011) 摩尔定律(Moore’s law)是由英特尔创始人之一戈登·摩尔(Gordon Moor)提出来的。根据摩尔定律,在过去几十年一级在可预测的未来纪念,单块集成电驴的集成度大约每( )个月翻一番。
A. 1
B. 6
C. 18
D. 36

(2012) 目前计算机芯片(集成电路)制造的主要原料是( ),它是一种可以在沙子中提炼出的物质。
A. 硅
B. 铜
C. 锗
D. 铝

(2017) 计算机应用的最早领域是( )。
A. 数值计算
B. 人工智能
C. 机器人
D. 过程控制

相关知识点
计算机发展的四个阶段:
第一个阶段(第1代):电子管数字机(1946至1958年)。
第二个阶段(第2代):晶体管数字机(1958至1964年)。
第三个阶段(第3代):集成电路数字机(1964至1970年)。
第四个阶段(第4代):大规模集成电路机(1970年至今)。

计算机最早被研究出来就是为了做数值计算(算数)的

摩尔定律每18个月翻一番,人体是碳基的,计算机是硅基的。

计算机厂商

点评:考察计算机芯片的主要厂商等

(2012) 目前个人电脑的( )市场占有率最靠前的厂商包括Intel、AMD等公司。
A. 显示器
B. CPU
C. 内存
D. 鼠标

(2015) 在 PC 机中,PENTIUM (奔腾)、酷睿、赛扬等是指( )。
A. 生产厂家名称
B. 硬盘的型号
C. CPU 的型号
D. 显示器的型号

(2016) 以下不是 CPU 生产厂商的是( )
A. Intel
B. AMD
C. Microsoft
D. IBM

(2016) 以下不是微软公司出品的软件是( )。
A. Powerpoint
B. Word
C.Excel
D. Acrobat Reader

相关知识点

计算机里最重要的就是CPU,一般考察的也是CPU 的厂商

CPU厂商:Intel、AMD、IBM
CPU型号:PENTIUM (奔腾)、酷睿、赛扬

视频、图像格式

点评:考察视频、图像、音频、文本的格式等

(2015) 下列选项中不属于视频文件格式的是( )。
A. TXT
B. AVI
C. MOV
D. RMVB

(2014) 下列选项中不属于图像格式的是( )。
A. JPEG格式
B. TXT格式
C. GIF格式
D. PNG格式

相关知识点
图像格式一般有:JPEG GIF PNG 
文本格式一般有:TXT、doc、docx
视频格式一般有:AVI RMVB MOV MPG4
音频格式一般有:MP3、WMA、WAV

计算机常用指令及其含义

点评:必得

(2013) 在 Windows 资源管理器中,用鼠标右键单击一个文件时,会出现一个名为“复制”的操作选项,它的意思是( )。
A. 用剪切板中的文件替换该文件
B. 在该文件所在文件夹中,将该文件克隆一份
C. 将该文件复制到剪切板,并保留原文件
D. 将该文件复制到剪切板,并删除原文件

相关知识点
复制:将该文件复制到剪切板,并保留原文件
剪切:将该文件剪切到剪切板,不保留原文件

ASCII码

点评:必得

(2007) ASCII码的含义是( )。
A. 二→十进制转换码
B. 美国信息交换标准代码
C. 数字的二进制编码
D. 计算机可处理字符的唯一编码

(2009) 关于ASCII,下面哪个说法是正确的:
A. ASCII码就是键盘上所有键的唯一编码。
B. 一个ASCII码使用一个字节的内存空间就能够存放。
C. 最新扩展的ASCII编码方案包含了汉字和其他欧洲语言的编码。
D. ASCII码是英国人主持制定并推广使用的。

(2009) 已知大写字母A的ASCII编码为65(10进制),则大写字母J的10进制ASCII编码为:
A. 71
B. 72
C. 73
D. 以上都不是

(2011) 字符“0”的ASCII码为48,则字符“9”的ASCII码为( )。
A. 39
B. 57
C. 120
D. 视具体的计算机而定

相关知识点
ASCII码是美国信息交换标准代码,是目前最通用的信息交换标准。
大写A的ASCII码是65,小写a的ASCII码是97,熟练掌握知道知道一位,求任意一位,掌握ASCII码表
在这里插入图片描述

计算机奖项

(2008) 在下列关于图灵奖的说法中,不正确的是( )。
A. 图灵奖是美国计算机协会于1966年设立的,专门奖励那些对计算机事业作出重要贡献的个人
B. 图灵奖有“计算机界诺贝尔奖”之称
C. 迄今为止,还没有华裔计算机科学家获此殊荣
D. 图灵奖的名称取自计算机科学的先驱、英国科学家阿兰·图灵

(2011) 1956年( )授予肖克利、巴丁和布拉顿,以表彰他们对半导体的研究和晶体管效应的发现。
A. 诺贝尔物理学奖
B. 约翰·冯·诺依曼奖
C. 图灵奖
D. 高德纳奖

(2014) 计算机界的最高奖是( )。
A. 菲尔兹奖
B. 诺贝尔奖
C. 图灵奖
D. 普利策奖

(2017) 以下和计算机领域密切相关的奖项是( )。
A. 奥斯卡奖
B. 图灵奖
C. 诺贝尔奖
D. 普利策奖

相关知识点:图灵奖

计算机语言及程序设计语言 <重点>

点评:汇编语言、高级语言、面向对象语言、结构化程序设计、解释性语言、编译性语言

(2007) 在下列关于计算机语言的说法中,正确的有( )。
A. 高级语言比汇编语言更高级,是因为它的程序的运行效率更高
B. 随着Pascal、C等高级语言的出现,机器语言和汇编语言已经退出了历史舞台
C. 高级语言比汇编语言程序更容易从一种计算机上移植到另一种计算机上
D. C是一种面向对象的高级计算机语言

(2008) 面向对象程序设计(Object-Oriented Programming)是一种程序设计的方法论,它将对象作为程序的基本单元,将数据和程序封装在对象中,以提高软件的重用性、灵活性和扩展性。下面关于面向对象程序设计的说法中,不正确的是( )。
A. 面向对象程序设计通常采用自顶向下设计方法进行设计。
B. 面向对象程序设计方法具有继承性(inheritance)、封装性(encapsulation)、多态性(polymorphism)等几大特点。
C. 支持面向对象特性的语言称为面向对象的编程语言,目前较为流行的有C++、JAVA、C#等。
D. 面向对象的程序设计的雏形来自于Simula语言,后来在SmallTalk语言的完善和标准化的过程中得到更多的扩展和对以前思想的重新注解。至今,SmallTalk语言仍然被视为面向对象语言的基础。

(2009) 关于程序设计语言,下面哪个说法是正确的:
A. 加了注释的程序一般会比同样的没有加注释的程序运行速度慢。
B. 高级语言开发的程序不能使用在低层次的硬件系统如:自控机床或低端手机上。
C. 高级语言相对于低级语言更容易实现跨平台的移植。
D. 以上说法都不对。

(2011) 关于汇编语言,下列说法错误的是( )
A. 是一种与具体硬件相关的程序设计语言
B. 在编写复杂程序时,相对于高级语言而言代码量较大,且不易调试
C. 可以直接访问寄存器、内存单元、以及I/O端口
D. 随着高级语言的诞生,如今已完全被淘汰,不再使用

(2010) Pascal语言、C语言和C++语言都属于( )。
A. 面向对象语言
B. 脚本语言
C. 解释性语言
D. 编译性语言

(2014) 以下哪个是面向对象的高级语言( )。
A. 汇编语言
B. C++
C. Fortran
D. Basic
(2017) 下列不属于面向对象程序设计语言的是( )。
A. C
B. C++
C. Java
D. C#

相关知识点

程序设计语言从结构化程序设计逐步过渡到面向对象程序设计,

解释性语言: 解释性语言在运行 程序的时候才翻译,比如解释性basic语言,专门有一个 解释器能够直接执行basic程序,每个语句都是执行的时候才翻译。这样 解释性语言每执行一次就要翻译一次,效率比较低。

编译性语言:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。

高级语言:高级语言的可移植性更强

面向对象语言: C++、 Java、 C#、python

竞赛相关题

(2007) 在下列各软件,不属于NOIP竞赛(复赛)推荐使用的语言环境有( )。编者注:这是2007年
A. gcc
B. g++
C. Turbo C
D. Free Pascal
(2008) 下列不属于NOIP竞赛推荐使用的语言环境的是( )。
A. Dev-C++
B. Visual C++
C. free pascal
D. Lazarus
(2009) 全国信息学奥林匹克竞赛的官方网站为参与信息学竞赛的老师同学们提供相关的信息和资源,请问全国信息学奥林匹克竞赛官方网站的网址是:
A. http://www.noi.com/
B. http://www.noi.org/
C. http://www.noi.cn/
D. http://www.xinxixue.com/

(2009) 在参加NOI系列竞赛过程中,下面哪一种行为是 不 被严格禁止的:
A. 携带书写工具,手表和不具有通讯功能的电子词典进入赛场。
B. 在联机测试中通过手工计算出可能的答案并在程序里直接输出答案来获取分数。
C. 通过互联网搜索取得解题思路。
D. 在提交的程序中启动多个进程以提高程序的执行效率。

(2010) 全国青少年信息学奥林匹克系列活动的主办单位是( )。
A. 教育部
B. 科技部
C. 共青团中央
D. 中国计算机学会

(2013) CCF NOIP 复赛全国统一评测时使用的系统软件是( )。
A. NOI Windows
B. NOI Linux
C. NOI Mac OS
D. NOI DOS

(2016) 参加NOI比赛,以下不能带入考场的是()。
A. 钢笔
B. 适量的衣服
C. U盘
D. 铅笔

(2017) 从( )年开始,NOIP 竞赛将不再支持 Pascal 语言。
A. 2020
B. 2021
C. 2022
D. 2023

(2018) 中国计算机学会于( )年创办全国青少年计算机程序设计竞赛。
A. 1983
B. 1984
C. 1985
D. 1986

计算机网络

计算机网络分布范围

点评:考察计算机网络的分类

(2007&2015) LAN的含义是( )。
A. 因特网
B. 局域网
C. 广域网
D. 城域网

(2018) 广域网的英文缩写是( )。
A. LAN
B. WAN
C. MAN
D. LNA

相关知识点
计算机网络按分布范围的不同划分为:广域网(WAN)、城域网(MAN)和局域网(LAN)
广域网:国家、地区
城域网:街区、城市
局域网:家庭、公司、学校

计算机网络常见协议

(2015) FTP 可以用于( ) 。
A. 远程传输文件
B. 发送电子邮件
C. 浏览网页
D. 网上聊天

(2017) 下列协议中与电子邮件无关的是( )。
A. POP3
B. SMTP
C. WTO
D. IMAP

(2012) ( )是目前互联网上常用的E-mail服务协议。
A. HTTP
B. FTP
C. POP3
D. Telnet

(2014) 以下哪一种是属于电子邮件收发的协议( )。
A. SMTP
B. UDP
C. P2P
D. FTP

相关知识点
文件传输协议:FTP
邮件协议:POP3,SMTP,IMAP

有线、无线通讯技术

点评:考察通讯技术

(2016) 以下不属于无线通信技术的是( )。
A. 蓝牙
B. WiFi
C. GPRS
D. 以太网

(2012) 蓝牙和Wi-Fi都是( )设备。
A. 无线广域网
B. 无线城域网
C. 无线局域网
D. 无线路由器

相关知识点
无线通讯技术:wifi,蓝牙,GPRS等
无线、和蓝牙的范围比较小,所以是无线局域网

即时通信软件

点评:必得

(2015) 下面哪种软件不属于即时通信软件( )。
A. QQ
B. MSN
C. 微信
D. P2P

相关知识点
即时通信软件:QQ、MSN、微信、

(2012) 无论是TCP/IP模型还是OSI模型,都可以视为网络的分层模型,每个网络协议都会被归入某一层中。如果用现实生活中的例子来比喻这些“层”,以下最恰当的是( )。
A. 中国公司的经理与波兰公司的经理交互商业文件
B. 军队发布命令
C. 国际会议中,每个人都与他国地位对等的人直接进行会谈
D. 体育比赛中,每一级比赛的优胜者晋级上一级比赛

(2013) 中国的国家顶级域名是( )。
A. .cn
B. .ch
C. .chn
D. .china

(2013) IPv4 协议使用32 位地址,随着其不断被分配,地址资源日趋枯竭。因此,它正逐渐被使用( )位地址的 IPv6 协议所取代。
A. 40
B. 48
C. 64
D. 128

(2014) 下列几个32位IP地址中,书写错误的是( )。
A. 162.105.135.27
B. 192.168.0.1
C. 256.256.129.1
D. 10.0.0.1

相关知识点
域名:中国 .cn 教育:.edu 公司:.com
IPv4:使用32位地址,最大为255.255.255.255
IPv6:使用64位地址

操作系统

(2008) 在以下各项中,( )不是操作系统软件。
A. Solaris
B. Linux
C. Windows Vista
D. Sybase

(2009)下列软件中不是计算机操作系统的是:
A. Windows
B. Linux
C. OS/2
D. WPS

(2010) Linux下可执行文件的默认扩展名为( )。
A. exe
B. com
C. dll
D. 以上都不是

(2012) ( )不属于操作系统。
A. Windows
B. DOS
C. Photoshop
D. NOI Linux

(2014) 下列对操作系统功能的描述最为完整的是( )。
A. 负责外设与主机之间的信息交换
B. 负责诊断机器的故障
C. 控制和管理计算机系统的各种硬件和软件资源的使用
D. 将没有程序编译成目标程序

(2015) 操作系统的作用是( )。
A. 把源程序译成目标程序
B. 便于进行数据管理
C. 控制和管理系统资源
D. 实现硬件之间的连接

(2015) 所谓的“中断”是指( )。
A. 操作系统随意停止一个程序的运行
B. 当出现需要时,CPU 暂时停止当前程序的执行转而执行处理新情况的过程
C. 因停机而停止一个程序的运行
D. 电脑死机

(2015) 计算机病毐是( )。
A. 通过计算机传播的危害人体健康的一种病毒
B. 人为制造的能够侵入计算机系统并给计算机带来故障的程序或指令集合
C. 一种由于计算机元器件老化而产生的对生态环境有害的物质
D. 利用计算机的海量高速运算能力而研制出来的用于疾病预防的新型病毒

相关知识点

常见操作系统:Windows、Linux、Solaris、OS
操作系统的功能:控制和管理系统资源
操作系统的作用:控制和管理系统资源

计算机组成原理

计算机系统体系和结构

点评:
(2007) 一个完整的计算机系统应包括( )。
A. 系统硬件和系统软件
B. 硬件系统和软件系统
C. 主机和外部设备
D. 主机、键盘、显示器和辅助存储器

(2008) 微型计算机中,控制器的基本功能是( )。
A. 控制机器各个部件协调工作
B. 实现算术运算和逻辑运算
C. 获取外部信息
D. 存放程序和数据

(2014&2018) 以下哪一种设备属于输出设备( )。
A. 扫描仪
B. 键盘
C. 鼠标
D. 打印机

(2016) 以下不是存储设备的是( )。
A. 光盘 B. 磁盘 C. 固态硬盘 D. 鼠标

(2014) CPU、存储器、I/O设备是通过( )连接起来的。
A. 接口
B. 总线
C. 控制线
D. 系统文件

(2009)关于BIOS下面说法哪个是正确的:
A. BIOS是计算机基本输入输出系统软件的简称。
B. BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输入输出设备的驱动程序。
C. BIOS一般由操作系统厂商来开发完成。
D. BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

(2011) 从ENIAC到当前最先进的计算机,冯·诺依曼体系结构始终占有重要地位。冯诺依曼体系结构的核心内容是( )。
A. 采用开关电路
B. 采用半导体器件
C. 采用存储程序和程序控制原理
D. 采用键盘输入

相关知识点
一个完整的计算机系统,是由硬件系统和软件系统两大部分组成的。计算机主要分五个部分:控制器,运算器,存储器,输入设备,输出设备。
控制器的功能是:控制目前个人电脑的机器各个部件协调工作
计算器的功能是:实现算术运算和逻辑运算
存储器的功能是:存放程序和数据
输入设备功能是: 获取外部信息
输出设备:输出计算机中的信息并显示
常见的输入设备有:鼠标、键盘、扫描仪
常见的输出设备有:打印机
BIOS:

字节、数据存储单位转换 <重点>

点评:简单题(重点

(2015) 在计算机内部用来传送、存贮、加工处理的数据或指令都是以( )形式进行的。
A. 二进制码
B. 八进制码
C. 十进制码
D. 智能拼音码

(2016) 以下是 32 位机器和 64 位机器的区别是( )。
A. 显示器不同
B. 硬盘大小不同
C. 寻址空间不同
D. 输入法不同

(2012) 地址总线的位数决定了CPU可直接寻址的内存空间大小,例如地址总线为16位,其最大的可寻址空间为64KB。如果地址总线是32位,则理论上最大可寻址的内存空间为( )。
A. 128KB
B. 1MB
C. 1GB
D. 4GB

(2007) 在下列各项中,只有( )不是计算机存储容量的常用单位。
A. Byte B. KB C. UB D. TB

(2010) 一个字节(byte)由( )个二进制位组成。
A. 8
B. 16
C. 32
D. 以上都有可能

(2011) 一片容量为8G的SD卡能储存大约( )张大小为2MB的数码照片。
A. 1600
B. 2000
C. 4000
D. 16000

(2013) 一个 32 位整型变量占用( )个字节。
A. 4
B. 8
C. 32
D. 128

(2014) 1TB代表的字节数是( )。
A. 2的10次方
B. 2的20次方
C. 2的30次方
D. 2的40次方

(2015&2018) 1MB 等于( )。
A. 1000 字节
B. 1024 字节
C.1000 X 1000 字节
D. 1024 X 1024 字节

(2017) 计算机存储数据的基本单位是( )。
A. bit
B. Byte
C. GB
D. KB

(2017) 分辨率为 800x600、16 位色的位图,存储图像信息所需的空间为( )。
A. 937.5KB
B. 4218.75KB
C. 4320KB
D. 2880KB

相关知识点
二进制序列用以表示计算机数据的存储容量,基本单位为字节B(Byte),字节向上分别为KB、MB、GB、TB,每级为前一级的1024倍,比如1KB=1024B,1M=1024KB 熟练掌握字节之间的转换
一个字节是由8个二进制位所组成,如10001000就是一字节。

码相关题目

(2010) 一个字长为8位的整数的补码是11111001,则它的原码是( )。
A. 00000111
B. 01111001
C. 11111001
D. 10000111

(2017) 在8位二进制补码中,10101011 表示的数是十进制下的( )。
A. 43 B. -85 C. -43 D. -84

相关知识点
这类题目主要考察的是码、补码、原码之间的转换

内存、外存、高速缓存等

(2009)关于计算机内存下面的说法哪个是正确的:
A. 随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。
B. 1MB内存通常是指1024*1024字节大小的内存。
C. 计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。
D. 一般内存中的数据即使在断电的情况下也能保留2个小时以上。

(2010) 主存储器的存取速度比中央处理器(CPU)的工作速度慢得多,从而使得后者的效率受到影响。而根据局部性原理,CPU所访问的存储单元通常都趋于聚集在一个较小的连续区域中。于是,为了提高系统整体的执行效率,在CPU中引入了( )。
A. 寄存器
B. 高速缓存
C. 闪存
D. 外存

(2011) 寄存器是( )的重要组成部分。
A. 硬盘
B. 高速缓存
C. 内存
D. 中央处理器(CPU)

(2012) 计算机如果缺少( ),将无法正常启动。
A. 内存
B. 鼠标
C. U盘
D. 摄像头

(2011) 有人认为,在个人电脑送修前,将文件放入回收站中就是已经将其删除了。这种想法是( )。
A. 正确的,将文件放入回收站以为着彻底删除、无法恢复
B. 不正确的,只有将回收站清空后,才意味着彻底删除、无法恢复
C. 不正确的,即使回收站清空,文件只是被标记为删除,仍可能通过回复软件找回
D. 不正确的,只要在硬盘上出现过的文件,永远不可能被彻底删除

(2007) 以下断电后仍能保存数据的有( )。
A. 硬盘 B. 高速缓存 C. 显存 D. RAM

(2008) 计算机在工作过程中,若突然停电,( )中的信息不会丢失。
A. ROM和RAM B. CPU C. ROM D. RAM

(2014) 断电后会丢失数据的存储器是( )。
A. RAM
B. ROM
C. 硬盘
D. 光盘

相关知识点
计算机中的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存)
内存又称主存,包括随机存储器(RAM),只读存储器(ROM),以及高速缓存(CACHE),一般内存断电后里面的数据会消失

随机存取存储器(RAM)只读存储器(ROM)
读、写
数据丢失数据不丢失
随机寻址随机寻址

非易失性存储器(ROM)是指即使电源供应中断,存储器所存储的数据并不会消失,重新供电后,就能够读取存储器中的数据,硬盘、软盘、磁带都属于ROM。

CPU相关题目

(2007) 在以下各项中,( )不是CPU的组成部分
A. 控制器 B. 运算器 C. 寄存器 D. 主板

(2009) 关于CPU下面哪个说法是正确的:
A. CPU全称为中央处理器(或中央处理单元)。
B. CPU可以直接运行汇编语言。
C. 同样主频下,32位的CPU比16位的CPU运行速度快一倍。
D. CPU最早是由Intel公司发明的。

(2015) 下列说法正确的是( )。
A. CPU 的主要任务是执行数据运算和程序控制
B. 存储器具有记忆能力,其中信息任何时候都不会丢失
C. 两个显示器屏幕尺寸相同,则它们的分辨率必定相同
D. 个人用户只能使用 Wifi 的方式连接到 Internet

相关知识点
CPU是中央处理器的简称,是信息处理、程序运行的最终执行单元。
CPU由运算器、控制器和寄存器所组成
CPU的功能:处理指令、执行操作、控制时间、处理数据等功能

三部分

这是整门考试的核心部分,每年的分数占比都很高

数学相关

(2017) 对于给定的序列{ak},我们把 (i, j) 称为逆序对当且仅当 i < j 且 ai > aj。那么 序列 1, 7, 2, 3, 5, 4 的逆序对数为( )个。
A. 4
B. 5
C. 6
D. 7

(2016) 下图表示一个果园灌溉系统,有 A、B、C、D 四个阀门,每个阀门可以打开或关上,所有管道粗细相同,以下设置阀门的方法中,可以让果树浇上水的是()。
在这里插入图片描述
A. B 打开,其他都关上
B. AB 都打开,CD 都关上
C. A 打开,其他都关上
D. D 打开,其他都关上

(2017) 2017 年 10 月 1 日是星期日,1999 年 10 月 1 日是( )。
A. 星期三
B. 星期日
C. 星期五
D. 星期二

(2017) 甲、乙、丙三位同学选修课程,从 4 门课程中,甲选修 2 门,乙、丙各选修3门,则不同的选修方案共有( )种。
A. 36
B. 48
C. 96
D. 192

(2018) 10000 以内,与 10000 互质的正整数有( )个。
A. 2000
B. 4000
C. 6000
D. 8000

(2018) 设含有10 个元素的集合的全部子集数为 S,其中由 7 个元素组成的子集数为 T,则 T / S 的值为( )。
A. 5 / 32
B. 15 / 128
C. 1 / 8
D. 21 / 128

排列组合

(2016) 有7个一模一样的苹果,放到3个一样的盘子中,一共有()种放法。
A. 7
B. 8
C. 21
D. 3^7

(2017) 一家四口人,至少两个人生日属于同一月份的概率是( )(假定每个人生日属于每个月份的概率相同且不同人之间相互独立)。
A. 1/12
B. 1/144
C. 41/96
D. 3/4

进制转换和计算 <重点>

点评
考察整数和小数的 二进制、八进制、十进制、十六进制之间的相互转换,还有进制之间的计算(加、减、乘等)。重点,每年必考

NOIP进制转换题 + 解析
NOIP进制转换知识点

数据结构<重点>

线性表

点评:这题有点偏,不看也罢

(2010) 双向链表中有两个指针域llink和rlink,分别指向该结点的前驱及后继。设p指向链表中的一个结点,它的左右结点均非空。现要求删除结点p,则下面语句序列中错误的是( )。
A. p->rlink->llink = p->rlink;
p->llink->rlink = p->llink; delete p;
B. p->llink->rlink = p->rlink;
p->rlink->llink = p->llink; delete p;
C. p->rlink->llink = p->llink;
p->rlink->llink->rlink = p->rlink; delete p;
D. p->llink->rlink = p->rlink;
p->llink->rlink->llink = p->llink; delete p;

点评:主要考察线性表的概念,链表和顺序表的特点,线性表的存取方式和比较。

(2014) 链表不具有的特点是( )。
A. 不必事物估计存储空间
B. 可随机访问任一元素
C. 插入删除不需要移动元素
D. 所需空间与线性表长度成正比

(2015) 链表不具备的特点是( )。
A. 可随机访问任何一个元素 B. 插入、删除操作不需要移动元素
C. 无需事先估计存储空间大小 D. 所需存储空间与存储元素个数成正比

(2015) 线性表若采用链表存储结构,要求内存中可用存储单元地址( )
A.必须连续 B.部分地址必须连续 C. 一定不连续 D.连续不连续均可

相关知识点
顺序表:可以顺序存取,也可以随机存取,逻辑上相邻的元素,对应的物理存储位置也相邻。
链表:链表只能从表头顺序存取,逻辑上相邻的元素,其物理存储位置不一定相邻。

点评: 进栈、出栈的序列、顺序、栈的容量、前缀、后缀表达式

进出栈序列

点评: 这部分内容的解题思路基本固定,通过学会一道题基本可以做出来其余的题。

(2007) 地面上有标号为A、B、C的三根柱,在A柱上放有10个直径相同中间有孔的圆盘,从上到下依次编号为1,2,3……,将A柱上的部分盘子经过B柱移入C柱,也可以在B柱上暂存。如果B柱上的操作记录为“进、进、出、进、进、出、出、进、进、出、进、出、出”。那么,在C柱上,从下到上的编号为( )。
A. 2 4 3 6 5 7
B. 2 4 1 2 5 7
C. 2 4 3 1 7 6
D. 2 4 3 6 7 5

(2009) 有六个元素FEDCBA 从左至右依次顺序进栈,在进栈过程中会有元素被弹出栈。问下列哪一个不可能是合法的出栈序列?
A. EDCFAB
B. DECABF
C. CDFEBA
D. BCDAEF

(2010) 元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的不可能是( )。
A. R1
B. R2
C. R4
D. R5

(2012) 如果一个栈初始时为空,且当前栈中的元素从栈底到栈顶依次为a,b,c,另有元素d已经出栈,则可能的入栈顺序是( )。
A. a, d, c, b
B. b, a, c, d
C. a, c, b, d
D. d, a, b, c

(2013&2018) 下图中所使用的数据结构是( )。
在这里插入图片描述
A. 哈希表
B. 栈
C. 队列
D. 二叉树

(2015) 今有一空栈 S,对下列待进栈的数据元素序列 a,b,c,d,e,f 依次进行进栈,进栈,出栈,进栈,进 栈,出栈的操作,则此操作完成后,栈 S 的栈顶元素为( )。
A. f B. c C. a D. b

(2017) 对于入栈顺序为 a, b, c, d, e, f, g 的序列,下列( )不可能是合法的出栈序列。
A. a, b, c, d, e, f, g
B. a, d, c, b, e, g, f
C. a, d, b, c, g, f, e
D. g, f, e, d, c, b, a

偏难
(2017) 向一个栈顶指针为 hs 的链式栈中插入一个指针 s 指向的结点时,应执行( )。
A. hs->next = s;
B. s->next = hs; hs = s;
C. s->next = hs->next; hs->next = s;
D. s->next = hs; hs = hs->next;

相关知识点
栈是后进先出的一种数据结构,得熟练运用进栈出栈,先进栈的后出,不能出在后进栈之前。
例如:
a,b,c可能的出栈序列都包括:
a,b,c
a,c,b
b,c,a
b,a,c
c,b,a

栈容量

(2008) 设栈S的初始状态为空,元素a,b,c,d,e,f依次入栈S,出栈的序列为b,d,f,e,c,a,则栈S的容量至少应该是( )。
A. 6
B. 5
C. 4
D. 3

前缀、后缀表达式

(2009) 表达式a * (b+c)-d的后缀表达式是:
A. abcd*±
B. abc+d-
C. abc
+d-
D. -+*abcd

(2010) 前缀表达式+ 3 * 2 + 5 12的值是( )。
A. 23
B. 25
C. 37
D. 65

(2017) 表达式 a * (b + c) * d 的后缀形式是( )。
A. a b c d * + *
B. a b c + * d *
C. a * b c + * d
D. b + c * a * d

相关知识点

会把前缀和后缀转化成中缀表达式,利用进栈出栈的方法求解。

队列

(2012) () 是一种先进先出的线性表。
A. 栈
B. 队列
C. 哈希表(散列表)
D. 二叉树

相关知识点
栈:后进先出
队列:先进先出

字符串

点评:主要考察的内容是:字符串的概念和字符串子串数目的求法。

(2008) 设字符串S=”Olympic”,S的非空子串的数目是( )。
A. 28
B. 29
C. 16
D. 17

(2012) 原字符串中任意一段连续的字符所组成的新字符串称为子串。则字符“AAABBBCCC”共有( )个不同的非空子串。
A. 3
B. 12
C. 36
D. 45

(2016) 以下关于字符串的判定语句中正确的是()。
A. 字符串是一种特殊的线性表
B. 串的长度必须大于零
C. 字符串不可以用数组来表示
D. 空格字符组成的串就是空串

(2017) 若串 S = “copyright”,其子串的个数是( )。
A. 72
B. 45
C. 46
D. 36

相关知识点
利用排列组合求子串,别忘了空串

树与完全二叉树

点评: 考察树的结点(叶结点)、树的深度、完全二叉树、满二叉树,有些可以画图解决。

(2008) 完全二叉树共有2N-1个结点,则它的叶节点数是( )。
A. N-1
B. N
C. 2N
D. 2^N-1

(2009) 一个包含n个分支结点(非叶结点)的非空二叉树,它的叶结点数目最多为:
A. 2n+1
B. 2n-1
C. n-1
D. n+1

(2010) 如果树根算第1层,那么一棵n层的二叉树最多有( )个结点。
A. 2^n-1
B. 2^n
C. 2^n+1
D. 2^(n+1)

(2008) 设T是一棵有n个顶点的树,下列说法不正确的是( )。
A. T有n条边
B. T是连通的
C. T是无环的
D. T有n-1条边

(2015) 如果根的高度为 1,具有 61 个结点的完全二叉树的高度为( )
A. 5
B. 6
C. 7
D. 8

(2010) 完全二叉树的顺序存储方案,是指将完全二叉树的结点从上至下、从左至右依次存放到一个顺序结构的数组中。假定根结点存放在数组的1号位置,则第k号结点的父结点如果存在的话,应当存放在数组的( )号位置。
A. 2k
B. 2k+1
C. k/2下取整
D. (k+1)/2下取整

(2011) 如果根结点的深度记为1,则一棵恰有2011个叶结点的二叉树的深度最少是( )。
A. 10
B. 11
C. 12
D. 13

(2013) 已知一棵二叉树有10 个节点,则其中至多有( )个节点有 2 个子节点。
A. 4
B. 5
C. 6
D. 7

(2013) 二叉树的( )第一个访问的节点是根节点。
A. 先序遍历
B. 中序遍历
C. 后序遍历
D. 以上都是

(2014) 一棵具有5层的满二叉树中结点数为( )。
A. 31
B. 32
C. 33
D. 16

(2016) 一棵二叉树如右图所示,若采用顺序存储结构,即用一 维数组元素存储该二叉树中的结点(根结点的下标为 1, 若某结点的下标为 i ,则其左孩子位于下标 2i 处、右孩 子位于下标(2i+1)处),则图中所有结点的最大下标为( )。

在这里插入图片描述
A. 6
B. 10
C. 12
D. 15

(2018) 根节点深度为 0,一棵深度为 h 的满 k(k>1)叉树,即除最后一层无任何子 节点外,每一层上的所有结点都有 k 个子结点的树,共有( )个结点。
A. (k^(h+1)-1)/(k-1)
B. k^(h-1)
C. k^h
D. (k^(h-1))/(k-1)

相关知识点

非空二叉树上第K层上至多有2^(k-1)个结点(K≥1)
高度为H的二叉树至多有(2^H)-1个结点(H≥1)。
对完全二叉树按从上到下、从左到右的顺序依次编号1, 2, … N,则有以下关系:
当i>1时, 结点i的双亲结点编号为[i/2」,即当i为偶数时,其双亲结点的编号为i/2,
它是双亲结点的左孩子: 当i为奇数时,其双亲结点的编号为(i-1)2, 它是双亲结点的右孩子。
当2i≤N时, 结点i的左孩子编号为2i,否则无左孩子。
目当2i+1≤N时,结点i 的右孩子编号为2i+1,否则无右孩子。

树的遍历

点评: 考察树的遍历,前序中序、后序遍历等方法的使用

(2007) 已知7个节点的二叉树的先根遍历是1 2 4 5 6 3 7(数字为节点的编号,以下同),中根遍历是4 2 6 5 1 7 3,则该二叉树的后根遍历是( )。
A. 4 6 5 2 7 3 1
B. 4 6 5 2 1 3 7
C. 4 2 3 1 5 4 7
D. 4 6 5 3 1 7 2

(2008) 二叉树T,已知其先根遍历是1 2 4 3 5 7 6(数字为结点的编号,以下同),中根遍历是2 4 1 5 7 3 6,则该二叉树的后根遍历是( )。
A. 4 2 5 7 6 3 1
B. 4 2 7 5 6 3 1
C. 7 4 2 5 6 3 1
D. 4 2 7 6 5 3 1

(2010) 一棵二叉树的前序遍历序列是ABCDEFG,后序遍历序列是CBFEGDA,则根结点的左子树的结点个数可能是( )。
A. 2
B. 3
C. 4
D. 5

(2012) 如果一棵二叉树的中序遍历是BAC,那么它的先序遍历不可能是( )。
A. ABC
B. CBA
C. ACB
D. BAC

(2015) 前序遍历序列与中序遍历序列相同的二叉树为( )。
A. 根结点无左子树的二叉树
B. 根结点无右子树的二叉树
C. 只有根结点的二叉树或非叶子结点只有左子树的二叉树
D. 只有根结点的二叉树或非叶子结点只有右子树的二叉树

(2010) 关于拓扑排序,下面说法正确的是( )。
A. 所有连通的有向图都可以实现拓扑排序
B. 对同一个图而言,拓扑排序的结果是唯一的
C. 拓扑排序中入度为0的结点总会排在入度大于0的结点的前面
D. 拓扑排序结果序列中的第一个结点一定是入度为0的点

(2009)已知n个顶点的有向图,若该图是强连通的(从所有顶点都存在路径到达其他顶点),则该图中最少有多少条有向边?
A. n
B. n+1
C. n-1
D. n(n-1)

(2016) 设简单无向图 G 有 16 条边且每个顶点的度数都是 2,则图 G 有()个顶点。
A. 10
B. 12
C. 8
D. 16

(2017) 设 G 是有 n 个结点、m 条边(n ≤ m)的连通图,必须删去 G 的( )条边,才能使得 G 变成一棵树。
A. m – n + 1
B. m - n
C. m + n + 1
D. n – m + 1

(2016) Lucia 和她的朋友以及朋友的朋友都在某社交网站上注册了账号。下图是他 们之间的关系图,两个人之间有边相连代表这两个人是朋友,没有边相连代 表不是朋友。这个社交网站的规则是:如果某人 A 向他(她)的朋友 B 分 享了某张照片,那么 B 就可以对该照片进行评论;如果 B 评论了该照片,那 么他(她)的所有朋友都可以看见这个评论以及被评论的照片,但是不能对 该照片进行评论(除非 A 也向他(她)分享了该照片)。现在 Lucia 已经上 传了一张照片,但是她不想让 Jacob 看见这张照片,那么她可以向以下朋友 ( )分享该照片。

在这里插入图片描述
A. Dana, Michael, Eve
B. Dana, Eve, Monica
C. Michael, Eve, Jacob
D. Micheal, Peter, Monica

(2016) 周末小明和爸爸妈妈三个人一起想动手做三道菜。小明负责洗菜、爸爸负责 切菜、妈妈负责炒菜。假设做每道菜的顺序都是:先洗菜 10 分钟,然后切 菜 10 分钟,最后炒菜 10 分钟。那么做一道菜需要 30 分钟。注意:两道不 同的菜的相同步骤不可以同时进行。例如第一道菜和第二道的菜不能同时洗, 也不能同时切。那么做完三道菜的最短时间需要( )分钟。
A. 90
B. 60
C. 50
D. 40

(2011) 无向完全图是图中每对顶点之间都恰好有一条边的简单图。已知无向完全图G有7个顶点,则它共有( )条边。
A. 7
B. 21
C. 42
D. 49

(2011) 对一个有向图而言,如果每个节点都存在到达其他任何节点的路径,那么就称它是强连通的。例如,下图就是一个强连通图。事实上,在删掉边( )后,它依然是强连通的。
A. a B. b C. c D. d

**(2013) 在一个无向图中,如果任意两点之间都存在路径相连,则称其为连通图。下图是一个有4 个顶点、 6 条边的连通图。若要使它不再是连通图,至少要删去其中的( )条边。 **
在这里插入图片描述
A. 1
B. 2
C. 3
D. 4

(2015) 6 个顶点的连通图的最小生成树,其边数为( )。
A. 6
B. 5
C. 7
D. 4

(2014) 有向图中每个顶点的度等于该顶点的( )。
A. 入度
B. 出度
C. 入度和出度之和
D. 入度和出度之差

(2018) 由四个没有区别的点构成的简单无向连通图的个数是( )。
A. 6
B. 7
C. 8
D. 9

哈夫曼树和哈夫曼编码

(2011) 现有一段文言文,要通过二进制哈夫曼编码进行压缩。简单起见,假设这段文言文只由4个汉字“之”、“呼”、“者”、“也”组成,它们出现的次数分别为700、600、300、200。那么,“也”字的编码长度是( )。
A. 1
B. 2
C. 3
D. 4

深度优先和广度优先

(2011) 广度优先搜索时,需要用到的数据结构是( )。
A. 链表
B. 队列
C. 栈
D. 散列表

(2013) 以 A0 作为起点,对下面的无向图进行深度优先遍历时,遍历顺序不可能是( )。
在这里插入图片描述
A. A0, A1 , A2, A3
B. A0, A1, A3, A2
C. A0, A2, A1, A3
D. A0, A3, A1, A2

哈希表

(2013) 将(2, 6, 10, 17)分别存储到某个地址区间为0~10 的哈希表中,如果哈希函数h(x) = ( ),将不会产生冲突,其中a mod b 表示 a 除以 b 的余数。
A. x mod 11
B. x^2 mod 11
C. (2x) mod 11
D. ⌊ √x ⌋ mod 11,其中⌊ √x ⌋代表√x 向下取整

算法、排序

时间空间复杂度

点评:掌握时间复杂度和空间复杂度的概念,知道怎么计算一个程序的时间复杂度。

(2011) 在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指( )。
A. 程序运行时理论上所占的内存空间
B. 程序运行时理论上所占的数组空间
C. 程序运行时理论上所占的硬盘空间
D. 程序源文件理论上所占的硬盘空间

(2011) 在含有n个元素的双向链表中查询是否存在关键字为k的元素,最快情况下运行的时间复杂度是( )。
A. O(1 )
B. O( log n )
C. O( n )
D. O( n log n )

(2015) 某算法的计算时间表示为递推关系式 T(n)=T(n-1)+n(n 为正整数)及 T(0)=1,则该算法的时间复杂度为( )
A. O(logn)
B. O(nlogn)
C. O(n)
D. O(n^2)

相关知识点:

时间复杂度:它定性描述该算法的运行时间
空间复杂度:一个算法在运行过程中临时占用存储空间大小的量度

贪心、动态规划、分冶

点评:了解贪心、动态规划、分冶算法等算法思想,结合生活实际即可

(2011) ( )是一种选优搜索法,按选优条件向前搜索,以达到目标。当搜索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择。
A. 回溯法
B. 枚举法
C. 动态规划
D. 贪心

(2012) ( )就是把一个复杂的问题分成两个或更多的相同类似的子问题,再把子问题分解成更小的子问题……直到最后的子问题可以简单地直接求解。而原问题的解就是子问题解的并。
A. 动态规划
B. 贪心
C. 分治
D. 搜索

相关知识点:

贪心算法:在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部 最优解。
动态规划:把多阶段过程转化为一系列单阶段问题,利用各阶段之间的关系,逐个求解。
分冶算法:把一个规模为N的问题分成两个或多个较小的与原问题类型相同的子问题,通过对子问题的求解,并把子问题的解合并起来从而构成整个问题的解,即对问题各个击破,分而治之。

递归算法

点评: 选择题考察的主要是概念性的问题,熟练掌握递归算法的概念

(2008) 递归过程或函数调用时,处理参数和返回地址,通常使用一种称为( )的数据结构。
A. 队列
B. 多维数组
C. 线性表
D. 栈

(2012) 在程序运行过程中,如果递归调用的层数过多,会因为( )引发错误。
A. 系统分配的栈空间溢出
B. 系统分配的堆空间溢出
C. 系统分配的队列空间溢出
D. 系统分配的链表空间溢出

(2013&2018) 下面的故事与( )算法有着异曲同工之妙。 从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:从前有座山,山里有座庙,庙里有个老和尚在给小和尚讲故事:‘从前有座山,山里有座庙,庙里有个老和尚给小和尚讲故事…’
A. 枚举
B. 递归
C. 贪心
D. 分治

相关知识点

排序算法

二分

(2008) 对有序数组{5, 13, 19, 21, 37, 56, 64, 75, 88,92,100}进行二分查找,成功查找元素19的查找长度(比较次数)是( )。
A. 1
B. 2
C. 3
D. 4

(2009) 有一个由4000个整数构成的顺序表,假定表中的元素已经按升序排列,采用二分查找定位一个元素。则最多需要几次比较就能确定是否存在所查找的元素:
A. 11次
B. 12次
C. 13次
D. 14次

(2014) 设有100个数据元素,采用折半搜索时,最大比较次数为( )。
A. 6
B. 7
C. 8
D. 10

相关知识点

折半查找也称二分法查找,是一种在有序数组中查找某一特定元素的搜索算法。这种方法要求待查找的表顺序存储而且必须是有序的。首先计算表中间的位置,将表中间位置处的关键字与查找的关键字进行比较,如果相等,则查找成功;否则利用中间位置将表分为前、后两个子表,如果中间位置的关键字大于查找的关键字,则查找前子表,否则查找后子表。重复上面的过程,直到找到要查找的关键字为止,否则查找失败不存在此关键字。

冒泡

(2008) 将数组{8, 23, 4, 16, 77, -5, 53, 100}中的元素按从大到小的顺序排列,每次可以交换任意两个元素,最少需要交换( )次。
A. 4
B. 5
C. 6
D. 7

(2012) 使用冒泡排序对序列进行升序排列,每执行一次交换操作系统将会减少1个逆序对,因此序列 5,4,3,2,1需要执行( )次操作,才能完成冒泡排序。
A. 0
B. 5
C. 10
D. 15

快排

(2009) 快速排序最坏情况下的算法时间复杂度为:
A. O(log_2n)
B. O(n)
C. O(nlog_2n)
D. O(n^2)

综合

(2009) 排序算法是稳定的意思是关键码相同的记录排序前后相对位置不发生改变,下列哪种排序算法是不稳定的:
A. 冒泡排序
B. 插入排序
C. 归并排序
D. 快速排序

(2010) 基于比较的排序时间复杂度的下限是( ),其中n表示待排序的元素个数。
A. Θ(n)
B. Θ(n log n)
C. Θ(log n)
D. Θ(n^2)

(2013) ()的 平均时间复杂度为 O(n log n),其中 n 是待排序的元素个数。
A. 快速排序
B. 插入排序
C. 冒泡排序
D. 基数排序

(2011) 体育课的铃声响了,同学们都陆续地奔向操场,按老师的要求从高到矮站成一排。每个同学按顺序来到操场时,都从排尾走到排头,找到第一个比自己高的同学,并站在他的后面。这种站队的方法类似于( )算法。
A. 快速排序
B. 插入排序
C. 冒泡排序
D. 归并排序

(2017) 设 A 和 B 是两个长为 n 的有序数组,现在需要将 A 和 B 合并成一个排好序的数组,任何以元素比较作为基本运算的归并算法在最坏情况下至少要做( )次比较。
A. n^2
B. n log n
C. 2n
D. 2n - 1

(2018) 以下排序算法中,不需要进行关键字比较操作的算法是( )。
A. 基数排序
B. 冒泡排序
C. 堆排序
D. 直接插入排序

(2018) 给定一个含N 个不相同数字的数组,在最坏情况下,找出其中最大或最小的 数,至少需要 N - 1 次比较操作。则最坏情况下,在该数组中同时找最大与 最小的数至少需要( )次比较操作。(⌈ ⌉表示向上取整,⌊ ⌋表示向下取整)
A. ⌈3N / 2⌉ - 2
B. ⌊3N / 2⌋ - 2
C. 2N - 2
D. 2N - 4

C++题目

逻辑表达式

点评:这部分就是通过表达式来算值或者判断真假。

(2007) 在C语言中,表达式23|2^5的值是()
A. 18
B. 1
C. 23
D. 32

(2008) 在C++程序中,表达式200|10的值是( )。
A. 20
B. 1
C. 220
D. 202

(2007) 在C语言中,判断a等于0或b等于0或c等于0的正确的条件表达式是( )。
A. !((a!=0)||(b!=0)||(c!=0))
B. !((a!=0)&&(b!=0)&&(c!=0))
C. !(a== 0&&b== 0)||(c!=0)
D. (a=0)&&(b=0)&&(c=0)

(2007) 设A=B=True,C=D=False,一下逻辑运算表达式值为假的有( )。
A. (﹁A∧B)∨(C∧D∨A)
B. ﹁(((A∧B)∨C)∧D)
C. A∧(B∨C∨D)∨D
D. (A∧(D∨C))∧B

(2008) 设A=true,B=false,C=true,D=false,以下逻辑运算表达式值为真的是( )。
A. (A∧B)∨(C∧D∨ -A)
B. ((A∧B)∨C)∧ -D
C. (B∨C∨D)∧D∧A
D. A∧(D∨ C)∧B

(2010) 以下逻辑表达式的值恒为真的是( )。
A. P∨(¬P∧Q)∨(¬P∧¬Q)
B. Q∨(¬P∧Q)∨(P∧¬Q)
C. P∨Q∨(P∧¬Q)∨(¬P∧Q)
D. P∨¬Q∨(P∧¬Q)∨(¬P∧¬Q)

(2013) 逻辑表达式()的值与变量A 的真假无关。
A. (A ∨ B) ∧﹃A
B. (A ∨ B) ∧﹃B
C. (A ∧ B) ∨ (﹃ A ∧ B)
D. (A ∨ B) ∧﹃A ∧ B

C++语法概念

(2007) 一个无法靠自身的控制终止的循环成为“死循环”,例如,在C语言程序中,语句while(1) printf(" * ");就是一个死循环,运行时它将无休止地打印*号。下面关于死循环的说法中,只有( )是正确的。
A. 不存在一种算法,对任何一个程序及相应的输入数据,都可以判断是否会出现死循环,因而,任何编译系统都不做死循环检查
B. 有些编译系统可以检测出死循环
C. 死循环属于语法错误,既然编译系统能检查各种语法错误,当然也应该能检查出死循环
D. 死循环与多进程中出现的“死锁”差不多,而死锁是可以检测的,因而,死循环也可以检测的

(2010) 浮点数2E+03表示( )。
A. 2.03
B. 5
C. 8
D. 2000

C++综合运用

(2013) 下列程序中,正确计算1, 2, ⋯, 100 这 100 个自然数之和sum(初始值为0)的是( )。
A. i = 1 do{ sum +=i; i++; }while(i<=100);
B. i = 1; do{ sum +=i; i++; }while(i > 100);
C. i = 1; while(i < 100){ sum+=i; i++; }
D. i = 1; while(i >= 100){ sum+=i; i++; }

(2014) 设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是( )。
A. x = (x * 100) + 0.5 / 100.0;
B. x = (x * 100 + 0.5) / 100.0;
C. x = (int)(x * 100 + 0.5)/100.0;
D. x = (x / 100 + 0.5) * 100.0;

(2014) 若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已赋值,c>0。 s = a;
for(b = 1; b <= c; b++) s += 1;
则与上述程序段功能等价的赋值语句是( )。

A. s = a + b
B. s = a + c
C. s = s + c
D. s = b + c

(2013) 下面是根据欧几里得算法编写的函数,它所计算的是a 和 b 的( )。

int euclid(int a, int b)
{
if (b == 0)
return a;
else
return euclid(b, a % b);
}
A. 最大公共质因子
B. 最小公共质因子
C. 最大公约数
D. 最小公倍数

(2014) 要求以下程序的功能是计算:s=1+1/2+1/3+…+1/10, 程序运行后输出结果错误,导致错误结果的程序行是( )。

#include <iostream>  
using namespace std;  
int main()  
 { 
int n;     
float s;     
s = 1.0; 
for(n = 10; n > 1; n--)       
s = s + 1 / n;     
cout << s << endl;     
return 0;   
} 
 A. s = 1.0;
 B. for(n = 10; n > 1; n--)
 C. s = s + 1 / n;
 D. cout << s << endl;

(2014) 有以下程序:若要使程序的输出值为2,则应该从键盘给n输入的值是( )。

#include <iostream>
using namespace std;
int main()
{
	int s, a, n;
	s= 0;
	a= 1;
	cin >> n;
	do
	{
	  s+= 1;
	  a-= 2;
	}
	while ( a != n );
	cout << s << endl;
	return(0);
}
 A. -1
 B. -3
 C. -5
 D. 0

(2016)

#include <iostream>
using namespace std;
int main()
{
    int k = 4, n = 0;
    while (n < k)
    {
        n++;
        if (n % 3 != 0)
            continue;
        k--;
    }
    cout << k << "," << n << endl;
    return 0;
}

程序运行后输出的结果是( )。
A. 2,2
B. 2,3
C. 3,2
D. 3,3

(2018) 为了统计一个非负整数的二进制形式中 1 的个数,代码如下:

int CountBit(int x)
{
	int ret = 0;
	while (x)
	{
		ret++;
		___________;
	}
	return ret;
}

则空格内要填入的语句是( )。
A. x >>= 1
B. x &= x - 1
C. x |= x >> 1
D. x <<= 1

(2016) 若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值 (c 大于 0)

s = a;
for (b = 1;b <= c; b++ )
	s = s + 1;

则与上述程序段修改 s 值的功能等价的赋值语句是()。
A. s = a + b;
B. s = a + c;
C. s = s + c;
D. s = b + c;

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值