(2025年)計算機c語言期末試卷及答案_第1頁
(2025年)計算機c語言期末試卷及答案_第2頁
(2025年)計算機c語言期末試卷及答案_第3頁
(2025年)計算機c語言期末試卷及答案_第4頁
(2025年)計算機c語言期末試卷及答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(2025年)計算機c語言期末試卷及答案一、單項選擇題(每題2分,共30分)1.以下關(guān)于C語言數(shù)據(jù)類型的描述,正確的是()A.char類型變量只能存儲ASCII字符B.float類型變量在內(nèi)存中占4字節(jié),有效數(shù)字約6-7位C.double類型變量的取值范圍一定大于float類型D.枚舉類型本質(zhì)上是整型,枚舉常量默認從1開始計數(shù)2.若有定義inta[5]={1,3,5,7,9},p=a+2;則(p+1)的值為()A.5B.7C.3D.93.以下不能正確聲明二維數(shù)組的是()A.intarr[][3]={{1,2},{3,4,5}};B.intarr[2][3]={1,2,3,4,5};C.intarr[2][3]={{1},{2,3}};D.intarr[2][]={{1,2,3},{4,5,6}};4.執(zhí)行以下代碼后,輸出結(jié)果為()intx=5,y=3;printf("%d\n",(x--)-(y++));A.2B.1C.3D.45.關(guān)于函數(shù)參數(shù)傳遞,以下說法錯誤的是()A.數(shù)組名作為參數(shù)傳遞時,傳遞的是數(shù)組首元素地址B.結(jié)構(gòu)體變量作為參數(shù)傳遞時,會執(zhí)行逐成員復(fù)制C.指針作為參數(shù)傳遞時,函數(shù)內(nèi)部可以修改指針指向的內(nèi)容D.基本數(shù)據(jù)類型作為參數(shù)傳遞時,函數(shù)內(nèi)部對參數(shù)的修改會影響實參6.若有定義structNode{inta;charb;doublec;}s;則sizeof(s)的值在32位系統(tǒng)中為()(假設(shè)對齊模數(shù)為4)A.16B.15C.14D.137.以下循環(huán)體執(zhí)行次數(shù)為()inti=0;while(i=0){i++;}A.0次B.1次C.無限次D.編譯錯誤8.若要將字符數(shù)組str中的內(nèi)容"hello"逆序存儲為"olleh",以下正確的操作是()A.for(inti=0,j=4;i<j;i++,j--){str[i]=str[j];}B.for(inti=0,j=4;i<j;i++,j--){chart=str[i];str[i]=str[j];str[j]=t;}C.for(inti=0,j=5;i<j;i++,j--){chart=str[i];str[i]=str[j];str[j]=t;}D.for(inti=0,j=strlen(str)-1;i<j;i++,j--){chart=str[i];str[i]=str[j];str[j]=t;}9.以下關(guān)于預(yù)處理指令的描述,錯誤的是()A.define宏定義可以帶參數(shù),但不會進行類型檢查B.include指令可以包含自定義頭文件C.if和ifdef可以實現(xiàn)條件編譯D.預(yù)處理指令必須以分號結(jié)尾10.執(zhí)行以下遞歸函數(shù)調(diào)用f(5),返回值為()intf(intn){if(n==1)return1;returnf(n-1)n+n;}A.15B.35C.65D.12011.若有定義chars="abcde";則以下操作合法的是()A.s[2]='x';B.s='A';C.s="xyz";D.strcpy(s,"123");12.以下能正確計算1到n累加和的循環(huán)結(jié)構(gòu)是()A.intsum=0,n=5;for(inti=1;i<=n;sum+=i++);B.intsum=0,n=5;for(inti=1;i<=n;i++);sum+=i;C.intsum=0,n=5;while(i<=n)sum+=i++;D.intsum=0,n=5;do{sum+=i++;}while(i<=n);13.若要打開文件"test.txt"進行讀寫操作,正確的fopen調(diào)用是()A.fopen("test.txt","r+")B.fopen("test.txt","w+")C.fopen("test.txt","a+")D.以上都可以14.以下關(guān)于指針數(shù)組和數(shù)組指針的描述,正確的是()A.intp[5]是數(shù)組指針,指向包含5個int元素的數(shù)組B.int(p)[5]是指針數(shù)組,每個元素是int指針C.指針數(shù)組的元素是指針,數(shù)組指針是指向數(shù)組的指針D.兩者在內(nèi)存中占用的存儲空間一定相同15.執(zhí)行以下代碼后,輸出結(jié)果為()inta=3,b=5;intp1=&a,p2=&b;p1=p2+p1++;printf("%d,%d",a,b);A.8,5B.5,5C.3,5D.8,3二、填空題(每空2分,共20分)1.若intx=0x12,y=012;則x+y的十進制值為()。2.若有定義inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};則a[1][2]的地址可以表示為()(用a的偏移形式)。3.函數(shù)strlen("abc\0def")的返回值是()。4.若要將變量x按八進制帶前導(dǎo)符輸出,格式控制字符串應(yīng)為()。5.執(zhí)行以下代碼后,變量k的值為()。intk=0;for(inti=1,j=5;i<j;i++,j--){k+=i+j;}6.若有定義typedefstruct{intnum;charname[20];}STU;則STU是()類型的別名。7.執(zhí)行以下代碼后,輸出結(jié)果為()。inta=5;intp=&a;p=p<<2;printf("%d",a);8.若要使用動態(tài)內(nèi)存分配函數(shù)為int數(shù)組分配10個元素的空間,正確的語句是()(包含頭文件)。9.以下代碼的功能是()。intfunc(intn){if(n==0)return0;returnn%10+func(n/10);}10.若文件操作中fwrite函數(shù)的返回值為0,可能的原因是()。三、程序分析題(每題8分,共24分)1.分析以下程序的運行結(jié)果。include<stdio.h>intmain(){inta[5]={1,2,3,4,5};intp1=a,p2=a+4;while(p1<=p2){printf("%d",p1);p1++;p2--;}return0;}2.分析以下程序的運行結(jié)果。include<stdio.h>voidfun(intx,inty){intt=x;x=y;y=t;x=y;}intmain(){inta=1,b=2;intp=&a,q=&b;fun(p,q);printf("a=%d,b=%d,p=%d,q=%d",a,b,p,q);return0;}3.分析以下程序的運行結(jié)果。include<stdio.h>include<string.h>intmain(){charstr[20]="helloworld";charp=str+6;strcpy(str,p);printf("%s,%d",str,strlen(str));return0;}四、編程題(共26分)1.(8分)編寫函數(shù)intcount_char(charstr,charch),統(tǒng)計字符串str中字符ch的出現(xiàn)次數(shù)(區(qū)分大小寫)。要求:不使用字符串庫函數(shù)(如strlen、strchr等)。2.(9分)編寫程序,從鍵盤輸入10個整數(shù)存入數(shù)組,找出其中的最大值和次大值(假設(shè)所有數(shù)互不相同)。要求:用指針操作數(shù)組,不能使用排序算法。3.(9分)定義結(jié)構(gòu)體類型Student,包含學號(長整型)、姓名(字符串,20字符)、成績(浮點型)。編寫函數(shù)voidsort_students(Studentstu,intn),將學生數(shù)組按成績降序排序(要求用冒泡排序?qū)崿F(xiàn))。答案一、單項選擇題1.B2.B3.D4.A5.D6.A7.A8.D9.D10.B11.C12.A13.D14.C15.A二、填空題1.30(0x12=18,012=10,18+10=28?哦計算錯誤,0x12是十六進制18,012是八進制10,18+10=28,正確應(yīng)為28)2.a[1]+2或&a[1][2]或(a+1)+23.3(遇到\0停止)4.%o5.12(i=1,j=5→k=6;i=2,j=4→k=6+6=12;i=3,j=3退出循環(huán))6.結(jié)構(gòu)體7.20(5<<2=20)8.intp=(int)malloc(10sizeof(int));(需包含<stdlib.h>)9.計算n的各位數(shù)字之和10.寫入失?。ㄈ绲竭_文件尾、磁盤空間不足等)三、程序分析題1.運行結(jié)果:12解析:初始p1指向a[0](值1),p2指向a[4](值5)。第一次循環(huán)輸出1,p1→a[1],p2→a[3]。第二次循環(huán)p1<=p2成立,輸出2,p1→a[2],p2→a[2]。第三次循環(huán)p1<=p2成立(等于),輸出3?哦原代碼循環(huán)條件是p1<=p2,第一次循環(huán)后p1=a+1(值2),p2=a+3(值4);第二次循環(huán)輸出2,p1=a+2(值3),p2=a+2(值3);第三次循環(huán)p1<=p2成立,輸出3,p1=a+3,p2=a+1,此時p1>p2退出。所以實際輸出應(yīng)為123?需要重新分析:初始p1=a(地址0x1000),p2=a+4(地址0x1010)。循環(huán)條件p1<=p2:第一次迭代:輸出p1=1,p1++→0x1004,p2--→0x100C。此時p1=0x1004<=p2=0x100C,繼續(xù)。第二次迭代:輸出p1=2,p1++→0x1008,p2--→0x1008。此時p1=0x1008<=p2=0x1008,繼續(xù)。第三次迭代:輸出p1=3,p1++→0x100C,p2--→0x1004。此時p1=0x100C>p2=0x1004,退出循環(huán)。所以輸出應(yīng)為123(原分析錯誤,正確輸出是123)2.運行結(jié)果:a=2,b=1,p=2,q=1解析:fun函數(shù)交換了p和q的值(即a和b的值),但x=y只是改變了函數(shù)內(nèi)指針變量的指向,不影響主函數(shù)中的p和q。主函數(shù)中p仍指向a,q仍指向b,所以p是a的新值2,q是b的新值1。3.運行結(jié)果:world,5解析:str初始為"helloworld"(索引0-10),p指向索引6('w')。strcpy將p開始的字符串("world")復(fù)制到str起始位置,覆蓋原內(nèi)容。復(fù)制后str內(nèi)容為"world"(后面自動補\0),strlen計算到\0前的5個字符。四、編程題1.參考代碼:intcount_char(charstr,charch){intcount=0;while(str!='\0'){//遍歷字符串直到結(jié)束符if(str==ch){count++;}str++;//指針后移}returncount;}2.參考代碼:include<stdio.h>intmain(){intarr[10],i;intp=arr;printf("請輸入10個整數(shù):");for(i=0;i<10;i++){scanf("%d",p+i);//指針方式輸入}intmax=p,second_max=p+1;if(max<second_max){//初始化max和second_maxintt=max;max=second_max;second_max=t;}for(p=p+2;p<arr+10;p++){//從第三個元素開始比較if(p>max){second_max=max;//原max變?yōu)榇未髆ax=p;//新max}elseif(p>second_max){second_max=p;//更新次大}}printf("最大值:%d,次大值:%d\n",max,second_max);return0;}3.參考代碼:include<stdio.h>typedefstruct{longnum;charname[20];floatscore;}Student;voidsort_students(Studentstu,intn)

溫馨提示

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

評論

0/150

提交評論