程序設(shè)計(jì)基礎(chǔ)試題_03_答案_第1頁
程序設(shè)計(jì)基礎(chǔ)試題_03_答案_第2頁
程序設(shè)計(jì)基礎(chǔ)試題_03_答案_第3頁
程序設(shè)計(jì)基礎(chǔ)試題_03_答案_第4頁
程序設(shè)計(jì)基礎(chǔ)試題_03_答案_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 學(xué)院領(lǐng)導(dǎo) 審批并簽名 A / B卷 廣州大學(xué) 學(xué)年第 學(xué)期考試卷 課程 高級(jí)語言程序設(shè)計(jì) 考試形式(開/閉卷,考試/查) 學(xué)院 系 專業(yè) 班級(jí) 學(xué)號(hào) 姓名 題次 一 二 三 四 五 六 七 八 九 十 總分 評(píng)卷人 分?jǐn)?shù) 評(píng)分 一:選擇題(每題3分,共60分) (1)若有以下定義: char a; int b; float c; double d; 則表達(dá)式a*b+d-c值的類型為(A) A) double B) float C) int D) char (2)設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:aB?A:C=10 or a=10a=10a=10 a=0 (7)下列可作為C語言賦值語

2、句的是(C) A) x=3,y=5 B) a=b=6 C) i-; D) y=int(x); (8)設(shè)i是int型變量,f是float型變量,用下面的語句給這兩個(gè)變量輸入值: scanf(i=%d,f=%f,&i,&f); 為了把100和765.12分別賦給i和f,則正確的輸入為(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)給出以下定義: char x =abcdefg; char y =a,b,c,d,e,f,g; 則正確的敘述為(C) A) 數(shù)組X和數(shù)組Y等價(jià) B) 數(shù)組x和數(shù)組Y的長(zhǎng)度相同 C) 數(shù)

3、組X的長(zhǎng)度大于數(shù)組Y的長(zhǎng)度 D) 數(shù)組X的長(zhǎng)度小于數(shù)組Y的長(zhǎng)度 (10)假定a和b為int型變量,則執(zhí)行以下語句后b的值為(D) a=1; b=10; do b-=a; a+; while (b-0); A) 9 B) -2 C) -1 D) 8 (11)設(shè)有以下宏定義: #define N 3 #define Y(n) ( (N+1)*n) 則執(zhí)行語句:z=2 * (N+Y(5+1);后,z的值為(C) A) 出錯(cuò) B) 42 C) 48 D)54 (12)設(shè)有如下定義: int arr=6,7,8,9,10; int * ptr; 則下列程序段的輸出結(jié)果為(D) ptr=arr; * (p

4、tr+2)+=2; printf (%d,%dn,*ptr,*(ptr+2); A)8,10 B)6,8 C)7,9 D)6,10 (13)執(zhí)行以下程序段后,m的值為(A) 5,6 ; int m,*p; p=&a00; m=(*p)*(*(p+2)*(*(p+4); A) 15 B) 14 C) 13 D) 12 (14)有以下程序 main() int x,i; for(i=1;i=50;i+) x=i; if(+x%2=0) if(x%3=0) if(x%7=0) printf(%d,i); 輸出結(jié)果是(D) A) 28 B) 27 C) 42 D) 41 (15)若有以下的說明和語句:

5、 main() int t32, *pt3,k; for(k=0; k3;k+) ptk=tk; 則以一選項(xiàng)中能正確表示t數(shù)組元素地址的表達(dá)式是(D) A&t32 B*pt0 C*(pt+1) D)&pt2 (16)有以下程序 #include main() int a,b,c=246; a=c/100%9; b=(-1)&(-1); printf(%d,%dn,a,b); 輸出結(jié)果是(A) A) 2,1 B) 3,2 C) 4,3 D) 2,-1 (17)有以下程序 #include struct stu int num; char name10; int age; ; void fun(s

6、truct stu *p) printf(%sn,(*p).name); main() struct stu students3= 9801,Zhang,20, 9802,Wang,19, 9803,Zhao,18 ; fun(students+2); 輸出結(jié)果是(B) A) Zhang B)Zhao C) Wang D) 18 (18)有以下程序 main() char a=programming, b=language; char *p1,*p2; int i; p1=a; p2=b; for(i=0;i7;i+) if(*(p1+i)=*(p2+i) printf(c,*(p1+i);

7、輸出結(jié)果是(D) A) gm B) rg C) or D) ga (19)有以下程序 int fun(int x,int y,int *cp,int *dp) *cp=x+y; *dp=x-y; main() int a, b, c, d; a=30; b=50; fun(a,b,&c,&d); printf(%d,%dn, c, d); 輸出結(jié)果是(C) A)50,30 B)30,50 C)80,-20 D)80,20 (20)有以下程序 include atdio.h int abc(int u,intv); main () int a=24,b=16,c; c=abc(a,b); pri

8、ntf(%dn,c); int abc(int u,int v) int w; while(v) w=u%v; u=v; v=w return u; 輸出結(jié)果是(C) A) 6 B) 7 C) 8 D) 9 二:填空題(共20分) (1)int a32=10,20,30,40,50,60, (*p)2; p=a; 則 *(*(p+2)+1) 值為 60 (1).(2分) (2) 以下程序的輸出結(jié)果是 8,17 (1).(3分) #include int fun(int x,int y) static int m=0,i=2; i+=m+1; m=i+x+y; return m main() i

9、nt j=4,m=1,k; k=fun(j,m); printf(%d,k); k=fun(j,m); printf(%dn,k); (3) 下面程序的輸出是 9 (5分) long fun5(int n) long s; if(n=1)|(n=2) s=2; else s=n+fun5(n-1); return(s); main() long x; x=fun5(4); printf(%ldn,x); (4)以下程序的功能是:從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該 字符串,請(qǐng)?zhí)羁?(5分) #includectype.h #includestdio.h main() char

10、str81,*sptr; int i; for(i=0;i80;i+) stri=getchar(); if(stri=n) break; stri= 0 (1); sptr=str; while(*sptr) putchar(*sptr + (2); (5)以下程序用來對(duì)從鍵盤上輸入的兩個(gè)字符串進(jìn)行比較,然后輸出兩個(gè)字符串中第一個(gè)不相同符的ASCII碼之差.例如:輸入的兩個(gè)字符串分別為abcdef和abceef,則輸出為-1.請(qǐng)?zhí)羁? (5分) #include main() char str100,str2100,c; int i,s; printf(n input string 1:n)

11、; gest(str1); printf(n input string 2:n); gest(str2); i=0; while(strli=str2i)&(str1i!=_ 0_(1) i+; s=_str1i-str2i_(2); printf(%dn,s); fgets(str,100,fp); printf(%sn,str); fclose(fp); 三:程序編寫題(下面3題任選2題,每題10分,共20分) 題目1:有一個(gè)已經(jīng)排好序的數(shù)組?,F(xiàn)輸入一個(gè)數(shù),要求按原來的規(guī)律將它插入數(shù)組中。 題目2:判斷1001-2000之間有多少個(gè)素?cái)?shù),并輸出所有素?cái)?shù)。 題目3:海灘上有一堆桃子,五只猴子

12、來分。第一只猴子把這堆桃子憑據(jù)分為五份,多了一個(gè),這只猴子把多的一個(gè)扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一個(gè),它同樣把多的一個(gè)扔入海中,拿走了一份,第三、第四、第五只猴子都是這樣做的,問海灘上原來最少有多少個(gè)桃子? 答案: 1 void insert(int x,int n,int y) int i,j; for (i=0;i=y) break; if (i=n) xi=y; else for (j=n;ji;j-) xj=xj-1; xi=y; 2 #include stdio.h #include math.h void main(int argc, char* argv) int i,k,sum; for(i=1001,sum=0;i=2000;i+) for(k=2;k=sqrt(i) sum=sum+1; printf(%d

溫馨提示

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