浙江傳媒學(xué)院《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》期終考試_第1頁
浙江傳媒學(xué)院《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》期終考試_第2頁
浙江傳媒學(xué)院《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》期終考試_第3頁
浙江傳媒學(xué)院《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》期終考試_第4頁
浙江傳媒學(xué)院《程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)》期終考試_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 HYPERLINK 浙江傳媒學(xué)院程序設(shè)計(jì)與數(shù)據(jù)結(jié)構(gòu)期終(考試)(A)卷20062007學(xué)年第一學(xué)期任課教師系班姓名學(xué)號*注:答案請寫在答卷紙上。判斷題(每題1分,共10分)說明:在以下提供的若干個(gè)陳述中,逐一判斷其正確與否,選A表示正確,選B表示錯(cuò)誤。C語言認(rèn)為,變量Number和number是相同的。(a=3)(b=5)是合法的關(guān)系表達(dá)式。字符數(shù)組char c = string;有6個(gè)數(shù)組元素。調(diào)用strlen(abc0ef0g)的返回值為8。C語言中允許函數(shù)“嵌套調(diào)用”和“遞歸調(diào)用”,所謂“遞歸調(diào)用”就是指:在調(diào)用一個(gè)函數(shù)的過程中又出現(xiàn)直接或間接地調(diào)用該函數(shù)本身。C語言源程序文件通過編譯

2、、鏈接之后,生成一個(gè)后綴為.EXE的文件。%f是字符常量。表達(dá)式!6的值是6。設(shè)變量定義為char cc=12n345,則表達(dá)式sizeof(cc)的值是7。while語句先判斷循環(huán)條件,所以循環(huán)體有可能一次也不執(zhí)行。二)選擇題(每題2分,共20分)1、組成C語言程序的是()A、過程B、函數(shù)C、子程序D、主程序和子程序2、下列字符序列中,合法的標(biāo)識符是()A、S.b,sum,average,_aboveB、class,day,louts_1,2dayC、#md,&12x,momth,student_n1D、D56,r_1,name,_st_13、下面函數(shù)的功能是()int fun(char s

3、 , char t )int i=-1;while(+i,si= =ti&si!= 0);return (si= =0&ti= =0);A、比較字符串s和t的長度B、比較字符串s和t的大小C、比較字符串s和t是否相等D、將字符串t賦給字符串s4、若有以下定義和語句:int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則不能表示a數(shù)組元素的表達(dá)式是()。A、a*pB、a10 C、*aD、ap-a5、下面vc編譯環(huán)境下的程序有兩個(gè)printf語句,如果第1個(gè)printf語句輸出的是194,則第2個(gè)printf語句的輸出結(jié)果是()void main()int a10=1,2,3,4,

4、5,6,7,8,9,0,*p;p=a;printf(%xn,p);printf(%xn,p+8);A、224 B、226 C、1b4 D、1b66、設(shè)有定義語句“int w34=0,1,2,4,5,8, (*p)4=w;”,則數(shù)值為4的表達(dá)式是()A、*w1+1 B、p+,*(p+1) C、w22 D、p117、在循環(huán)體中執(zhí)行continue語句,其作用是()A、終止程序運(yùn)行B、繼續(xù)執(zhí)行continue語句之后的循環(huán)體各語句C、結(jié)束本次循環(huán),進(jìn)行下次循環(huán)D、跳出該循環(huán)體,提前結(jié)束循環(huán)8、struc STUchar name10;int num;void f1(struct STU c)stru

5、ct STUb=LiSiGuo,2042;c=b;void f2(struct STU *c) struct STU b=SunDan,2044;*c=b;void main( ) structSTU a=YangSan,2041,b=WangYin,2043;f1(a);f2(&b);printf(%d %dn,a.num,b.num);執(zhí)行后的輸出結(jié)果是()A、2041 2044B、2041 2043C、2042 2044D、204220439、對于以下遞歸函數(shù)f,調(diào)用函數(shù)f(2, 1, 2, 3)的輸出結(jié)果是()。void f(int n,char a,char b,char c) if

6、(n=1) printf(%c-%c#,a,b); else f(n-1,a,c,b); printf(%c-%c#,a,b); f(n-1,c,b,a); A、1-2#1-3#3-2# B、3-2#1-2#1-3#C、1-3#3-2#1-2# D、1-3#1-2#3-2#10、設(shè)變量定義為:int n,*p;char ch,*q,*g;,則語句()是不正確的。A、p=&n;g=q=&ch; B、p=&n;q=&ch; C、p=&n;g=&ch D、p=&n;q=&ch;g=p;三)程序填空題(每題2分,共20分)說明:閱讀下列程序說明和相應(yīng)程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案

7、。程序1【程序說明】輸入100個(gè)整數(shù),將其中的前20個(gè)數(shù)從小到大排序,然后輸出這100個(gè)數(shù)。# include stdio.hvoid sort( (1) ) int i, k, m, t; for(i = 0; i n-1; i+) k=i; for(m=i+1; mn; m+) if(2) ) k=m; (3) void main( ) int k, a100;for(k=0; k100; k+) scanf(%d, &ak); (4) ;for(k=0; kam B、am-1am C、akam3、A、ak = ai; ai = ak; B、ak = t ; ak = ai; ai = t

8、; C、t = ak; ak = ai; ai = t; D、ai = ak; ak = ai;4、A、sort(a, 20) B、sort(a , 20) C、sort(a20) D、sort(a )程序2【程序說明】驗(yàn)證哥哥德巴赫猜想:任何一個(gè)大于6的偶數(shù)均可表示為兩個(gè)素?cái)?shù)之和。例如6=3+3,8=3+5,18=7+11。將6100之間的每個(gè)偶數(shù)都表示成兩個(gè)素?cái)?shù)之和。函數(shù)prime(m)用于判斷m是否為素?cái)?shù)。素?cái)?shù)就是只能被1和自身整除的正整數(shù),1不是素?cái)?shù),2是素?cái)?shù)。程序#include stdio.h#include math.hvoid main() int i, k; int prim

9、e(int m); for (i=6;i=100;i=i+2)for(k=3;k=50;k+) if ((5)) printf (%d = %d+%dn, i, k, i-k); break; int prime(int m) int k, n;if(m = = 1) return 0;n = (int)sqrt (m);for (k = 2; k = n ;k+)(6) ; (7) ; 5、A、prime(i) B、prime(i) & prime(k)C、prime(k) & prime(i-k) D、prime(k)6、A、if (m%k!=0) return 0 B、if(m%k=0)

10、 return 0C、if(m%k=0) return 1 D、if(m%k !=0) return 17、A、return 0 ; B、return 1;C、else return 0; D、else return 1;程序3【程序說明】輸入 10 個(gè)整數(shù), 將它們存入數(shù)組 a 中 , 再輸入一個(gè)數(shù) x, 然后在數(shù)組中查找 x, 如果找到, 輸出相應(yīng)的下標(biāo) ( 如有多個(gè)元素與 x 相等, 只要輸出下標(biāo)值最小的那個(gè)元素的下標(biāo) ), 否則, 輸出 Not Found ?!境绦颉?include void main () int k,sub,x;int a10;for (k=0;k 10;k+)s

11、canf(%d,&ak);printf(Input x n);scanf(%d,&x);sub=-l;for (k=0; (8) ;k+)if(ak=x)(9)if (10)printf(Index is %d n,sub);else printf(Not Found n);8、A、k10 B、k=10 C、k9 D、k 89、A、sub=k;B、 break ;C、 sub=k;break ;D 、sub=k;break ;10、A、sub!=-1B、sub !=0C、sub=-1D、sub=0程序閱讀題(每題2分,共20分)說明:閱讀下列程序,將運(yùn)行時(shí)的輸出結(jié)果寫在答卷紙的相應(yīng)題號下。程序

12、1#include void main()int a=-1,b=1;void f1(int x,int y),f2(int *x,int *y);void f3(int *x,int * y),f4(int x,int y);f1(a,b);printf(%d,%d)n,a,b); a=-1,b=1;f2(&a,&b); printf(%d,%d)n,a,b); a=-1,b=1;f3(&a,&b); printf(%d,%d)n,a,b);a=-1,b=1;f4(a,b); printf(%d,%d)n,a,b);void f1(int x,int y)int *t=malloc(sizeo

13、f(int);*t=x;x=y;y=*t;void f2(int *x,int *y)int *t;t=x;x=y;y=t; void f3(int *x,int *y)int t;t=*x;*x=*y;*y=t;void f4(int x,int y)int t;t=x;x=y;y=t;1、程序運(yùn)行時(shí),第1行輸出_ A.(1,-1) B.(-1,-1) C.(-1,1) D.(1,1)2、程序運(yùn)行時(shí),第2行輸出_ A.(1,-1) B.(-1,-1) C.(-1,1) D.(1,1)3、程序運(yùn)行時(shí),第3行輸出_ A.(1,-1) B.(-1,-1) C.(-1,1) D.(1,1)4、程序運(yùn)

14、行時(shí),第4行輸出_ A.(1,-1) B.(-1,-1) C.(-1,1) D.(1,1)程序2#include struct cardchar * face;char * suit;void filldeck(struct card * wdeck,char *wface,char * wsuit)int i;for(i=0;i4;i+)wdecki.face=wfacei%2;wdecki.suit =wsuiti/2;void deal(struct card * wdeck)int i;for(i=0;i4;i+)printf(%2s of %-6s)n,wdecki.face,wde

15、cki.suit);void main()struct card deck4;char * face=A,B;char * suit=Heart,Club;filldeck(deck,face,suit);deal(deck);5、程序運(yùn)行時(shí),第1行輸出_ A.( A of Heart ) B.( B of Heart ) C.( A of Club ) D.( B of Club )6、程序運(yùn)行時(shí),第1行輸出_ A.( A of Heart ) B.( B of Heart ) C.( A of Club ) D.( B of Club )7、程序運(yùn)行時(shí),第1行輸出_ A.( A of He

16、art ) B.( B of Heart ) C.( A of Club ) D.( B of Club )8、程序運(yùn)行時(shí),第1行輸出_ A.( A of Heart ) B.( B of Heart ) C.( A of Club ) D.( B of Club )程序3 #include int f(int number,int digit)int count=0;while(number!=0)if(number%10=digit)count+;number=number/10; return count;void main()printf(count=%dn,f(11299,2);pr

17、intf(count=%dn,f(11299,9);9、程序運(yùn)行時(shí),第1行輸出_ A.count=0 B.count=3 C.count=5 D.count=110、程序運(yùn)行時(shí),第2行輸出_ A.count=3 B.count=9 C.count=2D.count=5程序改錯(cuò)題(每項(xiàng)2.5分,共10分)說明:程序在”*N*”的下一行中有錯(cuò)誤,請改正,注意,不得加行、減行、加句、減句,否則算錯(cuò)。1、程序功能:輸入n以及小于n個(gè)字符的字符串,將字符串中所有小寫字母改為相應(yīng)的大寫字母后,輸出該字符串。#include #include #include void main() int n,i; /*

18、 1 */ char str; scanf(%dn,&n); str=(char*)malloc(n); gets(str); /* 2 */ for(i=1;i=a& stri=z) stri=stri-(a-A); puts(str);2、該程序功能:運(yùn)行時(shí)若輸入a、n分別為3、6,則輸出下列表達(dá)式的值:3+33+333+3333+33333+333333#include void main() int i,a,n; long t=0; /* 1 */ s=0; scanf(%d%d,&a,&n); for(i=1;i=n;i+) /* 2 */ t=t*10+n; s=s+t; s=s*a; printf(%ldn,s);程序設(shè)計(jì)(每題10分,共2

溫馨提示

  • 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

提交評論