C語言程序設(shè)計試卷及答案_第1頁
C語言程序設(shè)計試卷及答案_第2頁
C語言程序設(shè)計試卷及答案_第3頁
C語言程序設(shè)計試卷及答案_第4頁
C語言程序設(shè)計試卷及答案_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計筆試試題題號—二三四五六筆試(70%)綜合(30%)總分分?jǐn)?shù)試卷說明:1。筆試卷面總分100分,取卷面成績的70%計入總分;2.綜合成績?yōu)槠綍r成績(10%)和實驗成績(20%)之和,占總分的30%3。答題時禁止拆開試卷釘,試卷背面即為草稿紙;4。答題時間120分鐘。號學(xué)名姓得分:號學(xué)名姓題號12題號12345678答案題號910111213141516答案本題16分,每小題1分)注意行為規(guī)范有以下程序注意行為規(guī)范main(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=3;遵守考試紀(jì)律printf(“%d\n”,b);遵守考試紀(jì)律}則程序輸出(A)。A)0B)1 C)2 D)32.有以下定義:inta;longb;doublex,y;則下列正確的是(A)?A)a%(int)(x—y)B)a=x!=yC)(a*y)%bD)y=x+y=x3.若有定義int(*p)[3];貝懺列說法正確的是(C)。定義了基類型為int的三個指針變量定義了一個名為*pt、具有三個元素的整型數(shù)值定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組定義了基類型為int的具有三個元素的整型數(shù)組4。 有以下程序段main(){intx=10;while(x-—);printf("x=%d\n”,x);}則最后的輸出結(jié)果是:(B )。A)x=0B)x=-1C)x=1D)while構(gòu)成無限循環(huán)5。 有以下程序:intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)s=fun();printf("%d\n”,s);}執(zhí)行后的輸出結(jié)果為(D)。A)0B)1C)8D)46。 voidmain(){intk=011;printf(”%d\n",k++); }}程序輸出結(jié)果是( D)A)12B)11C)10D)97。 以下C語言標(biāo)識符中,不合法的是(C)。A)_2 B)a_b C)a—-b D)AaBc8。 C語言允許函數(shù)類型默認(rèn)定義,此時該函數(shù)值隱含的類型是(B).A)float B)intC)longD)double9。 以下程序段運行結(jié)果是(B).enumweekday{aa,bb=2,cc,dd,ee}week=ee;

printf(“%d\n“,week);TOC\o"1-5"\h\zA)4B)5C)ee D)0以下對C語言函數(shù)的描述中,不正確的是(B )。A)不同函數(shù)中可以使用相同名字變量 B)函數(shù)可以嵌套定義C)函數(shù)可以沒有返回值 D)程序由函數(shù)組成若有定義語句:doublex⑸={1.0,2。0,3?0,4。0,5.0},*p=x;則錯誤引用x數(shù)組元素的是( D )。A)*p B)*x C)*(p+1) D)x[5]以下程序段運行結(jié)果是(B ).inta=6;printf(“%d\n“,a〉>1);A)12B)3C)6D)1若有定義語句:doublex,y,*px,*py;執(zhí)行了px=&x;py=&y;之后,正確的輸入語句是(B).A)scanf(“%lf%lf”,x,y);B)scanf(“%lf,%lf”,px,py);C)scanf(“%f%f”,&x,&y);D)scanf(“%f%f”,x,y);以下程序運行結(jié)果是(D)。charstr[]=“abc“;printf(“%d,%d\n“,strlen(str),sizeof(str));C)10,10D)3,10)。C)8C)10,10D)3,10)。C)8,8 D)4,4以下程序段運行結(jié)果是(A#definef(x)x*x*xmain(){inta=1,b,c;b=f(a+1);c=f((a+1));printf(“%d,%d\n“,b,c);}A)4,8 B)8,416。 有以下程序:main(){FILE*f;f=fopen(“fa。txt“,“w“);fprintf(f,“day“);fclose(f);}

若文本文件fa?txt中原有內(nèi)容為:hello,則運行以上程序后,文件fa。txt中的內(nèi)容為(A)。A)day B)A)day B)hellodayC)dayloD)dayhello得分:二、填空題。請按序號把答案填入下面框中, 不允許出框線。(本題20分,每空2分)題號答案題號答案1a[row][col]6k<=n2x%10或x%100%107k++323hE45a8m%i==0&&n%i==04fun()9p=p—〉next5m++10s[i]或,\0'1。以下fun函數(shù)功能是在N行M列的整型二維數(shù)組中,選出一個最大值作為函數(shù)值返回。intfun(inta[N][M]){inti,j,row=0,col=0;for(i=0;i〈N;i++)for(j=0;j〈M;j++)if(a[i][j]>a[row][col]){row=i;col=j;}return【1】 );}2。 以下程序的功能是:將值為三位正整數(shù)的變量x中的數(shù)值按照個位、十位,百位的順序拆分輸出。main(){intx=123;printf(“%d—%d-%d\n”,【2】 ,x/10%10,x/100);}3。 下列程序運行時,若輸入23he45a〈回車〉,輸出結(jié)果是【3】#include〈stdio?h〉main(){chara=0;ch;while((ch=getchar())!='\n'){if(a%2!=0&&(ch〉='a'&&ch〈='z'))ch=ch-‘a(chǎn)'+'A';a++;putchar(ch);}printf(“\n”);}以下程序的功能是,通過函數(shù)fun輸入字符并統(tǒng)計輸入字符個數(shù)。用字符$作為輸入結(jié)束標(biāo)志.#include<stdio.h〉long【4】 :/*函數(shù)聲明語句*/main(){longn;n=fun();printf(“n=%ld\n”,n);}longfun(){longm;for(m=0;getchar()!='$':【5】 );returnm;}有以下程序段,且變量已正確定義和賦值for(s=1.0,k=1;k〈=n;k++)s=s+1.0/(k*(k+1));printf("s=%f\n\n”,s);請?zhí)羁?是下面程序段的功能與之完全相同s=1.0;k=1;while(【6】 ){s=s+1.0/(k*(k+1)):【7】 :}printf("s=%f\n\n”,s);以下函數(shù)的功能是求兩個整數(shù)的最大公約數(shù)。fun(intm,intn){inti=1,t;for(;i<=m&&i<=n;i++)if( )t=i;return(t);}以下程序?qū)⑷齻€structnode型變量鏈接成一個鏈表,并在while循環(huán)中輸出鏈表節(jié)點數(shù)據(jù)域中的數(shù)據(jù)。structnode{intdata;structnode*next;}main(){structnodea,b,c,*p,*q;a。data=10;b。data=20;c。data=30;p=&a;a.next=&b;b。next=&c;c。next=NULL;q=p;while(p){printf(“%d,”,p->data);【9】 :}printf(“\n”);}8。以下程序的功能是:刪除字符串中所有的空格。main(){chars[20]="howareyou!";inti,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!=''){s[j]=s[i];j++;}s[j]=【10】 :}得分:三、請把下列程序運行結(jié)果填入答案框中,不允 許出框線,用“/"表示回車。(本題24分,每小題3分)題號12345678答案1244364121555553041。main(){inti,j,a[][2]={1,2,3,4};for(i=0;i〈2;i++)for(j=i;j<2;j++)printf(“%d”,a[i][j]);printf(“\n”);}2。main(){charch[]=”453cd34”;inti,s=0;for(i=0;ch[i]>'0'&&ch[i]<'9';i+=2)s=10*s+ch[i]-'0';printf(“%d\n",s);}3.longfib(intn){if(n>2)return(fib(n—1)+fib(n-2));elsereturn(2);}voidmain(){printf(“%d\n””,fib⑷);}{{{-(9__)¥\.P%//)JlUUd:£3SS?((++d)¥'“p%〃)”upd:z9SFD:Xass}①ip”MS }(——!臨4)呵{£+v=d¥/{6xZzS[]e伽!}()uicin°9{:(〃%)”口盟5(>[°[I]B'〃P%")Jiuud(++Tf£)VO=IMOJfi=>[<一b{f bf++j=>[<一bi++dfi++=>[<-d}(b=id)叩qMgW!iZ+va=b羊(va=d斗'[£]inaaONpm;s}()uivuipioA?{啦u"aaONPnijsaaONpnijs°s{-(斤叫9'HU\P%//)Jl?d:qp¥eP=X?U¥°aq*3+v*d=x*ui°a2{:qw!iv)UI5-心叫fx;UI}pni)s}aidincxauoiun}()ureint7。 main(){intx;for(x=1;x〈=50;x++)if(x%2==0)if(x%3==0)if(x%5==0)printf(”%d”,x);}main(){inta,b;for(a=1,b=1;a〈=50;a++){if(b〉8)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}得分:四、根據(jù)功能描述改正程序中的錯誤。 不得增行或刪行,不得更改程序結(jié)構(gòu)。(本題10分)1?下列給定程序中,函數(shù)fun的功能是:實現(xiàn)兩個整數(shù)的交換。例如給a和b分別輸入60和65,輸出為:a=65 b=60。(本小題6分)#include<conio。h>#includevstdio.h〉voidfun (inta,b){intt;t=b;b=a;a=t;}main(){inta,b;printf("Entera,b:");scanf(”%d%d",a,b);fun(&a,&b);printf("a=%db=%dn”,a,b);}答案:scanf("%d%d",a,b);fun(inta,b)改為:scanf("%d%d”,&a,&b);--一--一2分改為:fun(int*a,int*b)-— 2分t=b;b=a;a=t; 改為:t=*b;*b=*a;*a=t;一 -2分2?下述代碼定義了一個結(jié)構(gòu)體STRU,用其聲明指針變量*s,并完成對這個指針變量的賦值、輸出的任務(wù)?請指出下列程序的錯誤,并予以更正(本小題4分)structSTRU{intnum;charname[20];floatscore;structSTRU*pl;};main(){STRU*s=(structSTRU*)malloc(sizeof(structSTRU));s。num=l23;s—〉name=”zhang";s->score=6lo5;printf(“num=%d,name=%s,score=%f",s-〉num,s-〉name,s—>score);}答案:s。num=l23; 改為:s—〉num或C*s)osum- —2分s-〉name="zhang”;改為:strcpy(s->name,"zhang”卜 -2分得分:五、請用標(biāo)準(zhǔn)程序流程圖描述下列問題的算法 (本題10分)依次從鍵盤輸入30個學(xué)生的《計算機實用基礎(chǔ)》成績,請分別統(tǒng)計不及格的人數(shù)和優(yōu)秀(成績不小于90)的人數(shù),并打印輸出統(tǒng)計結(jié)果。答案:

1分1分1分1分六、編程題(本題20分)得分:(考查課做前兩道,考試課做后兩道)得分:某個公司采用公用電話傳遞數(shù)據(jù),數(shù)據(jù)是四位的整數(shù),在傳遞過程中是加密的,加密規(guī)則如下:每位數(shù)字都加上5,然后用和除以10的余數(shù)代替該數(shù)字,再將第一位和第四位交換,第二位和第三位交換。(本小題10分)答案:main(){inta,i,aa[4],t;scanf(”%d”,&a);aa[0]=a%10;aa[1]=a%100/10;aa[2]=a%1000/100;aa[3]=a/1000;for(i=0;i<=3;i++){aa[i]+=5;aa[i]%=10;for(i=0;i<=3/2;i++){t=aa[i];aa[i]=aa[3-i];aa[3—i]=t;}for(i=3;i〉=0;i--)printf("%d",aa[i]);}2。假定輸入的字符串中只包含字母和*號.請編寫函數(shù)fun,它的功能是:刪除字符串中所有的*號。在編寫函數(shù)時,不得使用C語言提供的字符串函數(shù)。(本小題10分)例如:若字符串中的內(nèi)容為****A*BC*DEF*G*******刪除后,字符串內(nèi)容應(yīng)該是:ABCDEFGvoidfun(char*a){}main(){ints[81];gets(s);fun(s);puts(s);}參考答案:fun(char*a){inti=0;char*p=a;while(*p!='\0'){if(*p!='*'){a[i]=*p;i++; }p++;}a[i]='\0'3。60名學(xué)生的成績已在主函數(shù)中放入一個帶頭節(jié)點的鏈表結(jié)構(gòu)中,h指向鏈表的頭節(jié)點。請編寫函數(shù)fun(),它的功能是:找出學(xué)生的最低分,由函數(shù)值返回。(本小題10

溫馨提示

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

最新文檔

評論

0/150

提交評論