1 条题解
-
0
- ⼈们所使用的手机上安装的App通常指的是( )。
A.⼀款操作系统
B.⼀款应用软件
C.⼀种通话设备
D.以上都不对
【答案】B
【考纲知识点】计算机基础知识
【解析】本题属于考察计算机基础知识。APP是英语单词application的简写,代表应用软件的意思。
-
下列流程图的输出结果是?
A.60
B.20
C.5
D.1
【答案】B
【考纲知识点】 流程图的概念与描述
【解析】本题属于考察计算机流程图知识,只要满足条件,就执行“是”后面的语句,是个循环结构。a=5和4的时候执行s=sa,结果是5*4=20。
- 已知⼤写字符'A'的ASCII编码的⼗六进制表⽰为0x41 ,则字符'L'的ASCII编码的⼗六进制表⽰为()。
A. 4A
B. 4B
C. 4C
D. 52
【答案】C
【考纲知识点】 计算机字符编码知识
【解析】本题属于考察计算机字符编码知识。‘A’的ASCII值是65,可以推出‘L’是76,将其转换成二进制,答案是C。
- 以下哪个不是C++语⾔中的运算符?
A. ~
B. ~~
C. <
D. <<
【答案】B
【考纲知识点】C++语言基础
【解析】本题属于考察C++语言基础知识。B运算符不存在。
- 如果数组定义为long long array[] = {3, 5, 7, 2};,则数组array占⽤的字节数为()。
A. 32
B. 16
C. 8
D. 4
【答案】A
【考纲知识点】 数组和数据类型
【解析】本题属于考察C ++语言知识,包括数组和数据类型。一维数组中有4个元素,long long类型每个数字占8个字节,4*8=32。选A。
- ⼀个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最⼤为()。
A. 2
B. 3
C. 23
D. 24
【答案】A
【考纲知识点】 数组知识
【解析】本题属于考察C ++语言数组知识,数组下标从0开始,3个元素的下标分别是0/1/2.选A。
- 以下数组定义 ,符合C++语⾔语法的是()。
A. double a[];
B. double b[] = {1, 2 .0, '3'};
C. double c[3.0];
D. double[] d = new double[3];
【答案】B
【考纲知识点】 数组知识
【解析】本题属于考察C ++语言的数组知识,A的写法需要明确数组大小;C中数组大小必须是整数;D需要用指针类型指向一个new的数组。选B。
- 下列关于进制的叙述 ,正确的是( )。
A. 只有十进制和二进制能够⽤来表示⼩数 ,八进制和十六进制不可以。
B. 常用的进制包括二进制、八进制、⼗进制、十六进制,其他进制在日常⽣活中很少使用。
C. 对任意正整数 ,其二进制表示不会⽐它的⼗进制表示更短。
D. 正整数的八进制表⽰中 ,每⼀位可能出现的最大数字是8。
【答案】C
【考纲知识点】 进制知识
【解析】本题属于考察C ++语言的进制知识,日常生活中,十进制最常用;A中进制都可以表示小数;D中数字8不能出现,选C。
- 下列关于C++语⾔中数组的叙述 ,不正确的是()。
A.可以定义 0 个元素的数组。
B.不能定义-1 个元素的数组。
C.数组下标越界访问会产⽣编译错误。
D.程序运⾏时发⽣数组下标的越界访问 ,程序依然可能正常结束。
【答案】C
【考纲知识点】 数组知识
【解析】本题属于考察C ++语言的数组知识,选择不正确的,在不同编译器下,数组越界不一定会产生编译错误,选C。
- 如果 a是int类型的变量 ,下列哪个表达式的值⼀定为true?
A. a + 1000 - 1000 == a
B. a * 2 / 2 == a
C. (a & 1) == 1
D. (a | 1) == a + 1
【答案】A
【考纲知识点】 表达式及位运算
【解析】本题属于考察C ++语言的计算表达式和位运算知识,A选项中,先计算a+1000-1000=a,a==a成立;B中a如果导致a*2越界就不成立;C中a是偶数,和1做与位运算结果是0;D中a是奇数的时候,和1做或运算不等于a+1,选A。
- 如果 a和b均为int类型的变量 ,下列表达式不能正确判断“a等于b” 的是()
A. ((a >= b) && (a <= b))
B. ((a >> 1) == (b >> 1))
C. ((a + b) == (a + a))
D. ((a ^ b) == 0)
【答案】B
【考纲知识点】 表达式
【解析】本题属于考察C ++语言的表达式知识,注意是找不能正确判断的条件,B选项中,例如a=4,b=5,(a>>1)是等于(b>>1)的,因此选B。
- 如果 a为char类型的变量 ,下列哪个表达式可以正确判断“a是⼤写字母”?
A. a - 'A' <= 26
B. 'A' <= a <= 'Z'
C. 'A' <= 'a' <= 'Z'
D. ('A' <= a) && (a <= 'Z')
【答案】D
【考纲知识点】 字符知识
【解析】本题属于考察C ++语言的字符知识,大写字符是从‘A’到‘Z’,在这个区间内,就是大写字符。注意B选项,如果a=‘b’,根据ASCII码,’A’<=a成立,返回值是1,1<=’Z’,所以B选项不正确,通过判断,选D。
-
在下列代码的横线处填写( ) ,可以使得输出是“20 10”。
A. a = a >> 8; b = a & 0xff
B. b = a >> 8; a = a & 0xff;
C. a = b; b = a & 0xff;
D. b = a; a = b;
【答案】B
【考纲知识点】 基本运算
【解析】本题属于考察C ++语言的运算知识,程序的目的是实现a和b的数据交换,用a的低8位保留b的值,原来的数值保存在a的高八位,因此b=a>>8即得到a原来的值。将a的高8位清空,与0xff做与运算即可,0xff的高八位是0,得到b之前的结果,选B。
- 在下列代码的横线处填写( ) ,可以使得输出是“120”。
A. res += array[i];
B. res *= array[i]
C. res = array[i]
D. 以上均不对。
【答案】D
【考纲知识点】 循环语句,复合赋值运算符
【解析】本题属于考察C ++语言的for循环语句和复合赋值运算符知识,简单将选项A、B、C代入到代码段,都不能达到预期结果。所以前3个选项都不正确,通过判断,选D。
- 在下列代码的输出是()。
A. 15
B. 28
C. 45
D. 55
【答案】B
【考纲知识点】 多层循环结构,数组
【解析】本题属于考察C ++语言的数组知识,array数组赋值分别是0到9,然后注意里面的双重循环。p是从2到9,对array数组重新赋值。例如,p=2时,array[2]=2,条件成立,进入第2重循环,n的范围是2到9,注意步长是2,对每个数组元素重新赋值,数组重新变为0 1 1 3 2 5 3 7 4 9。一直到循环完成,累加array数组,结果是B。
- 1
信息
- ID
- 475
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- (无)
- 递交数
- 434
- 已通过
- 71
- 上传者