#G1057. [GESP202312] 一级理论

[GESP202312] 一级理论

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

第 1 题 以下C++不可以作为变量的名称的是( )。

{{ select(1) }}

  • CCF GESP
  • ccfGESP
  • CCFgesp
  • CCF_GESP

第 2 题 C++表达式 10 - 3 * (2 + 1) % 10 的值是( )。

{{ select(2) }}

  • 0
  • 1
  • 2
  • 3

第 3 题 假设现在是上午十点,求出N小时(正整数)后是第几天几时,如输入20小时则为第26点,如N输入4则为今天14点。为实现相应功能,应在横线处填写代码是( )。

int N, dayX, hourX;
cin >> N;
dayX = _____, hourX = _____;
if (dayX == 0)
	cout << "今天" << hourX <<"点";
else
	cout << "第" << (dayX + 1) << "天" << hourX << "点";

{{ select(3) }}

  • (10 + N) % 24 , (10 + N) / 24
  • (10 + N) / 24 , (10 + N) % 24
  • N % 24 , N / 24
  • 10 / 24 , 10 % 24

第 4 题 下面的程序用于判断N是否为偶数,横线处应填写代码是( )。

cin >> N;
	if (____)
		cout << "偶数";
	else
		cout << "奇数";

{{ select(4) }}

  • N % 2 == 0
  • N % 2 = 0
  • N % 2
  • N % 2 != 0

第 5 题 下面对C++代码执行后输出的描述,正确的是( )。

cin >> N;
	cnt = 0;
	for (int i = 1; i < N; i++)
		cnt += 1;
	cout << cnt;

{{ select(5) }}

  • 如果输入的N小于2整数,第5行将输出0
  • 如果输入的N是大于等于2整数,第5行将输出N-1
  • 如果输入的N是大于等于2整数,第5行将输出N
  • 以上说法均不正确。

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

cnt = 0;
	for (int i = 1; i < 10; i++) {
		cnt += 1;
		i += 2;
	}
	cout << cnt;

{{ select(6) }}

  • 10
  • 9
  • 3
  • 1

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

cnt = 0;
	for (int i = 1; i < 20; i++) {
		if(i % 2)
			continue;
		else if(i % 3 == 0 && i % 5 == 0)
			break;
		cnt += i;
	}
	cout << cnt;

{{ select(7) }}

  • 90
  • 44
  • 20
  • 10

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

N = 10;
	cnt = 0;
	while(1) {
		if(N == 0) break;
		cnt += 1;
		N -= 2;
	}
	cout << cnt;

{{ select(8) }}

  • 11
  • 10
  • 5
  • 4

第 9 题 下面C++代码用于判断一个数是否为质数(素数),在横线处应填入代码是( )。

cin >> N;
	cnt = 0;
	for (int i = 1; i < N + 1; i++)
		if(N % i == 0)
			____;
	if(cnt == 2)
		cout << N << "是质数。";
	else
		cout << N << "不是质数。";

{{ select(9) }}

  • cnt = 1
  • cnt = 2
  • cnt =+ 1
  • cnt += 1

第 10 题 对下面的代码,描述正确的是( )。

#include <stdlib.h>
using namespace std;
int main() {
	int arr[] ={2, 6, 3, 5, 4, 8, 1, 0, 9, 10};
	for (int i = 0; i < 10; i++)
		cout << arr[i] << " ";
	cout << i << endl;
	
	cout << endl;
	return 0;
}

{{ select(10) }}

  • 输出 2 6 3 5 4 8 1 0 9 10 10
  • 输出 2 6 3 5 4 8 1 0 9 9
  • 输出 2 6 3 5 4 8 1 0 9 10
  • 提示有编译错误

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

cnt = 0;
for(int i = 10; i > 3; i -= 3)
	cnt = cnt + i;
cout << cnt;

{{ select(11) }}

  • 3
  • 21
  • 27
  • 49

第 12 题 定义变量 char c ,下面对 c 赋值的语句,不符合语法的是( )。

{{ select(12) }}

  • c = (char)66;
  • c = (char)(66);
  • c = char(66);
  • c = char 66;

第 13 题 下图所示C++代码对大写字母 'A''Z' 分组,对每个字母输出所属的组号,那么输入 'C' 时将输出的组号是?( )。

char c;
while(1) {
	cin >> c;
	if(c == 'q') break;
	switch(c) {
		case 'A': cout << "1"; break;
		case 'B': cout << "3";
		case 'C': cout << "3";
		case 'D': cout << "5"; break;
		case 'E': cout << "5"; break;
		default: cout << "9";
	}
	cout << endl;
}

{{ select(13) }}

  • 3
  • 3 5
  • 3 5 9
  • 以上都不对

第 14 题 某公司新出了一款无人驾驶的小汽车,通过声控智能驾驶系统,乘客只要告诉汽车目的地,车子就能自动选择一条优化路线,告诉乘客后驶达那里。请问下面哪项不是驾驶系统完成选路所必须的。( )

{{ select(14) }}

  • 麦克风
  • 扬声器
  • 油量表
  • 传感器

第 15 题 现代计算机是指电子计算机,它所基于的是( )体系结构。

{{ select(15) }}

  • 艾伦·图灵
  • 冯·诺依曼
  • 阿塔纳索夫
  • 埃克特-莫克利

二、 判断题(每题 2 分,共 20 分)

第 16 题 C++表达式 int(3.14) 的值为3。( )

{{ select(16) }}

第 17 题 C++语句 cout << (2 * 3, 3 % 10, 2+3) 的输出为 6,3,5 。 ( )

{{ select(17) }}

第 18 题 for(int i = 1; i < 10; i += 3;) ; 表示i1开始到10结束间隔为3,相当于1、4、7、10。( )

{{ select(18) }}

第 19 题 C++表达式010+100+001的值为111。( )

{{ select(19) }}

第 20 题 if 语句中的条件表达式的结果可以为 int 类型。 ( )

{{ select(20) }}

第 21 题 在下面的C++代码 while(1) continue; 中,由于循环中的 continue 是无条件被执行,因此将导致死循环。( )

{{ select(21) }}

第 22 题 C++表达式('1'+'1'=='2'? flag=1:flag=2)的结果值和表达式 (flag==2) 的相同。( )

{{ select(22) }}

第 23 题 在C++的程序中,不能用 scanf 作为变量名。( )

{{ select(23) }}

第 24 题 小杨最近在准备考GESP,他用的Dev C++来练习和运行程序,所以Dev C++也是一个小型操作系统。( )

{{ select(24) }}

第 25 题 任何一个 while 循环都可以转化为等价的 for 循环( )。

{{ select(25) }}