




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023CCF非專業(yè)級別軟件能力認證第一輪
(CSP-31)入門級C++語言試題
認證時間:2023年9月16日09:30~11:30
考生注意事項:
?試題紙共有10頁,答題紙共有1頁,滿分100分。請在答題紙上作答,寫在試題紙上的
一律無效。
?不得使用任何電子設(shè)備(如計算器、手機、電子詞典等)或查閱任何書籍資料。
一、單項選擇題(共15題,每題2分,共計30分;每題有且僅有一個正確選項)
1.在C++中,下面哪個關(guān)鍵字用于聲明一個變量,其值不能被修改?()
A.unsigned
B.const
C.static
D.mutable
2.八進制數(shù)123456708和076543218的和為()。
A.222222218
B.211111118
C.221111118
D.222222118
3.閱讀下述代碼,請問修改data的value成員以存儲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è)有一個鏈表的節(jié)點定義如下:
structNode{
intdata;
Node*next;
};
現(xiàn)在有一個指向鏈表頭部的指針:Node*heado如果想要在鏈表中插入一個新節(jié)點,其
成員data的值為42,并使新節(jié)點成為鏈表的第一個節(jié)點,下面哪個操作是正確的?()
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é)點的高度為1,一棵擁有2023個節(jié)點的三叉樹高度至少為()。
A.6
B.7
C.8
D.9
6.小明在某一天中依次有七個空閑時間段,他想要選出至少一個空閑時間段來練習唱歌,但
他希望任意兩個練習的時間段之間都有至少兩個空閑的時間段讓他休息。則小明一共有
()種選擇時間段的方案。
A.31
B.18
C.21
D.33
7.以下關(guān)于高精度運算的說法錯誤的是()。
A.高精度計算主要是用來處理大整數(shù)或需要保留多位小數(shù)的運算。
B.大整數(shù)除以小整數(shù)的處理的步驟可以是,將被除數(shù)和除數(shù)對齊,從左到右逐位嘗試將
除數(shù)乘以某個數(shù),通過減法得到新的被除數(shù),并累加商。
C.高精度乘法的運算時間只與參與運算的兩個整數(shù)中長度較長者的位數(shù)有關(guān)。
D.高精度加法運算的關(guān)鍵在于逐位相加并處理進位。
CCFCSP-J2023第一輪C++語言試題
第2頁,共10頁
8.后綴表達式“623+-382/+*2八3+”對應(yīng)的中綴表達式是()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%。請
問以下哪個選項是字符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.考慮一個有向無環(huán)圖,該圖包含4條有向邊:(1,2),(1,3),(2,4)和(3,4)。以下哪個
選項是這個有向無環(huán)圖的一個有效的拓撲排序?()
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.在計算機中,以下哪個選項描述的數(shù)據(jù)存儲容量最?。?)
A.字節(jié)(byte)
B.比特(bit)
C.字(word)
D.千字節(jié)(kilobyte)
14.一個班級有10個男生和12個女生。如果要選出一個3人的小組,并且小組中必須至少包
含1個女生,那么有多少種可能的組合?()
A.1420
B.1770
C.1540
D.2200
15.以下哪個不是操作系統(tǒng)?()
A.Linux
B.Windows
C.Android
D.HTML
二、閱讀程序(程序輸入不超過數(shù)組或字符串定義的范圍;判斷題正確填H錯誤填x;除特
殊說明外,判斷題1?5分,選擇題3分,共計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分)當輸入為“222”時,輸出為“1.7321”。()
17.(2分)將第7行中的“(s-b)*(s-c)”改為“(s-c)*(s-b)”不會影響
程序運行的結(jié)果。()
18.(2分)程序總是輸出四位小數(shù)。()
?單選題
19.當輸入為“345”時,輸出為()o
A."6.0000”B.“12.0000”C.“24.0000”D.“30.0000”
20.當輸入為“51213”時,輸出為()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ù)的返回值等于兩個輸入字符串的最長公共子串的長度。()
23.當輸入兩個完全相同的字符串時,g函數(shù)的返回值總是true。()
?單選題
24.將第19行中的替換為“v[n][m]9那么該程序()o
A.行為不變B.只會改變輸出C.一定非正常退出D.可能非正常退出
25.當輸入為“csp-jp-jcs”時,輸出為()0
A.“0”B.“1”C."T”D."F”
26.當輸入為"csppscspsccp”時,輸出為()□
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ù)的作用是計算n所有的因子的平方和。()
28.第13-14行的作用是避免n的平方根因子i(或n/i)進入第16行而被計算兩次。()
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.當輸入為正整數(shù)時,第一項減去第二項的差值一定()。
大于等于。且小于等于0且
A.大于0B.C.小于0D._
不一定大于0不一定小于0
32.當輸入為“5”時,輸出為()o
A.“651625”B.“650729”C.”651676”D.“652625”
CCFCSP-J2023第一輪C++語言試題
第7頁,共10頁
三、完善程序(單選題,每小題3分,共計30分)
(1)(尋找被移除的元素)問題:原有長度為n+1、公差為1的等差升序數(shù)列;將數(shù)列輸入
到程序的數(shù)組時移除了一個元素,導(dǎo)致長度為n的升序數(shù)組可能不再連續(xù),除非被移除的是第
一個或最后一個元素。需要在數(shù)組不連續(xù)時,找出被移除的元素。
試補全程序。
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)(編輯距離)給定兩個字符串,每次操作可以選擇刪除(Delete)、插入(Insert)、替換(Replace)
一個字符,求將第一個字符串轉(zhuǎn)換為第二個字符串所需要的最少操作次數(shù)。
試補全動態(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湖南省永州市本年度(2025)小學一年級數(shù)學部編版摸底考試(上學期)試卷及答案
- 遼寧省沈陽市第120中學2025年高考沖刺押題(最后一卷)英語試卷含解析
- 配電線路工專業(yè)考試題含參考答案
- 2025屆云南省曲靖市會澤縣茚旺高級中學高考英語四模試卷含答案
- 東莞東華高級中學2025屆高考仿真卷英語試卷含答案
- 航空飛行器飛行器保險產(chǎn)品創(chuàng)新考核試卷
- 水產(chǎn)品冷凍加工企業(yè)財務(wù)管理與投資分析考核試卷
- 石油勘探技術(shù)考核試卷
- 液壓與液力技術(shù)在陶瓷印花機中的應(yīng)用考核試卷
- 篷布遮陽篷在商業(yè)建筑的節(jié)能貢獻與景觀設(shè)計效果評價考核試卷
- 2025年四川省成都市住房和城鄉(xiāng)建設(shè)局所屬10家事業(yè)單位招聘45人歷年高頻重點提升(共500題)附帶答案詳解
- 2025年高考物理復(fù)習之小題狂練600題(解答題):機械波(10題)
- 手工掛面標準
- DB31-T 1385-2022 科技成果分類評價和價值潛力評價規(guī)范
- 《什么是PBL教學法》課件
- 首都經(jīng)濟貿(mào)易大學《中級微觀經(jīng)濟學》2023-2024學年第一學期期末試卷
- 亞朵客房培訓(xùn)
- 拓寬超高清內(nèi)容分發(fā)渠道實施方案
- 個體工商營業(yè)執(zhí)照變更委托書
- 示范崗和先鋒崗的設(shè)置實施方案
- 教科版四年級科學下冊期中試卷
評論
0/150
提交評論