25年信息素养大赛C++初赛真题②

四季读书网 1 0
25年信息素养大赛C++初赛真题②

信息素养大赛真题

真题合集↑

25年信息素养C++真题②

1.执行以下程序段,输入 30 50,输出的结果为?( )

inta,b; 

cin>> a >> b; 

if(a > b)cout << a; 

elsecout << b;

A.30

B.50

C.30 50

D.无输出

2.执行以下程序,输入 56 25,输出的结果是?( )

int a, b;

cin >> a >> b;

cout << max(a, b);

A.56

B.25

C.1000

D.无输出

3.下列关系运算符,可以用来判断两数相等的是?(

A.====

B.>>

C.<=<=

D.<<

4.C++中,表示逻辑运算符 “或” 的是?( )

A.∣∣∣∣

B.&

C.====

D.@@

5.下列选项中,输出结果为 0的是?( )

A.cout << "5 - 5";

B.cout << 5 - 5;

C.cout << 2 * 3;

D.cout << 7 / 2;

6.现有数组定义为 int num[4] = {6};, 则数组 num中的元素分别是?( )

A.6 6 6 6

B.0 0 0 0

C.6 0 0 0

D.0 0 0 6

7.执行下面程序段,当输入5 1 2 9 8 7,输出的结果为?( )

int n, maxx = 0;

cin >> n;

for (int i = 1; i <= n; ++i) {

int num;

cin >> num;

maxx = max(maxx, num);

}

cout << maxx;

A.1

B.9

C.8

D.7

8.执行下列代码,输出结果为?(

for (int i = 1; i <= 5; ++i) {

if (i % 2 == 0) continue;

cout << i << " ";

}

A.1

B.2 4

C.1 3 5

D.1 2 3 4

9.C++ 程序中,可以得到一个四位整数的十位上的数字的表达式是?( )

A.number / 1000;

B.number / 100 % 10

C.number / 10 % 10

D.number % 10

10.执行以下程序,输出的结果是?(

int array[3] = {4, 5, 6};

array[0] = array[0] - 3;

cout << array[0] << " " << array[1] << array[2];

A.4 5 6

B.1 5 6

C.4 2 6

D.4 5 3

11.使用双重 for 循环结构,求 1!+2!+3!+4!……+n!(1≤n≤10),则 ① 处应补充的代码是?( )

int sum = 0;

for (int i = 1; i <= n; i++) {

int mul = 1;

for (int j = 1; j <= i; j++) __①__

sum += mul;

}

cout << sum << endl;

A.mul += j

B.mul *= j

C.mul *= i

D.mul += i

12.阅读程序,当输入 7,程序输出的结果为?( )

#include <iostream>using namespace std;int main() {

int n;

int a[51] = {};

cin >> n;

a[1] = 1;

for (int i = 2; i <= n; i++) {

a[i] = a[i - 1] * 2 + 1;

}

cout << a[n];

return 0;

}

A.63

B.97

C.115

D.127

13.现有n(n≤1000)个人参加军训排队,刚开始的时候,所有人都面向教官站立成一排,每个人手里都拿着一个编号,编号依次为 1、2、3、…、n。现在教官想让编号为 3 的倍数的人向后转,然后再让编号为 5 的倍数的人再向后转。使用 0 模拟面向教官,使用数字 1 模拟背向教官。教官想知道最后还有哪些编号的人依然面向教官,请补全代码。( )

#include <iostream>

int a[1001];

using namespace std;

int main() {

int n;

cin >> n;

for (int i = 1; i <= n; i++) {

a[i] = 0;

}

for (int i = 1; i <= n; i++) {

if (i % 3 == 0) {

a[i] = 1;

}

if (i % 5 == 0) {

a[i] = 1;

}

}

for (int i = 1; i <= n; i++) {

if (_①_) {

_②_

}

}

return 0;

}

A.a[i] == 0 cout << a[i] << " ";

B.a[i] == 0 cout << i << " ";

C.a[i] == 1 cout << a[i] << " ";

D.a[i] == 1 cout << i << " ";

14.以下程序段输出的结果为?(

int cnt = 0;

for (int i = 0; i < 5; i++)

for (int j = 0; j < 4; j++) {

for (int k = 0; k < 2; k++)

cnt++;

}

cout << cnt << endl;

A.40

B.60

C.90

D.120

15.执行以下程序,输入 5,输出的结果是?( )

#include <iostream>

using namespace std;

int main() {

int n;

cin >> n;

int ans = 0;

for (int i = 1; i <= n; i++) {

ans = ans + i * i;

}

cout << ans;

return 0;

}

A.5

B.30

C.55

D.85

判断题(共5题)

16.执行代码 cout << "8 - 2"; 因为双引号里面的内容会原样输出,因此输出结果为 8−2。(  )

17.C++语言中,一维数组的下标是从 00 开始。(

18.定义一个字符数组 char s[100];,这个数组最多能存储 10000个字符。( 

19.定义 int arr[10]; 后,执行 arr[10] = 5; 不会导致数组越界。( 

20.C++ 中的循环结构中,可以通过 continue 结束循环。(

抱歉,评论功能暂时关闭!