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

下載本文檔

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

文檔簡介

浙江理工大學(xué)C程序設(shè)計(jì)試題(八)一、填空題(每空一分共20分)十進(jìn)制數(shù)175的八進(jìn)制數(shù)和十六進(jìn)制數(shù)分別是__257___和__AF__而十進(jìn)制數(shù)-134的八進(jìn)制數(shù)和十六進(jìn)制數(shù)分別是__37777777572__和__FFFFFF7A__字符'5'和'h'的ASCII代碼值分別為__53__和__104__已知chara[]="12345",b[]={'1','2','3','4','5'};則表達(dá)式sizeof(a)和sizeof(b)的值分別為__6__和__5__已知chara[]="ABCDEFGH"則表達(dá)式strlen(a)值為__9__循環(huán)語句for(k=1,c=0;k<8;k++)c++;執(zhí)行后c的值為__7__

循環(huán)語句for(k=8,c=0;k>0;--k)c++;執(zhí)行后c的值為__8_

循環(huán)語句k=1;c=0;while(k<=8){k++;c++;}執(zhí)行后c的值為__8_

循環(huán)語句k=8;c=0;do{k--;c++;}while(k>=0);執(zhí)行后c的值__9__已知chara[5],*p=a;問a[1],a+1,*(p+1),p[1]之中與眾不同的是__a+1__已知inta=3,b=4,c=5;則表達(dá)式a>b&&!c||1的值為__1__已知inta=1,b=3,c=5;則表達(dá)式a>=b>=c?a++:--b的值為__2__已知intj=5,m=2,k=7,n=4;執(zhí)行語句n+=m*=n=j%k;之后,n和m的值分別為__15__和__10__已知inta=8,b=4,c=1;則表達(dá)式a-b>c&&b!=c的值為__1__已知inta=6,b=3,c=5;則表達(dá)式b-a||b+c&&b-c的值為__1__

二、程序填空(每題4分共20分)下面C程序的輸出是:__6__

下面C程序的輸出是:__a=25__

下面C程序的輸出是:__543210__

十個(gè)數(shù)的選擇排升序:

main()

{inta[11],i,j,t;

printf("input10numbers:");

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

scanf(”%d”,&a[i]);

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

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

if(a[j]<a[i])

{t=a[i];

a[i]=a[j];

a[j]=t;

}

printf("Thesortednumbers:\n");

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

printf(”%d”,a[i]);

printf(”\n”);

}如右圖‘?dāng)?shù)字三角形’輸出,請(qǐng)補(bǔ)上C程序:

main()

{inti,j,k=1;1

for(i=1;i<=9;i++)23

{for(j=1;j<=i;j++)456

printf(“%d”,k++);78910

printf("\n");1112131415

}161718192021

}22232425262728

2930313233343536

373839404142434445

三、選擇題(每題一分共10分)(C)設(shè)有聲明:

structt{intx,y;}s[2]={1,2,3,4};

structt*p=s,*q=s;

則表達(dá)式++p->x和表達(dá)式(++q)->x的值分別為C

A、1,1B、1,3C、2,3D、3,3(D)十進(jìn)制數(shù)-27的八進(jìn)制數(shù)和十六進(jìn)制數(shù)為:

A、01777450X801BB、01000330X801B

C、01000330XFFE5D、01777450XFFE5(D)為了避免嵌套的條件語句if-else的二義性,C語言規(guī)定:

A、else與縮排位置相同的if配對(duì)B、else與同一行上的if配對(duì)

C、else與其之后最近的if配對(duì)D、else與其前最近的尚未配對(duì)的if配對(duì)(C)如intk=11;則執(zhí)行語句k=1/3*++k;后k取值為:

A、12B、3C、4D、0(B)如果inta[][4]={1,2,3,4,5,6,7,8,9,10},*p=*(a+1);,則值為9的表達(dá)式是:

A、p+=3,*p++B、p+=4,*(p++)C、p+=4,*++pD、p+=4,++*p(D)設(shè)有指向同一個(gè)數(shù)組中不同元素的兩個(gè)指針,則對(duì)它們不能執(zhí)行的運(yùn)算是:

A、+B、-C、++D、--(D)能用作變量名字的標(biāo)識(shí)符是:

A、unionB、doubleC、ab-1D、a123_cd(C)break語句

A、只能出現(xiàn)在if語句中B、只能出現(xiàn)在循環(huán)體中

C、可用在循環(huán)體和switch語句中D、可用在函數(shù)中的任何語句(?)執(zhí)行循環(huán)語句:for(x=y=0;y!=250||x<4;x++)y+=50;

其循環(huán)體執(zhí)行的次數(shù)為:

A、5B、4C、3D、2(B)如intx=14;下列求商y(需小數(shù)結(jié)果)的表達(dá)式哪一個(gè)不對(duì)?

A、y=x/(5+.0)B、y=x/5.C、y=1.*x/5D、y=x/5*1.0

四、改錯(cuò),請(qǐng)將正確的語句和遺漏的語句寫在本行的右邊(每題5分共10分)用Fibonacci數(shù)列前20個(gè)數(shù),以四行五列顯示。

main()

{inti;

intf[20]=(1,1);intf[20]={1,1};

for(i=1,i<=20,i++)for(i=2;i<=20;i++)

f[i]=f[i-2]+f[i-1];

for(i=1,i<=20,i++)

{if(i/4=0)printf(\n);if(i%4==0)printf(”\n”);

printf("%12d",f[i]);

}

}

判別并顯示輸入的整數(shù)是否為質(zhì)數(shù)。

include<stdio.h>+include<math.h>

main[]main()

{intn;prime(int);intprime(int);

scanf('%d',n);scanf(“%d”,&n);

v=prime[n],intv=prime(n);

//if(v==1)thenprintf("%disaprime!\n,",n)

elseprintf("%disnotaprime!\n,n")

}

voidprime(intp)intprime(intp)

{intk,v=1;?解答?

k==sqrt(p);k=sqrt(p);

for(i=2,i<=k,i++)for(i=2;i<=k;i++)

if(p/i=0)v=0;break;if(p%i==0){v=0;break;}

returnv;

}

五、編制C語言程序(每題10分共40分)讀入被開方數(shù)a,用迭代法求出a的平方根。求平方根的迭代公式為

X0=10

Xn=(Xn-1+a/Xn-1)/2(n>0)

要求前后兩次求出的X值的差的絕對(duì)值小于0.00001。

?解答?編程驗(yàn)證歌德巴赫猜想:1000~2000中的每一個(gè)偶數(shù)都可以表示成兩個(gè)素?cái)?shù)之和。如果此猜想成立,顯示“allnumbersareOK!”,否則顯示“nnnnisnotOK!”,這里nnnn是第一個(gè)使猜想不成立的偶數(shù)。

?解答?個(gè)人每月工資減去800元后的所得稅稅率為:不超過500元的部分,稅率5%;超過500元至2000元,10%;超過2000元至5000元,15%;超過5000元,20%。編制C語言程序,由鍵盤輸入每月的工資后,計(jì)算應(yīng)交所得稅的金額(精確到分)。

?解答?寫一函數(shù),它有三個(gè)字符串參數(shù),第一個(gè)是目的串,第二個(gè)是源串,第三個(gè)是字符表,其功能是把源串中所有由字符表指出的字符復(fù)制到目的串中,函數(shù)值是得到的目的串的長度。例如,如果源串為“ABCDAEFAC”,字符表為“ABC”,結(jié)果目的串為“ABCAAC”,函數(shù)值為6。

?解答?

六、二題選一,編制C語言程序(10分)寫一函數(shù)floatgetfloat(chars[]);能把字符串s中的字符串轉(zhuǎn)換成float型值。如果s中的字符串是“-123.45”,則應(yīng)返回-123.45。

#include<stdio.h>#include<string.h>floatgetfloat(char*s){floatans=0,tmp=0;inti,tag=1;if(s[0]=='-'){tag=-1;}for(i=0+(tag==-1);i<strlen(s);i++){if(s[i]=='.')break;elseans=ans*10+s[i]-'0';}for(i=strlen(s)-1;s[i]!='.';i--){tmp=tmp/10+s[i]-'0';}ans+=(tmp/10);returnans*tag;}intmain(){chars[100];scanf("%s",s);floata=getfloat(s);printf("%f\n",a);return0;}讀取正整數(shù)m和n(假定它們滿足m>=n>0),顯示所有從集合{1,2,…,m}中取出的n個(gè)數(shù)的組合。例如,若m=3,n=2,則可以按以下形式之一顯示:

332

2

31

1

21

2

1

#include<stdio.h>#include<string.h>intans[10];intm,n;voidDFS(intd,intp){inti;if(d==n

溫馨提示

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