浙江理工大學(xué)C程序設(shè)計(jì)試題10_第1頁(yè)
浙江理工大學(xué)C程序設(shè)計(jì)試題10_第2頁(yè)
浙江理工大學(xué)C程序設(shè)計(jì)試題10_第3頁(yè)
浙江理工大學(xué)C程序設(shè)計(jì)試題10_第4頁(yè)
浙江理工大學(xué)C程序設(shè)計(jì)試題10_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

浙江理工大學(xué)C程序設(shè)計(jì)試題(十)一.選擇題(40分).?當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是Ac=b=a;B(a=c)II(b=c);C(a=c)&&(b=c);Da=c=b;.在C語言中,不正確的im類型的常數(shù)是A32768B0C037DOxAF.以下程序的輸出結(jié)果是main(){inta=-1,b=l,k;if((++a<0)&&!(b-<=0))printf("%d%d\n",a,b);elseprintf("%d%d\n",b,a);}A-11B0IC10D00.在C語言類型中,int,char,short等類型的長(zhǎng)度是A.固定的B.由用戶自己定義C.任意的D.與機(jī)器字長(zhǎng)有關(guān).設(shè)a=l,b=2,c=3,d=4,貝I]表達(dá)式:a<b?a:c<d?a:d的結(jié)果為A4B3C2DI.下列說法錯(cuò)誤的是A.結(jié)構(gòu)體變量可以被整體賦值.B.可以取結(jié)構(gòu)體變量的地址C.可以取結(jié)構(gòu)體變量成員的地址D.結(jié)構(gòu)體類型的成員可以定義成該結(jié)構(gòu)體類型的指針類型.設(shè)有如下定義:intx=Ly=-l;,則語句:printf("%d\n",(x-&++y));的輸出結(jié)果是A1B0C-ID2有程序段:l=6;a=7;b=8;if(a=b)t=a;,這段程序執(zhí)行后,l的結(jié)果是A.6B.7C.8D.O9.下列描述中不正確的是A)字符型數(shù)組中可以存放字符串}Node;intFun(Nodc*Hcad)(Node*p;intlen=O;p=Head;while(p!=NULL){p=p->nest;len++;)p->next=Head;returnlen;)intFun(inta,intn)(ints[20]={0};inti;intj;intlen=0;intt=a;intres=0;while(t){s[len]=t%10;t/=10:len++;)fdr(i=O,j=len-1;i<j;i++J-){t=s[i];s[i]=slj];s[j]=t;)for(i=0;i<n;i++){s[i]=0;}for(i=n;i<len+n;i++){res=res*10+s[i];returnres;intFun(intNum)(chars[20];inti.j;intlen=O;intt=Num;for(i=0;i<20;i++)s[i]='O';while((){if(t%16<10)s[len]=t%16+'0';elses[len]=t%16+'A'-10;t/=16;Ien++;)for(i=len-1;i>=0;i—){printf("%cM,s[i]);IprintfCAn");)intFun(intn,intm)(intt=n;〃記錄剩余的inia[l(X)l,b[IOOl;inti;intlen=0;a[0]=(t/m+l)*m+l-t;t-=al0];while(t!=l)(len++;scanf(M%d",&b[len]);t-=m;a[len]=m-b[len];if(aflenl==O)((t-=m;a[len]=m;Ielse1a[len]=t-l;t=l;for(i=0;i<=len;i++)printf("%3d",a[i]);B)可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出C)可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出D)不能在賦值語句中通過賦值運(yùn)算符”="對(duì)字符型數(shù)組進(jìn)行整體賦值.若a為二維數(shù)組,它有m列,則在數(shù)組中的位置是A.i*m+jB.j*m+iC.i*m+j-lD.i*m+j+l.下列語句中符合C語言語法的賦值語句是Aa=7+b+c=a+7;Ba=7+b++=a+7;C)a=7+b,b++,a+7Da=7+b,c=a+7;.若a為二維數(shù)組,則a[1]⑶等價(jià)于A.*((a+l)+3)B.*(a[l]+3)C.(*(a+l)+3)D.&a[l]+3.下面程序段不是死循環(huán)的是intj=100:while(l){j=j%100+1;if(j>100)brcak;}for(;;);intk=0;do{++k;}while(k>=0);ints=36;while(s);—s;.下列表達(dá)式中,錯(cuò)誤的是.A.2>1?a:bB.i+++jC.4.0%2.0D.x*=y+8.a,b為整數(shù)且b!=0,則表達(dá)式(a/b)*b+a%b的值為的值.A.aB.bC.a被b除的余數(shù)部分Da被b除商的整數(shù)部分.若以數(shù)組元素作為函數(shù)的實(shí)參,則實(shí)參向形參傳送的是.A.數(shù)組元素的地址B.數(shù)組元素的值C.數(shù)組的首地址B.數(shù)組名.設(shè)有如下的共用體定義:uniondata{inti;longb;floatf;)a;則a所占的內(nèi)存單元為個(gè)字節(jié).A.4B.6C.8D.10.語句:printf(”%d",(a=2)&&(b;?2);的輸出結(jié)果是A無輸出B結(jié)果不確定C-1D1.下列選項(xiàng)中不是C語言main函數(shù)正確表達(dá)形式的是?main(intargc,char*argv[]);main(ac,av)intac;char**av;B.main(c,v)intc;char*v[];D.main(argc,argv)intargc;charargv[];20.執(zhí)行for(j=l;j++<4;);語句后變量j的值是A.3B.4C.5D.不定.填充⑵)分).C語言的數(shù)據(jù)類型中,構(gòu)造類型包括:數(shù)組,和..設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為x=y=z=I;t=++x||++y&&++z;.C語言的運(yùn)算符要確定的兩個(gè)方面分別是和..在函數(shù)內(nèi)使用static是,在函數(shù)外使用sialic是。.對(duì)于語句:scanf("%3d%3d”,&a,&b);,若輸入123456,則a和b的值分別為和.設(shè)有二維數(shù)組inta[2][2],*p;,則三種其他表示是.字符串的長(zhǎng)度是,它的存儲(chǔ)空間大小是o.靜態(tài)變量賦初值是賦值,動(dòng)態(tài)變量賦初值是賦值。.鏈表中每個(gè)結(jié)點(diǎn)至少應(yīng)包括二個(gè)部分,它們是__和__..用數(shù)組名作函數(shù)參數(shù)時(shí),形參和實(shí)參的結(jié)合是采用,因?yàn)閿?shù)組名是數(shù)組的..程序分析題(20分).閱讀下面程序,給出輸出結(jié)果。main(){inti,j,k;for(i=l;i<10;i++){primR“\n”);if(i<=5){for(j=l;j<=i;j++){for(k=l;k<=5-i;k++)printff*");printfC*t4);}elsefor(j=l;j<=10-iy++){for(k=l;k<=i-5;k++)printfC4");printfC***);}}}.閱讀下面程序,指出函數(shù)所實(shí)現(xiàn)的功能。voidins(chars[],intstart,chart[]){inim,n.i,k;n=0:m=0;fbr(i=O;s[i]!=,\O,;i++)m++;fbr(i=0;t[i]!=,\0,;i-H-)n++;fbr(k=I;k<ni-start;k++)slrn+n-k]=s[m-kJ;for(k=start;k<start+n;k++)s[k]=t[k-startj;s[m+n]=,\0,;).閱讀下面程序,指出下面程序所完成的功能voidst(char*aI],intn){inti,j,k;char*m;for(i=l;i<n;i++){m=a[i];k=i;for(j=i+l;j<=n;j++)if(strcmp(a[k],a|j])>0),k=j;)m=a[i];a[i]=a[k];a[k]=m;}for(i=l;i<=n;i++)printf("%s”,a[i]);}.分析以下程序:#include''string.h〃;main(){charc,string⑻];inti,a=0,b=0;gets(string);for(i=0;(c=string[i])!=\0';i++)if(c==,')a=0;elseif(a==0){a=l;b++;)printf("%d'n”,b);}該程序的作用是.若輸入:abc,則程序運(yùn)行后,輸出結(jié)果為且c的值為,a的值為..閱讀下面程序,指出函數(shù)所實(shí)現(xiàn)的功能。voidlnsort(intL[],intn){inti,j;for(i=2;i<=n;i++){L[0]=L[i];j=i-l;while(L[O]<L[i]){Hj+l]=L[j];j-;}L[j+l]=L[01;)I.完成下列程序(20分).下面程序是查找學(xué)生的成績(jī),完成該程序。main(){voidsearch(float(*p)[3],inti);floatscore[4][3]={{75,78,82),{66,72,77},{85,90,81},{74,89,68)};while(I){scanf("%d”&i);if(_1)brcak;search(2);}}voidsearch(float(*p)[3]Jnti){intk;print(vvThescoreofNo%dare\n",i);for(3)printf(u%5.2f\4);).已知兩個(gè)線性表的元素按非遞減排列,合并兩表得到一新表,仍然是按非遞減排列,兩個(gè)線性表以-1為結(jié)束標(biāo)志。以函數(shù)來完成該操作,函數(shù)如下,完成所缺語句。voidLL(intla[],intlb[],intlc[])//la,lb是已知二表〃{intpa,pb,pc;pa=0;pb=0;pc=0;if(lalpa]<lblpbj{_5}else{6while(7){if(lafpa]<=lb[pb]){lc[pc]=lalpa];_8_;_9一else{10)!while(11)一12—;while(13)一14;.在一數(shù)組里裝數(shù)取數(shù),從數(shù)組中所裝的數(shù)的最后一項(xiàng)的下一個(gè)空單元裝數(shù),從數(shù)組中所裝的數(shù)的最彳炎一個(gè)取數(shù),取數(shù)后該單元成空單元,如果取數(shù)已到數(shù)組空,-1表示未取到,以下是對(duì)數(shù)組的一次取數(shù)操作,函數(shù)值是所取的值,完成該函數(shù)。defineMAX100intpop(ints[],inttop){if(15)return(-1);top=16;return(17);}.在n行n列的矩陣中,每行都有最大的數(shù),本程序求這n個(gè)最大數(shù)中的最小一個(gè)[程序1.2]#include<stdio.h)#defineN100inta[N][N];voidmain(){introw,col,max,min,n;/*輸入合法n(<100),和輸入nxn個(gè)整數(shù)到數(shù)組a的代碼略*/for(row=0;row<n;row++){for(max=a[row][0],col=1;col<n;col++)

if(_18_)max=a[row][col];if(_19_)min=max;elseif(20_)min=max;)printf("Theminofmaxnumbersismin);}.編程題(50分).有函數(shù)f(x)=cos(x)可展開成:f(0)+r(0)x/l!+r(0)x/2!+...編寫函數(shù)程序求cos(x),使誤差小于0.000000lo.有一個(gè)鏈表,輸出所有結(jié)點(diǎn)的數(shù)值,確定該鏈表的長(zhǎng)度,并將鏈表的頭結(jié)點(diǎn)與尾結(jié)點(diǎn)連接.編寫完成這樣操作的函數(shù)。這里的結(jié)點(diǎn)定義為typedefstructnode{intdata;structnode*next;}Node;.將一個(gè)整數(shù)a左循環(huán)移位n次,求位移后的這個(gè)數(shù).寫出子函數(shù).寫函數(shù),將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成一個(gè)十六進(jìn)制數(shù),并輸出..如果有n個(gè)棋子,甲、乙兩方輪流取棋子,每方至少取一個(gè)棋子,最多取m個(gè)棋子誰最后取剩下的一個(gè)棋子,誰就輸,如果甲方先取,請(qǐng)給出甲方贏的算法.(寫出函數(shù))《C程序設(shè)計(jì)》試題2考試答案與評(píng)分標(biāo)準(zhǔn)(一)、單選題(每小題1分,滿分10分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)CCBDDABCCA(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)DBBCADADDB(二)、填充題(每小題2分,滿分20分)三.程序分析題(20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)結(jié)構(gòu)體、共用體2優(yōu)先級(jí)、運(yùn)算類型局部變量、全局變量123、456*(a+2*i+j)、*(a[i]+j)、*(a+2*j+i)s(rlen(str)>sizeof(str)次、多次數(shù)據(jù)域、指針域地址傳遞、首地址程序1程序2**木木木*****************把s數(shù)組里面的字符順序后移start個(gè)位置,然后再用t數(shù)組的前面start個(gè)字符順序填充s數(shù)組的前面start個(gè)位置程序3程序4對(duì)*a口從凱1]開始進(jìn)行按字典排序輸出單詞的數(shù)目、3、4\0\1程序5按從小到大的順序進(jìn)行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論