信息学奥赛初赛天天练-70-NOIP2016普及组-基础题1-二进制、二进制状态表示、二进制加法、字符、字符数组、字符串、空串

本文主要是介绍信息学奥赛初赛天天练-70-NOIP2016普及组-基础题1-二进制、二进制状态表示、二进制加法、字符、字符数组、字符串、空串,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

NOIP 2016 普及组 基础题1

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

2 如果 256 种颜色用二进制编码来表示,至少需要( ) 位
A 6
B 7
C 8
D 9

3 以下不属于无线通信技术的是( )

A 蓝牙
B Wifi
C GPRS
D 以太网

7 二进制数 00101100 和 00010101 的和( )

A 00101000
B 01000001
C 01000100
D 00111000

10 以下关于字符串的判定语句中正确的是( )

A 字符串是一种特殊的线性表
B 串的长度必须大于零
C 字符串不可以用数组来表示
D 空格字符组成的串就是空串

2 相关知识点

1) 二进制

二进制(Binary)是一种计数系统,它只使用两个数字:0和1。它是计算机科学中最基本的数制,因为计算机内部的所有信息都是以二进制形式存储和处理的

在二进制系统中,每一位的权重是2的幂次方

最右边的位(最低位)的权重是2^0 = 1

从右向左数第二位的权重是2^1 = 2

从右向左数第三位的权重是2^2 = 4

以此类推

二进制数的表示方法是从右向左,每一位的数字乘以其对应的权重,然后将所有的结果相加。例如,二进制数1101转换为十进制数的计算过程如下

1 * 2^3 + 1 * 2^2 + 0 * 2^1 + 1 * 2^0 = 8 + 4 + 0 + 1 = 13

2) 二进制状态表示

1位2进制编码,可以表示0或1这2种状态,2^1=2
2位2进制编码,可以表示00,01,10,11这4种状态,2^1=2

10位2进制编码,可以表示2^10=1024种状态

3) 二进制加法

二进制加法,和十进制加法类似,可以使用竖式进行相加

和十进制加法区别为,十进制是逢十进一,二进制加法是逢二进一

例如

1001+0011=1100

 1001
+0011
-----1100

4) 字符

C语言有字符类型,也就是char类型,char类型的数据占内存大小为1字节。

C语言中不存在字符串类型,可以使用字符数组表示

字符是一种图形符号,不同国家不同地区都有自己特殊的字符,于是就衍生了“字符集合”这个名词。其中ASCII (American Standard Code for Information Interchange: 美国信息交换标准代码)是国际通用的标准字符集

例如

char a='0';
char b='P';
char c='@';
char c='65';//ascii 码 对应大写字母A

5) 字符串

是由“ ”包括起来的字符序列字符串的结束标志是‘\0’,用双引号括起来的一串字符就是字符串常量,它的末尾将由系统自动添加一个字符串结束标志‘\0’

在c语言中不能定义字符串,但是在c语言中使用字符串,通常会用字符数组来模拟字符串,必须是’\0’结尾的字符数组。如果字符数组中没有‘\0’结尾,那该字符数组就是普通的字符数组,不是字符串

字符串赋值1

//定义一个,总长度为10,有效长度为5的字符串 \0为结束符号
char c1[10]={'h','e','l','l','o','\0'};//定义一个总长度为10,有效长度为4的字符串 \0 有效长度只包括\0 前面的
char c2[10]={'h','e','l','l','\0','o'};//定义一个总长度为10,有效长度为9的字符串
char c3[10]="hello 123";

字符串赋值2

#include<bits/stdc++.h>
using namespace std;int main(){string st1="hello";//"" 包括起来的字符序列字符串 cout<<st1<<endl;int len=st1.size();//字符串的长度为 ""包括起来的字符的个数 cout<<"st1字符串长度为:"<<len;return 0;
}/*
输出 
hello
st1字符串长度为:5
*/

6) 空串

空串是指长度为0的字符串。在计算机科学中,空串通常表示没有任何字符的字符串

#include<bits/stdc++.h>
using namespace std;int main(){string st1="";//空串 长度为0 cout<<st1.size()<<endl;string st2=" ";//带1个空格的字符串 长度为1 cout<<st2.size()<<endl; return 0;
}
/*
输出 
0
1
所以st1是空串 st2不是空串 
*/ 

3 思路分析

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

分析

A PowerPoint:这是微软公司出品的一款演示文稿制作软件,属于Microsoft Office套件的一部分。
B Word:这是微软公司出品的一款文字处理软件,也是Microsoft Office套件的一部分。
C Excel:这是微软公司出品的一款电子表格处理软件,同样属于Microsoft Office套件的一部分。
D Acrobat Reader:这是Adobe公司出品的一款免费的PDF阅读软件,用于查看、打印和注释PDF文件。
Acrobat Reader不是微软公司出品的软件,而是Adobe公司的产品。因此,选D

2 如果 256 种颜色用二进制编码来表示,至少需要( B ) 位
A 6
B 7
C 8
D 9

分析

1位2进制编码,可以表示0或1这2种颜色,2^1=2
2位2进制编码,可以表示00,01,10,11这4种颜色,2^1=2
...
8位2进制编码,可以表示2^8=256种颜色

3 以下不属于无线通信技术的是( D )

A 蓝牙
B Wifi
C GPRS
D 以太网

分析

A 蓝牙:这是一种短距离无线通信技术,用于连接各种电子设备,如手机、电脑、耳机等。
B Wifi:这是一种无线局域网技术,用于连接互联网,提供高速的数据传输。
C GPRS:这是一种移动通信技术,用于移动设备之间的数据传输,包括短信、彩信、数据上网等。
D 以太网:这是一种有线局域网技术,用于连接计算机和其他设备,提供高速的数据传输。
以太网是一种有线通信技术,不属于无线通信技术。因此,选D

7 二进制数 00101100 和 00010101 的和( B )

A 00101000
B 01000001
C 01000100
D 00111000

分析

竖式计算,逢二进一00101100 
+00010101 
----------01000001

10 以下关于字符串的判定语句中正确的是( A )

A 字符串是一种特殊的线性表
B 串的长度必须大于零
C 字符串不可以用数组来表示
D 空格字符组成的串就是空串

分析

A 字符串是一种特殊的线性表:这个说法是正确的。字符串是由字符组成的序列,可以看作是一种特殊的线性表。
B 串的长度必须大于零:这个说法是错误的。串的长度可以为零,这样的串称为空串。
C 字符串不可以用数组来表示:这个说法是错误的。实际上,字符串可以用数组来表示,特别是在编程语言中,字符串通常用字符数组来实现。
D 空格字符组成的串就是空串:这个说法是错误的。空串是指长度为零的串,而空格字符组成的串长度不为零,因此不是空串。
因此选A

这篇关于信息学奥赛初赛天天练-70-NOIP2016普及组-基础题1-二进制、二进制状态表示、二进制加法、字符、字符数组、字符串、空串的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1092679

相关文章

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

C++ Primer 多维数组的使用

《C++Primer多维数组的使用》本文主要介绍了多维数组在C++语言中的定义、初始化、下标引用以及使用范围for语句处理多维数组的方法,具有一定的参考价值,感兴趣的可以了解一下... 目录多维数组多维数组的初始化多维数组的下标引用使用范围for语句处理多维数组指针和多维数组多维数组严格来说,C++语言没

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

linux进程D状态的解决思路分享

《linux进程D状态的解决思路分享》在Linux系统中,进程在内核模式下等待I/O完成时会进入不间断睡眠状态(D状态),这种状态下,进程无法通过普通方式被杀死,本文通过实验模拟了这种状态,并分析了如... 目录1. 问题描述2. 问题分析3. 实验模拟3.1 使用losetup创建一个卷作为pv的磁盘3.

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

如何将二进制文件流转化为MockMultipartFile文件

《如何将二进制文件流转化为MockMultipartFile文件》文章主要介绍了如何使用Spring框架中的MockMultipartFile类来模拟文件上传,并处理上传逻辑,包括获取二进制文件流、创... 目录一、名词解释及业务解释1.具体业务流程2.转换对象解释1. MockMultipartFile2

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

Linux之进程状态&&进程优先级详解

《Linux之进程状态&&进程优先级详解》文章介绍了操作系统中进程的状态,包括运行状态、阻塞状态和挂起状态,并详细解释了Linux下进程的具体状态及其管理,此外,文章还讨论了进程的优先级、查看和修改进... 目录一、操作系统的进程状态1.1运行状态1.2阻塞状态1.3挂起二、linux下具体的状态三、进程的

C#从XmlDocument提取完整字符串的方法

《C#从XmlDocument提取完整字符串的方法》文章介绍了两种生成格式化XML字符串的方法,方法一使用`XmlDocument`的`OuterXml`属性,但输出的XML字符串不带格式,可读性差,... 方法1:通过XMLDocument的OuterXml属性,见XmlDocument类该方法获得的xm

JSON字符串转成java的Map对象详细步骤

《JSON字符串转成java的Map对象详细步骤》:本文主要介绍如何将JSON字符串转换为Java对象的步骤,包括定义Element类、使用Jackson库解析JSON和添加依赖,文中通过代码介绍... 目录步骤 1: 定义 Element 类步骤 2: 使用 Jackson 库解析 jsON步骤 3: 添