版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
2025年9月GESP編程能力認證C++等級考試一級真題(含答案和解析)一、單選題(每題2分,共30分)。1.人工智能現(xiàn)在非?;?,小楊就想多了解一下,其中就經(jīng)常聽人提到“大模型”。那么請問這里說的“大模型”最貼切是指()。A.大電腦模型B.大規(guī)模智能C.智能的單位D.大語言模型答案:D。解析:“大模型”在近年的人工智能領域通常是指大語言模型(LargeLanguageModel,LLM),例如GPT系列、BERT等。這類模型具有巨大的參數(shù)量(可達千億級別),在海量文本數(shù)據(jù)上訓練,能夠完成文本生成、對話、翻譯等多種自然語言處理任務。2.小楊這學期剛開學就選修了一門編程課,然后就想編寫程序來計算1到10001之間的所有偶數(shù)的和。他希望程序采用簡單累加整數(shù)的方法,同時希望源程序盡可能清晰、簡潔,則下面關(guān)于實現(xiàn)累加時采用的主要控制結(jié)構(gòu)的哪個說法最不合適()。A.使用循環(huán)結(jié)構(gòu)B.使用循環(huán)和分支的組合C.僅使用順序結(jié)構(gòu)D.不使用分支結(jié)構(gòu)答案:C。解析:題目要求計算1到10001之間的所有偶數(shù)的和。A使用循環(huán)結(jié)構(gòu):合適,可以循環(huán)遍歷每個數(shù)。B使用循環(huán)和分支的組合:合適,在循環(huán)內(nèi)用分支判斷是否為偶數(shù)再累加。C僅使用順序結(jié)構(gòu):不合適,因為順序結(jié)構(gòu)只能逐條執(zhí)行固定步驟,而這里有10001個數(shù),不可能寫10001行判斷與累加代碼。D不使用分支結(jié)構(gòu):合適,例如循環(huán)步長為2,從2開始直接累加偶數(shù),無需分支判斷。3.下面的C++代碼用于輸入姓名,然后輸出姓名,正確的說法是()。stringXingMing;cout<<"請輸入您的姓名:";cin>>XingMing;cout<<XingMing;A.XingMing是漢語拼音,不能作為變量名稱。B.可以將XingMing改為XingMingC.可以將XingMing改為xingmingD.可以將XingMing改為Xing-Ming答案:C。解析:C++變量命名規(guī)則——(1)只能包含字母、數(shù)字、下劃線。(2)不能以數(shù)字開頭。(3)區(qū)分大小寫。選項分析如下:A漢語拼音可以作為變量名,只要符合命名規(guī)則。B“XingMing”中間有空格,不合法。C“xingming”全部小寫,合法,只是與原來大小寫不同。D“Xing-Ming”含減號,不合法。4.下列C++代碼中a和b都是整型變量,執(zhí)行后,其結(jié)果是()。a=13;b=5;cout<<a/b<<a%//b<<a%b;a*b;A.23B.23C.20D.以上都不準確答案:C。解析:實際有效代碼行變?yōu)閏out<<a/b<<a%a*b;(//注釋掉了中間部分并去掉了分號,下一行接上)。計算:a/b=13/5=2。a%a*b=(13%13)*5=0*5=0。輸出為:20(無空格、無換行)。5.題C++表達式3*4%5/6的值是()。A.10B.5C.2D.0答案:D。解析:表達式按優(yōu)先級計算,3*4=12,12%5=2,2/6=0(整數(shù)除法舍去小數(shù)部分)。最終結(jié)果為0。6.下面的C++代碼中變量N和M都是整型,則執(zhí)行時如果先輸入10并輸入一個制表符后輸入20并回車,其輸出的數(shù)值是()。scanf("%d",&N);scanf("%d",&M);printf("{%d}",N+M);A.{30}B.1020C.{N+M}D.不輸出,繼續(xù)等待輸入。答案:A。解析:scanf中空格/制表符/回車可作為輸入分隔符,讀取整數(shù)直到遇到非數(shù)字字符。因此輸入10\t20時,N=10,M=20,輸出30,數(shù)值部分是30,{}作為字符串原樣輸出,所以選A。7.當前是9月,編寫C++代碼求N個月后的月份。橫線處應填入的代碼是()。intN,M;cin>>N;M=_____________;if(M==0)printf("%d個月后12月",N);elseprintf("%d個月后是%d月",N,M);A.N%12B.9+N%12C.(9+N)/12D.(9+N)%12答案:D。解析:總月份數(shù)為9+N,需映射到1-12范圍,用(9+N)%12。若結(jié)果為0,對應12月(如9+3=12,12%12=0→12月)。若結(jié)果非0,直接為目標月份(如9+4=13,13%12=1→1月)。8.下面C++代碼執(zhí)行后的輸出是()。intn=0;for(inti=0;i<100;i++)n+=i%2;cout<<n;A.5050B.4950C.50D.49答案:C。解析:i%2的結(jié)果,i為偶數(shù)時,i%2=0(如i=0,2,4…);i為奇數(shù)時,i%2=1(如i=1,3,5…)。循環(huán)范圍i=0~99,共100個數(shù),其中奇數(shù)有50個(1,3,5,…,99),累加結(jié)果n=50。9.下面的C++代碼執(zhí)行后輸出是()。intN=0,i;for(i=-100;i<100;i++)N+=i%10;cout<<N;A.900B.100C.0D.-100答案:C。解析:i從-100到99遍歷,i%10取每個數(shù)的個位數(shù)字(在C++中,取余運算符%的結(jié)果與被除數(shù)的符號一致)。由于正負整數(shù)的個位余數(shù)會相互抵消(如-1和1的個位余數(shù)、-2和2的個位余數(shù)等之和為0),最終累加和為0。選C。10.下面C++代碼執(zhí)行后輸出是()。inti;for(i=1;i<5;i++){if(i%3==0)break;printf("%d#",i);}if(i>5)printf("END\n");A.1#2#B.1#2#ENDC.1#2D.1#2#3#4#END答案:A。解析:i=1、i=2時,if條件不成立,輸出1#、2#。i=3時,if條件成立執(zhí)行break終止循環(huán)。后續(xù)if(i>5)不滿足(i=3),不輸出END。最終輸出1#2#選A。11.下面的C++代碼用于求N的鏡面數(shù)(N的個位到最高位的各位數(shù)字依次反過來出現(xiàn)在數(shù)字中,但高位0將被忽略,不輸出),如輸入1234,則將輸出4321,又如輸入120,則將輸出21,錯誤的選項是()。cout<<"請輸入個位數(shù)不為0的正整數(shù):";cin>>N;rst=0;//保存逆序結(jié)果。while(______________){rst=rst*10+N%10;N=N/10;}cout<<rst<<endl;A.N!=0B.not(N==0)C.N=0D.N>0答案:C。解析:求鏡面數(shù)的循環(huán)需持續(xù)處理N的每一位,直到N為0。選項A、B、D均表示“N不為0”,符合循環(huán)邏輯(在C++中,not是邏輯非運算符,等價于!)。選項C是賦值語句不是條件,邏輯錯誤。選C。12.下面C++代碼用于交換兩個正整數(shù)a和b的值,不能實現(xiàn)交換的代碼是()。A.cout<<"輸入第一個正整數(shù):";cin>>a;cout<<"輸入第二個正整數(shù):";cin>>b;temp=a;a=b;b=temp;cout<<"a="<<a<<"b="<<b<<endl;B.cout<<"輸入第一個正整數(shù):";cin>>a;cout<<"輸入第二個正整數(shù):";cin>>b;b=a-b;a=a-b;b=a+b;cout<<"a="<<a<<"b="<<b<<endl;C.cout<<"輸入第一個正整數(shù):";cin>>a;cout<<"輸入第二個正整數(shù):";cin>>b;a=a+b;b=a-b;a=a-b;cout<<"a="<<a<<"b="<<b<<endl;D.cout<<"輸入第一個正整數(shù):";cin>>a;cout<<"輸入第二個正整數(shù):";cin>>b;a,b=b,a;cout<<"a="<<a<<"b="<<b<<endl;答案:D。解析:選項D中a,b=b,a;雖然是C++合法語法,無法實現(xiàn)交換;A、B、C均為合法交換邏輯。選D。或者帶入數(shù)據(jù)a=1,b=2求解驗證也可以排除D。13.下面C++代碼用于獲得正整數(shù)N的第M位數(shù),約定個位數(shù)為第1位,如N等于1234,M等于2,則輸出3。假設M的值是大于等于1且小于等于N的位數(shù)。橫線處應填入的代碼是()。intN,M,div=1;cout<<"請輸入一個正整數(shù):";cin>>N;cout<<"請輸入從右到左取第幾位數(shù):";cin>>M;for(inti=0;i<(M-1);i++)div*=10;cout<<(______________);A.N%div/10B.N/div/10C.N%div%10D.N/div%10答案:D。解析:第7行循環(huán)的作用是——將div變?yōu)?0^(M-1)(如M=2時,div=10),那么想要獲取N的第M位,需要先將第M位移到個位(N/div),再對10取余(%10),即N/div%10。選D。14.下面C++代碼執(zhí)行后輸出是()。num=0;while(num<=5){num+=1;if(num==3)continue;printf("%d#",num);}A.1#2#4#5#6#B.1#2#4#5#6C.1#2#3#4#5#6#D.1#2#3#4#5#6答案:A。解析:循環(huán)中num從0~5,當num=3時,continue跳過輸出語句其余num=0,1,2,4,5時,輸出(num+1)#。最終輸出1#2#4#5#6#。選A。15.下面C++代碼用于記錄多個輸入數(shù)中的最大數(shù)和最小數(shù)(輸入-999則輸入結(jié)束),相關(guān)說法錯誤的是()。cin>>now_num;min_num=max_num=now_num;while(now_num!=-999){if(max_num<now_num)max_num=now_num;if(min_num>now_num)min_num=now_num;cin>>now_num;}cout<<min_num<<''<<max_num;A.程序運行時如果第一個數(shù)輸入-999,則輸出將是-999-999。B.程序輸入過程中,如果輸入的第一個數(shù)不是-999,則如果待輸入的數(shù)據(jù)中沒有-999,則程序能求出已輸入整數(shù)中的最大數(shù)和最小數(shù)。C.如果用于輸入考試成績,即成績中不可能有-999,則程序能求出已輸入成績中的最高成績和最低成績。D.可以將cin>>now_num;移動到while(now_num!=-999){下面,結(jié)果不變。答案:D。解析:程序邏輯——先讀入第一個數(shù)初始化最大/最小值,再循環(huán)讀入后續(xù)數(shù)更新最大/最小。選項D:若將cin>>now_num;移到while內(nèi),第一個數(shù)無法初始化min_num和max_num,邏輯錯誤;A、B、C均符合程序邏輯。選D。二、判斷題(每題2分,共20分)。16.在集成開發(fā)環(huán)境里調(diào)試程序時,要注意不能修改源程序,因為如果修改,就要終止調(diào)試、關(guān)閉該文件并重新打開,才能再次開始調(diào)試。()。答案:錯誤。解析:在現(xiàn)代集成開發(fā)環(huán)境(IDE)中,調(diào)試期間修改源代碼后,通常IDE會提示源代碼已更改,并詢問是否重新編譯并繼續(xù)調(diào)試,或者停止調(diào)試。有些IDE(如VisualStudio、Code::Blocks、Xcode等)支持“編輯并繼續(xù)”(EditandContinue)功能,允許在調(diào)試時修改代碼并立即應用,無需完全終止調(diào)試會話。即使不支持該功能,也只需重新編譯并再次啟動調(diào)試,不必“關(guān)閉文件再重新打開”。因此題目說法不準確。17.執(zhí)行C++表達式10%0.5將報錯,因為0.5所在位置只能是整數(shù)。()。答案:正確。解析:在C++中,取模運算符%要求兩個操作數(shù)都是整數(shù)類型。如果有一個操作數(shù)是浮點數(shù)(如0.5),則編譯時會報錯(編譯錯誤)。因此表達式10%0.5是無效的,會報錯。18.下面C++代碼執(zhí)行后將輸出9。()。for(i=0;i<10;i++)break;cout<<i;答案:錯誤。解析:for循環(huán)進入后立即執(zhí)行break,直接跳出循環(huán),此時i仍為初始值0,輸出0而非9。說法錯誤。19.下面C++代碼執(zhí)行后將輸出55。()。n=0;for(inti=0;i>-10;i--)n=n+i*-1;cout<<n;答案:錯誤。解析:i從0遞減到-9,循環(huán)內(nèi)累加0,1,2,…,9,總和為45(非55)。說法錯誤。20.將下面C++代碼中的L1行的i=0修改為i=1,其輸出與當前代碼輸出相同。()。cnt=0;for(inti=0;i<100;i++)//L1。cnt+=i;cout<<cnt答案:正確。解析:原代碼累加0~99,修改為i=1后累加1~99,但0不影響總和(總和仍為4950),輸出相同。說法正確。21.將下面C++代碼中的i<10修改為i<=10,其執(zhí)行后輸出相同。()。intn,i;n=i=0;while(i<10){n+=i;i+=1;}cout<<n;答案:錯誤。解析:原條件i<10累加0~9(和為45),改為i<=10累加0~10(和為55),輸出不同。說法錯誤。22.下面的C++代碼執(zhí)行后將輸出45。()。intn,i;n=i=0;while(i<10){i+=1;n+=i;}cout<<n;答案:錯誤。解析:循環(huán)先i+=1再n+=i,i取1~10,累加和為55(非45)。說法錯誤。23.執(zhí)行C++代碼cout<<(12+12.12)將報錯,因為12是int類型,而12.12是float類型,不同類型不能直接運算。()。答案:錯誤。解析:C++允許int與double隱式轉(zhuǎn)換后運算,不會報錯。說法錯誤。24.下面C++代碼執(zhí)行時將導致無限循環(huán)(也稱死循環(huán))。()。intcount=0;while(count<5){count+=1;if(count==3)continue;cout<<count<<'';}答案:錯誤。解析:count從0遞增到5時退出循環(huán),count==3僅跳過本次循環(huán),循環(huán)能正常結(jié)束(非無限循環(huán))。說法錯誤。25.下列C++代碼用于求斐波那契數(shù)列,即第1個數(shù)為0,第2個數(shù)為1,從第三個數(shù)開始,依次是其前兩個數(shù)之和。如果輸入的值為大于1的正整數(shù),該代碼能實現(xiàn)所求。()。cin>>n;a=0,b=1;for(intj=0;j<n;j++){cout<<a<<"";b=b+a;a=b-a;}答案:正確。解析:代碼通過a、b的更新,循環(huán)輸出的序列符合“第1個為0,第2個為1,后續(xù)為前兩項和”的斐波那契規(guī)則。說法正確。三、編程題(每題25分,共50分)。26.試題名稱:商店折扣。時間限制:1.0s。內(nèi)存限制:512.0MB。題目描述:商店正在開展促銷活動,給出了兩種方案的折扣優(yōu)惠。第一種方案是購物滿x元減y元;第二種方案是直接打n折,也就是說價格變?yōu)樵鹊膎/10。這里的x,y,n均是正整數(shù),并且1≤y<x,1≤n<10。需要注意的是,第一種方案中滿減優(yōu)惠只能使用一次。例如購物滿10元減3元時,若挑選了價格總和為33元的物品,只能減免3元,需要支付30元。小明在商店挑選了價格總和為p元的物品,結(jié)賬時只能使用一種優(yōu)惠方案。小明最少需要支付多少錢呢?輸入格式:四行,四個正整數(shù)x,y,n,p,含義見題目描述。輸出格式:一行,一個小數(shù),表示小明最少需要支付多少錢,保留兩位小數(shù)。數(shù)據(jù)范圍:對于所有測試點,保證1≤y<x≤100,1≤n<10,1≤p≤100。參考程序。#include<algorithm>#include<cstdio>us
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《二年級上冊語文園地一(第一課時)》教案
- 財務檔案管理辦法
- 報社防暴雨印刷發(fā)行預案
- 印度數(shù)學考試試卷及答案
- 新冠疫情心理疏導方法
- 物理高三上海試卷及答案
- 貴陽市藝術(shù)考試試卷及答案
- 洗選煤廠項目投標書
- 高端工業(yè)鋁合金材料項目商業(yè)計劃書
- 口腔衛(wèi)生的重要性
- 機器能力指數(shù)CMK值測定管理規(guī)定
- 塑料粒子專業(yè)知識培訓課件
- 國家開放大學電大《植物學基礎》期末題庫及答案
- 2025年江蘇法院聘用制書記員考試真題及答案
- 多重耐藥菌的感染與防控
- 維族舞蹈教學課件
- 高中班級日常管理課件
- 養(yǎng)老規(guī)劃師課件
- 低空經(jīng)濟基礎知識
- 十五五住房和城鄉(xiāng)建設發(fā)展思路
- 永州教育科研課題申報攻略指南(模板范文)
評論
0/150
提交評論