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

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

时间:2024-08-20 17:40:12浏览次数:8  
标签:字符 10 二进制 数组 字符串 空串

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

标签:字符,10,二进制,数组,字符串,空串
From: https://www.cnblogs.com/myeln/p/18369933

相关文章

  • 根据字符串动态地注册服务
    usingSystem;usingSystem.Reflection;usingMicrosoft.Extensions.DependencyInjection;publicclassStartup{publicvoidConfigureServices(IServiceCollectionservices){//假设我们要注册的类名是"MyService"stringserviceName=&......
  • 修改Oracle字符集为ZHS16GBK
    修改Oracle字符集为ZHS16GBK1、登录DBA用户 #登录dba用户sqlplus/nologSQL>connectsys/oracleassysdba2、查看当前字符集 #查看当前字符集SELECT*FROMV$NLS_PARAMETERSWHEREPARAMETER='NLS_CHARACTERSET';SELECTUSERENV('language')FROMDUAL;3、......
  • 11 根据相应规则判断字符串是否正确
    现有两个机器人M1和M2它们要进行对话,规则如下:M1只会说“Y”,“N”,“2”;M2只会说“y”,“n”,“1”;M1先主动说话;当一个机器人说的不是数字时,它自己必须继续说话,对方不能说话;当一个机器人说出数字时,它自己停止说话,此时对方可以接着说话,也可以不说话从而结束对话;编写程序判定输......
  • 【C语言】基础知识详解(二) 字符串
    一、什么是字符串?在C语言中,字符串是一种特殊的字符数组,用于存储一系列字符。字符串的表示:在C语言中,字符串是由字符组成的数组,并以空字符'\0'结束。空字符用于标识字符串的结束。例如,字符串"hello"在内存中实际上是{'h','e','l','l','o','\0'}。字符串声明:可以使......
  • 字符串相乘
    给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。注意:不能使用任何内置的BigInteger库或直接将输入转换为整数。示例1:输入:num1="2",num2="3"输出:"6"示例 2:输入:num1="123",num2="45......
  • 二进制下载部署Nginx
    一、通过Nginx官网并采取二进制方式部署Nginx官网二、具体步骤[[email protected]]#ll-dnginx.repo-rw-r--r--.1rootroot398Aug1722:01nginx.repo[[email protected]]#pwd/etc/yum.repos.d接下来可以直接使用yum-yinstallnginx则是直......
  • Oracle数据库必学!超实用的9个字符串处理函数
    Oracle查询语句中的单行函数,特别是一些常用的字符串处理函数。1.ConCAT函数作用:将两个字符串连接在一起,生成一个新的字符串。使用方法:concat(字符串1,字符串2)示例:SELECTconcat('Hello,','World')FROMDUAL;结果为:“Hello,World”。2.CHR与ASCII函数CHR函数......
  • 字符函数与字符串函数详解
    ......
  • 小白学习c++P8【1004】字符三角形(c++)详细讲解
    目录EXTRA##PT1-知识点引入......
  • 【杂乱笔记】Kmp字符串匹配算法
    KMP算法逻辑构建next数组:初始化next数组,用于存储每个位置的最长相同前后缀长度。遍历模式字符串patt如果当前字符与前缀字符匹配,增加前缀长度,并更新next数组。如果不匹配,使用next[prefix\_len-1]回退到上一个可能的前缀长度,继续比较。字符串匹配:初始......