选择题 共15道

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15


判断题 共10道

16 17 18 19 20 21 22 23 24 25


编程题 共2道

26 27

817 202509GESP C++一级试卷-考试
选择题 共15道
01 人工智能现在非常火,小杨就想多了解一下,其中就经常听人提到“大模型”。那么请问这里说的“大模型”最贴切是指 ( )。 2分
登录后查看选项
02 小杨这学期刚开学就选修了一门编程课,然后就想编写程序来计算1到10001之间的所有偶数的和。他希望程序采用简单累加整数的方法,同时希望源程序尽可能清晰、简洁,则下面关于实现累加时采用的主要控制结构的哪个说法最不合适( )。  2分
登录后查看选项
03

下面的C++代码用于输入姓名,然后输出姓名,正确的说法是( )。

string XingMing;
cout << "请输入您的姓名:";
cin >> XingMing;
cout << XingMing;
2分
登录后查看选项
04

下列C++代码中a和b都是整型变量,执行后,其结果是( )。

a = 13;
b = 5;
cout << a / b << a %// b << a % b;
a*b;
2分
登录后查看选项
05 C++表达式 3 * 4 % 5 / 6 的值是( )。 2分
登录后查看选项
06

下面的C++代码中变量N和M都是整型,则执行时如果先输入10并输入一个制表符后输入20并回车,其输出的数值是( )。

scanf("%d", &N);
scanf("%d", &M);
printf("{%d}",N+M);
2分
登录后查看选项
07

当前是9月,编写C++代码求N个月后的月份。横线处应填入的代码是( )。

int N, M;
cin >> N;
M = _____________;
if (M == 0)
  printf("%d个月后12月", N);
else
  printf("%d个月后是%d月", N, M);
2分
登录后查看选项
08

下面C++代码执行后的输出是( )。

int n = 0;
for (int i =0; i < 100; i++)
  n += i % 2;
cout << n;
2分
登录后查看选项
09

下面的C++代码执行后输出是( )。

int N = 0, i;
for (i = -100; i < 100; i++)
  N += i % 10;
cout << N;
2分
登录后查看选项
10

下面C++代码执行后输出是( )。

int i;
for(i = 1; i < 5; i++){
  if(i % 3 == 0)
    break;
  printf("%d#",i);
}
if(i > 5) printf("END\n");
2分
登录后查看选项
11

下面的C++代码用于求N的镜面数(N的个位到最高位的各位数字依次反过来出现在数字中,但高位0将被忽略,不输出),如输入1234,则将输出 4321 ,又如输入120,则将输出 21 ,错误的选项是( )。

cout << "请输入个位数不为0的正整数:";
cin >> N;
rst = 0; // 保存逆序结果
while (______________){
	rst = rst * 10 + N % 10;
	N = N / 10;
}
cout << rst << endl;
2分
登录后查看选项
12 下面C++代码用于交换两个正整数a和b的值,不能实现交换的代码是( )。 2分
登录后查看选项
13

下面C++代码用于获得正整数N的第M位数,约定个位数为第1位,如N等于1234,M等于2,则输出3。假设M的值是大于等于1且小于等于N的位数。横线处应填入的代码是( )。

int N, M, div=1;
cout << "请输入一个正整数:";
cin >> N;
cout <<"请输入从右到左取第几位数:";
cin >> M;

for (int i =0; i < (M - 1); i++) div *= 10;

cout << (______________);
2分
登录后查看选项
14

下面C++代码执行后输出是( )。

num = 0;
while (num <= 5){
	num += 1;
	if (num == 3)
		continue;
	printf("%d#", num);
}
2分
登录后查看选项
15

下面C++代码用于记录多个输入数中的最大数和最小数(输入 -999 则输入结束),相关说法错误的是( )。

cin >> now_num;
min_num = max_num = now_num;
while (now_num != -999){
	if (max_num < now_num)
		max_num = now_num;
	if (min_num > now_num)
		min_num = now_num;
	cin >> now_num;
}
cout << min_num << ' ' << max_num;
2分
登录后查看选项
判断题 共10道
16 在集成开发环境里调试程序时,要注意不能修改源程序,因为如果修改,就要终止调试、关闭该文件并重新打开,才能再次开始调试。 2分
登录后查看选项
17 执行C++表达式 10 % 0.5 将报错,因为 0.5 所在位置只能是整数。 2分
登录后查看选项
18

下面C++代码执行后将输出 9 。

for (i = 0; i < 10; i++)
	break;
cout << i;
2分
登录后查看选项
19

下面C++代码执行后将输出 55 。

n = 0;
for (int i = 0; i > -10; i--)
	n = n + i * -1;
cout << n;
2分
登录后查看选项
20

将下面C++代码中的 L1 行的 i = 0 修改为 i = 1 , 其输出与当前代码输出相同。

cnt = 0;
for (int i = 0; i < 100; i++) // L1
	cnt += i;
cout << cnt
2分
登录后查看选项
21

将下面C++代码中的 i < 10 修改为 i <= 10 ,其执行后输出相同。

int n, i;
n = i = 0;
while (i < 10){
	n += i;
	i += 1;
}
cout << n;
2分
登录后查看选项
22

下面的C++代码执行后将输出 45 。

int n, i;
n = i = 0;
while (i < 10){
	i += 1;
	n += i;
}
cout << n;
2分
登录后查看选项
23 执行C++代码 cout << (12 + 12.12) 将报错,因为 12 是 int 类型,而 12.12 是 floa t类型,不同类型不能直接运算。 2分
登录后查看选项
24

下面C++代码执行时将导致无限循环(也称死循环)。

int count = 0;
while (count < 5){
	count += 1;
	if (count == 3)
		continue;
	cout << count << ' ';
}
2分
登录后查看选项
25

下列C++代码用于求斐波那契数列,即第1个数为0,第2个数为1,从第三个数开始,依次是其前两个数之和。如果输入的值为大于1的正整数,该代码能实现所求。

cin >> n;
a = 0, b = 1;
for (int j = 0; j < n; j++){
	cout << a << " ";
	b = b + a;
	a = b - a;
}
2分
登录后查看选项
编程题 共2道
26

商店折扣


题目描述

商店正在开展促销活动,给出了两种方案的折扣优惠。第一种方案是购物满 x 元减 y 元;第二种方案是直接打 n 折,也就是说价格变为原先的 n/10。这里的 x,y,n 均是正整数,并且 1≤y<x,1≤n<10 。

需要注意的是,第一种方案中满减优惠只能使用一次。例如购物满 10 元减 3 元时,若挑选了价格总和为 33 元的物品,只能减免 3 元,需要支付 30 元。

小明在商店挑选了价格总和为 p 元的物品,结账时只能使用一种优惠方案。小明最少需要支付多少钱呢?


输入格式

四行,四个正整数 x,y,n,p ,含义见题目描述。


输出格式

一行,一个小数,表示小明最少需要支付多少钱,保留两位小数。


输入样例 1

8

7

9

10

输出样例 1

3.00

输入样例 2

8

7

2

11

输出样例 2

2.20


数据范围

对于所有测试点,保证 1≤y<x≤100,1≤n<10 , 1≤p≤100 。

25分
登录后作答
27

金字塔

题目描述

金字塔由 n 层石块垒成。从塔底向上,每层依次需要n×n, (n-1)×(n-1), …, 2x2, 1x1 块石块。请问搭建金字塔总共需要多少块石块?


输入格式

一行,一个正整数 n,表示金字塔的层数。


输出格式

一行,一个正整数,表示搭建金字塔所需的石块数量。


样例

输入样例 1
2
输出样例 1
5
输入样例 2
5
输出样例 2
55

数据范围

对于所有测试点,保证 1≤n<50。

25分
登录后作答