計算機二級c語言試題及答案_第1頁
計算機二級c語言試題及答案_第2頁
計算機二級c語言試題及答案_第3頁
計算機二級c語言試題及答案_第4頁
計算機二級c語言試題及答案_第5頁
已閱讀5頁,還剩7頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

計算機二級c語言試題及答案

一、單項選擇題(每題2分,共20分)1.以下敘述中正確的是()A.C語言程序將從源程序中第一個函數開始執行B.可以在程序中由用戶指定任意一個函數作為主函數,程序將從此開始執行C.C語言規定必須用main作為主函數名,程序將從此開始執行,在此結束D.main可作為用戶標識符,用以命名任意一個函數答案:C2.若有定義:inta=8,b=5,c;執行語句c=a/b+0.4;后,c的值為()A.1.4B.1C.2D.2.0答案:B3.以下選項中,合法的字符常量是()A.“A”B.‘\010’C.‘65’D.D答案:B4.若變量已正確定義,有以下程序段:```cinta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf(“%d,%d,%d\n”,a,b,c);```其輸出結果是()A.程序段有語法錯B.3,5,3C.3,5,5D.3,5,7答案:B5.以下能正確定義數組并正確賦初值的語句是()A.intN=5,b[N][N];B.inta[1][2]={{1},{3}};C.intc[2][]={{1,2},{3,4}};D.intd[3][2]={{1,2},{3,4}};答案:D6.有以下程序:```cinclude<stdio.h>voidfun(ints){staticintj=0;do{s[j]+=s[j+1];}while(++j<2);}intmain(){intk,a[10]={1,2,3,4,5};for(k=1;k<3;k++)fun(a);for(k=0;k<5;k++)printf(“%d”,a[k]);return0;}```程序的輸出結果是()A.12345B.23445C.34756D.35745答案:D7.若有以下說明和定義:```ctypedefintINTEGER;INTEGERp,q;```以下敘述正確的是()A.p是int型變量B.p是基類型為int的指針變量C.q是基類型為int的指針變量D.程序中可用INTEGER代替int類型名答案:B8.以下敘述中正確的是()A.C語言中,預處理命令行都以“”開頭B.C語言的預處理不能實現宏定義和條件編譯的功能C.凡是C源程序中行首以“”標識的控制行都是預處理命令D.預處理命令只能位于C源程序文件的首部答案:A9.有以下程序:```cinclude<stdio.h>main(){FILEfp;inti,a[6]={1,2,3,4,5,6};fp=fopen(“d2.dat”,“w+”);for(i=0;i<6;i++)fprintf(fp,“%d\n”,a[i]);rewind(fp);for(i=0;i<6;i++)fscanf(fp,“%d”,&a[5-i]);fclose(fp);for(i=0;i<6;i++)printf(“%d,”,a[i]);}```程序運行后的輸出結果是()A.1,2,3,4,5,6,B.6,5,4,3,2,1,C.4,5,6,1,2,3,D.1,2,3,3,2,1,答案:B10.以下程序段完全正確的是()A.intp;scanf(“%d”,&p);B.intp;scanf(“%d”,p);C.intk,p=&k;scanf(“%d”,p);D.intk,p;p=&k;scanf(“%d”,p);答案:C二、多項選擇題(每題2分,共20分)1.以下關于C語言數據類型使用的敘述中,正確的有()A.若要處理如“人員信息”等含有不同類型的相關數據,應自定義結構體類型B.數組是一組相同類型數據的集合C.指針是一種特殊的變量,用來存放變量的地址D.枚舉類型是一種基本數據類型答案:ABC2.以下關于函數的敘述中,正確的有()A.函數可以嵌套定義,但不能嵌套調用B.函數調用時,實參和形參可以使用不同類型的數據C.函數可以沒有形參,但不能沒有返回值D.函數可以有多個形參答案:BD3.以下關于數組的敘述中,正確的有()A.數組名是一個指針常量B.數組下標的下限是0C.數組在內存中是連續存儲的D.可以通過數組名直接訪問數組元素答案:ABC4.以下關于指針的運算中,合法的有()A.兩個指針在一定條件下可以相加B.兩個指針在一定條件下可以相減C.一個指針可以加上一個整數D.一個指針可以減去一個整數答案:BCD5.以下關于結構體的敘述中,正確的有()A.結構體是一種用戶自定義的數據類型B.結構體成員可以是不同的數據類型C.結構體變量可以作為函數參數D.可以對結構體變量進行整體賦值答案:ABC6.以下關于文件操作的敘述中,正確的有()A.fopen函數用于打開文件B.fclose函數用于關閉文件C.fscanf函數用于從文件中讀取格式化數據D.fprintf函數用于向文件中寫入格式化數據答案:ABCD7.以下關于預處理命令的敘述中,正確的有()A.define宏定義可以定義常量和簡單的函數B.ifdef、ifndef、endif用于條件編譯C.include用于包含頭文件D.預處理命令在編譯之前執行答案:ABCD8.以下關于C語言運算符優先級的敘述中,正確的有()A.算術運算符優先級高于關系運算符B.關系運算符優先級高于邏輯運算符C.賦值運算符優先級最低D.括號可以改變運算符的優先級答案:ABCD9.以下關于循環結構的敘述中,正確的有()A.while循環先判斷條件,后執行循環體B.do-while循環先執行循環體,后判斷條件C.for循環的初始化部分、條件判斷部分和更新部分都可以省略D.break語句可以用于跳出循環答案:ABCD10.以下關于字符數組的敘述中,正確的有()A.字符數組可以存放字符串B.可以使用scanf函數輸入字符串到字符數組C.可以使用printf函數輸出字符數組中的字符串D.字符數組的結束標志是‘\0’答案:ABCD三、判斷題(每題2分,共20分)1.C語言中,變量必須先定義后使用。()答案:對2.語句inta,b=c=5;可以正確定義變量并初始化。()答案:錯3.在C語言中,邏輯值“真”用1表示,邏輯值“假”用0表示。()答案:對4.數組名作為函數參數時,傳遞的是數組的首地址。()答案:對5.指針變量可以指向任何類型的變量。()答案:錯6.結構體變量不能作為函數的返回值。()答案:錯7.文件操作結束后,必須調用fclose函數關閉文件。()答案:對8.預處理命令是在編譯階段執行的。()答案:錯9.在switch語句中,每個case分支都必須有break語句。()答案:錯10.二維數組在內存中是按行存儲的。()答案:對四、簡答題(每題5分,共20分)1.簡述C語言中變量的存儲類別有哪些?答案:C語言變量存儲類別有auto(自動)、register(寄存器)、static(靜態)、extern(外部)。auto是默認存儲類別;register建議存寄存器;static有內部和外部之分,改變生存期和作用域;extern用于聲明外部變量。2.簡述函數調用時實參和形參的傳遞過程。答案:函數調用時,實參將值傳遞給形參。若實參為變量,傳遞變量的值;若為數組名,傳遞數組首地址。形參接收值后在函數內使用,函數結束后形參內存釋放,一般不影響實參變量的值(除非傳遞指針并修改所指內容)。3.簡述指針和數組的關系。答案:數組名本質是指向數組首元素的指針常量。通過指針可訪問數組元素,如(p+i)等價于a[i]。指針可以指向數組,指針運算可遍歷數組。數組和指針在很多操作上可相互替代,但指針更靈活,數組定義時確定大小。4.簡述文件操作的一般步驟。答案:一般步驟為:首先用fopen函數以合適模式打開文件;接著根據需求用fread、fwrite、fscanf、fprintf等函數進行讀寫操作;操作完成后,使用fclose函數關閉文件,防止數據丟失。五、討論題(每題5分,共20分)1.討論在C語言中使用指針的優點和可能帶來的問題。答案:優點:可靈活訪問和修改數據,提高程序效率,實現動態內存分配,方便函數間數據傳遞。問題:容易產生指針懸掛、野指針等,導致程序崩潰或數據錯誤;內存管理不當會造成內存泄漏;指針運算復雜,容易出錯,增加程序調試難度。2.討論結構體和數組在存儲和使用上的區別。答案:存儲上,數組元素類型相同,內存連續;結構體成員類型可不同,成員按定義順序存儲。使用上,數組通過下標訪問元素,常用于處理相同類型數據集合;結構體用于表示邏輯相關的不同類型數據組合,通過成員名訪問成員,增強數據組織性。3.討論C語言中不同循環結構(while、do-while、for)的適用場景。答案:while適用于循環次數不確定,先判斷條件再執行的情況;do-while適用于至少執行一次循環體,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論