語言試卷及答案1_第1頁
語言試卷及答案1_第2頁
語言試卷及答案1_第3頁
語言試卷及答案1_第4頁
語言試卷及答案1_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、浙江理工大學(xué) C程序設(shè)計(jì) 試題(一)試題二、語言基礎(chǔ)題(本題共30分)(一)判斷題(本題共10分,每小題1分)說明:在以下提供的若干陳述中,逐一判斷其正確與否,選A表示正確,選B表示錯(cuò)誤。(16)C語言程序的三種基本結(jié)構(gòu)是順序、選擇和嵌套。(17)在C語言程序中,在函數(shù)內(nèi)部定義的變量稱為全局變量。(18)運(yùn)算符“=”和“&=”的優(yōu)先級相同。(19)%f是不正確的字符常量。(20)運(yùn)算符“+”不能作為單目運(yùn)算符。(21)如果運(yùn)算符“*”和“/”都是右結(jié)合的,則表達(dá)式10*6/5的值是10。(22)s(s-a)(s-b)(s-c)是合法的C語言表達(dá)式。(23)表達(dá)式!6的值是6。(24)表

2、達(dá)式(2<<1)的值是5。(25)對于變量定:int a10,*p=a+8;數(shù)組a的最后一個(gè)元素是p1。(二)單選題(本題共20分,每小題2分)(26)執(zhí)行語句 printf(" (26) ","A");將得到出錯(cuò)信息。A、%uB、%sC、%eD、%d(27)設(shè)c是一個(gè)字符變量,求解表達(dá) (27) 后,c的值不是1就是0。A、 c=getchar()!=nB、(c=getchar()!)=nC、 c=1D、 c=EOF(28)下列定義中, (28) 定義的變量可以存放-123.4。A、long a;B、unsigned b;C、int d;D

3、、float c;(29)對于變量定義;char *pp100,pp是一個(gè) (29) 。A、函數(shù)B、數(shù)組元素C、指針變量D、數(shù)組(30)下列程序段的輸出結(jié)果是 (30) 。 char *st = "SUM","MOON","STAR","X" printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)A、(MOON,M)B、(OON,C)C、(OON,Q)D、(OON,A)(31)對于以下的變量定義,表達(dá)式 (31) 是不正確的。 struct node float

4、x,y; char s10  point,*p=&point;A、px=2.0B、(*p).y=3.0C、point.x=2.0D、ps="a"(32)下列程序段的輸出結(jié)果是 (32) 。 int a=10,b=0; if (a>15) b=1; else if (a<2) b=2; else b=3 printf("%d",b);A、3B、2C、1D、0(33)只有當(dāng)輸入數(shù)據(jù)滿足1<=month<=12時(shí),循環(huán)語句 (33) 才能正常退出。A、do scanf("%d",&month

5、)  while (month>=1month<=12);B、do scanf("%d",&month)  while (month>=1 && month<=12);C、do scanf("%d",&month)  while (month<1month>12);D、do scanf("%d",&month)  while (month<=1month>=12);34)調(diào)用函數(shù)f(27)的輸出結(jié)果是 (34

6、) 。 void f(int n) if (n<5) printf("%d",n); else printf("%d",n%5); f(n/5); A、102B、201C、21D、20(35)下列程序段的輸出結(jié)果是 (35) 。 int k=3,j=4; int *p=&k,*q=&j; (*p)-; j=k; (*q)- printf("(%d,%d) ",k,j);A、(2,1)B、(1,2)C、(4,3)D、(3,3)試題三、程序填空題(每空2分,共20分)說明:閱讀下列程序說明和相應(yīng)的程序,在每小題提供的

7、若干可選答案中,挑選一個(gè)正確答案。程序1、【程序說明】 輸入一批以-1結(jié)束的整數(shù),求偶數(shù)和。【程序】 #include <stdio.h> void main( ) int x,sum; sum=0; scanf("%d",&x); (36) if( (37) ) sum=sum+x; (38) ; printf(“sum=%d”,sum); (36)A、while(x=-1)B、while(x !=-1)C、if(x=-1)D、if(x!=-1)(37)A、x=2B、x%2=2C、x%2=0D、x/2=0(38)A、scanf("%

8、d",&x)B、scanf("%d",x)C、sum=0D、x=sum程序2、【程序說明】 a是一個(gè)3×3的矩陣,輸入a的元素,如果a是下三角矩陣,輸出“YES”,否則,輸出“NO”。 (下三角矩陣,即對角線以上的元素都為0,主對角線為從矩陣的左上角至右下角的連線。)【程序】#include <stdio.h> void main( ) int flag,i,k; int a33; for (i=0;i<3;i+) for (k=0;k<3;k+); scanf("%d”,&aik); (39) ; fo

9、r (i=0;i<3&&flag;i+) for(k=i+1;k<3&&flag;k+) if( (40) ) (41) ; if (flag) printf("YESn"); else printf("NOn"); (39) A、flag=0B、flag=0C、flag=1D、flag=1(40) A、aki!=0B、aik=0C、aik!=0D、aki=0(41) A、flag=0B、flag=0C、flag=1D、flag=1程序3、【程序說明】 輸入一個(gè)字符串,將其中的大寫字母轉(zhuǎn)換為小寫字母后輸出?!境?/p>

10、序】 #include <stdio.h> void main( ) char str80; int k; gets(str); for (k=0;strk!=0;k+); if ( (42) ) (43) ; puts(str); (42)A、A<=strk<=ZB、strk>A&&strk<ZC、strk>=A&&strk<=ZD、strk>=Astrk<=Z(43)A、strk=strk-32B、strk=strk-a+AC、tolower(strk)D、strk=strk-A+a程序4、【程序說

11、明】 int f2(char *s) char *ss; (44) ; while (*s!=0) s+; return (45) ; 請仔細(xì)閱讀函數(shù)f1,然后在函數(shù)f2中填入正確的內(nèi)容,使函數(shù)f1和函數(shù)f2有相同的功能?!境绦颉?int f1(char s) int k=0; while (sk!=0) k+; return k; (44) A、s=ssB、ss=sC、ss=NULD、s=NUL (45) A、ss-sB、s-ss-1C、s-ssD、s-ss+1試題四、程序閱讀題(每小題5分,共15分)說明:閱讀下列程序,將運(yùn)行的輸出結(jié)果寫在答卷紙的相應(yīng)題號下。1、程序1#include &

12、lt;stdio.h> void main( ) int j,k; float f,s; s=0;f=1; for (k=1;k<3;k+)for (j=1;j<k;j+); f=f*k;s=s+f;printf("%.0f#”,s); 2、程序2#include <stdio.h> void main( ) long fun(long number); printf(“%1dn”,fun(-974); long fun(long number) int flag; long res=0 flag=number<0 ? -1:1; if (numb

13、er<0) number=-number while(number!=0) res=res*10+numbr%10 number/=10 printf(“%d#”,res); return flag*res; 3、程序3#include <stdio.h> #include <std1ib.h> void main( ) FILE *in; char *string1=”IF YOU FAIL TO PLAN”; char *string2=”YOU PLAN TO FAIL”; if (in=fopen(“file1.txt”,”w”) !=Null)while

14、(*string2!=0) fputc(*string2+,in);fclose(in); if (in=fopen(“file1.txt”,”r”) !=NULL)while(fgetc(in)!=EOF) putchar(*string1+); fclose(in); 試題五、程序設(shè)計(jì)題(每題10分,共20分)1 輸入10個(gè)整數(shù),找出其中絕對值最小的數(shù),將它和最后一個(gè)數(shù)交換,然后輸出這10個(gè)數(shù)。2 輸入一個(gè)正實(shí)數(shù)x和一個(gè)正整數(shù)n,求下列算式的值。要求定義和調(diào)用2個(gè)函數(shù):fact(n)計(jì)算n的階乘;mypow(x,n)計(jì)算x的n次冪(即xn),2個(gè)函數(shù)的返回值類型都是double。C程序設(shè)計(jì)

15、試題1考試答案與評分標(biāo)準(zhǔn)試題二(一)、判斷題(每小題1分,滿分10分)(16)(17)(18)(19)(20)(21)(22)(23)(24)(25)BBAAAABBAA(二)、單選題(每小題2分,滿分20分)(26)(27)(28)(29)(30)(31)(32)(33)(34)(35)CDDCBBACBA(三)、程序填空題(每小題2分,滿分20分)(36)(37)(38)(39)(40)(41)(42)(43)(44)(45)BCADBACDBD四、程序閱讀題(每小題5分,滿分15分)程序1程序21#3#4#47#479#-479程序3程序4IF YOU FAIL TO P五、程序設(shè)計(jì)題(

16、每小題10分,滿分20分)1、#include <stdio.h>#include <math.h> int main() int n,i,a10,t,min,minpot; scanf("%d",&a0); min=a0; minpot=0; for(i=1;i<10;i+) scanf("%d",&ai); if(fabs(ai)<fabs(min) min=ai; minpot=i; t=a9; a9=aminpot; aminpot=t; for(i=0;i<10;i+) if(i>0) printf(" "); printf("%d",ai); printf("n"); 2、#include <stdio.h>double

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論