1 条题解

  • 1
    @ 2024-4-15 19:21:10
    1. 高级语言编写的程序需要经过以下( )操作,可以生成在计算机上运行的可执行代码。

      A. 编辑

      B. 保存

      C. 调试

      D. 编译

      【答案】D

      【考纲知识点】计算机基础( 一级)

      【解析】本题考察计算机基础知识中编译的概念;编译是把高级语言变成计算机可以识别的二进制语言的过程,所以本题正确答案为 D。

    2. 能够实现下面流程图功能的伪代码是( )。

      image

      A. if 条件判断 then 语句块

      B. if 条件判断 then 什么也不做 else 语句块

      C. while 条件判断 do 语句块

      D. while not 条件判断 do 语句块

      【答案】D

      【考纲知识点】流程图的概念与描述(二级),循环语句(一级)

      【解析】本题考察对流程图的理解,以及循环结构中的 while 循环;观察流程图 可知,当条件判断不成立时,会执行语句块,并重新进行条件判断,当条件判断成立时,则流程继续往下进行,所以本题正确答案为 D。

    3. 下列关于 C++语言的叙述,正确的是( )。

      A. char 类型变量不能赋值给 int 类型的变量。

      B. 两个 int类型变量相乘,计算结果还是 int 类型。

      C. 计算两个 int类型变量相乘时,如果乘积超出了 int类型的取值范围,程序会报错崩溃。

      D. 计算两个 double类型变量相除时,如果除数的值为 0.0 ,程序会报错崩溃。

      【答案】B

      【考纲知识点】数据类型的转换(二级)

      【解析】本题考察 C++中数据类型转换的规则;A 选项错误在于:char 类型变量可以赋值给 int类型的变量,赋值结果为 char 类型变量中存放的整数值;C 选项错误在于:如果两个 int类型变量相乘的乘积超出了 int类型的取值范围,那么 会发生溢出,得到错误的结果,但是程序不会崩溃;D 选项错误在于:两个 double 类型变量相除时,如果除数的值为 0.0 ,得到的结果是特殊的 double类型值 INF (被除数为正数时,正无穷)、-INF(被除数为负数时,负无穷)或 NaN(被除数为 0 时,无意义),但是程序不会崩溃;所以本题正确答案为 B。

    4. 下列关于 C++语言的叙述,不正确的是( )。

      A. if 语句中的判断条件必须用小括号‘(’和‘)’括起来。

      B. for 语句中两个‘;’之间的循环条件可以省略,表示循环继续执行的条件一直满足。

      C. 循环体包含多条语句时,可以用缩进消除二义性。

      D. 除了“先乘除、后加减” ,还有很多运算符优先级。

      【答案】C

      【考纲知识点】循环结构( 一级)

      【解析】本题考察循环语句的语法规则;C 选项错误在于:循环体包含多条语句时,需要用花括号把循环体中的所有语句括起来;所以本题正确答案为 C。

    5. 以下哪个是 C++语言的关键字? ( )

      A. main

      B. max

      C. double

      D. sqrt

      【答案】C

      【考纲知识点】计算机基础与编程环境(一级)

      【解析】本题考察 C++语言中“ 关键字” 的概念;关键字就是预先定义好的标识符, C++编译器对其进行特殊处理,它们不能作为常量名、变量名或其他标识符名称;选项中只有 double是关键字,其余均为函数名,所以本题正确答案为 C。

    6. 以下哪个不是 C++语言的运算符? ( )

      A. >=

      B. /=

      C. ||

      D. <>

      【答案】D

      【考纲知识点】基本运算( 一级)

      【解析】本题考察 C++语言中的运算符;选项 A 为比较运算符:大于等于;选项 B 为赋值运算符:除并赋值;选项 C 为逻辑运算符:逻辑或;选项 D 不是 C++中的运算符;所以本题正确答案为 D。

    7. 如果 a 为 int 类型的变量,b 为 char 类型的变量,则下列哪个语句不符合 C++语法? ( )

      A. a=a+1.0;a = a + 1.0;

      B. a=(int)(b0);a = (int)(b - '0');

      C. b=(char)(a+0);b = (char)(a + '0');

      D. (int)b=a;(int)b = a;

      【答案】D

      【考纲知识点】数据类型的转换(二级)

      【解析】本题主要考察 C++中数据类型转换的规则;强制类型转换得到的是改变类型的值,不再是能被赋值的变量;所以本题正确答案为 D。

    8. 如果用两个 int类型的变量 a 和 b 分别表达平行四边形的两条边长,用 int类 型的变量 h 表达 a 边对应的高,则下列哪个表达式不能用来计算 b 边对应的高? ( )

      A. a/b(0.0+h)a / b * (0.0 + h)

      B. (0.0+ah)/b(0.0 + a * h) / b

      C. ah/(b+0.0)a * h / (b + 0.0)

      D. (a+0.0)h/b(a + 0.0) * h / b

      【答案】A

      【考纲知识点】基本运算( 一级),数据类型的转换(二级)

      【解析】本题主要考察 C++运算中除法的规则以及类型转换规则;在 C++中,两 个变量进行运算,如果两个变量都是 int类型,那么结果仍然为 int类型(除法 向下取整),如果两个变量中至少一个是 double类型,那么结果为 double 类型; 在本题中,需要避免出现两个 int类型变量相除,导致计算结果错误;只有 A 选项的除号两边都是 int类型,所以本题正确答案为 A。

    9. 以下哪个循环语句会无限次执行? ( )

    A. for(intfor (int a=0;a;a++);a = 0; a; a++) ;

    B. for(boolfor (bool b=false;b<=true;b++);b = false; b <= true; b++) ;

    C. for(charfor (char c=A;c<z;c++);c = 'A'; c < 'z'; c++) ;

    D. for(doublefor (double d=0.0;d<10.0;d+=0.001);d = 0.0; d < 10.0; d += 0.001) ;

    【答案】B

    【考纲知识点】基本数据类型( 一级)

    【解析】本题主要考察 bool 类型的运算规则;bool 类型的取值范围是false和true, 分别对应 0 和 1;B 选项中的 b++会使得 false 变为 true ,true 依然变为 true ,导致循环条件始终成立,所以本题正确答案为 B。

    1. 如果 a 为 char 类型的变量,且 a 的值为'C'(已知'C' 的 ASCII 码为 67),则执行 cout<<(a+2);cout << (a + 2);会输出( )。

    A. E

    B. C+2

    C. C2

    D. 69

    【答案】D

    【考纲知识点】数据类型的转换(二级)

    【解析】本题主要考察数据类型转换中的类型提升;两个不同类型的变量进行运 算时,一般会把字节数较小(低精度)的类型自动转换为字节数较大(高精度) 的类型,再进行运算;题目中 a 是 char 类型,2 是 int 类型,那么 a+2 的结果是int 类型,输出的结果是整数 69 ,所以本题正确答案为 D。

    1. 如果 a 和 b 均为 int类型的变量,下列表达式能正确判断“a 等于 1 且 b 等于1” 的是( )。

    A. (a==b)(a == b) &&(b==1) (b == 1)

    B.(a (a &&b) b)

    C. (a==b==1)(a == b == 1)

    D. (ab==1)(a * b == 1)

    【答案】A

    【考纲知识点】基本运算( 一级)

    【解析】本题主要考察 C++条件判断的语法格式;判断两个条件是否同时成立时, 需要把两个条件用&&符号连接起来;B 选项只要 a 和 b 都非 0 即成立;C 选项会 将(a==b)的结果(0 或 1)与 1 判断相等,于是只要 a 和 b 相等,结果就为真;D选项 a 和 b 都是-1 也满足条件;A 选项符合语法规则,所以本题正确答案为 A。

    1. 如果 a 为 char 类型的变量,下列哪个表达式可以正确判断“a 是数字” ? ( )

      A.0<=a '0' <= a &&a<=9 a <= '9'

      B.1<=a'1' <= a &&a<=0 a <= '0'

      C. 0<=a<=9'0' <= a <= '9'

      D. 1<=a<=0'1' <= a <= '0'

      【答案】A

      【考纲知识点】ASCII 编码(二级),基本运算(一级)

      【解析】本题考察 C++中的比较运算以及数字字符的 ASCII 码;判断两个条件是 否同时成立时,需要把两个条件用&&符号连接起来,C 、D 选项不符合要求;数字字符的 ASCII 码最小的是'0' ,最大的是'9' ,所以本题正确答案为 A。

    2. 在下列代码的横线处填写( ),使得输出是 9。

      image

      A. (a+b)(a + b)

      B. (a+b0)(a + b - '0')

      C. (char)(a+b)(char)(a + b)

      D. (char)(a+b0)(char)(a + b - '0')

      【答案】D

      【考纲知识点】ASCII 编码、数据类型的转换(二级)

      【解析】本题考察数据类型转换中的类型提升以及数字字符的 ASCII 码;字符变 量 a 的值是'3' ,相当于'0'加 3 ,字符变量 b 的值是'6' ,相当于'0'加 6 ,因此a+b等于'0'+3+'0'+6 ,再减掉'0' 的结果就是字符'9' ;由于加减法运算只能处理数值类 型,而 char 不是数值类型,因此会把 char 转换成 int 进行计算,结果也是 int 类型,最终输出字符时需要强制转换成 char 类型,所以本题正确答案为 D。

    3. 在下列代码的横线处填写( ),可以使得输出是 42。 image

      A. ii % 3 == 0

      B. 2020 % i == 0

      C.i<=8 i <= 8

      D. i>=18i >= 18

      【答案】B

      【考纲知识点】多层分支/循环结构(二级)

      【解析】本题主要考察对循环语句和条件判断语句的理解;模拟程序执行过程可知,四个选项对应的输出结果分别是 63、42、36 和 57,所以本题正确答案为 B。

    4. 执行以下 C++语言程序后,输出结果是( )。 image

      A. A

      B. B

      C. C

      D. D

      【答案】C

      【考纲知识点】多层分支/循环结构(二级),基本运算(一级)

      【解析】本题主要考察对循环语句和条件判断语句的理解;括号内条件成立时结 果为 true ,也就是 1 ,否则为 false ,也就是 0;字符 x 取字母 A 到 D ,取到 C 时,恰好满足四个条件中的三个,总和为 3 ,所以本题正确答案为 C。

    • 1

    GESP23年6月二级选择题

    信息

    ID
    607
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    递交数
    282
    已通过
    80
    上传者