![2022年計算機(jī)二級C語言真題及參考答案_第1頁](http://file4.renrendoc.com/view/c4270976bc9c9518ce614f3323cc7b0a/c4270976bc9c9518ce614f3323cc7b0a1.gif)
![2022年計算機(jī)二級C語言真題及參考答案_第2頁](http://file4.renrendoc.com/view/c4270976bc9c9518ce614f3323cc7b0a/c4270976bc9c9518ce614f3323cc7b0a2.gif)
![2022年計算機(jī)二級C語言真題及參考答案_第3頁](http://file4.renrendoc.com/view/c4270976bc9c9518ce614f3323cc7b0a/c4270976bc9c9518ce614f3323cc7b0a3.gif)
![2022年計算機(jī)二級C語言真題及參考答案_第4頁](http://file4.renrendoc.com/view/c4270976bc9c9518ce614f3323cc7b0a/c4270976bc9c9518ce614f3323cc7b0a4.gif)
![2022年計算機(jī)二級C語言真題及參考答案_第5頁](http://file4.renrendoc.com/view/c4270976bc9c9518ce614f3323cc7b0a/c4270976bc9c9518ce614f3323cc7b0a5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第=page44頁,共=sectionpages2323頁第=page33頁,共=sectionpages2323頁2022年計算機(jī)二級C語言真題及參考答案一、選擇題(請在【答題】菜單上選擇【選擇題】命令,啟動選擇題測試程序,按照題目上的內(nèi)容進(jìn)行答題。作答選擇題時鍵盤被封鎖,使用鍵盤無效,考生須使用鼠標(biāo)答題。選擇題部分只能進(jìn)入一次,退出后不能再次進(jìn)入。選擇題部分不單獨(dú)計時。)1、以下敘述中正確的是()。A.C語言規(guī)定必須用main作為主函數(shù)名,程序?qū)拇碎_始執(zhí)行B.可以在程序中由用戶指定任意一個函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C.C語言程序?qū)脑闯绦蛑械谝粋€函數(shù)開始執(zhí)行D.main的各種大小寫拼寫形式都可以作為主函數(shù)名,如:MAIN,Main等『正確答案』A『答案解析』用戶不能指定某函數(shù)為主函數(shù),C語言規(guī)定,程序從main函數(shù)開始執(zhí)行,從main函數(shù)退出,C語言函數(shù)名區(qū)別大小寫。答案選擇A選項。2、下面描述不屬于軟件特點(diǎn)的是()。A.軟件是一種邏輯實體,具有抽象性B.軟件在使用中不存在磨損、老化問題C.軟件復(fù)雜性高D.軟件使用不涉及知識產(chǎn)權(quán)『正確答案』D『答案解析』軟件具有以下特點(diǎn):①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項。3、標(biāo)準(zhǔn)庫函數(shù)fgets(s,n,f)的功能是()。A.從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存B.從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存C.從文件f中讀取n個字符串存入指針s所指的內(nèi)存D.從文件f中讀取n-1個字符串存入指針s所指的內(nèi)存『正確答案』A『答案解析』fgets函數(shù)功能是從f所指文件中讀入n-1個字符放入s為起始地址的空間內(nèi),并在尾端自動加一個結(jié)束標(biāo)志“\0”。同時將讀/寫位置指針向前移動字符串長度個字節(jié)。在讀出n-1個字符之前,如遇到了換行符或EOF,則讀出結(jié)束,A項正確。B項中“讀取長度為n”錯誤。C項與D項中“讀取n/n-1個字符串”錯誤,讀取的是n-1個字符。答案選擇A選項。4、關(guān)系數(shù)據(jù)庫管理系統(tǒng)所管理的關(guān)系是()。A.若干個二維表B.一個DBF文件C.一個DBC文件D.若干個DBC文件『正確答案』A『答案解析』在關(guān)系數(shù)庫中,一個表就是一個關(guān)系,關(guān)系數(shù)據(jù)庫管理系統(tǒng)管理的關(guān)系就是多個二維表。答案選擇A選項。5、若要使用C數(shù)學(xué)庫中的sin函數(shù),需要在源程序的頭部加上#include<math.h>關(guān)于引用數(shù)學(xué)庫,以下敘述正確的是()。A.將數(shù)學(xué)庫中sin函數(shù)的源程序插入到引用處,以便進(jìn)行編譯鏈接B.將數(shù)學(xué)庫中sin函數(shù)鏈接到編譯生成的可執(zhí)行文件中,以便能正確運(yùn)行C.通過引用math.h文件,說明sin函數(shù)的參數(shù)個數(shù)和類型,以及函數(shù)返回值類型D.實際上,不引用math.h文件也能正確調(diào)用sin函數(shù)『正確答案』C『答案解析』考查文件包含處理。文件包含命令的功能是把指定的文件添加到預(yù)處理部分,從而把指定的文件和當(dāng)前的源程序文件連接起來,該文件則包含了程序要調(diào)用的函數(shù)的聲明。由此,選項A、B、D表述錯誤。答案選擇C選項。6、以下敘述中正確的是()。A.函數(shù)調(diào)用時,不必區(qū)分函數(shù)名稱的大小寫B(tài).調(diào)用函數(shù)時,函數(shù)名必須與被調(diào)用的函數(shù)名完全一致C.函數(shù)名允許用數(shù)字開頭D.在函數(shù)體中只能出現(xiàn)一次return語句『正確答案』B『答案解析』調(diào)用函數(shù)的時候只有保證調(diào)用語句的函數(shù)名和被調(diào)函數(shù)的函數(shù)名、參數(shù)列表一致才能保證調(diào)用的正確性,B正確。C語言對大小寫敏感,選項A錯。用戶自定義的函數(shù)名需要遵循用戶標(biāo)識符的命名規(guī)則,由字母、數(shù)字、下劃線組成并且第一個字符不能為數(shù)字,選項C錯。一個函數(shù)每次只能使用一個return語句,但是該函數(shù)體中可以有多個返回點(diǎn),也就是有多條return語句,每次只從其中一點(diǎn)返回,選項D錯。答案選擇B選項。7、關(guān)于C語言標(biāo)識符,以下敘述錯誤的是()。A.標(biāo)識符可全部由數(shù)字組成B.標(biāo)識符可全部由下劃線組成C.標(biāo)識符可全部由小寫字母組成D.標(biāo)識符可全部由大寫字母組成『正確答案』A『答案解析』C語言標(biāo)識符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項。8、下面結(jié)構(gòu)體的定義語句中,錯誤的是()。A.structord{intx;inty;intz;}structorda;B.structord{intx;inty;intz;};structorda;C.structord{intx;inty;intz;}a;D.struct{intx;inty;intz;}a;『正確答案』A『答案解析』C語言中結(jié)構(gòu)體變量的定義有三種方法:①定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如C項;②使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量,如D項;③先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項,A項錯在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量時需要用“;”隔開。故答案選擇A選項。9、以下程序中給數(shù)組所有元素輸入數(shù)據(jù),請從選項中選擇正確的答案填入下劃線處。()#include<stdio.h>main(){inta[10],i=0;while(i<10)scanf("%d",_________);…}A.&a[i+1]B.a(chǎn)+(i++)C.a(chǎn)+iD.&a(i++)『正確答案』B『答案解析』A項錯誤,進(jìn)入死循環(huán),i一直為0,一直對a[i+1]讀入數(shù)據(jù);B項正確,a為數(shù)組首地址,i++先取i值再加1,scanf讀入的數(shù)據(jù)依次存放在數(shù)組a中;C項錯誤,控制變量i沒有依次加1,無法結(jié)束循環(huán),也無法對整個數(shù)組賦值;D項錯誤,數(shù)組元素引用為[],不是()。答案選擇B選項。10、有以下程序:#include<stdio.h>main(){inti,array[6]={1,5,0,4};for(i=0;i<5;i++)printf("%d,",array[i]&4);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.0,4,0,4,0,B.1,5,0,4,0,C.1,5,5,4,0,D.1,2,1,2,0『正確答案』A『答案解析』本函數(shù)的功能是將數(shù)組中所有元素與4進(jìn)行與運(yùn)算,首先將元素轉(zhuǎn)換為二進(jìn)制,然后和二進(jìn)制數(shù)100(十進(jìn)制4)進(jìn)行與運(yùn)算,第一個元素為001&100即為000,也就是0,同理可得答案分別為0、4、0、4、0,注意第五位按照0進(jìn)行運(yùn)算。答案選擇A選項。11、有以下程序#include<stdio.h>main(){inta[10]={11,12,13,14,15,16,17,18,19,20},*p=a,i=9;printf("%d,%d,%d\n",a[p-a],p[i],*(&a[i]));}程序運(yùn)行后的輸出結(jié)果是()。A.11,20,20B.12,20,20C.11,19,19D.12,19,20『正確答案』A『答案解析』a表示數(shù)組a的第一個元素的地址,*p=a則將p指向了數(shù)組a的第一個元素的地址,p-a=0,所以a[p-a]即為a[0],p[i]相當(dāng)于a[i]即a[9],輸出第一個結(jié)果為11、第二個結(jié)果為20。取地址運(yùn)算符&和取值運(yùn)算符*互為逆運(yùn)算,所以*(&a[i]))的值仍為a[i]即a[9],輸出第三個結(jié)果為20,答案選擇A選項。12、設(shè)數(shù)據(jù)元素的集合D={1,2,3,4,5},則滿足下列關(guān)系R的數(shù)據(jù)結(jié)構(gòu)中為線性結(jié)構(gòu)的是()。A.R={(1,2),(3,2),(5,1),(4,5)}B.R={(1,3),(4,1),(3,2),(5,4)}C.R={(1,2),(2,4),(4,5),(2,3)}D.R={(1,3),(2,4),(3,5),(1,2)}『正確答案』B『答案解析』一個非空的數(shù)據(jù)結(jié)構(gòu)如果滿足以下兩個條件:有且只有一個根結(jié)點(diǎn);每一個結(jié)點(diǎn)最多有一個前件,也最多有一個后件,稱為線性結(jié)構(gòu)。不同時滿足以上兩個條件的數(shù)據(jù)結(jié)構(gòu)就稱為非線性結(jié)構(gòu)。A選項,5是1的前件,1是2的前件,3是4的前件,則關(guān)系R中含有兩個結(jié)構(gòu),即34和512,其中3和5均為根結(jié)點(diǎn),故A項錯誤。B選項根結(jié)點(diǎn)為5,排列順序為54132,B選項正確。C選項有兩個根結(jié)點(diǎn)1和4,故錯誤。D選項有兩個根結(jié)點(diǎn)1和2,故錯誤。答案選擇B選項。13、以下敘述中正確的是()。A.如果企圖通過一個空指針來訪問一個存儲單元,將會得到一個出錯信息B.即使不進(jìn)行強(qiáng)制類型轉(zhuǎn)換,在進(jìn)行指針賦值運(yùn)算時,指針變量的基類型也可以不同C.設(shè)變量p是一個指針變量,則語句p=0;是非法的,應(yīng)該使用p=NULL;D.指針變量之間不能用關(guān)系運(yùn)算符進(jìn)行比較『正確答案』A『答案解析』空指針意味著該指針沒有指向任何具體的變量,所以不能訪問一個存儲單元,A正確。指針的賦值運(yùn)算只能在同一數(shù)據(jù)類型之間進(jìn)行,故選項B錯。語句p=0和p=NULL是一樣的,都是把一個空指針賦給指針變量p,故選項C錯。指針之間能進(jìn)行關(guān)系運(yùn)算,比較的是地址值的大小,選項D錯。答案選擇A選項。14、下面結(jié)構(gòu)體的定義語句中,錯誤的是()。A.structord{intx;inty;intz;}structorda;B.structord{intx;inty;intz;};structorda;C.structord{intx;inty;intz;}a;D.struct{intx;inty;intz;}a;『正確答案』A『答案解析』C語言中結(jié)構(gòu)體變量的定義有三種方法:①定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如C項;②使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量,如D項;③先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項,A項錯在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量時需要用“;”隔開。故答案選擇A選項。15、一名工作人員可以使用多臺計算機(jī),而一臺計算機(jī)可被多名工作人員使用,則實體工作人員與實體計算機(jī)之間的聯(lián)系是()。A.一對一B.一對多C.多對多D.多對一『正確答案』C『答案解析』一名工作人員可以操作多臺計算機(jī),而一臺計算機(jī)又可以被多名工作人員使用,所以兩個實體之間是多對多的關(guān)系,答案選擇C選項。16、有以下程序#include<stdio.h>voidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j<2);}main(){inti,a[10]={1,2,3,4,5};for(i=1;i<3;i++)fun(a);for(i=1;i<5;i++)printf("%d",a[i]);printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。A.5745B.34756C.5795D.35745『正確答案』A『答案解析』從main函數(shù)開始,第一個for循環(huán):k=1,滿足條件k<3,調(diào)用fun(a)。fun()函數(shù)中,s為指向數(shù)組a的指針,則有s[0]=s[0]+s[1]=3,滿足條件++j(此時j=1)小于2,繼續(xù)執(zhí)行do-while循環(huán);s[1]=s[1]+s[2]=5,不滿足條件++j(此時j=2)小于2,退出do-while循環(huán)。此時:k=2,滿足條件k<3,再次調(diào)用fun(a)。由于j定義為靜態(tài)變量,所以上次函數(shù)調(diào)用結(jié)束時j=2仍被保留,則有s[2]=s[2]+s[3]=7,不滿足條件++j(此時j=3)小于2,退出do-while循環(huán)。此時,k=3,不再滿足循環(huán)條件,退出第一個for循環(huán),執(zhí)行第二個for循環(huán),輸出a[1]~a[4]共4個數(shù),即5745。答案選擇A選項。17、以下語句中存在語法錯誤的是()。A.charss[6][20];ss[1]="right?";B.charss[][20]={"right?"};C.char*ss[6];ss[1]="right?";D.char*ss[]={"right?"};『正確答案』A『答案解析』A項錯誤,數(shù)組定義后,不能對數(shù)組整體賦值,ss是二維數(shù)組,ss[1]是一維字符數(shù)組,即字符串,字符串賦值可以使用strcpy(ss[1],"right");的形式,但不能使用賦值的形式。BD兩項正確,在定義時對數(shù)組同時進(jìn)行初始化;C項正確,將常量字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個元素。答案選擇A選項。18、下面結(jié)構(gòu)體的定義語句中,錯誤的是()。A.structord{intx;inty;intz;}structorda;B.structord{intx;inty;intz;};structorda;C.structord{intx;inty;intz;}a;D.struct{intx;inty;intz;}a;『正確答案』A『答案解析』C語言中結(jié)構(gòu)體變量的定義有三種方法:①定義結(jié)構(gòu)體類型的同時定義結(jié)構(gòu)體變量,如C項;②使用無名結(jié)構(gòu)體類型定義結(jié)構(gòu)體變量,如D項;③先定義結(jié)構(gòu)體類型,后定義結(jié)構(gòu)體變量,如B項,A項錯在分別定義結(jié)構(gòu)體類型與結(jié)構(gòu)體變量時需要用“;”隔開。故答案選擇A選項。19、以下敘述中正確的是()。A.函數(shù)調(diào)用時,不必區(qū)分函數(shù)名稱的大小寫B(tài).調(diào)用函數(shù)時,函數(shù)名必須與被調(diào)用的函數(shù)名完全一致C.函數(shù)名允許用數(shù)字開頭D.在函數(shù)體中只能出現(xiàn)一次return語句『正確答案』B『答案解析』調(diào)用函數(shù)的時候只有保證調(diào)用語句的函數(shù)名和被調(diào)函數(shù)的函數(shù)名、參數(shù)列表一致才能保證調(diào)用的正確性,B正確。C語言對大小寫敏感,選項A錯。用戶自定義的函數(shù)名需要遵循用戶標(biāo)識符的命名規(guī)則,由字母、數(shù)字、下劃線組成并且第一個字符不能為數(shù)字,選項C錯。一個函數(shù)每次只能使用一個return語句,但是該函數(shù)體中可以有多個返回點(diǎn),也就是有多條return語句,每次只從其中一點(diǎn)返回,選項D錯。答案選擇B選項。20、程序測試的目的是()。A.為被測程序設(shè)計正確的測試用例B.發(fā)現(xiàn)并改正程序中的錯誤C.發(fā)現(xiàn)程序中的錯誤D.改正程序中的錯誤『正確答案』C『答案解析』程序測試是使用人工或自動手段來運(yùn)行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實際結(jié)果之間的差別,即為發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,而不是改正錯誤,調(diào)試是在測試的基礎(chǔ)上去改正錯誤。答案選擇C選項。21、有以下程序#include<stdio.h>#include<stdlib.h>voidfun(double*p1,double*p2,double*s){s=(double*)calloc(1,sizeof(double));*s=*p1+*(p2+1);}main(){doublea[2]={1.1,2.2},b[2]={10.0,20.0},*s=a;fun(a,b,s);printf("%5.2f\n",*s);}程序的輸出結(jié)果是()。A.11.10B.1.10C.12.10D.21.10『正確答案』B『答案解析』函數(shù)fun()的功能是用calloc()函數(shù)重新分配了1個長度為sizeof(double)的連續(xù)空間,并把返回的內(nèi)存地址賦值給s,之后往新分配的內(nèi)存中寫入數(shù)據(jù)。由于函數(shù)傳遞過程中形參指針指向的變化不能影響到實參指針的指向,所以函數(shù)fun()并不能改變s的指向,*s與a[0]等價,格式輸出的結(jié)果為1.10,注意整數(shù)1前有一個空格,因為格式輸出%5.2f要求輸出的浮點(diǎn)數(shù)寬度為5,案選擇B選項。22、下面不屬于需求分析階段任務(wù)的是()。A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.需求規(guī)格說明書評審D.制定軟件集成測試計劃『正確答案』D『答案解析』需求分析階段的工作主要包括4個方面:①需求獲取,其目的是確定對目標(biāo)系統(tǒng)的各方面需求;②需求分析,對獲取的需求進(jìn)行分析和綜合,最終給出系統(tǒng)的解決方案和目標(biāo)系統(tǒng)的邏輯模型;③編寫文檔,編寫需求規(guī)格說明書,編寫初步用戶使用手冊;④確認(rèn)測試計劃,修改完善軟件開發(fā)計劃,需求評審。制定軟件集成測試計劃屬于概要設(shè)計階段的任務(wù)。答案選擇D選項。23、在C語言中,只有在使用時才占用內(nèi)存單元的變量,其存儲類型是()。A.a(chǎn)uto和registerB.extern和registerC.a(chǎn)uto和staticD.static和register『正確答案』A『答案解析』C語言中,動態(tài)存儲區(qū)域中存放的變量在使用時才分配內(nèi)存空間。auto變量的存儲單元是分配在內(nèi)存的動態(tài)存儲區(qū)中,每當(dāng)進(jìn)入函數(shù)體時自動分配存儲單元。register變量也是自動類變量。static說明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲中占據(jù)著永久的存儲單元,直至程序運(yùn)行結(jié)束。extern說明的變量為外部變量,屬于全局變量,全局變量在整個程序運(yùn)行期間都占用內(nèi)存空間。答案選擇A選項。24、以下敘述中錯誤的是()。A.C程序經(jīng)過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進(jìn)制機(jī)器指令文件B.C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中D.C語言源程序經(jīng)編譯后生成后綴為.obj的目標(biāo)程序『正確答案』B『答案解析』B項錯誤,注釋語句不會被翻譯成二進(jìn)制的機(jī)器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為.obj的二進(jìn)制文件(稱為目標(biāo)文件),然后由“鏈接程序”(Link)的軟件把.obj文件與各種庫函數(shù)連接起來生成一個后綴為.exe的可執(zhí)行文件。答案選擇B選項。25、要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母N時結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。A.while((ch=getchar())!='N')printf("%c",ch);B.while(ch=getchar()='N')printf("%c",ch);C.while(ch=getchar()=='N')printf("%c",ch);D.while((ch=getchar())=='N')printf("%c",ch);『正確答案』A『答案解析』A項正確,“(ch=getchar())!='N'”表示先把getchar()函數(shù)的返回值賦值給ch,然后判斷,當(dāng)讀入字母不為N時,ch與'N'不相等,執(zhí)行打印函數(shù)printf,當(dāng)讀入字母N時,ch與'N'相等,循環(huán)結(jié)束,同理知選項D錯誤。B項錯誤,“ch=getchar()='N'”表達(dá)式從右向左計算,會把′N′賦值給getchar()函數(shù)的返回值,而getchar()函數(shù)的返回值是右值,不可改變,出現(xiàn)編譯錯誤;C項錯誤,“ch=getchar()=='N'”中“==(等于)”的優(yōu)先級高于“=(賦值)”,它等價于“ch=(getchar()=='N')”,此時ch的取值是0或1。答案選擇A選項。26、設(shè)有某函數(shù)的說明為int*func(inta[10],intn);則下列敘述中,正確的是()A.形參a對應(yīng)的實參只能是數(shù)組名B.說明中的a[10]寫成a[]或*a效果完全一樣C.func的函數(shù)體中不能對a進(jìn)行移動指針(如a++)的操作D.只有指向10個整數(shù)內(nèi)存單元的指針,才能作為實參傳給a『正確答案』B『答案解析』考查數(shù)組名作為函數(shù)參數(shù)。數(shù)組名作為函數(shù)參數(shù)時,只傳遞數(shù)組的首地址而不檢查形參數(shù)組的長度,所以形參表中可以不給出形參數(shù)組的長度,形參數(shù)組和實參數(shù)組長度也可以不同,選項D錯;a[10]、a[]、*a做形參都是接受實參數(shù)組首地址,效果一樣,B正確。傳遞給形參的實參可以是數(shù)組名,還可以是指向該數(shù)組的指針變量,選項A錯。數(shù)組名可以看做一個指針常量,對其進(jìn)行自加自減運(yùn)算相當(dāng)于指針變量的自加自減,選項C錯。答案選擇B27、有以下程序#include<stdio.h>voidmain(){unsignedchara=8,c;c=a>>3;printf("%d\n",c);}程序運(yùn)行后的輸出結(jié)果是()。A.32B.16C.1D.0『正確答案』C『答案解析』字符常量與其ASCII碼值一一對應(yīng),在計算的時候,可以使用該字符的ASCII碼參與運(yùn)算,輸出時會根據(jù)格式控制符輸出對應(yīng)的字符或者ASCII碼。右移運(yùn)算符“>>”的運(yùn)算規(guī)則是把左邊運(yùn)算數(shù)的各二進(jìn)制位全部右移n位,n取決于“>>”右邊的數(shù)值。字符a的ASCII碼值為8,對應(yīng)二進(jìn)制為1000,所以a>>3=1,輸出的字符c的ASCII碼值為1,答案選擇C選項。28、字符數(shù)組a和b中存儲了兩個字符串,判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用的是()。A.if(strcmp(a,b)==0)B.if(strcpy(a,b))C.if(a==b)D.if(a=b)『正確答案』A『答案解析』C語言中,判斷字符串是否相等,使用字符串比較函數(shù)strcmp(),不能使用相等操作符“==”。strcmp(s1,s2)函數(shù)比較s1和s2所指字符串的大小時,若串s1>串s2,函數(shù)值大于0(正數(shù));若串s1=串s2,函數(shù)值等于0;若串s1<串s2,函數(shù)值小于0(負(fù)數(shù))。答案選擇A選項。29、下面對類-對象主要特征描述正確的是()。A.對象唯一性B.對象無關(guān)性C.類的單一性D.類的依賴性『正確答案』A『答案解析』類是對象的抽象具有抽象性、概括性等,對象是類的具體實例,具有標(biāo)識惟一性、分類性、多態(tài)性、封裝性、模塊獨(dú)立性。故答案選擇A選項。30、結(jié)構(gòu)化程序的三種基本控制結(jié)構(gòu)是()。A.順序、選擇和重復(fù)(循環(huán))B.過程、子程序和分程序C.順序、選擇和調(diào)用D.調(diào)用、返回和轉(zhuǎn)移『正確答案』A『答案解析』結(jié)構(gòu)化程序設(shè)計中三種基本控制結(jié)構(gòu)為順序、選擇和重復(fù)(循環(huán))。答案選擇A選項。31、有以下程序:#include<stdio.h>int*f(int*s,int*t){if(*s<*t)s=t;returns;}main(){inti=3,j=5,*p=&i,*q=&j,*r;r=f(p,q);printf("%d,%d,%d,%d,%d\n",i,j,*p,*q,*r);}程序的運(yùn)行結(jié)果是()。A.3,5,3,5,5B.3,5,5,5,5C.5,3,3,3,5D.5,5,5,5,5『正確答案』A『答案解析』考查指針與函數(shù)。被調(diào)函數(shù)為指針型函數(shù),返回的是s這一指針型數(shù)據(jù)。雖然該函數(shù)進(jìn)行的是地址傳參,但只是改變了指針的指向,對原指向的數(shù)據(jù)并沒有改變。并且若以指針作為操作單元,不涉及其指向的數(shù)據(jù)時,該函數(shù)仍然可以看做是值傳遞,即形參指針指向的變化不會影響到實參指針的指向。if語句將s指向*s、*t較大的數(shù)據(jù)的地址。所以函數(shù)調(diào)用結(jié)束之后,i、j值不變,p的指向不變,r的指向和p的指向一致,輸出結(jié)果為:3,5,3,5,5,答案選擇A選項。32、有以下程序#include<stdio.h>main(){inta=1,b=1;while(a--)b--;printf("%d,%d\n",a,b);}程序的運(yùn)行結(jié)果是()。A.-1,-1B.0,0C.-1,0D.1,1『正確答案』C『答案解析』while循環(huán)的判定條件為“a--”,即a先作為循環(huán)條件判定,然后再自減1。第一次循環(huán)判定條件為真,執(zhí)行完畢后a=0,b=0,第二次循環(huán)判定條件為假,循環(huán)不成立,所以只執(zhí)行判定表達(dá)式"a--",所以最終a=-1,b=0,答案選擇C選項。33、下列敘述中錯誤的是()。A.一個C語言程序只能實現(xiàn)一種算法B.C程序可以由多個程序文件組成C.C程序可以由一個或多個函數(shù)組成D.一個C函數(shù)可以單獨(dú)作為一個C程序文件存在『正確答案』A『答案解析』一個C程序可以有一個或多個程序文件,也可以有一個或多個函數(shù),所以一個C語言程序可以實現(xiàn)多種算法,答案選擇A選項。34、設(shè)有定義:intn=1234;doublex=3.1415;則語句printf("%3d,%1.3f\n",n,x);的輸出結(jié)果是()。A.1234,3.142B.123,3.142C.1234,3.141D.123,3.141『正確答案』A『答案解析』注意理解printf函數(shù)的顯示控制方式。%3d的含義是至少輸出三個占位符,舉例如下:變量值為2,則輸出為__2,(_表示一個空格),如果變量值本身超過3位,則按變量輸出,如本題應(yīng)輸出1234。%1.3f中,1表示整數(shù)至少占位一位,小數(shù)點(diǎn)后保留三位小數(shù)(四舍五入)。因此輸出3.142,答案選擇A選項。35、關(guān)于C語言標(biāo)識符,以下敘述錯誤的是()。A.標(biāo)識符可全部由數(shù)字組成B.標(biāo)識符可全部由下劃線組成C.標(biāo)識符可全部由小寫字母組成D.標(biāo)識符可全部由大寫字母組成『正確答案』A『答案解析』C語言標(biāo)識符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項。36、如果定義floata[10],x;則以下敘述中正確的是()。A.語句a=&x;是非法的B.表達(dá)式a+1是非法的C.三個表達(dá)式a[1]、*(a+1)、*&a[1]表示的意思完全不同D.表達(dá)式*&a[1]是非法的,應(yīng)該寫成*(&(a[1]))『正確答案』A『答案解析』數(shù)組名表示該數(shù)組的首地址,是一個地址常量,不能對它重新賦值,A正確。但是可以把數(shù)組名看做一個指針常量,則表達(dá)式a+1表示的是數(shù)組中第二個元素的地址,選項B錯。表達(dá)式a[1]、*(a+1)、*&a[1]都指的是數(shù)組a中第二個元素的值,選項C錯。[]運(yùn)算符的優(yōu)先級高于*、&,取值*和取址&運(yùn)算符優(yōu)先級相等,同一優(yōu)先級的運(yùn)算符,運(yùn)算次序由結(jié)合方向所決定,*&a[1]在運(yùn)算符優(yōu)先級和結(jié)合性上沒有問題,并且取值*和取址&運(yùn)算符互逆,*&a[1]和a[1]等價,相當(dāng)于求得數(shù)組a第二個元素的值,選項D錯。答案選擇A37、下面描述不屬于軟件特點(diǎn)的是()。A.軟件是一種邏輯實體,具有抽象性B.軟件在使用中不存在磨損、老化問題C.軟件復(fù)雜性高D.軟件使用不涉及知識產(chǎn)權(quán)『正確答案』D『答案解析』軟件具有以下特點(diǎn):①軟件是一種邏輯實體,具有抽象性;②軟件沒有明顯的制作過程;③軟件在使用期間不存在磨損、老化問題;④軟件對硬件和環(huán)境具有依賴性;⑤軟件復(fù)雜性高,成本昂貴;⑥軟件開發(fā)涉及諸多的社會因素,如知識產(chǎn)權(quán)等。答案選擇D選項。38、有以下程序:#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序運(yùn)行后的輸出結(jié)果是()。A.31.5B.7.5C.程序有錯無輸出結(jié)果D.14.0『正確答案』C『答案解析』宏定義是預(yù)處理命令,不是C語句,結(jié)尾不加";",所以程序會出現(xiàn)編譯錯誤,答案選擇C選項。39、下列選項中不屬于結(jié)構(gòu)化程序設(shè)計原則的是()。A.可封裝B.自頂向下C.模塊化D.逐步求精『正確答案』A『答案解析』結(jié)構(gòu)化程序設(shè)計的基本原則包括:①模塊化;②自頂向下;③逐步求精;④限制使用goto語句。可封裝是面向?qū)ο蟮脑O(shè)計思想。答案選擇A選項。40、關(guān)于C語言標(biāo)識符,以下敘述錯誤的是()。A.標(biāo)識符可全部由數(shù)字組成B.標(biāo)識符可全部由下劃線組成C.標(biāo)識符可全部由小寫字母組成D.標(biāo)識符可全部由大寫字母組成『正確答案』A『答案解析』C語言標(biāo)識符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項。二、程序填空題1、給定程序中,函數(shù)fun的功能是:找出100至x(x≤999)之間各位上的數(shù)字之和為15的所有整數(shù),然后輸出;符合條件的整數(shù)個數(shù)作為函數(shù)值返回。例如,當(dāng)n值為500時,各位數(shù)字之和為15的整數(shù)有:159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26個。請在程序的下劃線處填入正確的內(nèi)容并把下劃線刪除,是程序得出正確的結(jié)果。注意:源程序存放在考生文件夾下的BLANK1.C中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/**********code.c**********/#include<stdio.h>intfun(intx){intn,s1,s2,s3,t;/**********found**********/n=①______;t=100;/**********found**********/while(t<=②______){s1=t%10;s2=(t/10)%10;s3=t/100;if(s1+s2+s3==15){printf("%d",t);n++;}/**********found**********/③______;}returnn;}voidmain(){intx=-1;while(x>999||x<0){printf("Pleaseinput(0<x<=999):");scanf("%d",&x);}printf("\nTheresultis:%d\n",fun(x));}/**********-code.c**********/輸入答案內(nèi)容...【答案】①0②x③t++【解析】填空1:變量n用于存放符合條件的整數(shù)的個數(shù),應(yīng)賦初值為0。填空2:根據(jù)題目要求,確定循環(huán)變量t的取值范圍t<=x。填空3:循環(huán)變量t自增1操作。三、程序改錯題1、給定程序MODI1.C中函數(shù)fu
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保行業(yè)采購工作經(jīng)驗分享
- 2025-2030全球鍍鎳服務(wù)行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球液密柔性非金屬導(dǎo)管行業(yè)調(diào)研及趨勢分析報告
- 2025-2030全球水電解用全氟磺酸膜行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國半自動焊接機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國癸二酸二酰肼行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球小尺寸工業(yè)平板電腦行業(yè)調(diào)研及趨勢分析報告
- 2025年全球及中國二氧化碳捕獲機(jī)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國叉車機(jī)器人行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球制藥用乙酰氯行業(yè)調(diào)研及趨勢分析報告
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫附帶答案詳解
- 三年級數(shù)學(xué)(上)計算題專項練習(xí)附答案
- 中醫(yī)診療方案腎病科
- 2025年安慶港華燃?xì)庀薰菊衅腹ぷ魅藛T14人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 人教版(2025新版)七年級下冊數(shù)學(xué)第七章 相交線與平行線 單元測試卷(含答案)
- 2025年供電所所長個人工作總結(jié)(2篇)
- 玩具有害物質(zhì)風(fēng)險評估-洞察分析
- 春節(jié)節(jié)后復(fù)工全員安全意識提升及安全知識培訓(xùn)
- 2025四川廣安發(fā)展建設(shè)集團(tuán)限公司第一批招聘6人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 小學(xué)六年級數(shù)學(xué)計算題100道(含答案)
評論
0/150
提交評論