




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2023CCF非專業(yè)級別軟件能力認證第一輪(CSPJ1)入門級C++語言試題認證時間:2023年9月16日09:30~11:30考生注意事項:試題紙共有10頁,答題紙共有1頁,滿分100分。請在答題紙上作答,寫在試題紙上的一律無效。不得使用任何電子設(shè)備(如計算器、、電子詞典等)或查閱任何書籍資料。一、單項選擇題(共15題,每題2分,共計30分;每題有且有一個正確選項)1.在C++中,下面哪個關(guān)鍵字用于聲明一個變量,其值不能被修改?()A.unsignedB.constC.staticD.mutable2.八進制數(shù)123456788和076543218的和為()。A.222222218B.211111118C.221111118D.2222221183.閱讀下述代碼,請問修改data的value成員以存儲3.14,正確的方式是()unionData{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;4.假設(shè)有一個鏈表的節(jié)點定義如下:structNode{structNode{intdata;Node*next;};現(xiàn)在有一個指向鏈表頭部的指針:Node*head。如果想要在鏈表中插入一個新的節(jié)點,其成員data的值為42,并使新節(jié)點成為鏈表的第一個節(jié)點,下面哪個操作是正確的?()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.6B.7C.8D.96.小明在某一天中依次有七個空閑時間段,他想要選出至少一個空閑時間段來練習唱歌,但他希望任意兩個練習的時間段之間都有至少兩個空閑的時間段讓他休息。則小明一共有()種選擇時間段的方案A.31B.18C.21D.337.以下關(guān)于高精度運算的說法錯誤的是()。A.高精度計算主要是用來處理大整數(shù)或需要保留多位小數(shù)的運算。
B.大整數(shù)除以小整數(shù)的處理的步驟可以是,將被除數(shù)和除數(shù)對齊,從左到右逐位嘗試將除數(shù)乘以某個數(shù),通過減法得到新的被除數(shù),并累加商。C.高精度乘法的運算時間只與參與運算的兩個整數(shù)中長度較長者的位數(shù)有關(guān)。D.高精度加法運算的關(guān)鍵在于逐位相加并處理進位。8. 后綴表達式“623+382/+*23+”對應的中綴表達式是()。A.((6(2+3))*(3+8/2))^2+3B.6–2+3*3+8/2^2+3C.(6(2+3))*((3+8/2)^2)+3D.6((2+3)*(3+8/2))^2+39.數(shù)1010102和1668的和為()101100002B.2368C.15810D.A01610.假設(shè)有一組字符{a,b,c,d,e,f},對應的頻率分別為5%、9%、12%、13%、16%、45%。請問以下哪個選項是字符a,b,c,d,e,f分別對應的一組哈夫曼編碼?()A.1111,1110,101,100,110,0B.1010,1001,1000,011,010,00C.000,001,010,011,10,11D.1010,1011,110,111,00,0111.給定一棵二叉樹,其前序遍歷結(jié)果為:ABDECFG,中序遍歷結(jié)果為:DEBACFG。請問這棵樹的正確后序遍歷結(jié)果是什么?()A.EDBFGCAB.EDBGCFAC.DEBGFCAD.DBEGFCA12.考慮一個有向無環(huán)圖,該圖包含4條有向邊:(1,2),(1,3),(2,4)和(3,4)。以下哪個選項是這個有向無環(huán)圖的一個有效的拓撲排序?()A.4,2,3,1B.1,2,3,4C.1,2,4,31234D.2,1,3,4123413.在計算機中,以下哪個選項描述的數(shù)據(jù)存儲容量最小?()A.字節(jié)(byte)B.比特(bit)C.字(word)D.千字節(jié)(kilobyte)14.一個班級有10個男生和12個女生。如果要選出一個3人的小組,并且小組中必須至少包含1個女生,那么有多少種可能的組合?()A.1420B.1770C.1540D.220015.以下哪個不是操作系統(tǒng)?()A.LinuxB.WindowsC.AndroidD.HTML二、閱讀程序(程序輸入不超過數(shù)組或字符串定義的范圍,判斷題正確填√,錯誤填x;除特殊說明外,判斷題1.5分,選擇題3分,共計40分)(1)01#include<iostream>02#include<cmath>03usingnamespacestd;0405doublef(doublea,doubleb,doublec){06doubles=(a+b+c)/2;07returnsqrt(s*(sa)*(sb)*(sc));08}0910intmain(){11 cout.flags(ios::flxed);12 cout.precision(4);1314 inta,b,c;15cin>>a>>b>>c;16cout<<f(a,b,c)<<endl;17return0;18}假設(shè)輸入的所有數(shù)都為不超過1000的正整數(shù),完成下面的判斷題和單選題判斷題:判斷題16.(2分)當輸入為“222”時,輸出為“1.7321”。()17.(2分)將第7行中的“(sb)*(sc)”改為“(sc)*(sb)”不會影響程序運行的結(jié)果。()18.(2分)程序總是輸出四位小數(shù)。()單選題19.當輸入為“345”時,輸出為()。A.“6.0000”B.“12.0000”C.“24.0000”D.“30.0000”20.當輸入為“51213”時,輸出為()A.“24.0000”B.“30.0000”C.“60.0000”D.“120.0000”(2)01#include<iostream>02#include<vector>03#include<algorithm>04usingnamespacestd;0506intf(stringx,stringy){07 intm=x.size();08intn=y.size();09vector<vector<int>>v(m+1,vector<int>(n+1,0));10for(inti=1;i<=m;i++){11for(intj=1;j<=n;j++){12 if(x[i1]==y[j1]){13v[i][j]=v[i1][j1]+1;14}else{15v[i][j]=max(v[i1][j],v[i][j1]);16}17}18}19returnv[m][n];20}2122boolg(stringx,stringy){23if(x.size()!=y.size()){24returnfalse;25}26returnf(x+x,y)==y.size();27}2829intmain(){30stringx,y;31cin>>x>>y;cout<<g(x,y)<<endl;return0;}判斷題21.f函數(shù)的返回值小于等于min(n,m)。()22.f函數(shù)的返回值等于兩個輸入字符串的最長公共子串的長度。()23.當輸入兩個完全相同的字符串時,g函數(shù)的返回值總是true.()單選題24.將第19行中的“v[m][n]”替換為“v[n][m]”,那么該程序()。A.行為不變B.只會改變輸出C.一定非正常退出D.可能非正常退出25.當輸入為“cspjpjcs”時,輸出為()。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;0405intsolve1(intn){06returnn*n;07}0809intsolve2(intn){ 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}2223intmain(){ 24intn; 25cin>>n; 26cout<<solve2(solve1(n))<<""<<solve1(solve2(n))<<endl;27return0;28}假設(shè)輸入的n是絕對值不超過1000的整數(shù),完成下面的判斷題和單選題:判斷題27.如果輸入的n為正整數(shù),solve2函數(shù)的作用是計算n所有的因子的平方和。()28.第1314行的作用是避免n的平方根因子(或n/i)進入第16行而被計算兩次。()29.如果輸入的n為質(zhì)數(shù),solve2(n)的返回值為n2+1。()單選題30.(4分)如果輸入的n為質(zhì)數(shù)p的平方,那么solve2(n)的返回值為()。A.p2+p+1B.n2+n+1C.n2+1D.p4+2p2+131.當輸入為正整數(shù)時,第一項減去第二項的差值一定()。大于等于0B.大于等于0且不一定大于0C.小于0D.小于等于0且不一定小于032.當輸入為“5”時,輸出為()。A.“651625”B.“650729”C.“651676”D.”652625”三、完善程序(單選題,每小題3分,共計30分)(1)(尋找被移除的元素)問題:原有長度為n+1、公差為1的等差升序數(shù)列;將數(shù)列輸入到程序的數(shù)組時移除了一個元素,導致長度為n的升序數(shù)組可能不再連續(xù),除非被移除的是第一個或最后一個元素。需要在數(shù)組不連續(xù)時,找出被移除的元素。試補全程序。01#include<iostream>02#include<vector>0304usingnamespacestd;0506intfind_missing(vector<int>&nums){07intleft=0,right=nums.size()1;08while(left<right){09intmid=left+(rightleft)/2;10if(nums[mid]==mid+①){11②12}else{13③14}15}16return④17}1829intmain(){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.①處應該填() A.1B.nums[0]C.rightD.left34.②處應該填() A.left=mid+1B.right=mid–1 C.right=mid D.left=mid35.③處應該填() A.left=mid+1B.right=mid–1 C.right=mid D.left=mid36.④處應該填() A.left=nums[0]B.right+nums[0] C.mid+nums[0] D.right+137.⑤處應該填() A.nums[0]+nB.nums[0]+n1C.nums[0]+n+1D.nums[n1](2)(編輯距離)給定兩個字符串,每次操作可以選擇刪除(Delete)、插入(insert)替換(Replace)個字符,求將第一個字符串轉(zhuǎn)換為第二個字符串所需要的最少操作次數(shù)。試補全動態(tài)規(guī)劃算法。 01#include<iostream>02#include<string>03#include<vector>04usingnamespacestd;0506intmin(intx,inty,intz){07returnmin(min(x,y),z);08}0910intedit_dist_dp(stringstr1,stringstr2){11intm=str1.length();12intn=str2.length();13vector<vector<int>>dp(m+1,vector<int>(n+1));1415for(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]
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 曼聯(lián)簽約協(xié)議書
- 牧雞治蝗協(xié)議書
- 道路糾紛協(xié)議書范本
- 足療商鋪租賃合同協(xié)議
- 超市聯(lián)營租賃合同協(xié)議
- 雙方自愿離婚協(xié)議書樣例
- 合同協(xié)議托兒所合同
- 油罐出租協(xié)議書
- 退股轉(zhuǎn)勞務合同協(xié)議
- 通風機維修合同協(xié)議
- (正式版)JBT 7248-2024 閥門用低溫鋼鑄件技術(shù)規(guī)范
- 漿砌片石擋墻施工方案
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 多臂老虎機問題的強化學習算法
- 國家開放大學《Python語言基礎(chǔ)》實驗5:循環(huán)結(jié)構(gòu)基本應用參考答案
- 關(guān)注心理健康助力學生成長
- 農(nóng)耕文節(jié)策劃方案
- GSP認證之附錄3冷藏冷凍藥品儲存與運輸管理溫濕度自動監(jiān)測
- 南京雨花石知識講座
- 高流量氧療的應用與護理
- 船舶制造業(yè)行業(yè)痛點與解決措施
評論
0/150
提交評論