欢迎使用本站,预祝练习时长两年半的选手们到成功! [本模块信息来自tem/def/head]

2023年 9月 GESP C++ 一级真题解析 选择题

时间:2024-05-05 13:08 作者:admin 点击:
一、单选题(每题 2 分,共 30 分) 1. 我们通常说的“内存”属于计算机中的( )。 A. 输出设备 B. 输⼊设备 C. 存储设备 D. 打印设备 【答案】C 【考纲知识点】 计算机基础知识 【解析

一、单选题(每题 2 分,共 30 分)

1. 我们通常说的“内存”属于计算机中的( )。
A. 输出设备
B. 输⼊设备
C. 存储设备
D. 打印设备
【答案】C
【考纲知识点】 计算机基础知识
【解析】本题属于考察计算机基础知识中的存储设备问题;内存是一种存储设备,也可以考虑关联内存中的“存”字,选 C。

2. 以下 C++不可以作为变量的名称的是( )。
A. redStar
B. RedStar
C. red_star
D. red star
【答案】D
【考纲知识点】 变量的定义与使用
【解析】本题属于变量命名规则问题。C++中的变量包括数字、字母和下划线。D 选项中含有空格,因此选 D。

3. C++表达式 2 - 1 && 2 % 10 的值是( )。
A. 0
B. 1
C. 2
D. 3
【答案】B
【考纲知识点】 基本运算
【解析】本题考察运算符优先级,算数运算符包括:+,-,*,/,%,优先级大于&&。2-1 等于 1,2%10 等于 2,1&&2 等于 1,选 B。

4. 下⾯C++代码段执⾏后的输出是( )。

int a = 3, b = 4;
cout<< "a+b=" << a+b;

A. 3+4= 7
B. 3+4=7
C. a+b=7
D. a+b=a+b
【答案】C
【考纲知识点】 变量的定义与使用、输入输出语句、基本运算【解析】本题考察程序模拟,双引号和没有双引号。直接输出双引号里的内容,计算 a+b 的结果,然后输出。选 C。

5. 在 C++语⾔中, int 类型的变量 x 、 y 、 z 的值分别为2 、4 、6,以下表达式的值为真的是( )。
A. x > y || x > z
B. x != z - y
C. z > y + x
D. x < y || !x < z
【答案】D
【考纲知识点】 基本运算
【解析】本题考察算数运算符、比较运算符和逻辑运算符。比较运算符高于逻辑运算符,例如 A 选项,先计算 x>y 和 x>z,x>y 结果 0,x>z 结果是0,0||0 的结果是 0,因此 A 的表达式值为 0。同理计算 BCD 选项,选D。

6. 对 int 类型的变量 a 、 b 、 c ,下列语句不符合C++语法是()。

A. c += 5;
B. b = c % 2.5;
C. a = (b = 3, c = 4, b + c);
D. a -= a = (b = 6) / (c = 2);
【答案】B
【考纲知识点】 基本运算
【解析】本题考察 C++的语法知识点。%运算符,操作数只能是整数,c%2.5不符合语法规则,因此选 B。

7. 下⾯C++代码执⾏后的输出是( )。

int m = 14;
int n = 12;
if(m%2 == 0 && n%2 == 0)
    cout<< "都是偶数";
else if(m%2 == 1 && n%2 == 1)
    cout<< "都是奇数";
else
    cout<< "不都是偶数或奇数";

A. 都是偶数
B. 都是奇数
C. 不都是偶数或奇数
D. 以上说法都不正确
【答案】A
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,考察 if 分支结构。14 和12 都是偶数,对2取余结果都等于 0,因此 A 选项正确。

8. 下⾯C++代码执⾏后的输出是( )。

int m = 14;
int n = 12;
if( m%2 && n%2 )
    cout<< "都是偶数";
else if(m%2 == 1 && n%2 == 1)
    cout<< "都是奇数";
else
    cout<< "不都是偶数或奇数";

A. 都是偶数
B. 都是奇数
C. 不都是偶数或奇数
D. 以上说法都不正确
【答案】C
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,注意是考察的输出结果,输出结果不一定与事实相符。首先 14 和 12 都是偶数,14%2 的结果等于 0,12%2 也是一样,会进入第2 个 if 判断,最终输出 C 选项。

9. 下⾯C++代码执⾏后的输出是( )。

int m = 7;
if( m/5 || m/3)
    cout<< 0;
else if (m/3)
    cout<< 1; 
else if (m/5)
    cout<< 2;   
else
    cout<< 3; 

A. 0
B. 1
C. 2
D. 3
【答案】A
【考纲知识点】 选择结构、基本运算
【解析】本题考察程序模拟结果,考察 if 语句和除法运算。整数除以整数的答案还是整数,7/5==1,7/3==2,第 1 个 if 条件成立,输出0,选A。

10. 下⾯C++代码段执⾏后的输出是( )。

int cnt = 0;
for(int i = 1; i <= 5; i++)
    cnt = cnt + 1;
cout<< cnt;

A. 1
B. 4
C. 5
D. 10
【答案】C
【考纲知识点】 循环结构
【解析】本题考察 for 循环结构,循环执行了 5 次,cnt 增加了5,答案选C。

11. 下⾯C++代码执⾏后的输出是( )。

int tnt = 0;
for(int i = 1; i < 5; i+=2)
    tnt = tnt + i;
cout<< tnt;

A. 2
B. 4
C. 9
D. 10
【答案】B
【考纲知识点】 循环结构
【解析】本题考察 for 循环结构,循环执行了 i=1,i=3,共2 次,注意i+=2;cnt 增加了 1+3,答案选 B。

12. 下⾯C++代码执⾏后的输出是( )。

int n = 5;
int cnt = 1;
while(n >= 0){
    cnt += 1;
    n -= 2;
}
cout<< cnt;

A. 3
B. 4
C. 6
D. 7
【答案】B
【考纲知识点】 循环结构、基本运算
【解析】本题考察 while 循环结构,循环执行了 n=5,n=3,n=1 共3 次,cnt 增加了 3,最开始 cnt=1,答案选 B。

13. 下⾯C++代码⽤于求正整数的所有因数,即输出所有能整除⼀个正整数的数。如,输⼊10,则输出为 1、2、5、10;输⼊12,则输出为1、2、3、4、6、12;输⼊17,则输出为 1、17。在横线处应填⼊代码是( )。

int n = 0;
cout << "请输入一个正整数: ";
cin >> n;

for(_______________________)//此处填写代码
    if( n % i == 0)
        cout << i << endl;

A. int i = 1; i < n; i + 1
B. int i = 1; i < n + 1; i + 1
C. int i = 1; i < n; i++
D. int i = 1; i < n + 1; i++
【答案】D
【考纲知识点】 循环结构、选择结构
【解析】本题考察 for 循环结构,求一个正整数的所有因子,1 和n 是数字n的因子,循环的终止条件 i<=n,或者 i<n+1,B 和 D 选项符合。B 选项中i+1,i 的值不能累加,会造成死循环,D 选项正确。

14. 在下列代码的横线处填写( ),可以使得输出是正整数1234 各位数字的平⽅和。

int n = 1234, s = 0;
for(; n; n /= 10)
    s += ______;//此处填写代码
cout << s << endl;

A. n / 10
B. (n / 10) * (n / 10)
C. n % 10
D. (n % 10) * (n % 10)
【答案】D
【考纲知识点】 循环结构、基本运算
【解析】本题考察 for 循环结构,求各位数字的平方和,BD 是求的平方和,D选项可以分别求出各位上的数字,选 D。

15. 执⾏以下 C++语⾔程序后,输出结果是( )。

int n = 5, s = 1;
for (; n = 0; n--)
    s *= n;
cout << s << endl;

A. 1
B. 0
C. 120
D. ⽆法确定
【答案】A
【考纲知识点】 循环结构、基本运算
【解析】本题考察 for 循环结构,循环推出条件 n 赋值为0,循环不会执行,输出 s 原有值 1。选 A。

(责任编辑:admin)
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%