版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2023CCF非專業(yè)級別軟件能力認(rèn)證第一輪
(CSP-31)入門級C++語言試題
認(rèn)證時(shí)間:2023年9月16日09:30~11:30
考生注意事項(xiàng):
?試題紙共有10頁,答題紙共有1頁,滿分100分。請?jiān)诖痤}紙上作答,寫在試題紙上的
一律無效。
?不得使用任何電子設(shè)備(如計(jì)算器、手機(jī)、電子詞典等)或查閱任何書籍資料。
一、單項(xiàng)選擇題(共15題,每題2分,共計(jì)30分;每題有且僅有一個(gè)正確選項(xiàng))
1.在C++中,下面哪個(gè)關(guān)鍵字用于聲明一個(gè)變量,其值不能被修改?()
A.unsigned
B.const
C.static
D.mutable
2.八進(jìn)制數(shù)123456708和076543218的和為()。
A.222222218
B.211111118
C.221111118
D.222222118
3.閱讀下述代碼,請問修改data的value成員以存儲(chǔ)3.14,正確的方式是()。
unionData{
intnum;
floatvalue;
charsymbol;
};
unionDatadata;
A.data.value=3.14;
B.value.data=3.14;
C.data->value=3.14;
D.value->data=3.14;
CCFCSP-J2023第一輪C++語言試題
第1頁,共10頁
4.假設(shè)有一個(gè)鏈表的節(jié)點(diǎn)定義如下:
structNode{
intdata;
Node*next;
};
現(xiàn)在有一個(gè)指向鏈表頭部的指針:Node*heado如果想要在鏈表中插入一個(gè)新節(jié)點(diǎn),其
成員data的值為42,并使新節(jié)點(diǎn)成為鏈表的第一個(gè)節(jié)點(diǎn),下面哪個(gè)操作是正確的?()
A.Node*newNode=newNode;newNode->data=42;newNode->next=head;head
=newNode;
B.Node*newNode=newNode;head->data=42;newNode->next=head;head
=newNode;
C.Node*newNode=newNode;newNode->data=42;head->next=newNode;
D.Node*newNode=newNode;newNode->data=42;newNode->next=head;
5.根節(jié)點(diǎn)的高度為1,一棵擁有2023個(gè)節(jié)點(diǎn)的三叉樹高度至少為()。
A.6
B.7
C.8
D.9
6.小明在某一天中依次有七個(gè)空閑時(shí)間段,他想要選出至少一個(gè)空閑時(shí)間段來練習(xí)唱歌,但
他希望任意兩個(gè)練習(xí)的時(shí)間段之間都有至少兩個(gè)空閑的時(shí)間段讓他休息。則小明一共有
()種選擇時(shí)間段的方案。
A.31
B.18
C.21
D.33
7.以下關(guān)于高精度運(yùn)算的說法錯(cuò)誤的是()。
A.高精度計(jì)算主要是用來處理大整數(shù)或需要保留多位小數(shù)的運(yùn)算。
B.大整數(shù)除以小整數(shù)的處理的步驟可以是,將被除數(shù)和除數(shù)對齊,從左到右逐位嘗試將
除數(shù)乘以某個(gè)數(shù),通過減法得到新的被除數(shù),并累加商。
C.高精度乘法的運(yùn)算時(shí)間只與參與運(yùn)算的兩個(gè)整數(shù)中長度較長者的位數(shù)有關(guān)。
D.高精度加法運(yùn)算的關(guān)鍵在于逐位相加并處理進(jìn)位。
CCFCSP-J2023第一輪C++語言試題
第2頁,共10頁
8.后綴表達(dá)式“623+-382/+*2八3+”對應(yīng)的中綴表達(dá)式是()o
A.((6-(2+3))*(3+8/2))A2+3
B.6-2+3*3+8/2A2+3
C.(6-(2+3))*((3+8/2)A2)+3
D.6-((2+3)*(3+8/2))八2+3
9.數(shù)1010102和1668的和為()o
A.101100002
B.2368
C.15810
D.A0i6
1。.假設(shè)有一組字符{a,b,c,d,e,f},對應(yīng)的頻率分別為5%、9%、12%、13%、16%、45%。請
問以下哪個(gè)選項(xiàng)是字符a泮/)遇/分別對應(yīng)的一組哈夫曼編碼?()
A.1111,1110,101,100,110,0
B.1010,1001,1000,011,010,00
C.000,001,010,011,10,11
D.1010,1011,110,111,00,01
11.給定一棵二叉樹,其前序遍歷結(jié)果為:ABDECFG,中序遍歷結(jié)果為:DEBACFGo請問這棵
樹的正確后序遍歷結(jié)果是什么?()
A.EDBFGCA
B.EDBGCFA
C.DEBGFCA
D.DBEGFCA
12.考慮一個(gè)有向無環(huán)圖,該圖包含4條有向邊:(1,2),(1,3),(2,4)和(3,4)。以下哪個(gè)
選項(xiàng)是這個(gè)有向無環(huán)圖的一個(gè)有效的拓?fù)渑判??(?/p>
A.4,2,3,1
B.1,2,3,4
C.1,2,4,3
D.2,1,3,4
CCFCSP-J2023第一輪C++語言試題
第3頁,共10頁
13.在計(jì)算機(jī)中,以下哪個(gè)選項(xiàng)描述的數(shù)據(jù)存儲(chǔ)容量最???()
A.字節(jié)(byte)
B.比特(bit)
C.字(word)
D.千字節(jié)(kilobyte)
14.一個(gè)班級有10個(gè)男生和12個(gè)女生。如果要選出一個(gè)3人的小組,并且小組中必須至少包
含1個(gè)女生,那么有多少種可能的組合?()
A.1420
B.1770
C.1540
D.2200
15.以下哪個(gè)不是操作系統(tǒng)?()
A.Linux
B.Windows
C.Android
D.HTML
二、閱讀程序(程序輸入不超過數(shù)組或字符串定義的范圍;判斷題正確填H錯(cuò)誤填x;除特
殊說明外,判斷題1?5分,選擇題3分,共計(jì)40分)
(1)
01#include<iostream>
02#include<cmath>
03usingnamespacestd;
04
05doublef(doublea,doubleb,doublec){
06doubles=(a+b+c)/2;
07returnsqrt(s*(s-a)*(s-b)*(s-c));
08)
09
10intmain(){
11cout.flags(ios::fixed);
12cout,precision(4);
13
14inta,b,c;
CCFCSP-J2023第一輪C++語言試題
第4頁,共10頁
15cin>>a>>b>>c;
16cout<<f(a,b,c)<<endl;
17return0;
18
假設(shè)輸入的所有數(shù)都為不超過1000的正整數(shù),完成下面的判斷題和單選題:
?判斷題
16.(2分)當(dāng)輸入為“222”時(shí),輸出為“1.7321”。()
17.(2分)將第7行中的“(s-b)*(s-c)”改為“(s-c)*(s-b)”不會(huì)影響
程序運(yùn)行的結(jié)果。()
18.(2分)程序總是輸出四位小數(shù)。()
?單選題
19.當(dāng)輸入為“345”時(shí),輸出為()o
A."6.0000”B.“12.0000”C.“24.0000”D.“30.0000”
20.當(dāng)輸入為“51213”時(shí),輸出為()o
A.“24.0000”B.“30.0000”C.“60.0000”D.“120.0000”
(2)
01#include<iostream>
02#include<vector>
03#include<algorithm>
04usingnamespacestd;
05
06intf(stringx,stringy){
07intm=x.size();
08intn=y.size();
09vector<vector<int>>v(m+l,vector<int>(n+lJ0));
10for(inti=1;i<=m;i++){
11for(intj=1;j<=n;j++){
12if(x[i-l]==y[j-l]){
13v[i][j]=v[i-l][j-l]+1;
14}else{
15v[i][j]=max(v[i-l][j],v[i][j-l]);
16
17
18
19returnv[m][n];
20
CCFCSP-J2023第一輪C++語言試題
第5頁,共10頁
21
22boolg(stringx,stringy){
23if(x.size()!=y.size()){
24returnfalse;
25}
26returnf(x+x,y)==y.size();
27}
28
29intmain(){
30stringx,y;
31cin>>x>>y;
32cout<<g(Xjy)<<endl;
33return0;
34}
?判斷題
21.f函數(shù)的返回值小于等于min(n,m)。()
22.f函數(shù)的返回值等于兩個(gè)輸入字符串的最長公共子串的長度。()
23.當(dāng)輸入兩個(gè)完全相同的字符串時(shí),g函數(shù)的返回值總是true。()
?單選題
24.將第19行中的替換為“v[n][m]9那么該程序()o
A.行為不變B.只會(huì)改變輸出C.一定非正常退出D.可能非正常退出
25.當(dāng)輸入為“csp-jp-jcs”時(shí),輸出為()0
A.“0”B.“1”C."T”D."F”
26.當(dāng)輸入為"csppscspsccp”時(shí),輸出為()□
A."T”B."F”C.“0"D.“1”
(3)
01#include<iostream>
02#include<cmath>
03usingnamespacestd;
04
05intsolvel(intn){
06returnn*n;
07)
08
09intsolve2(intn){
CCFCSP-J2023第一輪C++語言試題
第6頁,共10頁
10intsum=0;
11for(inti=1;i<=sqrt(n);i++){
12if(n%i==0){
13if(n/i==i){
14sum+=i*i;
15}else{
16sum+=i*i+(n/i)*(n/i);
17}
18)
19}
20returnsum;
21)
22
23intmain(){
24intn;
25cin>>n;
26cout<<solve2(solvel(n))<<""<<solvel(solve2(n))<<endl;
27return0;
28)
假設(shè)輸入的n是絕對值不超過1000的整數(shù),完成下面的判斷題和單選題:
?判斷題
27.如果輸入的n為正整數(shù),solve2函數(shù)的作用是計(jì)算n所有的因子的平方和。()
28.第13-14行的作用是避免n的平方根因子i(或n/i)進(jìn)入第16行而被計(jì)算兩次。()
29.如果輸入的n為質(zhì)數(shù),solve2(n)的返回值為產(chǎn)+1。()
?單選題
30.(4分)如果輸入的n為質(zhì)數(shù)p的平方,那么solve2(n)的返回值為()o
A.p2+p+1B.n2+n+1C.n2+1D.p4+2P2+1
31.當(dāng)輸入為正整數(shù)時(shí),第一項(xiàng)減去第二項(xiàng)的差值一定()。
大于等于。且小于等于0且
A.大于0B.C.小于0D._
不一定大于0不一定小于0
32.當(dāng)輸入為“5”時(shí),輸出為()o
A.“651625”B.“650729”C.”651676”D.“652625”
CCFCSP-J2023第一輪C++語言試題
第7頁,共10頁
三、完善程序(單選題,每小題3分,共計(jì)30分)
(1)(尋找被移除的元素)問題:原有長度為n+1、公差為1的等差升序數(shù)列;將數(shù)列輸入
到程序的數(shù)組時(shí)移除了一個(gè)元素,導(dǎo)致長度為n的升序數(shù)組可能不再連續(xù),除非被移除的是第
一個(gè)或最后一個(gè)元素。需要在數(shù)組不連續(xù)時(shí),找出被移除的元素。
試補(bǔ)全程序。
01#include<iostream>
02#include<vector>
03
04usingnamespacestd;
05
06intfind_missing(vector<int>&nums){
07intleft=0,right=nums.size()-1;
08while(left<right){
09intmid=left+(right-left)/2;
10if(nums[mid]==mid+①){
11②;
12}else{
13③;
14)
15)
16return④;
17)
18
19intmain(){
20intn;
21cin>>n;
22vector<int>nums(n);
23for(inti=0;i<n;i++)cin>>nums[i];
24intmissing_number=find_missing(nums);
25if(missing_number==⑤){
26cout<<"Sequenceisconsecutive"<<endl;
27}else{
28cout<<"Missingnumberis"<<missing_number<<endl;
29)
30return0;
31}
33.①處應(yīng)填()
A.1B.nums[0]C.rightD.left
CCFCSP-J2023第一輪C++語言試題
第8頁,共10頁
34.②處應(yīng)填()
A.left=mid+1B.right=mid-1
C.right=midD.left=mid
35.③處應(yīng)填()
A.left=mid+1B.right=mid-1
C.right=midD.left=mid
36.④處應(yīng)填()
A.left+nums[0]B.right+nums[0]
C.mid+nums[0]D.right+1
37.⑤處應(yīng)填()
A.nums[0]+nB.nums[0]+n1C.nums[0]+n+lD.nums[n-l]
(2)(編輯距離)給定兩個(gè)字符串,每次操作可以選擇刪除(Delete)、插入(Insert)、替換(Replace)
一個(gè)字符,求將第一個(gè)字符串轉(zhuǎn)換為第二個(gè)字符串所需要的最少操作次數(shù)。
試補(bǔ)全動(dòng)態(tài)規(guī)劃算法。
01ttinclude<iostream>
02ttinclude<string>
03#include<vector>
04usingnamespacestd;
05
06intmin(intx,inty,intz){
07returnmin(min(x,y),z);
08)
09
10intedit_dist_dp(stringstrl,stringstr2){
11intm=strl.length();
12intn=str2.length();
13vector<vector<int>>dp(m+1,vector<int>(n+1));
14
15for(inti=0;i<=m;i++){
16for(intj=0;j<=n;j++){
17if(i==0)
18dp[i][j]=①;
19elseif(j==0)
20dp[i][j]=②;
21elseif(@)
22dp[i][j]=④;
23else
CCFCSP-J2023第一輪C++語言試題
第9頁,共10頁
24dp[i][j]=1+min(dp[i][j-1],dp[i-l][j],⑤);
25)
26)
27return
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年安徽安慶市潛山市潛潤投資控股集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年中車洛陽機(jī)車有限公司招聘筆試參考題庫含答案解析
- 2025年廈門鎢業(yè)股份有限公司招聘筆試參考題庫含答案解析
- 河南省平頂山市(2024年-2025年小學(xué)六年級語文)部編版能力評測(下學(xué)期)試卷及答案
- 2024版建筑工程設(shè)計(jì)合同協(xié)議書樣本
- 2024版正規(guī)的采購合同范本下載
- 二零二五年度新能源車輛擔(dān)保合同與主合同售后服務(wù)協(xié)議2篇
- 二零二五年度物流咨詢服務(wù)咨詢合同2篇
- 二零二五年度物聯(lián)網(wǎng)技術(shù)在物流行業(yè)的應(yīng)用合同2篇
- 2024版專業(yè)法律顧問常年服務(wù)合同版
- 個(gè)體工商營業(yè)執(zhí)照變更委托書
- 2024版【人教精通版】小學(xué)英語六年級下冊全冊教案
- 人教版歷史2024年第二學(xué)期期末考試七年級歷史試卷(含答案)
- 預(yù)算法及實(shí)施條例測試題(含答案)
- 2024屆新高考數(shù)學(xué)大題訓(xùn)練:數(shù)列(30題)(解析版)
- DL∕T 1802-2018 水電廠自動(dòng)發(fā)電控制及自動(dòng)電壓控制技術(shù)規(guī)范
- 50以內(nèi)加減法口算題卡(1000道打印版)每日100道
- 黑龍江省2025屆高三最后一卷歷史試卷含解析
- GB/T 4008-2024錳硅合金
- 合伙人入股合作協(xié)議書
- 2024年中級經(jīng)濟(jì)師考試題庫含答案(完整版)
評論
0/150
提交評論