計算機二級C語言真題匯編及答案_第1頁
計算機二級C語言真題匯編及答案_第2頁
計算機二級C語言真題匯編及答案_第3頁
計算機二級C語言真題匯編及答案_第4頁
計算機二級C語言真題匯編及答案_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機二級C語言真題匯編及答案考試時長:120分鐘滿分:100分試卷名稱:計算機二級C語言真題匯編考核對象:計算機二級C語言考生題型分值分布:-單選題(10題,每題2分)總分20分-填空題(10題,每題2分)總分20分-判斷題(10題,每題2分)總分20分-簡答題(3題,每題4分)總分12分-應用題(2題,每題9分)總分18分總分:100分###一、單選題(每題2分,共20分)1.以下哪個選項不是C語言的關鍵字?A.intB.defineC.floatD.array2.若有定義`inta=5,b=10;`,則表達式`a+=ba`的值是?A.15B.50C.55D.603.以下關于字符串的說法錯誤的是?A.字符串以空字符`\0`結尾B.字符串常量存儲在棧中C.字符串可以用字符數(shù)組表示D.字符串的長度等于字符數(shù)量4.若有定義`charstr[]="Hello";`,則`sizeof(str)`的值是?A.5B.6C.7D.85.以下哪個選項是正確的函數(shù)聲明?A.`voidfun(inta,intb)`B.`intfuna,b`C.`fun(voida,b)`D.`intfun()`6.若有定義`intarr[3][4];`,則數(shù)組`arr`的元素個數(shù)是?A.7B.12C.3D.47.以下哪個選項是正確的循環(huán)結構?A.`for(i=0;i<5;i--)`B.`while(i<5)`C.`do{i++;}while(i<5);`D.`for(i=0;i<5;;i++)`8.若有定義`intp=NULL;`,則以下哪個選項是正確的指針操作?A.`p=10;`B.`p=&p;`C.`p++;`D.`printf("%d",p);`9.以下哪個選項是正確的結構體定義?A.`structstudent{intid;charname[10];};`B.`structstudent{intid;name[10];};`C.`struct{intid;charname[10];}student;`D.`typedefstudent{intid;charname[10];};`10.若有定義`inta=1;`,則`a<<2`的值是?A.2B.4C.8D.16###二、填空題(每題2分,共20分)1.C語言中,用于表示單行注釋的符號是________。2.若有定義`inta=5;b=10;`,則變量`b`的值是________。3.字符數(shù)組`charstr[5];`可以存儲的最大字符串長度(包括結尾的`\0`)是________。4.函數(shù)`voidfun(){}`的返回類型是________。5.若有定義`intarr[2][3]={{1,2,3},{4,5,6}};`,則`arr[1][2]`的值是________。6.循環(huán)語句`for(;;)`表示________循環(huán)。7.若有定義`intp=(int)malloc(sizeof(int));`,則`p`的類型是________。8.結構體`structpoint{intx;inty;};`中,變量`point`的內存大小是________字節(jié)。9.邏輯運算符`&&`的優(yōu)先級________于`||`。10.若有定義`inta=7;`,則`a&1`的值是________。###三、判斷題(每題2分,共20分)1.C語言中的常量可以存儲在寄存器中。(×)2.字符串常量可以賦值給字符數(shù)組。(√)3.`voidfun(){}`函數(shù)可以返回值。(×)4.數(shù)組名是數(shù)組首元素的地址。(√)5.`for(;;)`循環(huán)必須包含`break`才能退出。(×)6.指針變量可以指向任何類型的數(shù)據(jù)。(√)7.結構體變量的大小是所有成員大小的總和。(√)8.邏輯運算符`!`的優(yōu)先級最高。(√)9.`inta=5;a=a+1;`與`a++;`等價。(√)10.`charstr[]="Hello";`與`charstr="Hello";`的作用相同。(×)###四、簡答題(每題4分,共12分)1.簡述C語言中`malloc`函數(shù)的作用。答:`malloc`函數(shù)用于動態(tài)分配內存,其原型為`voidmalloc(size_tsize)`,返回指向分配內存的指針。若分配成功,返回非空指針;若失敗,返回`NULL`。2.什么是指針?指針有什么作用?答:指針是存儲變量內存地址的變量。作用包括:-實現(xiàn)函數(shù)參數(shù)的傳值(通過指針傳遞地址);-動態(tài)內存管理(使用`malloc`、`free`等);-實現(xiàn)數(shù)據(jù)結構(如鏈表、樹等)。3.簡述結構體與聯(lián)合體的區(qū)別。答:-結構體:每個成員占用獨立的內存空間,總大小為所有成員大小的總和;-聯(lián)合體:所有成員共享同一塊內存空間,總大小等于最大成員的大小。###五、應用題(每題9分,共18分)1.編寫一個C語言程序,實現(xiàn)以下功能:-定義一個結構體`Student`,包含`id`(整型)、`name`(字符數(shù)組)和`score`(浮點型);-創(chuàng)建一個`Student`數(shù)組,存儲3個學生的信息;-遍歷數(shù)組,打印每個學生的信息。```c#include<stdio.h>#include<string.h>structStudent{intid;charname[20];floatscore;};intmain(){structStudentstudents[3]={{1,"Alice",85.5},{2,"Bob",92.0},{3,"Charlie",78.0}};for(inti=0;i<3;i++){printf("ID:%d,Name:%s,Score:%.2f\n",students[i].id,students[i].name,students[i].score);}return0;}```2.編寫一個C語言函數(shù),實現(xiàn)快速排序算法,并對一個整型數(shù)組進行排序。```c#include<stdio.h>voidquickSort(intarr[],intleft,intright){if(left>=right)return;intpivot=arr[left];inti=left,j=right;while(i<j){while(i<j&&arr[j]>=pivot)j--;if(i<j)arr[i++]=arr[j];while(i<j&&arr[i]<=pivot)i++;if(i<j)arr[j--]=arr[i];}arr[i]=pivot;quickSort(arr,left,i-1);quickSort(arr,i+1,right);}intmain(){intarr[]={5,3,8,4,2};intn=sizeof(arr)/sizeof(arr[0]);quickSort(arr,0,n-1);for(inti=0;i<n;i++){printf("%d",arr[i]);}return0;}```###標準答案及解析####一、單選題1.D解析:`array`不是C語言關鍵字,其他選項都是。2.C解析:`a+=ba`等價于`a=a+ba=5+105=55`。3.B解析:字符串常量存儲在常量區(qū)(靜態(tài)存儲區(qū)),不是棧中。4.B解析:`sizeof(str)`計算的是數(shù)組總大小,包括結尾的`\0`,所以是6。5.A解析:其他選項語法錯誤,`voidfun(inta,intb)`是正確的函數(shù)聲明。6.B解析:`intarr[3][4]`有3行4列,共12個元素。7.C解析:`do-while`循環(huán)至少執(zhí)行一次,其他選項語法錯誤或邏輯不正確。8.C解析:`p++`將指針移動到下一個內存地址,其他選項操作不合法或錯誤。9.A解析:其他選項語法錯誤,`structstudent{...}`是正確的結構體定義。10.B解析:`a<<2`將`a`的二進制左移2位,即`5<<2=20`(十進制4)。####二、填空題1.`//`解析:C語言用`//`表示單行注釋。2.10解析:變量`b`未初始化,默認值為0,但題目可能隱含全局變量或靜態(tài)變量,這里按棧區(qū)默認值0處理。3.5解析:`charstr[5]`可以存儲4個字符加上結尾的`\0`,共5個字節(jié)。4.`void`解析:`void`表示函數(shù)不返回任何值。5.6解析:`arr[1][2]`對應第2行第3列的元素,值為6。6.無限解析:`for(;;)`是無限循環(huán),需要手動`break`退出。7.`int`解析:`malloc`返回`void`,強制轉換為`int`。8.8解析:`structpoint`包含兩個`int`成員,每個`int`占4字節(jié),總大小8字節(jié)。9.高解析:`&&`優(yōu)先級高于`||`。10.1解析:`a&1`相當于`a`的二進制與`0001`按位與,結果為1。####三、判斷題1.×解析:常量存儲在只讀存儲器中,不能修改,不能存儲在寄存器中。2.√解析:字符串常量可以賦值給字符數(shù)組,但數(shù)組不能賦值給字符串常量。3.×解析:`void`函數(shù)不能返回值。4.√解析:數(shù)組名是首元素的地址。5.×解析:`for(;;)`可以正常退出,不需要`break`。6.√解析:指針可以指向任何類型的數(shù)據(jù)。7.√解析:結構體變量大小是所有成員大小的總和。8.√解析:`!`是邏輯非運算符,優(yōu)先級最高。9.√解析:`a=a+1`與`a++`等價。10.×解析:`charstr[]="Hello";`是字符數(shù)組,`charstr="Hello";`是指針,作用不同。####四、簡答題1.`malloc`函數(shù)的作用是動態(tài)分配內存,其原型為`voidmalloc(size_tsize)`。調用`malloc`后,返回一個指向分配內存的指針,若分配成功返回非空指針,若失敗返回`NULL`。使用`malloc`分配的內存需要手動釋放,使用`fre

溫馨提示

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

評論

0/150

提交評論