信息学奥赛初赛天天练-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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

Python实现字典转字符串的五种方法

《Python实现字典转字符串的五种方法》本文介绍了在Python中如何将字典数据结构转换为字符串格式的多种方法,首先可以通过内置的str()函数进行简单转换;其次利用ison.dumps()函数能够... 目录1、使用json模块的dumps方法:2、使用str方法:3、使用循环和字符串拼接:4、使用字符

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr

Java发送SNMP至交换机获取交换机状态实现方式

《Java发送SNMP至交换机获取交换机状态实现方式》文章介绍使用SNMP4J库(2.7.0)通过RCF1213-MIB协议获取交换机单/多路状态,需开启SNMP支持,重点对比SNMPv1、v2c、v... 目录交换机协议SNMP库获取交换机单路状态获取交换机多路状态总结交换机协议这里使用的交换机协议为常

Python 常用数据类型详解之字符串、列表、字典操作方法

《Python常用数据类型详解之字符串、列表、字典操作方法》在Python中,字符串、列表和字典是最常用的数据类型,它们在数据处理、程序设计和算法实现中扮演着重要角色,接下来通过本文给大家介绍这三种... 目录一、字符串(String)(一)创建字符串(二)字符串操作1. 字符串连接2. 字符串重复3. 字

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

Java中最全最基础的IO流概述和简介案例分析

《Java中最全最基础的IO流概述和简介案例分析》JavaIO流用于程序与外部设备的数据交互,分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),处理... 目录IO流简介IO是什么应用场景IO流的分类流的超类类型字节文件流应用简介核心API文件输出流应用文

Java中字符编码问题的解决方法详解

《Java中字符编码问题的解决方法详解》在日常Java开发中,字符编码问题是一个非常常见却又特别容易踩坑的地方,这篇文章就带你一步一步看清楚字符编码的来龙去脉,并结合可运行的代码,看看如何在Java项... 目录前言背景:为什么会出现编码问题常见场景分析控制台输出乱码文件读写乱码数据库存取乱码解决方案统一使

Java实现字节字符转bcd编码

《Java实现字节字符转bcd编码》BCD是一种将十进制数字编码为二进制的表示方式,常用于数字显示和存储,本文将介绍如何在Java中实现字节字符转BCD码的过程,需要的小伙伴可以了解下... 目录前言BCD码是什么Java实现字节转bcd编码方法补充总结前言BCD码(Binary-Coded Decima