c語言試題及答案_第1頁
c語言試題及答案_第2頁
c語言試題及答案_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、c語言部分一、選擇題(每小題2分,共10分)(下在各小題,分別有一個(gè)或多個(gè)正確答案,請將所有正確答案的編號,填寫在該小題題干后的括號內(nèi)。錯(cuò)選或漏選均不得分)。1、若定義:inta230,2,4,6,8,10;以下描述正確的有(A,C,D,E)A、*(a+1)為元素6的地址這里a+1=a1的地址;*(a+1)的值是6,故A正確。B、*(a1+1)的值為2為8,故B不正確C、*(a+1)+2的值為8這里a+1是一個(gè)指針,指向的是a1.|*(a+1)為a1,a1指向的是a10.*(a+1)為6,加2得8,故C正確;D、a0與a相同因二者都是指針,指針的地址都是指向數(shù)組中的第一個(gè)元素的地址,故D正確。

2、E、a12的值為10它是指第二行的第三個(gè)元素,為10,正確2、對函數(shù)的正確使用方法描述(A,C,D)oA、用數(shù)組做函數(shù)參數(shù)時(shí),必須在主調(diào)函數(shù)和被調(diào)函數(shù)中分別定義數(shù)組B、實(shí)參數(shù)組元素和形參數(shù)組元素類型可以不一致C、形參數(shù)組長度可以不指定D、形參數(shù)組長度可以大丁實(shí)參數(shù)組長度E、數(shù)組名做參數(shù)屆丁值傳遞3、對靜態(tài)變量的正確描述(A,B,D,E)IA、靜態(tài)局部變量在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配單元()B、靜態(tài)外部變量可以賦初值,也可以不賦初值C、靜態(tài)外部變量的作用與外部變量相同D、靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束時(shí),仍保存其值,不會(huì)隨著消失。E、靜態(tài)局部變量只賦一次初值4、下列描述正確的是(A,C)。A、由main函數(shù)及

3、其參數(shù)argc和*argv可以實(shí)現(xiàn)命令行方式B、使用fclose關(guān)閉文件時(shí),先釋放文件指針,再寫緩沖區(qū)數(shù)據(jù)到文件中先寫緩沖區(qū)數(shù)據(jù)到文件中,再釋放文件指針C、字符數(shù)組并不要求它的最后一個(gè)字符是0'是的,以字符指針指向的字符申才要求,因?yàn)橹挥羞@樣,才能知道字符申的長度,而在字符數(shù)組中,不用0,一樣可以知道到哪里是字符數(shù)組的結(jié)尾。D、A'和“A”都是字符申常量E、若char*S="ta017bc”;則指針變量S指向的字符申所占的字節(jié)數(shù)是75、在緩沖文件系統(tǒng)中用丁讀寫的函數(shù)有(A,B,D)A、putchar()B、fread()C、rewind()D、purw()E、fsee

4、k()二、程序閱讀,并給出運(yùn)行結(jié)果(共10分,每題5分)。(1)main()unsigneda,b,x-IntnJa=0x763輸出結(jié)果:n=6;b=avv(12-n);x=(a>>n-2)Ab;/+,-,的優(yōu)先級比<<,>>高。printf(“nx=%X',b,x);在用2個(gè)字節(jié)表示整數(shù)的系統(tǒng)中結(jié)果為d8c0d8b6在用4個(gè)字節(jié)表示整數(shù)的系統(tǒng)中結(jié)果為1d8c01d8b6故以上兩種結(jié)果都正確。(2)#includestdin.hstructmintx;int*y;*p;inta4=12,33,-40,100;structmb4=10,&a2,

5、9,&a3,8,&a0,7,&a1main()p=b;輸出結(jié)果:printf("dn”,+p->x);/->的優(yōu)先級高丁+,因此等丁是+(p->x),為11printf("dn”,(+p)->x);/p后移一個(gè)元素,其x值為9;printf("dn”,+(*p->y);/->的優(yōu)先級高丁*,此時(shí)p已指向b1,故*(p->y)為a3為100.自加后為101;故輸出結(jié)果為:119101三、程序設(shè)計(jì)(共10分)設(shè)在文件a.txt和文件b.txt中分別存有兩個(gè)字符申,設(shè)計(jì)一個(gè)程序?qū)⑦@兩個(gè)字符申按依序交義的方

6、式合并為一個(gè)字符申(例如“aaaa呂與“bbb”的合并結(jié)果為“abababaa,而“bbb”與“aaaa§的合作結(jié)果為“bababaa,)并將結(jié)果存入文件a.txt中。寫程序時(shí),可以分別讀取a.txt文件和b.txt文件,注意(1),無論a文件先讀完還是b文件先讀完,程序都能作出適應(yīng)性的判斷。注意(2)把a(bǔ)和b合并的結(jié)果,寫到一個(gè)臨時(shí)文件c中,最后把c的文件覆蓋到a文件中,達(dá)到題意的要求。#include<stdio.h>main()FILE*fp,*fq,*fr;charch;if(fp=fopen("a.txt","r+")=N

7、ULL)printf("cannotopenfilea.txt");網(wǎng)址:if(fq=fopen("b.txt","r")=NULL)printf("cannotopenfileb.txt");exit(0);fr=fopen("c.txt”,"w+");while(!feof(fp)-ch=fgetc(fp);fputc(ch,fr);if(!feof(fq)ch=fgetc(fq);fputc(ch,fr);while(!feof(fq)ch=fgetc(fq);fputc(ch,

8、fr);rewind(fp);rewind(fr);while(!feof(fr)ch=fgetc(fr);fputc(ch,fp);fclose(fp);fclose(fq);fclose(fr);=1.2四川大學(xué)2001年攻讀碩士學(xué)位研究生入學(xué)考試試題及答案1.2.1第2001年C語言程序設(shè)計(jì)題目一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確的答案,并將其號碼寫在答題紙上。請注意注明題號。每小題1分,共計(jì)6分)1、t'表示什么? 字符申常數(shù)標(biāo)識符變量字符常量答案:2、對宏定義不正確的描述是哪一個(gè)?-在進(jìn)行宏定義時(shí),可以引用已經(jīng)定義的宏名,可以層層置換可以引用已經(jīng)定義了的宏名

9、,可以層層置換宏名的有效范圍包括本文件的任何位置宏名的有效范圍定義命令之后到本源文件結(jié)束,可以用#define終止宏定義的作用域?qū)櫠x不是語句,不必在行末加分號是預(yù)處理定義語句對程序中雙引號括起來的字符申,即使與宏名相同,也不進(jìn)行置換3、若定義staticchars20=”computer”;則執(zhí)行語句x=strlen(s);之后,x的值為多少?209819/strlen函數(shù)計(jì)算char*型字符申的長度的時(shí)候,并不包含末尾的0;4、以下哪一個(gè)表達(dá)式取值是正確的?6>5結(jié)果為6I6&&5結(jié)果為76|5結(jié)果為7J6<5結(jié)果為05、如定義enumweekdayone,tw

10、o,thr,fou,fiv;enumweekdayworking;以下哪個(gè)是不正確的枚舉變量的使用?working=thr;working=2;working=(enumweekday)2;working=(enumweekday)(5-3);不能對其賦值6、下列說法中正確的是哪一個(gè)?sizeof(char)是結(jié)果為整型的表達(dá)式sizeof(char)是一個(gè)不合法的表示形式sizeof(char)是一種函數(shù)調(diào)用sizeof(char)是結(jié)果為實(shí)型的表達(dá)式二、閱讀程序,并回答問題(共12分)1、下列程序的輸出是什么?(3分)#include<stdio.h>voidmain()cha

11、r*aplha6="ABC”,“DEF”,“GHI”,“JKL”,“MNO”,“PQR”;char*p;inti;p=aplha;for(i=0;i<4;i+)printf(n”,輸出結(jié)果ABCDEFGHIJKL剛好是字符申數(shù)組里面的前四個(gè)元素的內(nèi)容連接起來2、下列程序?yàn)槭裁礋o法將用戶輸入的三個(gè)整數(shù)按從小到大排序輸出?應(yīng)該如何修改?(6分)#include<stdio.h>voidswap(intx,inty)intt=x;x=y;y=t;voidmain()inta,b,c;printf(“%d,%d,%d”,a,b,c);scanf(“d,%d,%d”,&

12、;a,&b,&c);if(a>b)swap(a,b);if(a>c)swap(a,c);if(b>c)swap(b,c);if(b>c)swap(&b,&c);3、假設(shè)系統(tǒng)為基本整型量分配2個(gè)字節(jié),為字符型量分配1個(gè)字節(jié)。下歹0程序完成的功能是什么?(3分)#include<stdio.h>unionintn;charch2;u;voidmain()intm;scanf(“d”,&m);u.n=m;printf("n%u,%u”,u.ch0,u.ch1);該程序的功能,取用戶輸入的整數(shù)值的高字節(jié)和低字節(jié),并按

13、照任意整數(shù)的低字節(jié)和高字節(jié)分別輸出。三、程序設(shè)計(jì)題(12分)假設(shè)一個(gè)文本文件中保存著100個(gè)整數(shù),請將這100個(gè)整數(shù)按從小到大的順序?qū)懙搅硪粋€(gè)文本文件中去,并且在新文件中每10個(gè)整數(shù)占一行。源文件名和目標(biāo)文件名通過命令行參數(shù)獲取。分?jǐn)?shù)分配:變量定義2分命令行參數(shù)處理1分文件打開1分文件讀2分排序3分文件寫|2分文件關(guān)閉1分#include<stdio.h>voidmain(intargc,char*argv)FILE*fin,*fout;Inta100,i,j,t;if(argc!=3)fin=fopen(argv1,“r");fout=fopen(argv2,W);fo

14、r(i=0;i<100;i+)fscanf(fin,“d”,&ai);for(i=0;i<99;i+)for(i=0;i<99i;i+)if(aj>aj+1)Jt=aj;aj=aj+1;aj+1=t;for(i=0;i<100;i+)fprintf(fout,“r%S);,“fprintf(fout,“d,ai);fclose(fin);fclose(fout);1.3四川大學(xué)2002年攻讀碩士學(xué)位研究生入學(xué)考試試題及答案1.3.1第2002年C語言題目C語言程序設(shè)計(jì)(共30分)Gc1='b',c2='b'D、c1='

15、;a',c2='b'Gc1='b',c2='b'D、c1='a',c2='b'一、單項(xiàng)選擇題(在每小題的四個(gè)備選答案中,選出一個(gè)正確答案。每小題1前加加,先加1后使用值,后加加是先使用其值在加加,所以c加加后的值賦予cl,cl得值b,c2先使用值,再加加,c2得值b5、以下c語句執(zhí)行后,inti,s=0;for(i=0;i<10;i+)s+=i;printfR%dn',i);輸出的內(nèi)容為。A、0B、9C、10D、11/i值在循環(huán)外定義,所以其值循環(huán)結(jié)束仍有意義,得值106、以下c語句執(zhí)行后,c

16、hars1100=IlikeC1anguage,s2100;strcpy(s2,s1);strcat(s1,s2);puts(s2);輸出的內(nèi)容為。A、IB、IlikeClanguageCIlikeClanguageIlikeClanguageD、IlikeClanguageIlikeClanguageIlikeClanguage連接后的申存在s1里,對s2沒有影響二、閱讀程序,寫出該程序的執(zhí)行結(jié)果。(4分)#includestdio.hvoidmain()chara310="Beijing"Shanghai","Chengdu"charp1,

17、(*p2)10;Jp1=a0;p2=a;printf("%cn”,*(a1+1);/a1代表是第一行字符申Shanghaii加1后得值第一個(gè)字符h的地址,*取出其地址里的值hprintf("%cn",*(*(a+1)+2);/*(a+i)=ai代表是第一行字符申Shanghai加2后得值第2個(gè)字符a的地址,*取出其地址里的值printf("%cn",*(p1+1);/p1是一字符指針,加一指向第零行第1個(gè)字符e的位置,*取出其地址里的值printf("%cn",*(*(p2+1)+2);/p2為一指向數(shù)組的指針,p2是與數(shù)組

18、名等價(jià)的指針,它指向2維數(shù)組的首行,p2+1指針指向了第一行字申Shanghai加2后得值第2個(gè)字符a的地址,*取出其地址里的值在一程序中定義了如下結(jié)構(gòu)類型用丁處理單向鏈表:structlinkageintvalue;structlinkage*pNext;;現(xiàn)已經(jīng)編寫出按節(jié)點(diǎn)的成員a值從小到大建立初始鏈表的函數(shù)create()如下所示:structlinkage*create(void)structlinkage*pHead;inta4=2,1,3,5;pHead=NULL;for(i=0;i<4;i+)pHead=addItem(pHead,ai);returnpHead;在該函數(shù)的

19、for循環(huán)前,pHead為NULL;在執(zhí)行整個(gè)for循環(huán)后,創(chuàng)建的鏈表如下所示:即在被調(diào)函數(shù)addItem()中,需要?jiǎng)討B(tài)分配內(nèi)存,生成新節(jié)點(diǎn),將傳入的第二參數(shù)的值賦給該節(jié)點(diǎn)的成員value:并通過第一個(gè)參數(shù)鏈表首節(jié)點(diǎn)確定適當(dāng)位置放置該新節(jié)點(diǎn)。請完成函數(shù):structlinkage*addItem(structlinkage*pHead,intvalue);返回值指向單向鏈表頭節(jié)點(diǎn)。你可能用到下面的動(dòng)態(tài)內(nèi)存分配函數(shù)。void*malloc(unsignedintsize);其作用是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一個(gè)長度為size的連續(xù)空間。返回值為指向分配域起始地址的指針。1、在空鏈表中加第一個(gè)節(jié)點(diǎn)

20、2分;2、加到當(dāng)前鏈表頭節(jié)點(diǎn)前2分;3、加到當(dāng)前鏈表頭節(jié)之后適當(dāng)位置,可分為兩步。2分;4、其它部分2分,包括整體結(jié)構(gòu),變量定義,返回值。structlinkage*addItem(structlinkgae*pHead,intvalue)structlinkage*p,*q,*r,*s;p=pHead;r->a=value;IIr->pNext=p;pHead=r;elseq=p>pNext;while(q)if(value<=q->a)break;elsep=q;q=p->pNext;r=(structlinkage*)malloc(sizeof(str

21、uctlinkage);r->a=value;r->pNext=q;p->pNext=r;|returnpHead;文檔可自行編輯修改內(nèi)容,文檔可自行編輯修改內(nèi)容,文檔可自行編輯修改內(nèi)容,(此文檔部分內(nèi)容來源丁網(wǎng)絡(luò),如有侵權(quán)請告知?jiǎng)h除,供參考,感謝您的支持)函數(shù)swap采用值傳遞,雖然將形參x和y交換了,但是并不影響到實(shí)參。將值傳遞改成指針傳遞就可以了。C函數(shù)參數(shù)采用值傳遞方式,雖然swap函數(shù)將形式參數(shù)x和y的值進(jìn)行了調(diào)換但是影響不到相應(yīng)的實(shí)在參數(shù)。所以在主函數(shù)中,通過調(diào)用sawp函數(shù)調(diào)換a;b(或a或c,或b和c)的值是根本達(dá)不到目的的。修改:(2分)voidswap(int*x,int*y)intt=*x;*x=*y;*y=t;(2分)主函數(shù)if(a>b)swap(&a,&b);if(a>c)swap(&a,&c);printf(“Youforgottoenterafilename;return;分,共6分)1、如果I為整型變量,f為float型變量,c表達(dá)式'a'+I*f的類型為。A、字符型B、整型C、單精度型D、雙精度型即使是兩個(gè)float型的數(shù)據(jù)相加,都化成d

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論