2023年厦门市小学生计算机C++语言竞赛--试卷(初赛)

答题时间:90分钟

一、单项选择题        (1~10每题1分,11~20每题2分,共30分)

1.中国科学技术大学官网2023年10月11日发布的消息,中国科学技术大学中国科学院量子信息与量子科技创新研究院潘建伟、陆朝阳、刘乃乐等组成的研究团队与中国科学院上海微系统所、国家并行计算机工程技术研究中心合作,成功构建了255个光子的量子计算原型机“九章三号”,再度刷新了光量子信息的技术水平和量子计算优越性的世界纪录。中国科学家宣布已成功构建量子计算原型机“九章三号”,求解特定问题的速度比目前全球最快的超级计算机快(【1】)。
A. 一万倍

B.一亿倍

C.一百亿倍

D.一亿亿倍

2.北京时间2023年10月26日1时14分,搭神舟十七号载人飞船的长征二号F遥十七运载火箭在酒泉卫星发射中心点火发射,约10分钟后,神舟十七号载人飞船与火箭成功分离,进入预定轨道,航天员乘组状态良好,发射取得圆满成功。1992年9月,中央决策实施载人航天工程,并确定了中国载人航天“三步走”的发展战略,目前我们正处于哪个阶段?(【2】)

A.发射载人飞船,建成初步配套的实验性载人飞船工程,开展空间应用实验。

B.突破航天员出舱活动技术、空间飞行器交会对接技术,发射空间实验室,解决有一定规模的、短期有人照料的空间应用问题。

C.建造空间站,解决有较大规模的、长期有人照料的空间应用问题。

D.建造月球科研实验站,开展系统、连续的月球探测和相关技术实验验证

3.以下和计算机领域密切相关的奖项是(【3】)
A.奥斯卡奖
B.图灵奖
C.诺贝尔奖
D.普利策奖

4.以下运算符中,优先级最高的是(【4】)
A.*=
B.++
C.&&
D.>=
 

5.局域网的英文缩写是(【5】)
A.LAN

B. WAN

C. MAN

D.LNA

6.以下变量命名不符合规范的是(【6】)
A. boy

B. char

C.my_name

D.text2

7.在 C++中使用流进行输入输出,其中用于屏幕输出的对象是(【7】)

A. cerr

B.cin

C. cout

D. cfile

8.己知:double a=123.4;         int b=a*10;         double c=b/10; 则执行语句: cout<<c<<endl;后输出在屏幕的值为(【8】)

A. 123.4

B.123.4000000

C.123

D.123.000000

9.在下列字符中,其ASCII码值最大的一个是(【9】)

A.8

B.m

C.g

D.G

10.一个32位整型变量占用的字节数是(【10】)
A.4
B.8
C.32
D.128
 

11.C++语言中函数返回值的类型是由(【11】)决定的。

A.定义函数时所指定的函数类型

B.调用该函数的主调函数类型

C.return 语句中的表达式类型

D.传递给函数的实参类型

12.设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是【12】)
A. 12
B.144
C.156
D. 288

13.在下面的一维数组定义中,哪一个有语法错误。(【13】)
A.int a[]={1,2,3};

B.int a[10]={0};

C.int a[5];

D. int a[ ];
 

14.二进制数 111101转换成十进制是多少?(【14】)
A. 62

B.63

C.60

D.61
 

15.原码、反码和补码是计算机中用来表示带符号整数的三种编码方式,它们在计算机内部的运算和表示过程中发挥重要作用。对于8位二进制来说,7的补码是(【15】)
A.10000111
B.11111001
C.00000111
D.0111001

16.在C++程序中,3%5的运算结果是(【16】)
A.3
B.-2
C.2
D.-3
 

17.设变量int b,a=5;下列(【17】)表达式计算后,使得变量b的值等于2?
A. b=a/2
B. b=6-(a--)
C. b=a%2
D. b=a>3?3:2

18.253和 299的最大公约数是(【18】)
A. 11
B.13
C.23
D.24

19.在C++语言中,运行以下代码后,变量i的最终值是(【19】)

int i=0;while(i<=5){
cout<<i:
i++;}
A.5
B.0
C.1
D.6

20.执行如下程序
int x;
for(int i=l;i<=100;i++){cin>>x;if(x<0)continue;
cout<<i;}
则下面正确的说法是(【20】)
A.当x0时整个循环结束

B.当 x>=0 时,此次循环无输出

C.cout 语句永远也不执行

D.最多输出100个非负整数

二、 填空题        (21~30每题3分,共30分)

21.十进制数 1008 转化为八进制数为:(【21】)

22.已知主函数中bool P,Q,且bool st=(!P||!Q)&&P&&Q,无论P和Q为何初值(保证合法),在执行cout<<st;语句后,屏幕上输出的结果是(【22】)

23.C++中当一个函数无返回值时,则该函数应声明为(【23】)类型

24.若有 int   a[10]={1,2,3,4,5,6,7,8,9,10);,则a[a[1]+2*a[2]]的值是(【24】)

25.对于递推公式:F(n)=F(n-1)+3,已知F(1)=2,求F(5)的值是(【25】)
 

26.有以下程字:
int i,s=0;
for(i=1:i<20;i+=3)s+=i;
cout<<s;
程序执行后的输出结果s的值是(【26】)。
 

27.定义如下变量和数组
int k;
int a[3][3]={9,8,7,6,5,4,3,2.1}:
则语句 for(k=l;k<3;k++)cout<<a[k][k]<<’ ';的输出结果是(【27】)(用空格分隔每个值)

28.两个整数的最小公倍数是1925,这两个整数分别处以它们的最大公约数,得到2个商的和是16,这两个整数分别是(【28】)(注:较小的数写在前)。

29.7人排成一排照相,若要求甲、乙、丙三人不相邻,有(【29】)种不同的挂法。

30.9 名乒乓球运动员,其中男5名,女4名,现在要选出4人分成两组进行混合双打训练,有(【30】)种不同的分组方法?

三、阅读程序填写结果(31~40每题3分,共30分)

程序一:

#include<iostream)
using namespace std;
int main()
{
    int x, y, z,f[3];
    for(int i=0;i<3;i++) cin>>f[i];
    x=f[0]+f[1]+f[2];
    x=x/F[O];
    y=f[0]+f[2];
    y-y/x;
    z=(y*f[1]+x)/f[2];
    if(f[(x+y+z)%3]>f[2])
        cout<<x<<endl;
    else
        cout<<y+z<<endl;
    return 0;
}
题号第1题第2题第3题
输入数据1 1 12 0 410 15 3
输出数据【31】【32】【33】

程序二:

#include<iostream)
#include<string>
using namespace std;
int main()
{
    string num_list="11223344555666777888999000";
    string message;
    cin>>message;
    for(int i=0;i<message. length();i++)
        if((message[i]>='0')&&(message[i]<='9'))
            cout<<num_list[i];
        else if((message[i]>='A')&&(message[i]<='Z'))
            cout<<num_list[message[i]-'A'];
    cout<<endl;
    return 0;
}
题号第1题第2题第3题第4题
输入数据AKCODEXM_2023LOVEC++1024
输出数据【34】【35】【36】【37】

程序三:

#include<iostream>
using namespace std;
const int NUM=5;
int fun(int n)
{
    if(n<=NUM) return n;
    for(int i=l:i<=NUM;i++)
        if(fum(n-i)<0) return i;
    return -l;
}
int main()
{
    int n;
    cin>>n;
    cout<<fun(n)<<endl;
    return n;
}
题号第1题第2题第3题
输入数据569
输出数据【38】【39】【40】

四、完善程序        (选择正确的选项填充程序空白部分,41~45每题2分,共10分)

给出 n, m,k(l≤ ,m≤5x105,l≤k≤nxm),请输出在n*m的乘法表中第k小的数。即,给出一个f[i][i]=i*i(1≤i≤n,1≤j≤m)的数组,输出该数组内所有数(包含重复的)从小到大排序后第k大的数。

样例输入:5  5 10                样例输出:5

样例解释:此样例对应的乘法表如下:
1        2        3        4         5

2        4        6        8        10

3        6         9        12        15

4        8        12        16        20

5        10       15        20        25

#include<bits/stdc++.h>
using namespace std;
long long n, m, k;
bool check(long long x)
{
    long long sum =0;
    for(int i=l;i<=n;i++)
    {
        sum +=__________;
    }
    return __________;
}
int main()
{
    scanf( "%11d%11d%11d",&n, &m, &k)
    long long temp=___________;
    long long L=1,R = temp;
    while (L<R)
    {
        long long mid= _______;
        if(check(mid))    R= mid;
        else L= _________;
    }
    printf( “%11d",L);
    return 0;
}

41.第①空应填写?(【41】)
A. min(n, x/i)          B. min(m, x/i)

C. max(n, x/i)         D. max(m, x/i)

42.第②空应填写?(【42】)
A. sum<k         B. sum<= k
C. sum>k         D. sum >= k

43.第③空应填写?(【43】)

A. n

B. k

C. n +m

D. n *m

44、第④空应填写?(【44】)

A. (R + L)/2

B. (R +L+ 1)/2

C. (R-L)/2

D. (R -L- 1)/2

45.第⑤空应填写?(【45】)
A. L + 1           B.mid -1
C.mid + 1        D. mid

  • 23
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值