试卷 厦门市小学生计算机 C++语言竞赛(初赛)试卷
厦门市小学生计算机 C++语言竞赛(初赛)试卷
选择题
第 1 题    单选题

2022年10月16日上午10时,中国共产党第二十次全国代表大会在北京人民大会堂开幕,这一信息通过报纸、广播、电视、网络等方式传递给寻常百姓。这主要体现了信息具有

A.

依附性

B.

可伪性

C.

传递性

D.

时效性

第 2 题    单选题

以下变量命名不符合规范的是?

A.

const

B.

_a

C.

my_book

D.

hello2

第 3 题    单选题

在 C++程序中,9/2的运算结果是?

A.

1

B.

5

C.

4

D.

5

第 4 题    单选题

在 C++程序中,35%9 的运算结果是?

A.

3.89

B.

4

C.

7

D.

8

第 5 题    单选题

以下哪个 C++源代码文件命名是正确的?

A.

game.c

B.

game.cbb

C.

game.c++

D.

game.cpp

第 6 题    单选题

VR是指

A.

因特网

B.

人工智能

C.

虚拟现实技术

D.

计算机

第 7 题    单选题

2020年7月31日,中国向全世界郑重宣告,中国自主建设、独立运行北斗系统全面建成,开启了高质量服务全球、造福人类的崭新篇章。你知道该技术应用属于什么方面的应用?

A.

导航定位

B.

区块链

C.

搜索引擎

D.

数据挖掘

第 8 题    单选题

在现代信息处理技术中,传感技术、计算机技术、通信技术和网络技术是主导技术。( )是存储、加工与处理信息的技术,是信息技术的核心技术。

A.

网络技术

B.

计算机技术

C.

传感技术

D.

通信技术

第 9 题    单选题

现如今智能家居越来越广泛使用,例如通过手机可开关灯、调节恒温器、开关窗帘、控制洗衣机等,这体现了信息技术中的( )应用。


A.

人工智能

B.

云计算

C.

虚拟现实技术

D.

物联网

第 10 题    单选题

short 类型变量能储存的最大整数是?

A.

65535

B.

32767

C.

2147483647

D.

4294967295

第 11 题    单选题

若 w=1,x=2,y=3,z=4,则条件表达式 w<x ? w: y<z 的值是

A.

4

B.

3

C.

2

D.

1

第 12 题    单选题

标准 ASCII 码(American Standard Code for Information Interchange, 美国信息交换标准码)使用二进制数组合来表示(  )种可能的字符,包括大写和小写字母、数字 0~9、标点符号,以及在美式英语中使用的特殊控制字符。

A.

256

B.

128

C.

64

D.

7

第 13 题    单选题

下列程序的循环次数是( )次。

int k=0;
while(k<10){
    if(k<1) continue;
    if(k==4) break;
    k++;
A.

5

B.

6

C.

4

D.

死循环,不能确定循环次数

第 14 题    单选题

for(i=0;i<10;i++) 这个循环结束后,i 的值是

A.

9

B.

10

C.

11

D.

12

第 15 题    单选题

一张水平像素30 垂直像素20 的32 位色的位图,存储图像信息所需的空间为?

A.

2400B

B.

1200KB

C.

1200B

D.

19200B

第 16 题    单选题

内存和外存相比,内存的主要特点是

A.

能存储大量信息

B.

能长期保存信息

C.

存取速度快

D.

能同时存储程序和数据

第 17 题    单选题

下列关于算法的描述,不正确的是

A.

一个算法必须保证在有限步之后结束

B.

算法的每一步必须有确定的定义

C.

算法一定要有输入,但是可以没有输出

D.

算法中的每一步都可以被分解为基本的可执行的操作

第 18 题    单选题

二进制数 1101011 加上二进制数 101,运算结果转换成十进制是多少?

A.

113

B.

110

C.

111

D.

112

第 19 题    单选题

某同学购买了一款正版软件,未经许可把该软件发送给他人共享。这种做法属于

A.

资源共享

B.

侵犯版权

C.

互相帮助

D.

正常交流

第 20 题    单选题

小明写程序时很不注意格式的规范,当他写完下面一段程序后自己也看不清程序逻辑了,请大家帮他分析一下:当a=1,b=5,c=4,d=3 时,执行完这段程序后 x 的值是

if (a < b)  
     if (c < d)      
     x = 1;          
     else if (a < c)     
     if (b < d)      
     x = 2;          
     else    &nbs
            
A.

1

B.

2

C.

3

D.

6

填空题
第 21 题    填空题

十进制数 2022 转化为十六进制数为:

第 22 题    填空题

安排 7 位工作人员在 10 月 1 日到 10 月 7 日值班,每人值班一天,其中甲、乙二人都不能安排在 10 月 1 日和 2 日,不同的安排方法共有( )种。

第 23 题    填空题

最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个,请问:1001 和 1989 两个整数的最大公约数为( )。

第 24 题    填空题

由 0、2、5、8、9 写成的没有重复数字的四位数中,能被 5 整除的最大数和最小数的差是( )。

第 25 题    填空题

int x=3,y=6;

int a[]={2,4,3,7,8,9,1,10},b[]={9,3,2,6,3,1,8,10,2,3} ;

执行 for (int i=0;i<=y;i++) {if(a[i]%x) a[i]=a[i+1];}后,a 数组元素按顺序为( )(用空格分隔每个值)。

第 26 题    填空题

int x=3,y=6;

int a[]={2,4,3,7,8,9,1,10},b[]={9,3,2,6,3,1,8,10,2,3} ;

执行 for(int i=0;i<=x;i++) {a[x+i]*=b[y+i];}后,a 数组元素按顺序为( )(用空格分隔每个值)。

第 27 题    填空题

int x=1,y=6;

执行 x=y;y=x;后,x 和 y 的值分别为多少( )(两值用空格隔开)。

第 28 题    填空题

C++定义一个字符型变量c,并在定义时给c 赋初始值为字符 a 的完整语句为:( )

第 29 题    填空题

C++判断一个整型变量 a,能被 3 整除的条件是 if(  )。

第 30 题    填空题

五位同学坐在一排,现让五位同学重新坐,至多有两位同学坐自己原来的位置,则不同的坐法有( )种。

阅读程序填写结果
第 31 题    问答题

阅读程序填写结果:

#include<iostream>
using namespace std;
int main()
{
    int a,x,y,ok1,ok2;
    a=100;
    cin>>x>>y>>ok1>>ok2;
    if((x>y) || ((y!=20) && (ok1==0)) && (ok2!=0))
        a=1;
    else if((ok1!=0) && (ok2==0))
        a= -1;
    else a=0;
        cout<<a<<endl;
    return 0;
}

题号

第1题



第2题



第3题



输入数据

20    20

5

0

30    20

5

0

10    20

0

0

输出数据

 



 



 



第 32 题    问答题

阅读程序填写结果:

#include<iostream>
#include<string>
using namespace std;
int main()
{
string str;
cin>>str;
       for(int i=0;i<str.length();i++)
           {
           if(str[i]>='a' && str[i]<='z')
                str[i]=(str[i]-'a')+'A';
           else if(str[i]>='A' && str[i]<='Z') 13    
                str[i]=(str[i]-'A')+'a';
           else if(str[i]>='0' && str[i]<='9')
                str[i]=(str[i]-'0'+3)%10+'0';
       }
       cout<<str<<endl;
       return 0; 19    
}

题号

第1题

第2题

第3题

第4题


输入数据

These

N92

12+96

This is

a pen.

输出数据






第 33 题    问答题

阅读程序填写结果:

#include<cstdio>
#include<iostream>
using namespace std;
int fun(int x)
{
    if(x==0 || x==1)
        return 3;
    else 
        return x+fun(x-2);
}
int main()
{
    int k;
    cin>>k;
        printf("%d", fun(k));
    return 0;
}

题号

第1题

第2题

第3题

输入数据

1

3

9

输出数据




完善程序
第 34-38 题    组合题

完善程序:给定一个长度为n且从小到大排好序的序列{a1,a2,a3,...,an},要把这个序列分成 k 段,每段的价值为该段中的最大值减去最小值,现在请你帮忙分段,使得各分段的价值之和最小(保证计算结果都在int范围内)。

#include <bits/stdc++.h>
using namespace std;
const int N=3e5+5;
int n,k,sum,a[N],b[N];
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    for(int i=1;i<n;i++) b[i]=      ①   ;
        if(    ②   )
            printf("0\n");
        else if(k==1)
            ③
        else
    {
        sort(b+1,b+n);
        sum=0;
        for(int i=1;i<=       ④   ;i++)
            printf("%d\n",sum);
        }
    return 0;
}
第34题 单选

第①空应填写?

A.

a[i]-a[i-1]

B.

a[i+1]-a[i]

C.

b[i]+a[i]

D.

b[i]+a[i]-a[i-1]

第35题 单选

第②空应填写?

A.

n=k

B.

n>k

C.

n==k

D.

n!=k

第36题 单选

第③空应填写?

A.

printf("%d\n",a[n]+a[1]);

B.

printf("%d\n",a[n]-a[1]);

C.

printf("%d\n",b[n]+b[1]);

D.

printf("%d\n",b[n]-b[1]);

第37题 单选

第④空应填写?

A.

n-k

B.

n-k+1

C.

k

D.

k-1

第38题 单选

第⑤空应填写?

A.

sum=sum+b[i]-a[i];

B.

sum=sum+b[i]+a[i];

C.

sum=sum+a[i];

D.

sum=sum+b[i];

答题卡
选择题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
填空题
阅读程序填写结果
31 32 33
完善程序
题目总数:34
总分数:100
时间:90分钟