<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 試題

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

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

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

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

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

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

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

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

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

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

      參考答案:D

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

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

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

      參考答案:A

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

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

      A.程序的執行總是從main函數開始,在程序的最后一個函數中結束

      B.程序的執行總是從程序的第一個函數開始,在main函數結束.

      C.程序的執行總是從main函數開始、

      D.程序的執行總是從程序的第一個函數開始,在程序的最后一個函數中結束

      參考答案:C

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

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

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

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

      參考答案:D

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

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

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

      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

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

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

      A.評估軟件可靠性

      B.發現并改正程序中的錯誤

      C.改正程序中的錯誤

      D.發現程序中的錯誤

      參考答案:D

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

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

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

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

      參考答案:D

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

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

      程序執行后的輸出結果是( )。

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

      參考答案:A

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

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

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

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

      參考答案:C

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

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

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

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

      參考解析:

      【考點分析】

      本題考查:查找結構體數組中的最小數據,需要通過for循環語句和if條件語句來完成。

      【解題思路】

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

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

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

      A.所有數據結構必須有根結點

      B.所有數據結構必須有終端結點(即葉子結點)

      C.只有一個根結點,且只有一個葉子結點的數據結構一定是線性結構

      D.沒有根結點或沒有葉子結點的數據結構一定是非線性結構

      【答案】D

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

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

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

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

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

      D. C語言源程序經編譯后生成后綴為.obj的目標程序

      【答案】A

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

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

      A.定義函數

      B.定義常量和外部變量

      C.三種基本結構語句

      D.豐富的數據類型

      【答案】A

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

      4.有以下程序段:

      char ch;

      int k;

      ch='a';

      k=12;

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

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

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

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

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

      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.循環隊列是非線性結構

      D.有序線性表既可以采用順序存儲結構,也可以采用鏈式存儲結構

      【答案】D

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

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

      A. 5

      B. 40

      C.3

      D. 2

      【答案】B

      【解析】二叉樹的后序序列為DCBGFEA,則A為根結點。中序序列為DCBAEFG,則DCB為左子樹結點,EFG為右子樹結點。同理B為C父結點,C為D父結點。根據分析,可畫出左子樹,同理E為F父結點,F為G父結點。根據分析,可畫出右子樹,故二叉樹深度為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

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

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

      A.標識符可全部由數字組成

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

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

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

      【答案】A

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

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

      sum=pAd=5;

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

      printf("%d",pAd);

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

      A. 6

      B. 4

      C. 5

      D. 7

      【答案】D

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

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

      A. 5

      B. 6

      C.m-5

      D. m-6

      【答案】D

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

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

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

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

      B)算法程序的長度

      C)算法執行過程中所需要的基本運算次數

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

      答案:C

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

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

      A)線性表是線性結構B)棧與隊列是非線性結構

      C)線性鏈表是非線性結構D)二叉樹是線性結構

      答案:A

      評析:一般將數據結構分為兩大類型:線性結構與非線性結構。線性表、棧與隊列、線性鏈表都是線性結構,而二叉樹是非線性結構。

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

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

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

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

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

      答案:B

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

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

      (1)結構化程序設計主要強調的是_________。

      A)程序的規模B)程序的易讀性

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

      答案:B

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

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

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

      答案:D

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

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

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

      答案:A

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

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

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

      答案:D

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

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

      (1)下述關于數據庫系統的敘述中正確的是________。

      A)數據庫系統減少了數據冗余

      B)數據庫系統避免了一切冗余

      C)數據庫系統中數據的一致性是指數據類型的一致

      D)數據庫系統比文件系統能管理更多的數據

      答案:A

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

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

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

      答案:A

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

      (3)數據庫設計包括兩個方面的.設計內容,它們是________。

      A)概念設計和邏輯設計B)模式設計和內模式設計

      C)內模式設計和物理設計D)結構特性設計和行為特性設計

      答案:A

      評析:數據庫設計可分為概念設計與邏輯設計。概念設計的目的是分析數據間內在語義關聯,在此基礎上建立一個數據的抽象模型。邏輯設計的主要工作是將ER圖轉換為指定的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,則上面程序的輸出結果是________。

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

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

      A)順序結構B)選擇結構C)循環結構D)跳轉結構

      答案:D

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

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

      #include

      sub(x,y,z)

      int x,y,星符號z:

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

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

      main

      {

      printf(”ab c”);

      }

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

      答案:B

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

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

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

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

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

      答案:D

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

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

      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,不等,執行j=7;然后執行x=7。故本題為A。

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

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

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

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

    計算機二級《C語言》練習題及答案11-27

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

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

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

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

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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人