2025年新版函授c語言考試題及答案_第1頁
2025年新版函授c語言考試題及答案_第2頁
2025年新版函授c語言考試題及答案_第3頁
2025年新版函授c語言考試題及答案_第4頁
2025年新版函授c語言考試題及答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

2025年新版函授c語言考試題及答案一、單項(xiàng)選擇題(每小題2分,共20分)1.以下選項(xiàng)中,符合C語言標(biāo)識(shí)符命名規(guī)則的是()A._var2B.2var_C.intD.var$12.若定義inta=5,b=3;則表達(dá)式(a++--b)2的結(jié)果是()A.4B.6C.8D.103.若有定義charstr[]="hello\0world";則strlen(str)的返回值是()A.5B.6C.10D.114.以下關(guān)于函數(shù)參數(shù)傳遞的描述,正確的是()A.數(shù)組名作為參數(shù)傳遞時(shí),函數(shù)內(nèi)部修改數(shù)組元素會(huì)影響原數(shù)組B.基本數(shù)據(jù)類型作為參數(shù)傳遞時(shí),函數(shù)內(nèi)部修改參數(shù)值會(huì)改變主調(diào)函數(shù)的變量值C.指針作為參數(shù)傳遞時(shí),函數(shù)內(nèi)部不能修改指針指向的內(nèi)容D.結(jié)構(gòu)體變量作為參數(shù)傳遞時(shí),采用的是引用傳遞方式5.若有定義structNode{inta;charb;doublec;}node;則sizeof(node)的結(jié)果是()(假設(shè)int占4字節(jié),char占1,double占8,對(duì)齊系數(shù)為8)A.13B.16C.24D.326.執(zhí)行以下程序段后,輸出結(jié)果是()intx=0;for(;x<3;x++){if(x%2)continue;printf("%d",x);}A.012B.02C.0D.127.若有定義intp,a[5]={1,3,5,7,9};p=a;則(p+2)+2的值是()A.5B.7C.9D.118.以下關(guān)于預(yù)處理指令的描述,錯(cuò)誤的是()A.define宏定義可以帶參數(shù)B.include指令可以包含用戶自定義頭文件C.條件編譯指令ifdef用于判斷變量是否存在D.宏定義在編譯前被替換9.若要?jiǎng)討B(tài)分配一個(gè)包含10個(gè)int類型元素的內(nèi)存空間,正確的語句是()A.intp=(int)malloc(10);B.intp=malloc(10sizeof(int));C.intp=(int)malloc(10sizeof(int));D.intp=(int)malloc(10sizeof(int));10.若以只讀方式打開一個(gè)二進(jìn)制文件,正確的fopen參數(shù)是()A."r"B."rb"C."w"D."wb"二、填空題(每空2分,共10分)1.若定義floatx=3.1415;則表達(dá)式(int)x+2的結(jié)果是__________。2.若有定義charch='A';則執(zhí)行ch=ch+32后,ch的值是__________(用字符表示)。3.函數(shù)的返回值類型由__________決定。4.若有定義inta[3][4]={{1,2},{3,4,5},{6}};則a[1][2]的值是__________。5.位運(yùn)算中,表達(dá)式0x12^0x21的結(jié)果是__________(用十六進(jìn)制表示)。三、程序分析題(每小題8分,共32分)1.分析以下程序的運(yùn)行結(jié)果。include<stdio.h>voidswap(intx,inty){inttemp=x;x=y;y=temp;}intmain(){inta=10,b=20;swap(a,b);printf("a=%d,b=%d",a,b);return0;}2.分析以下程序的運(yùn)行結(jié)果。include<stdio.h>intmain(){intarr[]={1,2,3,4,5};intp=arr;(p+2)+=2;printf("%d,%d",p,(p+4));return0;}3.分析以下程序的運(yùn)行結(jié)果。include<stdio.h>intfun(intn){if(n==1)return1;elsereturnn+fun(n-1);}intmain(){intres=fun(4);printf("%d",res);return0;}4.分析以下程序的運(yùn)行結(jié)果。include<stdio.h>structStudent{charname[10];intage;}stu={"LiMing",20};intmain(){structStudentp=&stu;printf("%s,%d",p->name,(p).age+2);return0;}四、編程題(共38分)1.(12分)編寫一個(gè)函數(shù),統(tǒng)計(jì)字符串中指定字符的出現(xiàn)次數(shù)(區(qū)分大小寫)。函數(shù)原型為:intcountChar(charstr,charch)。例如,輸入字符串"HelloWorld",字符'l',返回2。2.(13分)使用結(jié)構(gòu)體數(shù)組管理學(xué)生信息,每個(gè)學(xué)生包含學(xué)號(hào)(長(zhǎng)整型)、數(shù)學(xué)成績(jī)(float)、英語成績(jī)(float)。要求:(1)從鍵盤輸入3名學(xué)生的信息;(2)計(jì)算每名學(xué)生的平均分(保留2位小數(shù));(3)輸出所有學(xué)生的學(xué)號(hào)、數(shù)學(xué)成績(jī)、英語成績(jī)及平均分。3.(13分)編寫程序,動(dòng)態(tài)分配一個(gè)長(zhǎng)度由用戶輸入的整型數(shù)組,使用冒泡排序法對(duì)其進(jìn)行升序排序,并輸出排序后的數(shù)組。要求處理內(nèi)存分配失敗的情況。答案一、單項(xiàng)選擇題1.A(標(biāo)識(shí)符只能由字母、數(shù)字、下劃線組成,且不能以數(shù)字開頭,不能是關(guān)鍵字)2.C(a++先取值5,--b先減1得2,5-2=3,32=6?不,原式是(a++--b)2,a++是5,--b是2,5-2=3,32=6?但原題a=5,b=3,--b后b=2,a++是5(之后a=6),所以5-2=3,32=6?但選項(xiàng)中無6?哦可能我算錯(cuò)了。原式:a++是5(a變?yōu)?),--b是2(b變?yōu)?),所以5-2=3,32=6,但選項(xiàng)B是6?可能題目選項(xiàng)正確。修正:原題選項(xiàng)B是6,正確。3.A(strlen遇到'\0'停止,"hello"長(zhǎng)度為5)4.A(數(shù)組名傳遞是地址傳遞,修改元素影響原數(shù)組;基本類型是值傳遞;指針可修改指向內(nèi)容;結(jié)構(gòu)體變量是值傳遞)5.B(結(jié)構(gòu)體對(duì)齊:int占4,char占1(填充3到8),double占8,總大小4+8+8=20?不,對(duì)齊系數(shù)為8,int后char占1,填充3到8(4+1+3=8),然后double占8,總大小8+8=16?正確。6.B(x=0時(shí),0%2=0,不執(zhí)行continue,輸出0;x=1時(shí),1%2=1,執(zhí)行continue,跳過輸出;x=2時(shí),2%2=0,輸出2;循環(huán)結(jié)束,結(jié)果02)7.B(p=a,p+2指向a[2]=5,5+2=7)8.C(ifdef判斷宏是否定義,非變量)9.C(malloc需強(qiáng)制轉(zhuǎn)換類型,大小為10sizeof(int))10.B(二進(jìn)制只讀模式是"rb")二、填空題1.5((int)x=3,3+2=5)2.'a'('A'的ASCII碼是65,+32得97,對(duì)應(yīng)'a')3.函數(shù)定義時(shí)的返回值類型4.5(二維數(shù)組初始化,a[1]是{3,4,5},a[1][2]=5)5.0x33(0x12是00010010,0x21是00100001,異或得00110011即0x33)三、程序分析題1.運(yùn)行結(jié)果:a=10,b=20解析:swap函數(shù)采用值傳遞,交換的是形參x和y的值,主函數(shù)中a和b的值未改變。2.運(yùn)行結(jié)果:1,5解析:p指向數(shù)組首元素,(p+2)即arr[2],初始為3,加2后變?yōu)?;p是arr[0]=1,(p+4)是arr[4]=5。3.運(yùn)行結(jié)果:10解析:fun函數(shù)遞歸計(jì)算1+2+3+4=10(n=4時(shí),4+fun(3);fun(3)=3+fun(2);fun(2)=2+fun(1);fun(1)=1,總和4+3+2+1=10)。4.運(yùn)行結(jié)果:LiMing,22解析:p是指向stu的指針,p->name輸出"LiMing";(p).age即stu.age=20,加2后為22。四、編程題1.參考代碼:intcountChar(charstr,charch){intcount=0;while(str!='\0'){//遍歷字符串直到結(jié)束if(str==ch){//匹配目標(biāo)字符count++;}str++;//指針后移}returncount;}2.參考代碼:include<stdio.h>structStudent{longid;floatmath;floatenglish;floatavg;//平均分};intmain(){structStudentstu[3];inti;//輸入信息for(i=0;i<3;i++){printf("請(qǐng)輸入第%d名學(xué)生的學(xué)號(hào)、數(shù)學(xué)成績(jī)、英語成績(jī):",i+1);scanf("%ld%f%f",&stu[i].id,&stu[i].math,&stu[i].english);stu[i].avg=(stu[i].math+stu[i].english)/2;//計(jì)算平均分}//輸出信息printf("學(xué)號(hào)\t數(shù)學(xué)\t英語\t平均分\n");for(i=0;i<3;i++){printf("%ld\t%.2f\t%.2f\t%.2f\n",stu[i].id,stu[i].math,stu[i].english,stu[i].avg);}return0;}3.參考代碼:include<stdio.h>include<stdlib.h>//包含malloc、free函數(shù)voidbubbleSort(intarr,intn){inti,j,temp;for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(arr[j]>arr[j+1]){//升序排序temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}}}intmain(){intn,arr;printf("請(qǐng)輸入數(shù)組長(zhǎng)度:");scanf("%d",&n);//動(dòng)態(tài)分配內(nèi)存arr=(int)malloc(nsizeof(int));if(arr==NULL){//處理分配失敗printf("內(nèi)存分配失??!");return1;}//輸入數(shù)組元素p

溫馨提示

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

評(píng)論

0/150

提交評(píng)論