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

下載本文檔

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

文檔簡介

浙江理工大學(xué)C程序設(shè)計試題(十)選擇題(40分)1..當(dāng)c的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是______Ac=b=a;B(a=c)‖(b=c);C(a=c)&&(b=c);Da=c=b;2.在C語言中,不正確的int類型的常數(shù)是________A32768B0C037D0xAF3.以下程序的輸出結(jié)果是________main(){inta=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d%d\n",a,b);elseprintf("%d%d\n",b,a);}A-11B01C10D004.在C語言類型中,int,char,short等類型的長度是_________A.固定的B.由用戶自己定義C.任意的D.與機器字長有關(guān)5.設(shè)a=1,b=2,c=3,d=4,則表達式:a<b?a:c<d?a:d的結(jié)果為___________A4B3C2D16.下列說法錯誤的是______________結(jié)構(gòu)體變量可以被整體賦值.B.可以取結(jié)構(gòu)體變量的地址C.可以取結(jié)構(gòu)體變量成員的地址結(jié)構(gòu)體類型的成員可以定義成該結(jié)構(gòu)體類型的指針類型7.設(shè)有如下定義:intx=l,y=-1;,則語句:printf("%d\n",(x--&++y));的輸出結(jié)果是____A1B0C-1D28..設(shè)有程序段:t=6;a=7;b=8;if(a=b)t=a;,這段程序執(zhí)行后,t的結(jié)果是______A.6B.7C.8D.09.下列描述中不正確的是________A)字符型數(shù)組中可以存放字符串B)可以對字符型數(shù)組進行整體輸入、輸出C)可以對整型數(shù)組進行整體輸入、輸出D)不能在賦值語句中通過賦值運算符"="對字符型數(shù)組進行整體賦值若a為二維數(shù)組,它有m列,則a[i][j]在數(shù)組中的位置是_________A.i*m+jB.j*m+iC.i*m+j-1D.i*m+j+111.下列語句中符合C語言語法的賦值語句是__________Aa=7+b+c=a+7;Ba=7+b++=a+7;C)a=7+b,b++,a+7Da=7+b,c=a+7;12.若a為二維數(shù)組,則a[1][3]等價于_________A.*((a+1)+3)B.*(a[1]+3)C.(*(a+1)+3)D.&a[1]+3下面程序段不是死循環(huán)的是_____________intj=100;while(1){j=j%100+1;if(j>100)break;}for(;;);intk=0;do{++k;}while(k>=0);ints=36;while(s);--s;14.下列表達式中,錯誤的是______.A.2>1?a:bB.i+++jC.4.0%2.0D.x*=y+815.a,b為整數(shù)且b!=0,則表達式(a/b)*b+a%b的值為______的值.A.aB.bC.a被b除的余數(shù)部分Da被b除商的整數(shù)部分16.若以數(shù)組元素作為函數(shù)的實參,則實參向形參傳送的是______.A.數(shù)組元素的地址B.數(shù)組元素的值C.數(shù)組的首地址B.數(shù)組名17.設(shè)有如下的共用體定義:uniondata{inti;longb;floatf;}a;則a所占的內(nèi)存單元為______個字節(jié).A.4B.6C.8D.1018.語句:printf("%d",(a=2)&&(b=-2);的輸出結(jié)果是________A無輸出B結(jié)果不確定C-1D119.下列選項中不是C語言main函數(shù)正確表達形式的是________?main(intargc,char*argv[]);B.main(ac,av)intac;char**av;main(c,v)intc;char*v[];D.main(argc,argv)intargc;charargv[];20.執(zhí)行for(j=1;j++<4;);語句后變量j的值是_________A.3B.4C.5D.不定二.填充(20分)C語言的數(shù)據(jù)類型中,構(gòu)造類型包括:數(shù)組,__________和__________.2.設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為_________x=y=z=1;t=++x||++y&&++z;C語言的運算符要確定的兩個方面分別是__________和__________.在函數(shù)內(nèi)使用static是_________,在函數(shù)外使用static是________。5.對于語句:scanf("%3d%3d",&a,&b);,若輸入123456,則a和b的值分別為_______和_______.6.設(shè)有二維數(shù)組inta[2][2],*p;,則a[I][j]三種其他表示是______________,____________,___________。7.字符串的長度是_________________,它的存儲空間大小是_______。8.靜態(tài)變量賦初值是________賦值,動態(tài)變量賦初值是___________賦值。9.鏈表中每個結(jié)點至少應(yīng)包括二個部分,它們是__________和__________.10.用數(shù)組名作函數(shù)參數(shù)時,形參和實參的結(jié)合是采用__________,因為數(shù)組名是數(shù)組的__________.三.程序分析題(20分)閱讀下面程序,給出輸出結(jié)果。main()

{inti,j,k;

for(i=1;i<10;i++)

{printf(“\n”);if(i<=5){for(j=1;j<=i;j++)

{for(k=1;k<=5-i;k++)

printf(“”);printf(“*“);}

elsefor(j=1;j<=10-i;j++){for(k=1;k<=i-5;k++)printf(“”);

printf(“*”);}}}閱讀下面程序,指出函數(shù)所實現(xiàn)的功能。voidins(chars[],intstart,chart[])

{intm,n,i,k;

n=0;m=0;for(i=0;s[i]!=’\0’;i++)m++;

for(i=0;t[i]!=’\0’;i++)n++;for(k=1;k<m-start;k++)s[m+n-k]=s[m-k];

for(k=start;k<start+n;k++)s[k]=t[k-start];s[m+n]=’\0’;

}閱讀下面程序,指出下面程序所完成的功能voidst(char*a[],intn)

{inti,j,k;char*m;

for(i=1;i<n;i++)

{m=a[i];k=i;

for(j=i+1;j<=n;j++)

if(strcmp(a[k],a[j])>0),k=j;)

m=a[i];a[i]=a[k];a[k]=m;}

for(i=1;i<=n;i++)

printf(“%s”,a[i]);}4.分析以下程序:#include“string.h”;main(){charc,string[81];inti,a=0,b=0;gets(string);for(i=0;(c=string[i])!='\0';i++)if(c=='')a=0;elseif(a==0){a=1;b++;}printf("%d\n",b);}該程序的作用是_________________.若輸入:abc,則程序運行后,輸出結(jié)果為______,且c的值為______,a的值為______.閱讀下面程序,指出函數(shù)所實現(xiàn)的功能。voidlnsort(intL[],intn)

{inti,j;

for(i=2;i<=n;i++)

{L[0]=L[i];j=i-1;while(L[0]<L[i]){L[j+1]=L[j];j--;}L[j+1]=L[0];}}四.完成下列程序(20分)1.下面程序是查找學(xué)生的成績,完成該程序。main()

{voidsearch(float(*p)[3],inti);

floatscore[4][3]={{75,78,82},{66,72,77},{85,90,81},{74,89,68}};

while(1)

{scanf(“%d”&i);

if(___1____)break;

search(_____2_______);}}

voidsearch(float(*p)[3],inti)

{intk;

print(“ThescoreofNo%dare\n”,i);

for(_____3_______)

printf(“%5.2f”,_____4_________);}2.已知兩個線性表的元素按非遞減排列,合并兩表得到一新表,仍然是按非遞減排列,兩個線性表以-1為結(jié)束標志。以函數(shù)來完成該操作,函數(shù)如下,完成所缺語句。

voidLL(intla[],intlb[],intlc[])//la,lb是已知二表//

{intpa,pb,pc;

pa=0;pb=0;pc=0;

if(la[pa]<lb[pb]{___5_____}

else{________6__________}

while(_______7___________)

{if(la[pa]<=lb[pb])

{lc[pc]=la[pa];__8___;__9___;}

else{____10_________}}

while(_____11________)

____12___;

while(____13________)____14______;

}3.在一數(shù)組里裝數(shù)取數(shù),從數(shù)組中所裝的數(shù)的最后一項的下一個空單元裝數(shù),從數(shù)組中所裝的數(shù)的最後一個取數(shù),取數(shù)后該單元成空單元,如果取數(shù)已到數(shù)組空,-1表示未取到,以下是對數(shù)組的一次取數(shù)操作,函數(shù)值是所取的值,完成該函數(shù)。

defineMAX100

intpop(ints[],inttop){if(___15______)return(-1);

top=___16________;

return(____17_______);}4.在n行n列的矩陣中,每行都有最大的數(shù),本程序求這n個最大數(shù)中的最小一個[程序1.2]#include〈stdio.h〉#defineN100inta[N][N];voidmain(){introw,col,max,min,n;

/*輸入合法n(〈100〉,和輸入n×n個整數(shù)到數(shù)組a的代碼略*/

for(row=0;row<n;row++){

for(max=a[row][0],col=l;col<n;col++)

if(__18_)max=a[row][col];

if(__19__)min=max;

elseif(__20__)min=max;

}

printf("Theminofmaxnumbersis%d\n",min);}五.編程題(50分)有函數(shù)f(x)=cos(x)可展開成:f(0)+f’(0)x/1!+f”(0)x/2!+…編寫函數(shù)程序求cos(x),使誤差小于0.0000001。有一個鏈表,輸出所有結(jié)點的數(shù)值,確定該鏈表的長度,并將鏈表的頭結(jié)點與尾結(jié)點連接.編寫完成這樣操作的函數(shù)。這里的結(jié)點定義為

typedefstructnode{intdata;

structnode*next;}Node;3.將一個整數(shù)a左循環(huán)移位n次,求位移后的這個數(shù).寫出子函數(shù)4.寫函數(shù),將一個十進制數(shù)轉(zhuǎn)換成一個十六進制數(shù),并輸出.5.如果有n個棋子,甲、乙兩方輪流取棋子,每方至少取一個棋子,最多取m個棋子誰最后取剩下的一個棋子,誰就輸,如果甲方先取,請給出甲方贏的算法.(寫出函數(shù))《C程序設(shè)計》試題2考試答案與評分標準(一)、單選題(每小題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分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)結(jié)構(gòu)體、共用體2優(yōu)先級、運算類型局部變量、全局變量123、456*(a+2*i+j)、*(a[i]+j)、*(a+2*j+i)strlen(str)、sizeof(str)一次、多次數(shù)據(jù)域、指針域地址傳遞、首地址三.程序分析題(20分)程序1程序2*************************把s數(shù)組里面的字符順序后移start個位置,然后再用t數(shù)組的前面start個字符順序填充s數(shù)組的前面start個位置程序3程序4對*a[]從a[1]開始進行按字典排序輸出單詞的數(shù)目、3、‘\0’、1程序5按從小到大的順序進行插入排序四.完成下列程序(20分)(1)i<0;(2)search(score,i);(3)k=0;k<3;k++;(4)score[i][k];(5)lc[pc++]=la[pa++];(6)lc[pc++]=la[pb++];(7)la[pa]!=-1&&lb[pb]!=-1;(8)pc++;(9)pa++;(10)lc[pc++]=la[pb++];(11)la[pa]!=-1;(12)lc[pc++]=la[pa++];(13)la[pb]!=-1;(14)lc[pc++]=la[pb++];(15)pop==0;(16)top-1;(17)s[top];(18)max<a[row][col];(19)row==0;(20)max<min五、程序設(shè)計題(每小題10分,滿分20分)1、doublefun(doublex){doublef[11];inti,tag;doubleCos=0;memset(f,0,sizeof(f));//初始化f的元素為0f[0]=1;for(i=1;i<=10;i++)f[i]=f[i-1]*i;for(i=0,tag=1;i<=5;i++){Cos+=(x/f[i*2])*tag;tag*=-1;}returnCos;}2、typedefstructnode{intdata;structnode*next;}Node;intFun(Node*Head){Node*p;intlen=0;p=Head;while(p!=NULL){p=p->nest;len++;}p->next=Head;returnlen;}3、intFun(inta,intn){ints[20]={0};inti;intj;intlen=0;intt=a;intres=0;while(t){s[len]=t%10;t/=10;len++;}for(i=0,j=len-1;i<j;i++,j--){t=s[i];s[i]=s[j];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;}4、int

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論