c語言,04-05春試卷及答案解讀_第1頁
c語言,04-05春試卷及答案解讀_第2頁
c語言,04-05春試卷及答案解讀_第3頁
c語言,04-05春試卷及答案解讀_第4頁
c語言,04-05春試卷及答案解讀_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、(043)上海大學2004-2005年春季學期試卷 2005.6課程名: 程序設計基礎(C)學分:_5學號:姓名:學院/教師:題號-一一-二三三四卷面上機總分題分2030812702090得分考生須知:1. 試卷和答題紙上的“學號、姓名、學院、教師”都要填上;2. 所有答題內(nèi)容都寫在答卷紙上,交卷時將試卷和答卷紙一起交上;3. 不遵守上述要求者考試成績將為零分。4. 本卷考試的得分為卷面分,電腦上機考試(另行安排)的得分為上機分,考試成績?yōu)榫砻娣峙c上機分的和。一、基礎題(20分,每小題2分)1. 定義int x=42,y=13;寫出y+=2*(x+);執(zhí)行后各變量的值。2. 設a=b=5;分別

2、判斷表達式的真假:6a4與b+=63. 分別計算字符串的長度:“Computer”與“ abc123nmop”。4. 分別計算表達式的值:43 & 38與(43 A 38) 0)個學生按下列方法進行分班:每班 k (k0)個 學生,最后一個班若不足k人也單獨編成一個班。寫出表達式 表示所編班的個數(shù)。8. 定義char ch;寫出語句:如果ch為小寫字母則將ch轉(zhuǎn)換為大寫,否則 ch 不變。9定義 int a10; 寫出語句片段:輸入 a 數(shù)組中的 10 個整數(shù)。10定義 char *pc= Shanghai, Beijing, Guangzhou ; 寫出語 句片段:輸出 pc 數(shù)組中的所有字

3、符串,每字符串一行。二、閱讀程序 (30 分,每小題 3 分)仔細閱讀下列程序,將各程序的運行結(jié)果寫在答卷紙上。(1) 程序#include main()int m,n,k,i;scanf( %d%d, &m, &n );if ( m n )k = 1;elsek = -1;for ( i = m; i != n; i+=k )printf( %d , i );輸入: 22 16輸出:?(2) 程序#include main()int m, n = 0;for ( m = 1; m = 6; m+ )switch( m )case 4:case 6:case 9:case 11:n = 30;

4、break; case 2: n = 28;break; default:n = 31;break;printf( %d, n );輸出:?(3) 程序#include int isprime(int n)int i;for ( i = 2; i n; i+ )if ( n%i = 0 ) return 0;return 1;void testfunc( int n )int i;for ( i = 2; i n; i+ )if ( isprime(i) & isprime(n-i) ) break;printf( %2d = %2d + %2dn, n, i, n-i ); main() i

5、nt n;for ( n = 10; n = 14; n += 2 ) testfunc( n ); 輸出:?(4) 程序#include main()char a56;int i, j;for ( i = 0; i 5; i+ ) for ( j = 0; j 5; j+ ) aij = *;for ( i = 0; i 5; i+ ) aii = #; ai4-i = ; ai5 = 0;for ( i = 0; i 5; i+ ) puts( ai ); 輸出:?(5) 程序#include main()int a8 = 0, 8, 16, 30, 40, 50, 60, 70 ;int

6、 n = 2, *p = &a1;n += *(p+);printf( %d, , n );n *= +(*p);printf( %d, , n );n -= (*(+p)-;printf( %dn, n );輸出:?(6) 程序#include int func( int x )static int dd = 1;dd += x;if ( x = 0 )dd = 0;return dd;main()printf( 1: %dn, func(15) ); func(0);printf( 2: %dn, func(28) );printf( 3: %dn, func(37) ); 輸出:?(7)

7、 程序 #include void sort( int a, int n ) int j, t;if ( n = 1 )return;sort( a+1, n-1 );for ( j = 0; j n-1; j+ ) if ( aj aj+1 ) t = aj; aj = aj+1; aj+1 = t;main()int x = 33, 77, 55, 11, 99 ; int i;sort( x, 5 );for ( i = 0; i 5; i+ )printf( %4d, xi );輸出:?(8) 程序#include main()char a81, b81, *p, *q=b;gets(

8、 a );for ( p=a; *p!=0; p+ ) if ( *p = A & *p = a & *p = z ) *(q+) = *p - a + A;*(q+) = 0;puts( b );輸入: 1i2aM, (w)A-N-G.輸出:?(9) 程序#include struct data int x1, x2; ;float aver( struct data a, int n )float sum = 0;int i;for ( i = 0; i n; i+ )sum += ai.x2;return (float)sum / n;struct data *find( struct

9、data a, int n, int d ) int i;for ( i = 0; i x1, p-x2 ); 輸出:?(10) 程序 #include main()FILE *fp;int a10 = 10,20,30,40,50,90,80,70,60,50;int i;fp = fopen( test.txt, w );for ( i = 0; i 10; i+ ) fprintf( fp, %d , ai );fclose( fp );fp = fopen( test.txt, r );for ( i = 0; i 4; i+ ) fscanf( fp, %d , &ai+3 );fo

10、r ( i = 0; i 3; i+ )fscanf( fp, %d , &ai+1 );fclose( fp );for ( i = 0; i =0 & *(str+i)=9 )/*7*/ n +;/*8*/ return n;/*9*/ 2)以下程序輸入 10 個數(shù),輸出其中只出現(xiàn)一次的數(shù)。#include main() /* 1*/* 2*/* 3*/* 4*/* 5*/* 6*/* 7*/* 8*/* 9*/*10*/*11*/int a10, i, j, k;for ( i = 0; i 10; i+ ) scanf( %d, &ai );for ( i = 0; i 10; i+

11、)k = 0;for ( j = i; j 10; j+ )if ( ai = aj )k +;if ( k = 1 )printf( %d , aj );(043 試卷)7 / 10四、程序填空(12分,每填空2分)閱讀下列問題描述和相應的 C程序,把應填入其中(n) 處的內(nèi)容寫在答卷紙的對應欄內(nèi)。(1)以下程序輸入4個整數(shù),按以下示例的形式輸出。如輸入:5 6 7 8則輸出:(第一行為輸入數(shù)字,下一行是上一行向右偏移一個數(shù)字)5 6 7 88 5 6 77 8 5 66 7 8 5#i nclude #defi ne M 4mai n()int i,j,k,m,aM;for ( i = 0

12、; i 0; i-)for ( m = 0; m 0; j-) aj=;a0 = k;(2)以下merge函數(shù)將兩個已排序(從小到大)的鏈表合并,在 合并的過程保持排序,主函數(shù) main用于測試merge函數(shù)。#i nclude struct nodeint num;struct node *n ext;;struct node *merge(struct node *head1, struct node *head2) /*head1為鏈表1的頭指針,head2為鏈表2的頭指針*/ struct node *p1, *p2, head, *q=&head;for ( p1=head1,p2=

13、head2; p1!=NULL & p2!=NULL;)/*p1指向鏈表1當前節(jié)點,p2指向鏈表2當前節(jié)點*/if ( p1- num num )q-n ext = p1;p1 = p1- n ext;elseq-n ext = p2;p2 = p2-n ext;;if ( p1 = NULL )q-n ext = p2;if ( p2 = NULL )q-n ext = p1;return (5);mai n()struct node Ist1 = 20,0,30,0,60,0;struct node lst2 = 10,0,40,0,50,0;struct node *head, *p;i

14、nt i;for ( i = 0; i num );prin tf( n);程序運行結(jié)果為:10 20 30 40 50 60(043)上海大學2004-2005年春季學期答案 2005.6課程名:程序設計基礎(C)學分:_5學號:姓名:學院/教師:題號一一一-二-三四卷面上機總分題分20308127020r 90得分小題第一題答欄(基礎題)20%2分1x = 43y = 972假假3812434525n %10 = n/100%10 或 n %10 = n%1000/1006x - (int)x7(n+k-1)/k 或n %k=0 ? n/k : n/k+1或n/k + (n %k0)8ch

15、=ch= a & ch= z ? ch- a + A: ch;9for (i=0;i10;i+) scanf( %d ”,&ai); for (i=0;i10;i+) scanf( %d ” ,a+i); for (p=a;pa+10;p+) scanf( %d ”,p);或10for (i=0;i3;i+) puts( pci); for (i=0;i3;i+) printf( %sn ” ,pci); puts(pc0); puts(pc1); puts(pc2);或9/10中的變量i可用其它變量名代替小題第二題答欄(閱讀程序)30%3分/格122 21 20 19 18 17231,28,31,30,31,30310 = 3 + 712 = 5 + 714 = 3 + 114#*#* * * * * *#* *#510,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論