最好用电脑,谷歌浏览器做题; 页面打开不要超过1天,不然就失效了。

202403C语言2级


1.单选题

1.下列流程图的输出结果是?()


A.优秀

B.良好

C.不及格

D.没有输出

2.以下选项中不符合 C++变量命名规则的是?()


A.student

B.2_from

C._to

D.Text

3.以下选项中,不能⽤于表⽰分⽀结构的C++保留字是?()


A.switch

B.return

C.else

D.if

4.下列说法错误的是?()


A.while 循环满⾜循环条件时不断地运⾏,直到指定的条件不满⾜为⽌

B.if 语句通常⽤于执⾏条件判断

C.在C++中可以使⽤ foreach 循环

D.break 和 continue 语句都可以⽤在 for 循环和 while 循环中

5.下列4个表达式中,答案不是整数8的是?()


A.abs(-8)

B.min(max(8, 9), 10)

C.int(8.88)

D.sqrt(64)

6.下⾯C++代码执⾏后的输出是?()
int n,a,m,i;
n=3, a = 5;
m = (a - 1) * 2;
for (i=0; i <n-1;i++)
   m = (m - 1) * 2;
cout << m;


A.8

B.14

C.26

D.50

7.下⾯C++代码执⾏后的输出是?()
int n,i,result;
n = 81;
i = 1, result = 1;
while (i * i <= n){
    if (n % (i * i) == 0)
        result = i * i;
    i += 1;
}
cout << result;


A.16

B.36

C.49

D.81

8.下⾯C++代码执⾏后的输出是?()
int s,t,ans;
s = 2, t = 10;
ans = 0;
while (s != t){
    if (t % 2 == 0 && t / 2 >= s)
        t /= 2;
    else
        t -= 1;
    ans += 1;
}
cout << ans;


A.2

B.3

C.4

D.5

9.下⾯C++代码执⾏后的输出是?()
int n, masks, days,cur;
n = 17, masks = 10, days = 0;
cur = 2;
while (masks != n){
    if (cur == 0 || cur == 1)
        masks += 7;
    masks -= 1;
    days += 1;
    cur = (cur + 1) % 7;
}
cout << days;


A.5

B.6

C.7

D.8

10.以下C++代码判断⼀个正整数N的各个数位是否都是偶数。如果都是,则输出“是”,否则输出“否”。例如N=2024时输出“是”。则横线处应填⼊()。
int N,Flag;
cin >> N;
Flag = true;
while (N != 0){
    if (N %2 != 0){
        Flag = false;
        _____________
    }
    else
        N /= 10;
}
if(Flag == true)
    cout << "是";
else
    cout << "否";


A.break

B.continue

C.N = N / 10

D.N = N % 10

11.有句俗话叫“三天打渔,两天晒⽹”。如果⼩杨前三天打渔,后两天晒⽹,⼀直重复这个过程,以下程序代码
⽤于判断,第n天⼩杨是在打鱼还是晒⽹,横线处应填写?( )
int n,i;
cin >> n;
i = n % 5;
if (__________________) // 在此处填写代码
    cout << "晒网";
else
    cout << "打鱼";


A.i == 0

B.i == 4

C.i == 0 && i == 4

D.i == 0

i == 4

12.⼀个数的所有数字倒序排列后这个数的⼤⼩保持不变,这个数就是回⽂数,⽐如 101 与 6886 都是回⽂数,
⽽ 100 不是回⽂数。以下程序代码⽤于判断⼀个数是否为回⽂数,横线处应填写?( )
int n,a,k;
cin >> n;
a = 0;
k = n;
while (n > 0){
    a = __________;  // 在此处填写代码
    n /= 10;
}
if (a == k)
    cout << "是回文数";
else
    cout << "不是回文数";


A.10 * a + n % 10

B.a  + n % 10

C.10 * a + n / 10

D.a + n / 10

13.给定两个整数n与k ,打印出⼀个栅栏图形,这个栅栏应该分成n段,段与段之间的间隔为+ , 段内的填
充为k个- 。形如n=5,k=6时,图形如下:
+------+------+------+------+------+
以下程序代码⽤于绘制该图形,横线处应填写?( )
int n, k, i, j;
n = 5, k = 6;
for (i = 0; i < n; i++){
 __________ // 在此处填写代码
 for (j = 1; j < k; j++)
 cout << '-' ;
}
cout << '+';


A.cout << '+' << endl;

B.cout << '+' << ' ' << endl;

C.cout << '+';

D.cout << '+' << ' ';

14.⼩杨的⽗母最近刚刚给他买了⼀块华为⼿表,他说⼿表上跑的是鸿蒙,这个鸿蒙是。()


A.⼩程序

B.计时器

C.操作系统

D.神话⼈物

15.中国计算机学会(CCF)在2024年1⽉27⽇的颁奖典礼上颁布了王选奖,王选先⽣的重⼤贡献是()。


A.制造⾃动驾驶汽车

B.创⽴培训学校

C.发明汉字激光照排系统

D.成⽴⽅正公司
 

2.判断题

1.如果有以下C++代码:( )
double s;
int t;
s = 18.5;
t = int(s) + 10;
那么 cout << t 的结果为 28.5 。


A.正确

B.错误

2.Xyz , xYz , xyZ 是三个不同的变量。( )


A.正确

B.错误

3.cout << (8< 9< 10) 的输出结果为 true 。( )


A.正确

B.错误

4.for (i = 0; i < 100; i+=2) ; 语句中变量i的取值范围是0到99。( )


A.正确

B.错误

5.C++中 cout << float(2022) 与 cout << float('2022') 运⾏后的输出结果均为2022。( )


A.正确

B.错误

6.已知 A 的ASCII码值为65,表达式 int('C')+abs(-5.8) 的值为72.8。( )


A.正确

B.错误

7.bool()函数⽤于将给定参数或表达式转换为布尔类型。语句 bool(-1)  返回的是 false  值。 ( )


A.正确

B.错误

8.如果变量 a 的值使得C++表达式 sqrt(a)==abs(a) ,则 a 的值为0。 ( )


A.正确

B.错误

9.⼩杨今年春节回奶奶家了,奶奶家的数字电视要设置ip地址并接⼊到WIFI盒⼦才能收看节⽬,那这个WIFI盒⼦具有路由器的功能。( )


A.正确

B.错误

10.任何⼀个 for 循环都可以转化为等价的 while 循环。( )


A.正确

B.错误

3.编程题

1.乘法问题
 
 
⼩ A 最近刚刚学习了乘法,为了帮助他练习,我们给他若⼲个正整数,并要求他将这些数乘起来。对于⼤部分题⽬,⼩ A 可以精准地算出答案,不过,如果这些数的乘积超过 
10^6,⼩ A 就不会做了。
请你写⼀个程序,告诉我们⼩ A 会如何作答。
输入描述
 
第⼀⾏⼀个整数n,表⽰正整数的个数。
接下来n⾏,每⾏⼀个整数a 。⼩ A 需要将所有的a乘起来。
保证n<=50, a<=100
输出描述
 
输出⼀⾏,如果乘积超过 10^6,则输出 >1000000 ;否则输出所有数的乘积。
 
样例输入 1
2
3

样例输出 1
 
15
样例输入 2
 
3
100
100
100
样例输出 2
 
1000000
样例输入 3
 
4
100
100
100
2
 
样例输出 2
 
>1000000





2.⼩杨的⽇字矩阵
 
⼩杨想要构造⼀个NxN的⽇字矩阵(N为奇数),具体来说,这个矩阵共有N⾏,每⾏N个字符,其中最左
列、最右列都是 | ,⽽第⼀⾏、最后⼀⾏、以及中间⼀⾏(即第 
(N+1)/2⾏)的第2~N-1个字符都是 - ,其余所有字符都是半角⼩写字母 x 。例如,⼀个N=5的⽇字矩阵如下:
|---|
|xxx|
|---|
|xxx|
|---|
请你帮⼩杨根据给定的N打印出对应的“⽇字矩阵”。
输入描述
 
⼀⾏⼀个整数N(5<=N<=49,保证N为奇数)。
输出描述
 
输出对应的“⽇字矩阵”。
请严格按格式要求输出,不要擅⾃添加任何空格、标点、空⾏等任何符号。你应该恰好输出N⾏,每⾏除了换⾏符外恰好包含N个字符,这些字符要么是 - ,要么是 | ,要么是 x。你的输出必须和标准答案完全⼀致才能得分,
请在提交前仔细检查。
 
样例输入 1
 
5
 
样例输出 1
 
|---|
|xxx|
|---|
|xxx|
|---|
样例输入 2
 
7
 
样例输出 2
 
|-----|
|xxxxx|
|xxxxx|
|-----|
|xxxxx|
|xxxxx|
|-----|







`

1.单选题
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
2.判断题
1 2 3 4 5
6 7 8 9 10
3.编程题
1 2