2024年CSP-J入门级(第一轮)C++真题(含答案)_第1页
2024年CSP-J入门级(第一轮)C++真题(含答案)_第2页
2024年CSP-J入门级(第一轮)C++真题(含答案)_第3页
2024年CSP-J入门级(第一轮)C++真题(含答案)_第4页
2024年CSP-J入门级(第一轮)C++真题(含答案)_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2024年CSP-J入门级(第一轮)C++真题(含答案)一、单选题。1.题32位int类型的存储范围是()。A.-2147483647~+2147483647B.-2147483647~+2147483648C.-2147483648~+2147483647D.-2147483648~+2147483648标准答案:C。2.计算(148-10102)*D16-11012的结果,并选择答案的十进制值:()。A.13B.14C.15D.16标准答案:A。3.某公司有10名员工,分为3个部门:A部门有4名员工,B部门有3名员工、C部门有3名员工。现需要从这10名员工中选出4名组成一个工作组,且每个部门至少要有1人。问有多少种选择方式?()。A.120B.126C.132D.238标准答案:B。4.以下哪个序列对应数组0至8的4位二进制格雷码(Graycode)?()。A.0000,0001,0011,0010,0110,0111,0101,1000B.0000,0001,0011,0010,0110,0111,0100,0101C.0000,0001,0011,0010,0100,0101,0111,0110D.0000,0001,0011,0010,0110,0111,0101,0100标准答案:D。5.记1KB为1024字节(byte),1MB为1024KB,那么1MB是多少二进制位(bit)?()。A.1000000B.1048576C.8000000D.8388608标准答案:D。6.以下哪个不是C++中的基本数据类型?()。A.intB.floatC.structD.char标准答案:C。7.以下哪个不是C++中的循环语句?()。A.forB.whileC.do-whileD.repeat-untill标准答案:D。8.在C/C++中,(char)('a'+13)与下面的哪一个值相等()。A.'m'B.'n'C.'z'D.'3'标准答案:B。9.假设有序表中有1000个元素,则用二分法查找元素x最多需要比较()次。A.25B.10C.7D.1标准答案:B。10.下面哪一个不是操作系统名字()。A.NotepadB.LinuxC.WindowsD.macOS标准答案:A。11.在无向图中,所有顶点的度数之和等于()。A.图的边数B.图的边数的两倍C.图的定点数D.图的定点数的两倍标准答案:B。12.已知二叉树的前序遍历为[A,B,D,E,C,F,G],中序遍历为[D,B,E,A,F,C,G],求二叉树的后序遍历的结果是()。A.[D,E,B,F,G,C,A]B.[D,E,B,F,G,A,C]C.[D,B,E,F,G,C,A]D.[D,E,B,F,G,A,C]标准答案:A。13.给定一个空栈,支持入栈和出栈操作。若入栈操作的元素依次是123456,其中1最先入栈,6最后入栈,下面哪种出栈顺序是不可能的()。A.654321B.165432C.246531D.135246标准答案:D。14.有5个男生和3个女生站成一排,规定3个女生必须相邻,问有多少种不同的排列方式?()。A.4320种B.5040种C.3600种D.2880种标准答案:A。15.编译器的主要作用是什么()?A.直接执行源代码B.将源代码转换为机器代码C.进行代码调试D.管理程序运行时的内存标准答案:B。二、组合题(阅读程序)。阅读程序(1)。第16-20题,组合题。#include<iostream>usingnamespacestd;boolisPrime(intn){if(n<=1){returnfalse;}for(inti=2;i*i<=n;i++){if(n%i==0){returnfalse;}}returntrue;}intcountPrimes(intn){intcount=0;for(inti=2;i<=n;i++){if(isPrime(i)){count++;}}returncount;}intsumPrimes(intn){intsum=0;for(inti=2;i<=n;i++){if(isPrime(i)){sum+=i;}}returnsum;}intmain(){intx;cin>>x;cout<<countPrimes(x)<<""<<sumPrimes(x)<<endl;return0;}16.当输入为“10”时,程序的第一个输出为“4”,第二个输出为“17”()。A.正确B.错误标准答案:A。17.若将isPrime(i)函数种的条件改为i<=n/2,输入“20”时,countPrimes(20)的输出将变为“6”。()。A.正确B.错误标准答案:B。18.题sumPrimes函数计算的是从2到n之间的所有素数之和。()。A.正确B.错误标准答案:A。19.当输入为“50”时,sumPrimes(50)的输出为()。A.1060B.328C.381D.275标准答案:B。20.如果将for(inti=2;i*i<=n;i++)改为for(inti=2;i<=n;i++),输入“10”时,程序的输出()。A.将不能正确计算10以内素数个数及其和B.仍然输出4和17C.输出3和10D.输出结果不变,但运行时间更短。标准答案:A。阅读程序(2)。第21-26题,组合题。#include<iostream>#include<vector>usingnamespacestd;intcompute(vector<int>&cost){intn=cost.size();vector<int>dp(n+1,0);dp[1]=cost[0];for(inti=2;i<=n;i++){dp[i]=min(dp[i-1],dp[i-2])+cost[i-1];}returnmin(dp[n],dp[n-1]);}intmain(){intn;cin>>n;vector<int>cost(n);for(inti=0;i<n;i++){cin>>cost[i];}cout<<compute(cost)<<endl;return0;}21.当输入的cost数组为{10,15,20}时,程序的输出为15()。A.正确B.错误标准答案:A。22.如果将dp[i-1]改为dp[i-3],程序可能会产生编译错误()。A.正确B.错误标准答案:B。23.程序总是输出cost数组中的最小的元素()。A.正确B.错误标准答案:B。24.当输入的cost数组为{1,100,1,1,1,100,1,1,100,1}时,程序的输出为()。A.6B.7C.8D.9标准答案:A。25.如果输入的cost数组为{10,15,30,5,5,10,20},程序的输出为()。A.25B.30C.35D.40标准答案:B。26.若将代码中的min(dp[i-1],dp[i-2])+cost[i-1]修改为dp[i-1]+cost[i-2],输入cost数组为{5,10,15}时,程序的输出为()。A.10B.15C.20D.25标准答案:A。阅读程序(3)。第27-32题,组合题。#include<iostream>#include<cmath>usingnamespacestd;intcustomFunction(inta,intb){if(b==0){returna;}returna+customFunction(a,b-1);}intmain(){intx,y;cin>>x>>y;intresult=customFunction(x,y);cout<<pow(result,2)<<endl;return0;}27.当输入为“23”时,customFunction(2,3)的返回值为“64”()。A.正确B.错误标准答案:B。28.当b为负数时,customFunction(a,b)会陷入无限递归。()。A.正确B.错误标准答案:A。29.当b的值越大,程序的运行时间越长。()。A.正确B.错误标准答案:A。30.当输入为“54”时,customFunction(5,4)的返回值为()。A.5B.25C.250D.625标准答案:B。31.如果输入x=3和y=3,则程序的最终输出为()。A.27B.81C.144D.256标准答案:C。32.若将customFunction函数改为returna+customFunction(a-1,b-1);并输入“33”,则程序的最终输出为()。A.9B.16C.25D.36标准答案:D。三、单选题(完善程序)。完善程序(1)。第33-37题,组合题。(判断平方数)问题:给定一个正整数n,判断这个数是不是完全平方数,即存在一个正整数x使得x的平方等于n。试补全程序。#include<iostream>#include<vector>usingnamespacestd;boolisSquare(intnum){inti=___①___;intbound=___②___;for(;i<=bound;++i){if(___③___){return___④___;}}return___⑤___;}intmain(){intn;cin>>n;if(isSquare(n)){cout<<n<<"isasquarenumber"<<endl;}else{cout<<n<<"isnotasquarenumber"<<endl;}return0;}33.题①处应填()。A.1B.2C.3D.4标准答案:A。34.题②处应填()。A.(int)floor(sqrt(num)-1)B.(int)floor(sqrt(num))C.floor(sqrt(num/2))-1D.floor(sqrt(num/2))标准答案:B。35.题③处应填()。A.num=2*iB.num==2*iC.num=i*iD.num==i*i标准答案:D。36.题④处应填()。A.num=2*iB.num==2*iC.trueD.false标准答案:C。37.题⑤处应填()。A.num=i*iB.num!=2*IC.trueD.false标准答案:D。完善程序(2)。第38-42题,组合题。(汉诺塔问题)给定三根柱子,分别标记为A、B和C。初始状态下,柱子A上有若干个圆盘,这些圆盘从上到下按从小到大的顺序排列。任务是将这些圆盘全部移到柱子C上,且必须保持原有顺序不变。在移动过程中,需要遵守以不规则:(1)只能从一根柱子的顶部取出圆盘,并将其放入另一根柱子的顶部。(2)每次只能移动一个圆盘。(3)小圆盘必须始终在大圆盘之上。试补全程序。#include<iostream>#include<vector>usingnamespacestd;voidmove(charsrc,chartgt){

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论