#XSY20260501. 信息素养初赛模拟五
信息素养初赛模拟五
一.单选题(每题 5 分,共 75 分)
- 下面有关 C++ 变量的说法,正确的是 ( ) {{ select(1) }}
- 不可以用 for 作为变量名,因为 for 是 C++ 的关键字(保留字)
- _tnt 不可以是变量名,因为变量名的第一个字符必须是英文字母
- tnt 不可以是变量名,因为最后一个字符容易与减号混淆
- 可以用 printf 作为变量名,因为 printf 是关键字,但这不是好习惯,因为 printf 有约定的功能与含义
- C++ 表达式
2 + 3 * 4 % 5的值为 ( ) {{ select(2) }}
- 0
- 4
- 14
- 50
- 下面的 C++ 代码执行时如果先输入 10 回车后输入 20 并回车,其输出是 ( )
int N,M;
printf("第一个数:");
scanf("%d", &N);
printf("第二个数:");
scanf("%d", &M);
printf("%%(N+M)=%d", N+M);
{{ select(3) }}
- 30=30
- 10+20=30
- %(N+M)=30
- 错误提示
- 下面 C++ 代码执行后的输出是 ( )
int i, tnt = 0;
for (i = 0; i < 100; i++)
tnt += 1;
cout << tnt << ' ' << i;
{{ select(4) }}
- 99 99
- 100 99
- 99 100
- 100 100
- 两个正整数,只要不相等,就一直进行如下操作:最大数减去最小数得到一个值,该值和两个数的最小数构成新的两个正整数,重复操作,直到两个数相等,此时输出该数。下面的 C++ 代码用于实现该操作,横线处应该填写的代码是 ( )
int N,M;
cin >> N >> M;
while (N!=M){
if(N>M)
_____________;
else
_____________;
}
cout << N;
{{ select(5) }}
- N=N-M; M=M-N;
- M=M-N; N=N-M;
- M=N-M; N=M-N;
- N,M=M,N; M,N=N,M;
- 执行下面 C++ 代码可以找出千位与个位的和恰好等于中间两位的四位数,横线处应该填入 ( )
int count=0;
int a, bc, d, tmp;
for (int i=1000;i<=9999;i++) {
a=(tmp=i)/1000;
______________;
bc=tmp/10;
d=tmp-bc*10;
if(a+d==bc) {
count++;
}
}
cout << count;
{{ select(6) }}
- tmp=i/10;
- tmp=i%100;
- tmp-=a*1000;
- tmp=i-i%1000;
- 常量 7.0 的数据类型是()。 {{ select(7) }}
- double
- float
- void
- int
- 如果 a 和 b 均为 int 类型的变量,下列表达式不能正确判断"a 等于 0 且 b 等于 0"的是() {{ select(8) }}
- (a == 0) && (b == 0)
- (a == b == 0)
- (!a) && (!b)
- (a == 0) + (b == 0) == 2
- 在下列代码的横线处填写(),可以使得输出是"1248"。
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 8; ____) // 在此处填入代码
cout << i;
return 0;
}
{{ select(9) }}
- i++
- i *= 2
- i += 2
- i * 2
- 下列流程图,属于计算机的哪种程序结构?( )。

{{ select(10) }}
- 顺序结构
- 循环结构
- 分支结构
- 数据结构
- 如果 a 为
char类型的变量,下列哪个表达式可以正确判断"a 是小写字母"? {{ select(11) }}
- a <= a <= z
- a - 'a' <= 'z' - 'a'
- 'a' <= a <= 'z'
- a >= 'a' && a <= 'z'
- 执行以下 C++语言程序后,输出结果是()。
#include<iostream>
using namespace std;
int main()
{
int n = 17;
bool isprime = true;
for(int i = 2; i <= n; i++)
if(n % i == 0)
isprime = false;
cout << isprime << endl;
return 0;
}
{{ select(12) }}
- false
- true
- 0
- 1
- 以下关于标准 C++ 一维数组的描述,哪一项是错误的?( ) {{ select(13) }}
- 数组的下标从0开始
- 数组在内存中是连续存放的
- 数组的长度只能在运行时才能确定
- 可以在程序中修改数组某个元素的值
- 根据下面的流程图,如果成绩
score输入 60,输出的结果是 ( )
开始
输入成绩score
score≥90? → 是→输出"优秀"
→ 否→score>60? → 是→输出"及格"
→ 否→输出"不及格"
结束
{{ select(14) }}
- 优秀
- 及格
- 不及格
- 没有输出
- 某个整数很长很长,形如:1232123212321……,其规律是从 1 开始逐一升高到 3 然后逐一降低到 1,然后又逐一升高到 3,一直到很长很长。假设最高位编号为 1,要求判断从左边最高位开始的第 N 位数是几?在横线处应该填入的代码是 ( )
int N, M;
cout << "请输入编号:";
cin >> N;
M = _____________;
if (M != 0)
cout << M;
else
cout << 2;
{{ select(15) }}
- N % 4
- N / 4
- N % 3
- N / 3
二.判断题(每题 5 分,共 25 分)
- C++ 表达式
10*4%6和10*2%3的结果相同。 {{ select(16) }}
- 正确
- 错误
- 在 C++语言中,标识符中可以有数字,但不能以数字开头。 {{ select(17) }}
- 正确
- 错误
- for 语句的循环体至少会执行一次。 {{ select(18) }}
- 正确
- 错误
- while 语句的循环体至少会执行一次。 {{ select(19) }}
- 正确
- 错误
- 在 C++ 中,
int a[] = {1, 2, 3, 4, 5};可以定义一个包含 5 个元素的整型数组。 {{ select(20) }}
- 正确
- 错误