1 条题解

  • 0
    @ 2024-4-26 21:41:35
    1. ⼈们所使用的手机上安装的App通常指的是( )。

    A.⼀款操作系统

    B.⼀款应用软件

    C.⼀种通话设备

    D.以上都不对

    【答案】B

    【考纲知识点】计算机基础知识

    【解析】本题属于考察计算机基础知识。APP是英语单词application的简写,代表应用软件的意思。

    1. 下列流程图的输出结果是?

      image

    A.60

    B.20

    C.5

    D.1

    【答案】B

    【考纲知识点】 流程图的概念与描述

    【解析】本题属于考察计算机流程图知识,只要满足条件,就执行“是”后面的语句,是个循环结构。a=5和4的时候执行s=sa,结果是5*4=20。

    1. 已知⼤写字符'A'的ASCII编码的⼗六进制表⽰为0x41 ,则字符'L'的ASCII编码的⼗六进制表⽰为()。

    A. 4A

    B. 4B

    C. 4C

    D. 52

    【答案】C

    【考纲知识点】 计算机字符编码知识

    【解析】本题属于考察计算机字符编码知识。‘A’的ASCII值是65,可以推出‘L’是76,将其转换成二进制,答案是C。

    1. 以下哪个不是C++语⾔中的运算符?

    A. ~

    B. ~~

    C. <

    D. <<

    【答案】B

    【考纲知识点】C++语言基础

    【解析】本题属于考察C++语言基础知识。B运算符不存在。

    1. 如果数组定义为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。

    1. ⼀个数组定义为 double array[3]; ,则可合理访问这个数组的元素的下标最⼤为()。

    A. 2

    B. 3

    C. 23

    D. 24

    【答案】A

    【考纲知识点】 数组知识

    【解析】本题属于考察C ++语言数组知识,数组下标从0开始,3个元素的下标分别是0/1/2.选A。

    1. 以下数组定义 ,符合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。

    1. 下列关于进制的叙述 ,正确的是( )。

    A. 只有十进制和二进制能够⽤来表示⼩数 ,八进制和十六进制不可以。

    B. 常用的进制包括二进制、八进制、⼗进制、十六进制,其他进制在日常⽣活中很少使用。

    C. 对任意正整数 ,其二进制表示不会⽐它的⼗进制表示更短。

    D. 正整数的八进制表⽰中 ,每⼀位可能出现的最大数字是8。

    【答案】C

    【考纲知识点】 进制知识

    【解析】本题属于考察C ++语言的进制知识,日常生活中,十进制最常用;A中进制都可以表示小数;D中数字8不能出现,选C。

    1. 下列关于C++语⾔中数组的叙述 ,不正确的是()。

    A.可以定义 0 个元素的数组。

    B.不能定义-1 个元素的数组。

    C.数组下标越界访问会产⽣编译错误。

    D.程序运⾏时发⽣数组下标的越界访问 ,程序依然可能正常结束。

    【答案】C

    【考纲知识点】 数组知识

    【解析】本题属于考察C ++语言的数组知识,选择不正确的,在不同编译器下,数组越界不一定会产生编译错误,选C。

    1. 如果 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。

    1. 如果 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。

    1. 如果 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。

    1. 在下列代码的横线处填写( ) ,可以使得输出是“20 10”。

      image

    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。

    1. 在下列代码的横线处填写( ) ,可以使得输出是“120”。

    image

    A. res += array[i];

    B. res *= array[i]

    C. res = array[i]

    D. 以上均不对。

    【答案】D

    【考纲知识点】 循环语句,复合赋值运算符

    【解析】本题属于考察C ++语言的for循环语句和复合赋值运算符知识,简单将选项A、B、C代入到代码段,都不能达到预期结果。所以前3个选项都不正确,通过判断,选D。

    1. 在下列代码的输出是()。

    image

    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

    GESP23年9月三级选择题

    信息

    ID
    475
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    (无)
    递交数
    406
    已通过
    66
    上传者