C語言筆試常考題目和參考答案_第1頁
C語言筆試常考題目和參考答案_第2頁
C語言筆試常考題目和參考答案_第3頁
C語言筆試常考題目和參考答案_第4頁
C語言筆試常考題目和參考答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

C語言筆試常考題目和參考答案考試時間:______分鐘總分:______分姓名:______一、單項選擇題1.在C語言中,下列關于整型常量的描述中,正確的是A.012是八進制整型常量B.0x12是十進制整型常量C.12L是長整型常量D.12.0是短整型常量2.若有定義inta=3,b=2,c=1;則表達式a>b&&a>c的值是A.1B.0C.trueD.false3.下列關于數組的描述中,錯誤的是A.數組名代表數組的首地址B.在C語言中,數組元素下標的最小值是0C.可以定義一個長度為0的數組D.字符數組可以用來存儲字符串4.若有定義charstr[]="Hello";則sizeof(str)的值是A.5B.6C.4D.75.若有定義inta[5]={1,2,3,4,5},*p=a;則表達式p[3]的值是A.3B.4C.5D.66.下列關于函數的描述中,正確的是A.實參和形參的名字必須相同B.函數調用時,實參的值會傳遞給形參,形參的值不會改變實參C.C語言中所有的函數定義都可以放在一個文件中D.函數必須有返回值,否則調用時會出錯7.若有定義inti=10;while(i--);則循環執行的次數是A.0B.1C.10D.118.下列關于預處理命令的描述中,錯誤的是A.#defineMAX100定義了一個宏B.宏定義中的參數必須加括號C.#include可以包含用戶自定義的頭文件D.宏替換是在編譯之前進行的9.若有定義struct{charc;inti;}s;則sizeof(s)的值通常是A.2B.3C.4D.510.下列關于指針的描述中,錯誤的是A.空指針的值是NULLB.兩個指針可以相加運算C.指針變量可以指向不同的變量D.指針變量的值是它所指向變量的地址二、多項選擇題11.下列標識符中,合法的C語言變量名包括A.intB._userC.2ndD.name_2E.#define12.下列關于main函數的描述中,正確的包括A.main函數是程序的入口B.main函數可以沒有參數C.main函數必須有返回值D.一個程序只能有一個main函數E.main函數的返回值類型必須是void13.下列關于指針運算的描述中,正確的包括A.兩個指針相減的結果是有符號整數B.指針可以與整數進行加法或減法運算C.指針可以與指針進行比較運算D.指針與指針相加是有意義的E.指針的自增運算是指向下一個同類型數據14.下列關于動態內存分配的描述中,正確的包括A.malloc函數分配的內存默認是未初始化的B.free函數只能釋放由malloc分配的內存C.使用malloc和free必須包含stdlib.h頭文件D.如果malloc分配失敗,返回NULL指針E.realloc可以改變已分配內存的大小15.下列關于switch語句的描述中,正確的包括A.switch后面的表達式可以是整型或字符型B.case后的常量表達式必須互不相同C.switch語句中必須有default分支D.break語句用于跳出switch結構E.case后的語句執行完畢后必須包含break三、填空題16.若有定義inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};則a[1][2]的值是\_\_\_\_\_\_。17.若有定義intx=10;inty=++x;則y的值是\_\_\_\_\_\_。18.已知inta=10,*p=&a;則表達式\*\_p+1的值是\_\_\_\_\_\_。19.函數intfunc(inta,intb){returna>b?a:b;}的功能是求\_\_\_\_\_\_。20.若有定義char*p="HelloWorld";則p[5]的值是\_\_\_\_\_\_。試卷答案一、單項選擇題1.A、C解析:-A正確:0開頭的數字是八進制,012即十進制的10。-B錯誤:0x開頭是十六進制。-C正確:L后綴表示長整型。-D錯誤:12.0是浮點數,不是短整型。2.A解析:-a=3,b=2,c=1。表達式a>b&&a>c的計算過程是先計算3>2(結果為真/1),再計算1>3(結果為假/0),最后1&&0結果為0。但在選項中,通常考察邏輯運算符的短路特性,此處結果為假(0)。3.C解析:-A正確:數組名代表數組的首地址。-B正確:C語言數組下標從0開始。-C錯誤:C語言中數組定義時長度必須為常量且必須大于0,不能定義長度為0的數組。-D正確:字符數組可以用來存儲字符串(通常以\0結尾)。4.B解析:-數組`str`包含字符'H','e','l','l','o'共5個字符,以及末尾隱式的空字符'\0'。`sizeof`計算的是占用內存的字節數,所以是6。5.B解析:-`p`初始化指向`a[0]`。`p[3]`等同于`*(p+3)`,即訪問`a[3]`。根據初始化,`a[3]`的值是4。6.B、C、D解析:-A錯誤:實參和形參的名字可以不同,只要類型和順序一致即可。-B正確:值傳遞機制,形參的改變不影響實參。-C正確:C語言允許將函數定義在不同文件中(需配合頭文件聲明)。-D正確:C語言允許定義無返回值的函數(返回類型為void),此時調用函數不期望獲取返回值。7.C解析:-`i`初始為10。進入循環時,`i--`先取當前值10進行判斷(非0),執行循環體(空),然后`i`變為9。-循環6次后`i`變為4,判斷4(非0),`i`變為3。-循環3次后`i`變為0,判斷0(0),循環結束。-總共執行了10-0=10次。8.A、B、C、D解析:-A正確:`#define`是預處理命令。-B正確:為了防止宏替換時發生優先級錯誤,宏參數通常建議加括號,且這是標準教學中的正確做法。-C正確:`#include`可以包含用戶自定義的頭文件。-D正確:預處理發生在編譯之前。9.C解析:-結構體的大小取決于成員類型和對齊方式。通常`char`占1字節,`int`占4字節。編譯器為了內存對齊,可能會在`char`后面填充3個字節,使總大小為4的倍數。所以通常是4字節。10.A、C、D解析:-A正確:空指針定義為`NULL`。-B錯誤:兩個指針相加沒有實際的內存意義,通常只允許指針與整數加減。-C正確:指針變量存儲的是地址,可以指向不同的變量。-D正確:指針變量的值是它指向變量的地址。二、多項選擇題11.B、D解析:-A錯誤:`int`是C語言的關鍵字,不能作為變量名。-B正確:`_user`以字母或下劃線開頭,合法。-C錯誤:標識符不能以數字開頭。-D正確:`name_2`符合格式。-E錯誤:`#define`是預處理命令關鍵字,不能做變量名。12.A、B、C解析:-A正確:`main`函數是程序執行的唯一入口。-B正確:`main`函數可以無參數。-C正確:C語言規定`main`函數有返回值(通常為int),返回0表示程序正常結束,但也可以不寫返回值(隱式返回0)。-D錯誤:一個程序有且只有一個入口函數(main函數),不能有多個。13.A、B、C、E解析:-A正確:兩個指針相減結果是有符號整數,表示元素個數。-B正確:指針可以與整數加減。-C正確:兩個指針可以比較大小(前提是它們指向同一個數組)。-D錯誤:指針與指針相加通常沒有意義。-E正確:指針自增是指向下一個同類型數據。14.A、B、C、D、E解析:-A正確:`malloc`分配的內存未初始化。-B正確:`free`只能釋放`malloc`申請的內存。-C正確:使用這些函數需要包含`stdlib.h`頭文件。-D正確:`malloc`失敗返回`NULL`。-E正確:`realloc`可以調整已分配內存的大小。15.A、B、D解析:-A正確:switch表達式可以是整型或字符型。-B正確:case后的常量表達式必須互不相同。-C錯誤:default分支是可選的。-D正確:break用于跳出switch結構。-E錯誤:case后的語句執行完畢后,如果不加break會繼續執行下一個case(穿透),所以break不是必須的語法結構。三、填空題16.7解析:-`a[1][2]`表示第1行(索引1)第2列(索引2)的元素。-第1行數據是:`{5,6,7,8}`。-索引0是5,索引1是6,索引2是7。17.11解析:-`++x`是前置自增運算符,先讓x的值加1,然后再使用x的值。-x從10變為11,y接收11。18.11解析:-`*p`表示解引用,取出p指向的變量的值,即a的

溫馨提示

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

評論

0/150

提交評論