信息学奥赛初赛天天练-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
作者:newcode 更多资源请关注纽扣编程微信公众号
从事机器人比赛、机器人等级考试、少儿scratch编程、信息学奥赛等研究学习