当前位置: 首页 > article >正文

2024-09 GESP C++ 一级试题及答案解析

2024-09 GESP C++ 一级试题及答案
单选题(每题 2 分,共 30 分)
第 1 题 据有关资料,山东大学于1972年研制成功DJL-1计算机,并于1973年投入运行,其综合性能居当时全国第三
位。DJL-1计算机运算控制部分所使用的磁心存储元件由磁心颗粒组成,设计存贮周期为2μs(微秒)。那么该磁心存储元件相当于现代计算机的(  )。
A. 内存
B. 磁盘
C. CPU
D. 显示器
【答案】A
第 2 题 C++程序执行出现错误,不太常见的调试手段是(   )。
A. 阅读源代码
B. 单步调试
C. 输出执行中间结果
D. 跟踪汇编码
【答案】D
第 3 题 在C++中,下列表达式错误的是(   )。
A. cout << "Hello,GESP!" << endl;
B. cout << 'Hello,GESP!' << endl;
C. cout << """Hello,GESP!""" << endl;
D. cout << "Hello,GESP!' << endl;
【答案】D
第 4 题 C++表达式 10 - 3 * 2 的值是(   )。
A. 14
B. 4
C. 1
D. 0
【答案】B
第 5 题 在C++中,假设N为正整数10,则 cout <<(N / 3 + N % 3) 将输出(   )。
A. 6
B. 4.3
C. 4
D. 2
【答案】C
第 6 题 C++语句 printf("6%2={%d}", 6%2) 执行后的输出是(   )。
A. "6%2={6%2}"
B. 6%2={6%2}
C. 0=0
D. 6%2={0}
【答案】D  
第 7 题 成功执行下面的C++代码,先后从键盘上输入5回车和2回车,输出是(   )。

cin >> a;
cin >> b;
cout << a + b;

A. 将输出整数7
B. 将输出52,5和2之间没有空格
C. 将输出5和2,5和2之间有空格
D. 执行结果不确定,因为代码段没有显示a和b的数据类型
【答案】D   
第 8 题 下面C++代码执行后输出是(   )。

int Sum = 0;
for (int i = 0; i < 10; i++)
    Sum += i;
cout << Sum;

A. 55
B. 45
C. 10
D. 9
【答案】B   Sum=0+1+2+3+.....+9。
第 9 题 下面C++代码执行后输出的是(   )。

int N = 0;
for (int i = 0; i < 10; i++)
    N += 1;
cout << N;

A. 55
B. 45
C. 10
D. 9
【答案】C  N在统计这个for循环被执行了几次。
第 10 题 下面C++代码执行后输出的是(  )。

int N = 0;
for (int i = 1; i < 10; i +=2){
    if (i % 2 == 1)
        continue;
    N += 1;
}
cout << N;

A. 5
B. 4
C. 2
D. 0
【答案】D   i 的变化是1、3、5、7、9每轮都触发了continue。
第 11 题 下面C++代码执行时输入 14+7 后,正确的输出是(   )。

int P;
printf("请输入正整数P: ");
scanf("%d", &P);
if (P % 3 || P % 7)
    printf("第5行代码%d, %d", P % 3, P % 7);
else
    printf("第7行代码%2d", P % 3 && P % 7);

A. 第5行代码2, 0
B. 第5行代码1, 0
C. 第7行代码 1
D. 第7行代码 0
【答案】A   P是int型数据,所以P读入的是14。
第 12 题 执行下面C++代码后得到的输出是(   )。

int count= 0, i, s;
for (i = 0, s = 0 ; i < 20; i++, count++)
    s += i++;
cout << s << " " << count;

A. 190 20
B. 95 10
C. 90 19
D. 90 10
【答案】D  s=0+2+4+6+8+10+12+14+16+18  count统计加了几次。
第 13 题 下面C++代码拟用于计算整数N的位数,比如对 123 则输出 123是3位整数 ,但代码中可能存在bug。下面
有关描述正确的是(   )。

int N, N0, rc=0;
cout << "请输入整数:";
cin >> N;
N0 = N;
while (N){
    rc++;
    N /= 10;
}
printf("%d是%d位整数\n", N, rc); // L11

A. 变量N0占用额外空间,可以去掉
B. 代码对所有整数都能计算出正确位数
C. L11标记的代码行简单修改后可以对正整数给出正确输出
D. L11标记的代码行的输出格式有误
【答案】C   最后输出的应该是N0和rc,如果输入的整数超出int就会出错,L11标记行是变量有误不是格式错误。
第 14 题 下面的C++代码用于求连续输入的若干正五位数的百位数之和。例如输入 32488 25731 41232 0 ,则输出 3个正五位数的百位数之和为13 。有关描述错误的是(   )。

int M, Sum=0, rc=0;
cout << "请输入正整数:";
cin >> M;
while (M){
    M = (M / 100 % 10); // L6
    Sum += M;
    rc++;
    cin >> M;
}
cout << rc << "个正五位数的百位数之和为" << Sum;

A. 执行代码时如果输入 23221 23453 12345 11111 0 ,则最后一行Sum的值是 10
B. 执行代码时如果输入 2322 2345 1234 1111 0 ,程序也能运行
C. 将代码标记为 L6 那行改为 M = (M % 1000 / 100); ,同样能实现题目要求
D. 将代码标记为 L6 那行改为 M = (M % 100 / 10); ,同样能实现题目要求
【答案】D   M % 100会得到这个数的末两位,再除以10得到十位上的数。
第 15 题 如果一个正整数N能够表示为X*(X+1)的形式,这里称它是一个“兄弟数”。例如,输入6,则输出“6是一个兄弟数”。下面C++代码用来判断N是否为一个“兄弟数”,在横线处应填入的代码可从i)-iv)中选择,则有几个能完成功
能?(   )。

int N;
cin >> N;
for(int i = 0; i <= N; i++)
    if(___________________)
        cout << N << "是一个兄弟数\n";
i) N==i*(i+1) 
ii) N==i*(i-1) 
iii) N/(i+1)==i 
iv) N/(i-1)==i

A. 1
B. 2
C. 3
D. 4
【答案】B    i) 和 ii) 都可以,剩余的两个因为有除法存在整除的问题。

判断题(每题 2 分,共 20 分)
第 1 题 小杨最近开始学习C++编程,老师说C++是一门面向对象的编程语言,也是一门高级语言。( )
【答案】正确    C++,Python,Java都是面向对象的编程语言。
第 2 题 在C++中,表达式 10/4 和 10%4 的值相同,都是整数2,说明 / 和 % 可以互相替换。( )
【答案】错误    10/4是整数除以整数结果还是整数,10%4是10除以4的余数。  
第 3 题 N是C++程序中的整型变量,则语句 scanf("%d", &N) 能接收形如正整数、负整数和0输入,但如果输入含字母或带小数点数,将导致无法执行。 ( )
【答案】错误  当输入包含字母或带小数点的数时,scanf 的行为并不是“无法执行”,而是会尝试解析输入,并只读取符合整数格式的部分。
第 4 题 下面C++代码能够执行,则将输出45。( )

for (int i = 0; i < 10; i++)
    Sum += i;
cout << Sum;

【答案】错误  Sum未作初始化数据。
第 5 题 在C++代码中整型变量X被赋值为20.24,则 cout << (X++, X+1) / 10 执行后输出的是 2.124 。( )
【答案】错误  执行后输出的是2。
第 6 题 下面C++代码执行后,最后一次输出是10。( )

for (int i = 1; i < 10; i+=3)
    cout << i << endl;

【答案】错误  最后一次输出是7。
第 7 题 在C++, break 语句通常与if语句配合使用。( )
【答案】错误 语句通常用于跳出循环(如 for、while 循环)或 switch 语句。
第 8 题 在C++代码中,不可以将变量命名为 five-star ,因为变量名中不可以出现 - (减号)符号。( )
【答案】正确  
第 9 题 在C++语言中,整型、实数型、字符型、布尔型是不同数据类型,但这四种类型的变量间都可以比较大小。( )
【答案】正确  
第 10 题 C++中,定义变量 int a=5,b=4,c=3 ,则表达式 (a<b<c) 的值为逻辑假。 ( )
【答案】错误  从C++语法的角度来看,表达式 (a < b < c) 计算为 true。首先计算 a<b,结果是 false。然后, false<c,结果是true。在C++中,false 会被隐式转换为整数 0,而 true 会被隐式转换为整数 1。

编程题(每题 25 分,共 50 分)
3.1 编程题 1
试题名称:小杨购物
时间限制:1.0 s
内存限制:512.0 MB
3.1.1 题面描述
小杨有n元钱用于购物。商品A的单价是a元,商品B的单价是b元。小杨想购买 相同数量 的商品A和商品B。
请你编写程序帮小杨计算出他最多能够购买多少个商品A和商品B。
3.1.2 输入格式
第一行包含一个正整数n,代表小杨用于购物的钱的金额。
第二行包含一个正整数a,代表商品A的单价。
第三行包含一个正整数b,代表商品B的单价。
3.1.3 输出格式
输出一行,包含一个整数,代表小杨最多能够购买的商品A和商品B的数量。
3.1.4 样例1
输入:
12
1
2
输出:
4
对于样例1,由于需要购买相同数量的两种商品,因此小杨最多能够购买4件商品A和4件商品B,共花费
4 × 1 + 4 × 2 = 12元。因此,样例1的答案为4。
3.1.5 样例2
输入:
13
1
2
输出:
4
对于样例2,由于需要购买相同数量的两种商品,因此小杨最多能够购买4 件商品A和4件商品B,共花费4×1+4×2=12元。如果小杨想购买5件商品A和5件商品B,则需花费5×1+5×2=15元,超过了小杨的预算13元。因此,样例2的答案为4。
对于全部数据,保证有 1<n,a,b<10^5。 

//3.1 样例代码
#include <iostream>
using namespace std;
int main()
{
	int n,a,b;
	cin>>n>>a>>b;
	cout<<n/(a+b)<<endl;
    return 0;
}

编程题 2
试题名称:美丽数字
时间限制:1.0 s
内存限制:512.0 MB
3.2.1 题面描述
小杨有n个正整数,他认为一个正整数是美丽数字当且仅当该正整数是9的倍数但不是8的倍数。
小杨想请你编写一个程序计算n个正整数中美丽数字的数量。
3.2.2 输入格式
第一行包含一个正整数n,代表正整数个数。
第二行包含 个正整数 a1, a2, a3, ... , an。
3.2.3 输出格式
输出一个整数,代表其中美丽数字的数量。
3.2.4 样例1
输入:
3
1
9
72
输出:
1
对于样例1:
1既不是9的倍数,也不是8的倍数;
9是 9 的倍数,不是 8 的倍数;
72 既是 9 的倍数,也是8 的倍数;因此答案为 1。
对于全部数据,保证有1<=n<=10^5,1<=ai<=10^5。

// 3.2 样例代码
#include <iostream>
using namespace std;
int main()
{
	int n,x,ans=0;
	cin>>n;
	while(n--){
		cin>>x;
		if(x%9==0 && x%8!=0) ans++;
	}
	cout<<ans;
    return 0;
}


http://www.kler.cn/a/429240.html

相关文章:

  • HTML基础与实践
  • MySQL 数据库 :SQL 语句规约(不得使用外键与级联,一切外键概念必须在应用层解决。)
  • Mysql--实战篇--大数据量表的分页优化(自增长主键,子查询主键主查询全部,查询条件加索引,覆盖索引等)
  • Android SystemUI——车载CarSystemUI加载(八)
  • 使用docker-compose安装ELK(elasticsearch,logstash,kibana)并简单使用
  • Franka例程学习——force_control
  • 使用Jackson库的ObjectMapper类将Java对象转换为JSON格式
  • 数据结构之五:排序
  • ubuntu18.04升级到20.04
  • Web后端开发技术:RESTful 架构详解
  • 聚观早报 | 华为Mate 70开售;小米15 Ultra影像大升级
  • HDFS的架构优势与基本操作
  • vivado中,generate output product 和Create HDL wrapper的作用
  • 数据分析power bi负值条形图
  • 大模型Qwen面试内容整理-模型部署与优化
  • 代码随想录第40天
  • [MySQL基础](三)SQL--图形化界面+DML
  • 使用 Temporal 管理和调度 Couchbase SQL 脚本的实际例子
  • React第十四节useState使用详解差异
  • MongoDB 建模调优change stream实战
  • 【html网页页面010】html+css制作茶品牌文创网页制作含视频元素(7页面附效果及源码)
  • 华为TaurusDB与GaussDB:信创改造的“降本提效”之路
  • npm、yarn、pnpm 设置最新国内镜像源(附官方镜像源和最新阿里源),以及 nrm 的使用教程
  • 数据结构--树和二叉树
  • HTML区块
  • 【C/C++】关于链表插入函数可能的错误