北京大學計算機等級二級C語言試卷_第1頁
北京大學計算機等級二級C語言試卷_第2頁
北京大學計算機等級二級C語言試卷_第3頁
北京大學計算機等級二級C語言試卷_第4頁
北京大學計算機等級二級C語言試卷_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

北京大學計算機等級二級C語言試卷考試時長:120分鐘滿分:100分班級:__________姓名:__________學號:__________得分:__________北京大學計算機等級二級C語言試卷考核對象:計算機專業(yè)學生及行業(yè)從業(yè)者(中等級別)題型分值分布:-單選題(10題,每題2分,共20分)-填空題(10題,每題2分,共20分)-判斷題(10題,每題2分,共20分)-簡答題(3題,每題4分,共12分)-應用題(2題,每題9分,共18分)總分:100分一、單選題(每題2分,共20分)1.以下哪個運算符在C語言中用于計算兩個數(shù)相除的余數(shù)?A./B.%C.D.-2.若定義`inta=5,b=3;`,則表達式`a%b`的值為?A.1B.2C.3D.03.以下哪個語句用于退出當前循環(huán)或switch語句?A.breakB.continueC.returnD.exit4.若定義`charc='A';`,則`c+1`的值為什么類型?A.intB.charC.floatD.double5.以下哪個函數(shù)用于動態(tài)分配內(nèi)存?A.mallocB.freeC.sizeofD.strlen6.若定義`intarr[5]={1,2,3,4,5};`,則`arr[2]`的值為?A.1B.2C.3D.47.以下哪個關鍵字用于聲明常量?A.staticB.constC.volatileD.extern8.若定義`intp=NULL;`,則`p`指向什么?A.隨機內(nèi)存地址B.堆內(nèi)存地址C.棧內(nèi)存地址D.空地址9.以下哪個函數(shù)用于釋放動態(tài)分配的內(nèi)存?A.mallocB.freeC.deleteD.release10.若定義`structNode{intdata;structNodenext;};`,則該結構體表示什么?A.數(shù)組B.棧C.鏈表D.樹二、填空題(每題2分,共20分)1.C語言中,用于表示邏輯“非”的運算符是________。2.若定義`inta=10;`,則`a++`的值是什么?________。3.以下代碼段的功能是________:```cfor(inti=0;i<5;i++){printf("%d",i);}```4.若定義`charstr[]="Hello";`,則`sizeof(str)`的值為________。5.以下代碼段的功能是________:```cinta=5,b=10;if(a<b){printf("a<b");}else{printf("a>=b");}```6.若定義`intp=&a;`,則`p`表示什么?________。7.以下代碼段的功能是________:```cwhile(a>0){printf("%d",a);a--;}```8.若定義`structStudent{charname[20];intage;};`,則聲明一個`Student`類型的變量名為`stu`的代碼是________。9.以下代碼段的功能是________:```cintarr[3]={1,2,3};for(inti=0;i<3;i++){arr[i]=2;}```10.若定義`intp=(int)malloc(sizeof(int));`,則`p`的類型是什么?________。三、判斷題(每題2分,共20分)1.C語言中,`main`函數(shù)必須包含在`#include<stdio.h>`頭文件中。(×)2.若定義`inta=5;`,則`a=a+1`與`a++`等價。(√)3.以下代碼段是正確的:```cfor(;;){printf("Hello");}```(√)4.若定義`charc='0';`,則`c`的ASCII碼值為48。(√)5.以下代碼段是正確的:```cintp=NULL;p=10;```(×)6.若定義`structNode{intdata;structNodenext;};`,則該結構體表示鏈表節(jié)點。(√)7.以下代碼段是正確的:```cintarr[5]={1,2,3,4,5};printf("%d",arr[5]);```(×)8.若定義`inta=5;`,則`sizeof(a)`的值為4(假設int為32位)。(√)9.以下代碼段是正確的:```cfree(NULL);```(√)10.若定義`charstr="Hello";`,則`str`是一個指針變量。(√)四、簡答題(每題4分,共12分)1.簡述C語言中的“指針”是什么?2.簡述C語言中“動態(tài)內(nèi)存分配”的兩種方式。3.簡述C語言中“結構體”與“聯(lián)合體”的區(qū)別。五、應用題(每題9分,共18分)1.編寫一個C語言程序,實現(xiàn)以下功能:-定義一個包含10個整數(shù)的數(shù)組,并初始化為1到10。-使用`for`循環(huán)遍歷數(shù)組,并將每個元素的值乘以2。-使用`printf`輸出修改后的數(shù)組。2.編寫一個C語言程序,實現(xiàn)以下功能:-定義一個鏈表節(jié)點結構體`structNode{intdata;structNodenext;};`。-創(chuàng)建一個包含3個節(jié)點的鏈表,節(jié)點數(shù)據(jù)分別為1、2、3。-遍歷鏈表,并輸出每個節(jié)點的數(shù)據(jù)。標準答案及解析一、單選題1.B2.A3.A4.A5.A6.C7.B8.D9.B10.C解析:1.`%`是取余運算符。2.`5%3=2`。3.`break`用于退出當前循環(huán)或switch語句。4.`c+1`將`'A'`的ASCII碼值加1,結果為`'B'`,類型為int。5.`malloc`用于動態(tài)分配內(nèi)存。6.`arr[2]`即數(shù)組第3個元素,值為3。7.`const`用于聲明常量。8.`NULL`表示空地址。9.`free`用于釋放動態(tài)分配的內(nèi)存。10.該結構體表示鏈表節(jié)點。二、填空題1.!2.113.打印0到4的數(shù)字,每個數(shù)字后跟空格。4.65.輸出"a<b"。6.`a`的值。7.打印1到5的數(shù)字,每個數(shù)字后跟空格。8.`structStudentstu;`9.將數(shù)組每個元素的值乘以2。10.`int`解析:1.`!`表示邏輯非。2.`a++`相當于`a=a+1`,`a`的值為10,`a++`后值為11。3.`for`循環(huán)從0到4遍歷。4.`sizeof(str)`計算字符串常量的長度,包括結尾的`\0`。5.`if`條件為真,輸出"a<b"。6.`p`表示`p`指向的變量的值。7.`while`循環(huán)從1到5遍歷。8.聲明結構體變量`stu`。9.`for`循環(huán)遍歷數(shù)組并修改值。10.`malloc`返回`int`類型的指針。三、判斷題1.×2.√3.√4.√5.×6.√7.×8.√9.√10.√解析:1.`main`函數(shù)無需包含`#include<stdio.h>`,但通常需要該頭文件進行輸入輸出。5.`p`指向NULL時,不能進行解引用操作。四、簡答題1.指針是C語言中一種特殊的數(shù)據(jù)類型,用于存儲變量的內(nèi)存地址。通過指針,可以間接訪問和修改變量的值。2.動態(tài)內(nèi)存分配的兩種方式:-`malloc`:在堆內(nèi)存中分配指定大小的內(nèi)存塊,返回指向該內(nèi)存塊的指針。-`calloc`:在堆內(nèi)存中分配指定數(shù)量的內(nèi)存塊,每個塊大小為指定字節(jié),并初始化為0。3.結構體和聯(lián)合體的區(qū)別:-結構體:每個成員占用獨立的內(nèi)存空間,總大小為所有成員大小的總和。-聯(lián)合體:所有成員共享同一塊內(nèi)存空間,總大小為最大成員的大小。五、應用題1.代碼:```c#include<stdio.h>intmain(){intarr[10]={1,2,3,4,5,6,7,8,9,10};for(inti=0;i<10;i++){arr[i]=2;}for(inti=0;i<10;i++){printf("%d",arr[i]);}return0;}```輸出:```2468101214161820```2.代碼:```c#include<stdio.h>structNode{intdata;structNodenext;};intmain(){structNodenode1={1,NULL};structNodenode2={2,NULL};structNodenode3={3,NULL};node1.next=&node2;node2.next=&node3;structNodep=&node1;

溫馨提示

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

最新文檔

評論

0/150

提交評論