亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

試題

計算機二級《C語言》基礎練習題及答案

時間:2024-11-28 09:34:24 曉麗 試題 我要投稿

2024年計算機二級《C語言》基礎練習題及答案

  在日常學習和工作生活中,我們很多時候都不得不用到練習題,只有認真完成作業(yè),積極地發(fā)揮每一道習題特殊的功能和作用,才能有效地提高我們的思維能力,深化我們對知識的理解。大家知道什么樣的習題才是規(guī)范的嗎?下面是小編精心整理的2024年計算機二級《C語言》基礎練習題及答案,歡迎閱讀,希望大家能夠喜歡。

  計算機二級《C語言》基礎練習題及答案 1

  1[單選題] 以下敘述中正確的是( )。

  A.用C語言編寫的程序只能放在一個程序文件中

  B.C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句

  C.C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

  D.C程序書寫格式自由,一個語句可以寫在多行上

  參考答案:D

  參考解析:C語言編寫的程序可以放置于多個程序文件中,所以A錯誤。C程序中的一行可以有多條語句,所以B錯誤。C語言中的注釋語句可以與原語句放在一行也可以不放在一行,所以C錯誤。

  2[單選題] 以下選項中,能用作數(shù)據(jù)常量的是( )。

  A.115LB.0118C.1.5el.5D.0115

  參考答案:A

  參考解析:A選項中l(wèi)15L表示ll5是長整型數(shù)據(jù),合法。B選項是八進制常量的表示方法,但是在八進制中不能含有數(shù)字8,所以B錯誤。c選項中e后面應該是整數(shù)不能是小數(shù)l.5,所以c錯誤。D選項中八進制常量應該是數(shù)字…0開始,而不是字母…O開始。

  3[單選題] 對于一個正常運行的C程序,以下敘述中正確的是( )。

  A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

  B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束.

  C.程序的執(zhí)行總是從main函數(shù)開始、

  D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束

  參考答案:C

  參考解析:任何一個c程序都是從主函數(shù)main開始,至主函數(shù)main結(jié)束,所以選擇c選項。

  4[單選題] 有以下程序:

  程序運行后的輸出結(jié)果是( )。

  A.1 2B.1 4C.123 4D.123 456

  參考答案:D

  參考解析:fprintf()函數(shù)向文本文件輸出數(shù)據(jù),將輸出的`內(nèi)容按格式輸出翻硬盤的文本文件中。執(zhí)行兩次fprintf后。文件中的內(nèi)容為。l23 456”,所以D選項正確。

  5[單選題] 有以下程序:

  程序運行后的輸出結(jié)果是( )。

  A.1,2,1,2,2,4

  B.1,2,6,6,7,8

  C.1,2,2,4,2,4

  D.1,2,6,6,2,4

  參考答案:A

  參考解析:全局變量與函數(shù)體內(nèi)局部變量同名時,局部變量會覆蓋全局變量,因此在subl()函數(shù)內(nèi),全局變量m,n是不可見的,在函數(shù)suhl()對m,n操作的是局部變量,對全局變量不產(chǎn)生影響。但在sub2()函數(shù)內(nèi),由于沒有和全局變量變量重名,因此在此函數(shù)內(nèi),m,n是可見的。因此,第一個pfinff()打印的是全局變量m,n,故打印的是l,2,第二個pfinff(),調(diào)用suhl(),沒有修改全局變量m,n.故打印的是l,2,第三個一村(),之前調(diào)用了sub2(),修改了全局變量m,n。因此,打印的是2,4。故答案為A選項。

  6[單選題] 軟件測試的目的是( )。

  A.評估軟件可靠性

  B.發(fā)現(xiàn)并改正程序中的錯誤

  C.改正程序中的錯誤

  D.發(fā)現(xiàn)程序中的錯誤

  參考答案:D

  參考解析:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。不是為了評估軟件或改正錯誤。

  7[單選題] 有以下程序:

  程序運行后的輸出結(jié)果是( )。

  A.321B.12300C.1D.123

  參考答案:D

  參考解析:程序首先將數(shù)組a[10]中的元素l、2.3分別寫入了文件dl。dat文件中,然后又將dl.dat文件中的數(shù)據(jù)123,整體寫入到了變量n的空間中,所以打印n時輸出的 數(shù)據(jù)為123。

  8[單選題] 有以下程序:

  程序執(zhí)行后的輸出結(jié)果是( )。

  A.2B.3C.7D.0

  參考答案:A

  參考解析:因為fun(int x)是一個遞歸函數(shù),所以主函數(shù)中fun(7)經(jīng)過3次遞歸調(diào)用,其過程可以描述為“fun(7)=7一fun(5)=7一(5一fun(3))=7一(5一(3一fun(1)))=7一(5一(3—3))=7—5=2”,所以最后輸出結(jié)果為2。因此.A選項正確。

  9[單選題] 有以下程序:

  執(zhí)行時輸入:2<回車>,則輸出結(jié)果是( )。

  A.1 23 4B.5 431C.1235D.32 1 4

  參考答案:C

  參考解析:第一個for循環(huán)初始化數(shù)組a,分別為l,3,5,隨機數(shù),形成了基本有序的序列,再將輸入的數(shù)字插入到數(shù)組a,使他們形成有序序列。因此可以分析出,打印的結(jié)果為1,2,3,5。故答案為c選項。

  10[簡答題]學生記錄由學號和成績組成,N名學生的數(shù)據(jù)已放入主函數(shù)中的結(jié)構(gòu)體數(shù)組中,請編寫函數(shù)fun,其功能是:把分數(shù)最低的學生數(shù)據(jù)放入b所指的數(shù)組中,注意:分數(shù)最低的學生可能不止一個,函數(shù)返回分數(shù)最低的學生人數(shù):

  注意:部分源程序在文件PROGl.C中。

  請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)flm的花括號中填入你編寫的若干語句。

  參考解析:

  【考點分析】

  本題考查:查找結(jié)構(gòu)體數(shù)組中的最小數(shù)據(jù),需要通過for循環(huán)語句和if條件語句來完成。

  【解題思路】

  本題中第一個循環(huán)語句的作用是遍歷數(shù)組求出最低分數(shù),第二個循環(huán)語句的作用是將數(shù)組中的元素與最低分比較,查找是否存在與最低分相等的成績。

  計算機二級《C語言》基礎練習題及答案 2

  1.下列敘述中正確的是()。

  A.所有數(shù)據(jù)結(jié)構(gòu)必須有根結(jié)點

  B.所有數(shù)據(jù)結(jié)構(gòu)必須有終端結(jié)點(即葉子結(jié)點)

  C.只有一個根結(jié)點,且只有一個葉子結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是線性結(jié)構(gòu)

  D.沒有根結(jié)點或沒有葉子結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)

  【答案】D

  【解析】D項正確,線性結(jié)構(gòu)的特點是:①集合中必存在“第一個元素"且惟一②集合中必存在“最后一個元素”且惟一;③除最后一個元素外,其他數(shù)據(jù)元素均有惟一的“后繼”,④除第一個元素外,其他數(shù)據(jù)元素均有惟一的“前驅(qū)”。所以沒有根結(jié)點或沒有葉子結(jié)點的數(shù)據(jù)結(jié)構(gòu)一定是非線性結(jié)構(gòu)。AB兩項錯誤,不是所有數(shù)據(jù)結(jié)構(gòu)都必須有根結(jié)點和葉子結(jié)點;C項錯誤,數(shù)據(jù)結(jié)構(gòu)中若有中間結(jié)點不滿足只有一個前件或者后件的條件,就不是線性結(jié)構(gòu)。答案選擇D選項。

  2.以下敘述中錯誤的是()。

  A. C語言中的每條可執(zhí)行語句和非執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令

  B. C程序經(jīng)過編譯、鏈接步驟之后才能形成一個真正可執(zhí)行的二進制機器指令文件

  C.用C語言編寫的程序稱為源程序,它以ASCII代碼形式存放在一個文本文件中

  D. C語言源程序經(jīng)編譯后生成后綴為.obj的'目標程序

  【答案】A

  【解析】A項錯誤,注釋語句不會被翻譯成二進制的機器指令。C源程序經(jīng)過C編譯程序編譯之后生成后綴為.obj的二進制文件(稱為目標文件),然后由“鏈接程序”(Link)的軟件把.obj文件與各種庫函數(shù)連接起來生成一個后綴為.exe的可執(zhí)行文件。答案選擇A選項。

  3. C語言主要是借助以下()功能來實現(xiàn)程序模塊化的。

  A.定義函數(shù)

  B.定義常量和外部變量

  C.三種基本結(jié)構(gòu)語句

  D.豐富的數(shù)據(jù)類型

  【答案】A

  【解析】C程序的模塊化主要通過函數(shù)來實現(xiàn)。C語言允許對函數(shù)單獨進行編譯,從而可以實現(xiàn)模塊化。答案選擇A選項。

  4.有以下程序段:

  char ch;

  int k;

  ch='a';

  k=12;

  print("%c,%d,",h,ch,k);

  printf("k=%d",k);

  已知字符a的ASCII碼十進制值為97,則執(zhí)行上述程序段后輸出的結(jié)果是()。

  A.因變量類型與格式描述符的類型不匹配輸出無定值

  B.輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

  C.a,97,12k=12

  D. a,97,k=12

  【答案】D

  【解析】字符變量的值是該字符的ASCII碼值,可以參與整型變量所允許的任何運算。"ch='a",%c表示以字符格式輸出ch的值,所以輸出為a;%d表示以十進制代碼的形式輸出ch的值,為97;k沒有對應的輸出格式,不輸出。在第二個語句中,首先輸出"k=",然后以十進制代碼輸出k的值,為12。答案選擇D選項。

  5.下列敘述中正確的是()。

  A.棧是“先進先出”的線性表

  B.隊列是“先進后出"的線性表

  C.循環(huán)隊列是非線性結(jié)構(gòu)

  D.有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)

  【答案】D

  【解析】有序的線性表既可采用順序存儲結(jié)構(gòu),也可以采用鏈式存儲結(jié)構(gòu)。A項錯誤,棧是“先進后出"的線性表B項錯誤,隊列是“先進先出"的線性表;C項錯誤,循環(huán)隊列是線性結(jié)構(gòu)的,有序的線性表既可采用順序存儲結(jié)構(gòu),也可采用鏈式存儲結(jié)構(gòu)。

  6.某二叉樹的中序序列為DCBAEFG,后序序列為DCBGFEA,則該二叉樹的深度(根結(jié)點在第1層)為()。

  A. 5

  B. 40

  C.3

  D. 2

  【答案】B

  【解析】二叉樹的后序序列為DCBGFEA,則A為根結(jié)點。中序序列為DCBAEFG,則DCB為左子樹結(jié)點,EFG為右子樹結(jié)點。同理B為C父結(jié)點,C為D父結(jié)點。根據(jù)分析,可畫出左子樹,同理E為F父結(jié)點,F(xiàn)為G父結(jié)點。根據(jù)分析,可畫出右子樹,故二叉樹深度為4層。答案選擇B選項。

  7.設有定義:struct{intn;floatx;}s[2],m[2]={{10,2.8},{0,0.0}};,則以下賦值語句中正確的是()。

  A. s[0]=m[1];

  B. s=m;

  C.s.n=m.n;

  D. s[2].x=m[2].x;

  【答案】A

  【解析】定義了結(jié)構(gòu)體類型數(shù)組s,長度為2,結(jié)構(gòu)體類型數(shù)組m,長度為2,并對數(shù)組m進行了初始化。同類型的結(jié)構(gòu)體可以直接用變量名實現(xiàn)賦值,A項正確;數(shù)組名為數(shù)組首地址,地址常量之間不可以相互賦值,B項錯誤;數(shù)組名為地址常量不是結(jié)構(gòu)體變量,不能引用成員,C項錯誤;s[2]與m[2]數(shù)組越界,D項錯誤。答案選擇A選項。

  8.關于C語言標識符,以下敘述錯誤的是()。

  A.標識符可全部由數(shù)字組成

  B.標識符可全部由下劃線組成

  C.標識符可全部由小寫字母組成

  D.標識符可全部由大寫字母組成

  【答案】A

  【解析】C語言標識符只能由字母、數(shù)字、下劃線構(gòu)成,且只能以字母、下劃線開頭,故答案選擇A選項。

  9.以下程序段中的變量已定義為int類型,則

  sum=pAd=5;

  pAd=sum++,++pAd,pAd++;

  printf("%d",pAd);

  程序段的輸出結(jié)果是()。

  A. 6

  B. 4

  C. 5

  D. 7

  【答案】D

  【解析】自增和自減運算符的兩種用法:前置運算,運算符放在變量之前,規(guī)則是先使變量的值增(或減)1,然后以變化后表達式的值參與其他運算;后置運算,運算符放在變量之后,規(guī)則是變量先參與其他運算,然后再使變量的值增(或減)1。執(zhí)行pAd=sum++,sum++是后置自增,執(zhí)行完后,pAd=5,sum=6。++pAd和pAd++語句中沒有其他運算,即效果相同,pAd分別加1,兩句執(zhí)行完后,pAd7。答案選擇D選項。

  10.設循環(huán)隊列為Q(1:m),其初始狀態(tài)為front=rear=m。經(jīng)過一系列入隊與退隊運算后,front=20,rear=15,F(xiàn)要在該循環(huán)隊列中尋找最小值的元素,最壞情況下需要比較的次數(shù)為()。

  A. 5

  B. 6

  C.m-5

  D. m-6

  【答案】D

  【解析】循環(huán)隊列是隊列的一種順序存儲結(jié)構(gòu),用隊尾指針rear指向隊列中的隊尾元素,用隊首指針指向隊首元素的前一個位置,因此,從隊首指針front指向的后一個位置直到隊尾指針rear指向的位置之間所有的元素均為隊列中的元素,隊列初始狀態(tài)為front=rear=m,當front=20,rear=15時,隊列中有m-20+15=m-5個元素,最壞情況下需要比較次數(shù)為m-6次。答案選擇D選項。

  計算機二級《C語言》基礎練習題及答案 3

  (1)算法的時間復雜度是指_______。

  A)執(zhí)行算法程序所需要的時間

  B)算法程序的長度

  C)算法執(zhí)行過程中所需要的基本運算次數(shù)

  D)算法程序中的指令條數(shù)

  答案:C

  評析:所謂算法的時間復雜度,是指執(zhí)行算法所需要的計算工作量。

  (2)下列敘述中正確的是________。

  A)線性表是線性結(jié)構(gòu)B)棧與隊列是非線性結(jié)構(gòu)

  C)線性鏈表是非線性結(jié)構(gòu)D)二叉樹是線性結(jié)構(gòu)

  答案:A

  評析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。

  (3)下面關于完全二叉樹的敘述中,錯誤的是_________。

  A)除了最后一層外,每一層上的結(jié)點數(shù)均達到最大值

  B)可能缺少若干個左右葉子結(jié)點

  C)完全二叉樹一般不是滿二叉樹

  D)具有結(jié)點的完全二叉樹的.深度為[log2n]+1

  答案:B

  評析:滿二叉樹指除最后一層外每一層上所有結(jié)點都有兩個子結(jié)點的二叉樹。完全二叉樹指除最后一層外,每一層上的結(jié)點數(shù)均達到最大值,在最后一層上只缺少右邊的若干子結(jié)點(葉子結(jié)點)的二叉樹。

  計算機二級《C語言》基礎練習題及答案 4

  (1)結(jié)構(gòu)化程序設計主要強調(diào)的是_________。

  A)程序的規(guī)模B)程序的易讀性

  C)程序的執(zhí)行效率D)程序的可移植性

  答案:B

  評析:結(jié)構(gòu)化程序設計主要強調(diào)的'是結(jié)構(gòu)化程序清晰易讀,可理解性好,程序員能夠進行逐步求精、程序證明和測試,以保證程序的正確性。

  (2)在軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是________。

  A)概要設計B)詳細設計C)可行性分析D)需求分析

  答案:D

  評析:需求分析是對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。

  (3)數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是_________。

  A)控制流B)加工C)數(shù)據(jù)存儲D)源和潭

  答案:A

  評析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。

  (4)軟件需求分析一般應確定的是用戶對軟件的__________。

  A)功能需求B)非功能需求C)性能需求D)功能需求和非功能需求

  答案:D

  評析:軟件需求分析中需要構(gòu)造一個完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,是用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。

  計算機二級《C語言》基礎練習題及答案 5

  (1)下述關于數(shù)據(jù)庫系統(tǒng)的敘述中正確的是________。

  A)數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余

  B)數(shù)據(jù)庫系統(tǒng)避免了一切冗余

  C)數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致

  D)數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)

  答案:A

  評析:由數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應保持相同的值。

  (2)關系表中的每一橫行稱為一個________。

  A)元組B)字段C)屬性D)碼

  答案:A

  評析:在關系數(shù)據(jù)庫中,關系模型采用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放數(shù)據(jù),每行數(shù)據(jù)稱為元組。

  (3)數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,它們是________。

  A)概念設計和邏輯設計B)模式設計和內(nèi)模式設計

  C)內(nèi)模式設計和物理設計D)結(jié)構(gòu)特性設計和行為特性設計

  答案:A

  評析:數(shù)據(jù)庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數(shù)據(jù)間內(nèi)在語義關聯(lián),在此基礎上建立一個數(shù)據(jù)的抽象模型。邏輯設計的主要工作是將ER圖轉(zhuǎn)換為指定的RDBMS中的關系模型。

  (4)請讀程序:

  #include

  main

  {

  int a;float b,c;

  scanf(“%2d%3P%4f’,&a,&b,&C);

  printf(” a=%d,b=%ec。%f ”,a,b,C);

  }

  若運行時從鍵盤上輸入9876543210l,則上面程序的輸出結(jié)果是________。

  A)a=98,b=765,c=432 1

  B)a=1 0,b=432,c=8765

  C)a=98,b=765.000000,c=432 1.000000

  D)a=98,b=765.0,c=432 1.0

  答案:C

  評析:scanf把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實型變量b,把第6、7、8、9位存入單精度實型變量c,用戶錄入的第10位被scanf遺棄。這時變量a、b、c的值分別為:98、765.000000、4321.000000。

  (5)一個良好的算法由下面的基本結(jié)構(gòu)組成,但不包括__________。

  A)順序結(jié)構(gòu)B)選擇結(jié)構(gòu)C)循環(huán)結(jié)構(gòu)D)跳轉(zhuǎn)結(jié)構(gòu)

  答案:D

  評析:1966年,Bohra和Jacopini提出了以下三種基本結(jié)構(gòu),用這三種基本結(jié)構(gòu)作為表示一個良好算法的基本單元:1、順序結(jié)構(gòu);2、選擇結(jié)構(gòu);3、循環(huán)結(jié)構(gòu)。

  (6)請選出以下程序的輸出結(jié)果________。

  #include

  sub(x,y,z)

  int x,y,星符號z:

  {星符號z變化,所以此次函數(shù)被調(diào)用后,a的值為y-x=-5,同理可知,在sub(7,a,&b)后,b的值發(fā)生變化,其值為-5-7=-12,在sub(a,b,&C)后,c的值發(fā)生變化,其值為-12-(-5)=-7。

  (7)下面程序在屏幕上的輸出是________。

  main

  {

  printf(”ab c”);

  }

  A)ab c B)a c C)abc D)ab c

  答案:B

  評析:c語言中允許使用一種特殊形式的字符常量,、就是以一個“”開頭的字符序列,這樣的字符稱為“轉(zhuǎn)義字符”。常用的`轉(zhuǎn)義字符有:,換行;,水平制表;,退格;,回車。

  (8)若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是_______。

  A)pb=&x; B)pb=x; C)星符號pb=星符號、/)還包括自增自減運算符(++、–),在c語言解析表達式時,它總是進行貪婪咀嚼,這樣,該表達式就被解析為i++ ++ +i,顯然該表達式不合c語言語法。

  (10)若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元

  int星符號int) D)(int星符號)

  答案:D

  評析:不論p是指向什么類型的指針變量,都可以通過強制類型轉(zhuǎn)換的方法使之類型一致,強制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型+)。

  (11)下面程序輸出的結(jié)果是__________。

  main

  {

  int i=5,J=9,x;

  x=(I==j?i:(j=7));

  printf(” %d,%d”,I,J);

  }

  A)5,7 B)5,5 C)語法錯誤D)7,5

  答案:A

  評析:條件表達式的一般形式為:表達式I?表達式2:表達式3;先求解表達式1,若為真則求解表達式2;若表達式l的值為假,則求解表達式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。

【計算機二級《C語言》基礎練習題及答案】相關文章:

計算機二級《C語言》基礎練習題及答案10-10

計算機二級《C語言》基礎練習題及答案10-13

2016年計算機二級《C語言》基礎練習題及答案08-03

計算機二級C語言練習題及答案09-20

2017計算機二級C語言基礎習題及答案08-26

2017計算機二級C++基礎練習題及答案08-07

計算機二級C語言考前練習題及答案10-27

2017計算機二級C語言精選練習題及答案09-20

計算機二級C語言練習題及答案201707-26