MOOC C語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué) 中國大學(xué)慕課答案_第1頁
MOOC C語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué) 中國大學(xué)慕課答案_第2頁
MOOC C語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué) 中國大學(xué)慕課答案_第3頁
MOOC C語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué) 中國大學(xué)慕課答案_第4頁
MOOC C語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué) 中國大學(xué)慕課答案_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

MOOCC語言程序設(shè)計(jì)進(jìn)階-浙江大學(xué)中國大學(xué)慕課答案小測(cè)驗(yàn)1.11、問題:對(duì)于:inta[]={5,15,34,54,14,2,52,72};int*p=a[5];則:p[-2]的值是?選項(xiàng):A、編譯出錯(cuò),因?yàn)閿?shù)組下標(biāo)越界了B、運(yùn)行出錯(cuò),因?yàn)閿?shù)組下標(biāo)越界了C、54D、2正確答案:【54】2、問題:如果:inta[]={0};int*p=a;則以下哪些表達(dá)式的結(jié)果為真?選項(xiàng):A、p==a[0]B、p==a[0]C、*p==a[0]D、p[0]==a[0]正確答案:【p==a[0]#*p==a[0]#p[0]==a[0]】3、問題:以下變量定義:int*p,q;中,p和q都是指針。選項(xiàng):A、正確B、錯(cuò)誤正確答案:【錯(cuò)誤】4、填空題:對(duì)于:inta[]={5,15,34,54,14,2,52,72};int*p=a[1];則:p[2]的值是?正確答案:【54】小測(cè)驗(yàn)1.21、問題:對(duì)于以下代碼段,正確的說法是:char*p;while(1){p=malloc(1);*p=0;}選項(xiàng):A、最終程序會(huì)因?yàn)闆]有沒有空間了而退出B、最終程序會(huì)因?yàn)橄?地址寫入而退出C、程序會(huì)一直運(yùn)行下去D、程序不能被編譯正確答案:【最終程序會(huì)因?yàn)橄?地址寫入而退出】2、問題:對(duì)于以下代碼段:inta[]={1,2,3,4,5,};int*p=a;int*q=a[5];printf(%d,q-p);當(dāng)sizeof(int)為4時(shí),以下說法正確的是:選項(xiàng):A、因?yàn)榈谌械腻e(cuò)誤不能編譯B、因?yàn)榈谌械腻e(cuò)誤運(yùn)行時(shí)崩潰C、輸出5D、輸出20正確答案:【輸出5】3、問題:使用malloc就可以做出運(yùn)行時(shí)可以隨時(shí)改變大小的數(shù)組選項(xiàng):A、正確B、錯(cuò)誤正確答案:【錯(cuò)誤】第1周編程題小測(cè)驗(yàn)1、問題:有下列代碼段,則輸出結(jié)果是:struct{intx,y;}s[2]={{1,3},{2,7},};printf(%d\n,s[0].y/s[1].x);選項(xiàng):A、0B、1C、2D、3正確答案:【1】2、問題:有如下變量定義,則對(duì)data中的a的正確引用是:structsk{inta;floatb;}data,*p=data;選項(xiàng):A、(*p).data.aB、(*p).aC、p-data.aD、p.data.a正確答案:【(*p).a】3、問題:以下兩行代碼能否出現(xiàn)在一起?struct{intx;inty;}x;struct{intx;inty;}y;選項(xiàng):A、正確B、錯(cuò)誤正確答案:【正確】第4周編程練習(xí)小測(cè)驗(yàn)1、填空題:假設(shè)宏定義:#defineDOUBLE(x)2*x則DOUBLE(1+2)的值是正確答案:【4】2、填空題:假設(shè)宏定義如下:#defineTOUPPER(c)('a'=(c)(c)='z'?(c)-'a'+'A':(c))設(shè)s是一個(gè)足夠大的字符數(shù)組,i是int型變量,則以下代碼段的輸出是:strcpy(s,abcd);i=0;putchar(TOUPPER(s[i]));正確答案:【A】期末試卷1、問題:關(guān)于函數(shù)指針,以下說法錯(cuò)誤的是:選項(xiàng):A、通過函數(shù)指針調(diào)用函數(shù)的時(shí)候不能傳遞參數(shù)B、函數(shù)指針可以作為參數(shù)傳給一個(gè)函數(shù)C、通過函數(shù)指針可以調(diào)用一個(gè)函數(shù)D、函數(shù)的名字就是函數(shù)的指針值,可以賦給函數(shù)指針變量正確答案:【通過函數(shù)指針調(diào)用函數(shù)的時(shí)候不能傳遞參數(shù)】2、問題:若定義chars[2][3]={“ab”,“cd”},*p=(char*)s;那么下列表達(dá)式語法正確,并且其值與s[1][1]相等的表達(dá)式(并非一定與其等價(jià))是選項(xiàng):A、*++p+2B、*(p+4)C、*(s+3)D、*s+2E、p[1][1]F、*(p+3)正確答案:【*++p+2#*(p+4)】3、問題:要求函數(shù)的功能是交換x和y中的值,且通過正確調(diào)用返回交換結(jié)果。能正確實(shí)現(xiàn)此功能的函數(shù)是選項(xiàng):A、voidfuna(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}B、voidfuna(int*x,int*y){intt=*x;*x=*y;*y=t;}C、voidfuna(int*x,int*y){int*p;*p=*x;*x=*y;*y=*p;}D、voidfuna(intx,inty){intt;t=x;x=y;y=t;}E、intfuna(int*x,int*y){*x=*y;*y=*x;}正確答案:【voidfuna(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}#voidfuna(int*x,int*y){intt=*x;*x=*y;*y=t;}】4、問題:對(duì)于如下定義:intk,a[10],*p=a;哪個(gè)表達(dá)式是不正確的選項(xiàng):A、a++B、p++C、a[0]=kD、p[0]=kE、*p++=2正確答案:【a++】5、問題:下列描述不正確的是選項(xiàng):A、靜態(tài)本地變量定義在函數(shù)外部B、全局變量定義在函數(shù)內(nèi)部C、全局變量定義在函數(shù)外部D、本地變量定義在函數(shù)內(nèi)部E、靜態(tài)本地變量分配在全局變量所在的地方正確答案:【靜態(tài)本地變量定義在函數(shù)外部#全局變量定義在函數(shù)內(nèi)部】6、問題:有如下定義:intx[]={1,2,3},*p=x,y;則y=*p++;相當(dāng)于_____選項(xiàng):A、y=x[0],p++B、y=*p,p++C、y=1,x++D、y=*(p+1),p=p+1E、y=2,p=x[1]F、y=2,p=x+1正確答案:【y=x[0],p++#y=*p,p++】7、問題:若聲明函數(shù)int*func(void);則函數(shù)fun的返回值為:選項(xiàng):A、一個(gè)指向整型變量的指針B、一個(gè)整數(shù)C、一個(gè)指向整型函數(shù)的指針D、一個(gè)整型函數(shù)的入口地址正確答案:【一個(gè)指向整型變量的指針】8、問題:關(guān)于#include,以下說法正確的是B、includexx.h只在編譯器被指定的目錄中搜索xx.hD、includexx.h只在當(dāng)前目錄搜索xx.hF、includestdio.h就把stdio庫引入到了程序中H、includexx是錯(cuò)誤的,因?yàn)闆]有了.h后綴正確答案:【#includexx.h只在編譯器被指定的目錄中搜索xx.h】9、問題:根據(jù)以下定義,哪個(gè)scanf的使用是不正確的:structpupil{charname[20];intage;};選項(xiàng):A、scanf(“%d”,p-age);B、scanf(“%s”,pup[0].name);C、scanf(“%d”,pup[0].age);D、scanf(“%d”,(p-sex));正確答案:【scanf(“%d”,p-age);】10、問題:與while(*s++=*t++);等價(jià)的程序段是選項(xiàng):A、do{*s=*t++;}while(*s++);B、while(*t)*s++=*t++;C、do{*s++=*t++;}while(*t);D、while(*s)*s++=*t++;正確答案:【do{*s=*t++;}while(*s++);】11、問題:有以下結(jié)構(gòu)體說明和變量定義,指針p、q、r依次指向一個(gè)鏈表中的三個(gè)連續(xù)結(jié)點(diǎn)。structnode{intdatastructnode*next;}*p,*q,*r;現(xiàn)要將q和r所指結(jié)點(diǎn)的先后位置交換,同時(shí)要保持鏈表的連續(xù),以下錯(cuò)誤的程序段是選項(xiàng):A、r-next=q;q-next=r-next;p-next=r;B、q-next=r-next;p-next=r;r-next=q;C、p-next=r;q-next=r-next;r-next=q;D、q-next=r-next;r-next=q;p-next=r;正確答案:【r-next=q;q-next=r-next;p-next=r;】12、問題:有以下程序voidWriteStr(char*fn,char*str){FILE*fp;fp=fopen(fn,w);fprintf(fp,%s,str);fclose(fp);}intmain(){WriteStr(t1.dat,start);WriteStr(t1.dat,end);return0;}程序運(yùn)行后,文件t1.dat中的內(nèi)容是選項(xiàng):A、endB、startendC、startD、endrt正確答案:【end】13、問題:當(dāng)文件打開出現(xiàn)錯(cuò)誤時(shí),fopen返回的是?選項(xiàng):A、0B、NULLC、-1D、EOFE、1F、隨機(jī)數(shù)G、沒有返回就導(dǎo)致程序退出了正確答案:【0#NULL】14、問題:在一個(gè)鏈表中,要把s所指的一個(gè)結(jié)點(diǎn)插入到p所指的一個(gè)結(jié)點(diǎn)后面去,正確的語句是:選項(xiàng):A、s-next=p-next;p-next=s;B、s-next=p;p-next=s;C、s-next=p?-next;p=s;D、p-next=s;s-next=p;正確答案:【s-next=p-next;p-next=s;】15、問題:以下哪個(gè)函數(shù)是不正確的(與能否被編譯無關(guān))?選項(xiàng):A、int*f(int*p){inti;returni;}B、int*f(int*p){returnp;}C、int*f(int*p){return(int*)malloc(sizeof(int));}D、int*f(int*p){returnNULL;}正確答案:【int*f(int*p){inti;returni;}】16、問題:執(zhí)行下列代碼后變量t的值是_____.#definefun(a)4*a;intt;t=fun(1+2);選項(xiàng):A、6B、2C、4D、8E、10F、12正確答案:【6】17、問題:若有定義struct{intk;chars[30];}a[5]={1,ABC,2,abc},*p=a;那么表達(dá)式*(p++)-s的值是_______.選項(xiàng):A、'A'B、'a'C、'B'D、ABCE、abc正確答案:【'A'】18、問題:給定函數(shù)原型如下:int*f(int*p);而變量定義如下:inti;選項(xiàng):A、f((i+6));B、f(i);C、*f(i)=6;D、int*p=f(i);正確答案:【f((i+6));】19、問題:有以下代碼片段:struct{union{chara,b;intc;}d;inte[5];}f,*p=&f;那么,下列語句哪個(gè)是能被編譯的:選項(xiàng):A、p-e[3]=10;B、p-b='';C、p.d.a='*';D、p-d-c=20;正確答案:【p-e[3]=10;】20、問題:有函數(shù)原型為voidf(int,int*);,主函數(shù)中有變量定義:inta=2,*p=&a;則下列函數(shù)調(diào)用正確的是選項(xiàng):A、f(*p,&a);B、f(a,p);C、f(*p,p);D、f(a,&a);E、f(a,*p);F、f(a,&p);G、f(*p,a);H、f(p,a);正確答案:【f(*p,&a);#f(a,p);#f(*p,p);#f(a,&a);】21、問題:若定義intk,a[10],*p=a;那么下面表達(dá)式不能被編譯的是_______.選項(xiàng):A、a++;B、p++;C、a[0]=k;D、p[0]=k;正確答案:【a++;】22、問題:用typedef來定義一個(gè)函數(shù)指針類型PunPtr,它表示的是指向形如voidfunc(intx)的函數(shù),以下正確的表達(dá)是:選項(xiàng):A、typedefvoid(*FunPtr)(int);B、typedefFunPtrfun(intx);C、typedefvoidFunPtr(intx);D、typedefvoid(*FunPtr)();正確答案:【typedefvoid(*FunPtr)(int);】23、問題:在課程的圖形庫中,關(guān)于printf的問題,以下說法正確的是:選項(xiàng):A、如果調(diào)用了InitConsole()函數(shù),printf會(huì)顯示在專門的終端窗口上,否則不會(huì)輸出任何東西。B、printf不會(huì)輸出任何東西C、printf會(huì)在圖形窗口的當(dāng)前位置顯示內(nèi)容D、printf會(huì)自動(dòng)打開一個(gè)文本窗口顯示內(nèi)容正確答案:【如果調(diào)用了InitConsole()函數(shù),printf會(huì)顯示在專門的終端窗口上,否則不會(huì)輸出任何東西?!?4、填空題:表達(dá)式!!”2010-01-27”的值為(以1表示真,0表示假)正確答案:【1】25、填空題:下列程序段的輸出是_______。#defineDF(a,b)(a+2*b)ints=5;intk=DF(s+1,s-3);printf(%d,k);正確答案:【13】26、填空題:以下代碼段的輸出是:intx,y,z,w;voidp(int*y,intx){staticintw;*y++;x++;w=x+*--y;printf(%d#%d#%d#%d#,x,*y,z,w);}intmain(void){intx,y,z,w;x=y=z=w=1;do{staticintx;p(x,y);printf(%d#%d#%d#%d#,x,y,z,w);}while(0);return0;}正確答案:【2#0#0#2#0#1#1#1#】27、填空題:假設(shè)sizeof(int)的值為4,對(duì)數(shù)組定義:inta[3][6];則sizeof(a[0])的值為______。正確答案:【24】28、填空題:寫出表示“當(dāng)x的取值在[-10,0]的范圍內(nèi),結(jié)果為真,否則為假”的C語言表達(dá)式,注意不要任何空格正確答案:【x>=-10&&x<=0##%_YZPRLFH_%##x=-10##%_YZPRLFH_%##!(x0)】29、填空題:若

溫馨提示

  • 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)論