GESP c++ 2級(jí)\n2025.06
您的姓名:
1. 2025年4月19日在北京舉行了一場(chǎng)頗為矚目的人形機(jī)器人半程馬拉松賽。比賽期間,跑動(dòng)著的機(jī)器人會(huì)利用身上安裝的多個(gè)傳感器所反饋的數(shù)據(jù)來調(diào)整姿態(tài)、保持平衡等,那么這類傳感器類似于計(jì)算機(jī)的().
A. 處理器
B. 存儲(chǔ)器
C. 輸入設(shè)備
D. 輸出設(shè)備
2. 小明購(gòu)置的計(jì)算機(jī)使用一年后覺得內(nèi)存不夠用了,想購(gòu)置一個(gè)容量更大的內(nèi)存條,這時(shí)他需要的內(nèi)存條是().
A. RAM
B. ROM
C. CACHE
D. EPROM
3. 下面C++代碼執(zhí)行后的輸出是().
a=3; float
b = 3.5; cout << (a *= b);
A. 3
B. 3.5
C. 10
D. 11
4. 下面C++代碼用于獲得正整數(shù)的第3位數(shù),如1234則輸出2。如果是一位數(shù)或兩位數(shù),則輸出0。橫線處應(yīng)填入的代碼是().
int N, remainder;
cout << "請(qǐng)輸入正整數(shù):";
cin >> N;
cout << ______;
A. N % 1000 / 100
B. N / 1000 % 100
C. N / 1000 / 100
D. N % 100 / 100
5. 下面C++代碼執(zhí)行,其輸出是().
a,
b = (6, 28);b==a;a = b;cout << a << ' ' << b;
A. 6 28
B. 6 6
C. 28 6
D. 28 28
6. 今天星期六,其后第四天星期幾?如果是星期一到星期六輸出形如:星期1、星期2等,星期天則輸出星期天。下面的C++代碼用于完成上述要求,橫線處應(yīng)填上的代碼是().
int N, remainder;
cin >> N;
remainder = ______;
if (remainder == 0)
printf("星期六后第四天是星期天\n", N);
else
printf("星期六后第四天是星期x\n", N, remainder);
```
A. (N + 6) / 7
B. (N + 6) // 7
C. N % 7
D. (N + 6) % 7
7. 下面的C++代碼執(zhí)行后其輸出是().
int i, Sum = 0;
for (i = 1; i < 10; i++) {Sum += i;
if(i % 2) continue;
if(i % 7) break;
}
cout << Sum;
A. 45
B. 28
C. 3
D. 0
8. 下面C++代碼執(zhí)行后其輸出是().
int i, j;
for(i = 1; i < 12; i++)
for(j = 1; j < i; j++)
if(i * j % 2 == 1)
break;
cout << i * j;
```
A. 110
B. 22
C. 12
D. 3
9. 下面C++代碼執(zhí)行后輸出是().
int i, cnt = 0;
for(i = -99; i < 100; i += 2)
cnt = 1 + cnt;
cout << cnt;
```
A. 101
B. 100
C. 99
D. 98
10. 下面C++代碼執(zhí)行后輸出是().
int i;
for(i = 1; i < 10; i++){
if(i % 3 != 0){
printf("A#");
continue;
}
else
break;
printf("0#");
}
if(i == 10) cout << "1";
```
A. A#A#
B. A#0#A#
C. A#A#
D. A#0#A#
11. 下面C++代碼執(zhí)行后的輸出是().
int i,j;
for(i = 0; i < 3; i++)
for(j = 0; j < i; j++)
printf("%d#%d-", i, j);
printf("END");
```
A. 0#0-1#0-2#0-2#1-END
B. 0#0-1#0-1#1-2#0-2#1-2#2-3#0-3#1-3#2-END
C. 0#0-1#0-1#1-2#0-2#1-2#2-END
D. 1#0-2#0-2#1-END
12. 下面C++代碼執(zhí)行后,將輸出不能被3整除且除以5余數(shù)為2的數(shù)。下列選項(xiàng)不能實(shí)現(xiàn)的是().
int i,j;
for(i = 0; i < 100; i++)
if()
cout << i << endl;
```
A. (i % 3 != 0) && (i % 5 == 2)
B. (i % 3) && (i % 5 == 2)
C. (i % 3) && !(i % 5 != 2)
D. !(i % 3) && (i % 5 == 2)
13. 下面C++代碼用于判斷一個(gè)大于0的正整數(shù)是幾位數(shù),橫線處應(yīng)填入代碼先后是().
int N, cnt;
cout << "請(qǐng)輸入大于0的正整數(shù):";
cin >> N;
cnt = 0;
while (______){
cnt += 1;
______;
}
cout << cnt;
```
A. N > 1 ,N = N / 10
B. N > 1 , N / = 10
C. N == 0 , N / = 10
D. N > 0 , N /= 10
14. 判斷一個(gè)數(shù)是否為自守?cái)?shù)。自守?cái)?shù)的定義是如果一個(gè)數(shù)的平方其尾數(shù)與該數(shù)相同,則為自守?cái)?shù),如25的平方是625,其尾數(shù)是25,所以25是自守?cái)?shù)。相關(guān)說法錯(cuò)誤的是().
A. 如果Flag在循環(huán)中不被改為false,則說明該數(shù)是自守?cái)?shù)
B. 代碼 if (N1 % 10 != M1 % 10) 用于判斷某個(gè)位數(shù)是否相等,如果不等,則表明不是自守?cái)?shù)
C. 代碼 N1 = N1 / 10, M1 = M1 / 10 將個(gè)位數(shù)去掉
D. 將 N1 > 0 改為 N > 0 效果相同
15. 下面C++代碼實(shí)現(xiàn)輸出如下圖形,相關(guān)說法錯(cuò)誤的是().
int line_number, now_number;
int i,row;
cout << "請(qǐng)輸入行數(shù):";
cin >> line_number;
now_number = 0;
for (row = 1; row < line_number + 1; row++){ // L1
for (i = 0; i < row; i++){ // L2
cout << now_number;
now_number += 1;
if (now_number == 10) now_number = 0; // L3
}
cout << endl;
}
A. 代碼 now_number = 0 移動(dòng)到 L1 和 L2 標(biāo)記的兩行代碼之間,效果維持不變
B. 代碼 now_number += 1 修改為 now_number = 1 + now_number 效果維持不變
C. 將代碼 now_number == 10 調(diào)整為 now_number > 9 效果維持不變
D. 將最后一行的 cout << endl 修改為 cout << "\n", 效果維持不變
1. 人們現(xiàn)在參加很多閉卷考試時(shí)通常都不允許帶智能手機(jī)、平板電腦等,此外很多種智能手表同樣因?yàn)榫哂星度氩僮飨到y(tǒng)及通信等功能,所以也不允許隨身攜帶。
對(duì)
錯(cuò)
2. 在C++代碼中,假設(shè)N為正整數(shù),則 N / 10 含棄個(gè)位數(shù)。如果 N 小于10,則其值為0,大于10則是含棄個(gè)位數(shù)的數(shù)。
對(duì)
錯(cuò)
3. 下列C++代碼執(zhí)行后,其輸出為 10 20,即 a = b 和 b = a 對(duì) a 和 b 的值沒有任何影響。int a = 10, b = 20;a = b;b = a;cout << (a, b);
對(duì)
錯(cuò)
4. a 和 b 分別是C++的整型變量,如果表達(dá)式 max(a, b) == min(a, b) 的值為真,則說明 a 和 b 相等。
對(duì)
錯(cuò)
5. 下面C++代碼編譯時(shí)將報(bào)錯(cuò),因?yàn)樽址兞?a 被賦值了浮點(diǎn)值。 char a = '1';a = 45.6;cout << a;
對(duì)
錯(cuò)
6. 下面C++代碼執(zhí)行時(shí)如輸入59.99,將輸出及格兩個(gè)漢字。 int score;cout << "請(qǐng)輸入學(xué)生成績(jī):";cin >> score;if (score < 60) cout << "不及格";else cout << "及格";
對(duì)
錯(cuò)
7. 在下面的C++代碼中,因?yàn)?continue 將被執(zhí)行,因此不會(huì)有輸出。int i;for (i = 1; i < 10; i++) if (i % 2 == 0) continue;if(i == 10) cout << "END";
對(duì)
錯(cuò)
8. 下面的C++代碼執(zhí)行后將輸出15。int Sum = 0;for (int i = 0; i < 5; i++) Sum += i;cout << Sum;
對(duì)
錯(cuò)
9.將下面C++代碼中的 (int i = 5; i > 1; i--) 調(diào)整為 (int i = 1; i < 5; i++) 輸出結(jié)果相同,因?yàn)?到1與1到5的求和相同。int tnt;tnt = 0;for (int i = 5; i > 1; i--) tnt += i;cout << tnt;cout << endl;
對(duì)
錯(cuò)
10.為實(shí)現(xiàn)如下效果:
/*
5
--*--
--*--
--*--
--*--
--*--
*/
即N行N列字符。當(dāng)輸入是奇數(shù)時(shí),中間列為 *,其他是-;當(dāng)輸入是偶數(shù)時(shí),則中間兩列是 *,其他是-。字符陣列后的代碼能實(shí)現(xiàn)其效果。
int N;
cin >> N;
int i,j;
for (i = 0; i < N; i++)
{ for (j = 0; j < N; j++)
if ((j == N / 2) || (j == (N-1) / 2))
cout << "*";
else
cout << "-";
cout << endl;
}
對(duì)
錯(cuò)
1.
試題名稱
:
數(shù)三角形
時(shí)間限制
:
1.0 s
內(nèi)存限制
:
512.0 MB
3.1.1
題目描述
直角三角形有兩條直角邊與一條斜邊,設(shè)兩條直角邊的長(zhǎng)度分別為a,b
,則直角三角形的面積為
a
b
2
。
請(qǐng)你計(jì)算當(dāng)直角邊長(zhǎng)a,b
均取不超過n的正整數(shù)時(shí),有多少個(gè)不同的面積為整數(shù)的直角三角形。直角邊長(zhǎng)分別為a,b
和a',b'
的兩個(gè)直角三角形相同,當(dāng)且僅當(dāng)a=a',b=b'
或者a=b',b=a'
。
3.1.2
輸入格式
一行,一個(gè)整數(shù)n ,表示直角邊長(zhǎng)的最大值。
3.1.3
輸出格式
輸出一行,一個(gè)整數(shù),表示不同的直角三角形數(shù)量。
3.1.4
樣例
3.1.4.1
輸入樣例
1
3
3.1.4.2
輸出樣例
1
3
3.1.4.3
輸入樣例
2
5
3.1.4.4
輸出樣例
2
9
3.1.5
數(shù)據(jù)范圍
對(duì)于所有測(cè)試點(diǎn),保證1≤n≤1000
。
2.
試題名稱
:
冪和數(shù)
時(shí)間限制
:
1.0 s
內(nèi)存限制
:
512.0 MB
3.2.1
題目描述
對(duì)于正整數(shù)n ,如果 n可以表為兩個(gè)2 的次冪之和,即
n
=
2
x
+
2
y
(x,y
均為非負(fù)整數(shù)),那么稱 n為冪和數(shù)。
給定正整數(shù)
l
,
r
,請(qǐng)你求出滿足
l
≤
n
≤
r
的整數(shù)n 中有多少個(gè)冪和數(shù)。
3.2.2
輸入格式
一行,兩個(gè)正整數(shù)
l
,
r
,含義如上。
3.2.3
輸出格式
輸出一行,一個(gè)整數(shù),表示
l
,
r
之間冪和數(shù)的數(shù)量。
3.2.4
樣例
3.2.4.1
輸入樣例
1
2 8
3.2.4.2
輸出樣例
1
6
3.2.4.3
輸入樣例
2
10 100
3.2.4.4
輸出樣例
2
20
3.2.5
數(shù)據(jù)范圍
對(duì)于所有測(cè)試點(diǎn),保證
1
≤
l
≤
r
≤
1
0
4
。
關(guān)閉
更多問卷
復(fù)制此問卷