C語言知識學習第七,八章補充作業(yè)任務-答案解析_第1頁
C語言知識學習第七,八章補充作業(yè)任務-答案解析_第2頁
C語言知識學習第七,八章補充作業(yè)任務-答案解析_第3頁
C語言知識學習第七,八章補充作業(yè)任務-答案解析_第4頁
C語言知識學習第七,八章補充作業(yè)任務-答案解析_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、【1】【2】【3】【4】【5】第七章數(shù)組補充作業(yè)在C語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是A )整型常量B)整型表達式C)整型常量或整型表達式D)任何類型的表達式以下對一維整型數(shù)組 a的正確說明是若有說明:int a(10);int n;scanf( “ %d ”,&n);int an;B) int n=10,an;D) #define SIZE 10int aSIZE;int a10;則對a數(shù)組元素的正確引用是a10 B) a3.5C) a(5)以下能對一維數(shù)組 a進行正確初始化的語句是A) int a10=(0,0,0,0,0);C) int a=0;以下對二維數(shù)組 a

2、的正確說明是A) int a3;C) float a(3,4);D) a10-10B) int a10=;D) int a10=10*1;B) double a14;D) float a(3)(4);【6】若有說明:int a34;則對a數(shù)組元素的正確引用是2 A)a24B)a1,3C)a(2)(1)D) a1+10【7】以下不能對二維數(shù)組a進行正確初始化的語句是int a23=0;int a3=1,2,0;int a23=1,2,3,4,5,6;int a3=1,2,3,4,5,6;【8】指出下面各說明語句中哪些是合法的:(多選)A. i nt abcd0x80;B. char 9ab10;

3、C. char chi-200;D. i nt aaa5=3,4,5;E. float key=3.0,4.0,1,0;F. char disk;G. int n,floppyn;H. i nt cash4=1,2,3,4,5,6;答案:ADE【9】下面程序中有錯誤的行是(每行程序前面的數(shù)字表示行號)。1 mai n()float a3=1;int i;scanf( “%d ”,&a);for(i=1;i<3;i+) a0=a0+ai;printf( “a0=%dn ” ,a0);A) 3B) 6C) 7D) 510】請回答下列問題。(1)array 是一個一維整形數(shù)組,有10個

4、元素 ,前 6 個元素的初值是 9,4,7,49,32,-5, 請寫出正確的說明語句。(2)該數(shù)組下標的取值范圍是從(從小到大 )。(3) 如何用 scanf 函數(shù)輸入數(shù)組的第二個元素。(4) 如何用賦值語句把 39 存入第一個元素。(5) 如何表示把第六個和第四個元素之和存入第一個元素。答案: int array10 = 9,4,7,49,32,-5;scanf("%d",&array1);array0 = 39;array0 = array5 + array3;【11】若二維數(shù)組a有m列,則計算任元素aij在數(shù)組中位置的公式為A。(假設a00位于數(shù)組的第一個位置

5、上。)i*m+j+1B) j*m+iC) i*m+j-1D) i*m+j【12】若有說明:int a3=1,2,3,4,5,6,7;則a數(shù)組第一維的大小是C)D )無確定值【13】定義如下變量和數(shù)組:int k;int a33=1,2,3,4,5,6,7,8,9;則下面語句的輸出結(jié)果是Afor(k=0;k<3;k+) prin tf("%d",ak2-k);A ) 3 5 7 B) 3 6 9 C) 1 5 9【14】若有以下程序段:int a=4,0,2,3,1; i,j,t;for(i=1;i<5;i+)t=ai; j=i-1;while( j>=0&

6、amp;&t>aj) a j+1=aj; j-; aj+1=t;則該程序段的功能是對數(shù)組a進行插入排序(升序)對數(shù)組a進行插入排序(降序)對數(shù)組a進行選擇排序(升序)對數(shù)組a進行選擇排序(降序)【題15】當運行以下程序時,從鍵盤輸入:AhaMA Aha<CR>(<CR>表示回車),則下面程序的運行結(jié)果是#in elude <stdio.h>mai n()char s80,c='a'i+;int i=0;scanf( “ %s ”,s);while(si!=0 ')if(si=c) si=si-32;else if(si=

7、c-32) si=si+32;puts(s);A)ahAMaB)AhAMaC)AhAMa ahAD )ahAMa ahA題 16 】設數(shù)組a 包括 10 個整型元素。下面程序的功能是求出 a 中各相鄰兩個元素的和,并將這些和存在數(shù)組 b 中,按每行 3 個元素的形式輸出。請?zhí)羁?。main()int a10,b10,i;for(i=0;i<10;i+)scanf( “%d ” ,&ai);for( 【1 】;i<10;i+)for(i=1;i<10;i+)printf( “%3d ” ,bi);1】i=1if( 【3】=0) printf( “n ”);2】bi=ai+

8、ai-1【3 】(i%3)題 17 】下面程序?qū)⑹M制整數(shù)轉(zhuǎn)換成 n 進制。請?zhí)羁铡ain()int i,base,n,j,num20;printf(Enter data that will be convertedn”);scanf(%d ”,&n);printf(Enter basen ” );scanf(%d”,&base);doi+;numi=n1】 base;n=n 【2 】base;while(n!=0);printf( “ The data %d has been converted into the %d-basedata:n ”,n,base);for( 【

9、3 】)1】printf( “%d ”,numj);2】/3】 j=i; j>=1; j-題 18 】下面程序的功能是將二維數(shù)組a 中每個元素向右移一列,最右一列換到最左一列,移后的數(shù)組存到另一二維數(shù)組 b 中,并按矩陣形式輸出 a 和 b 。請?zhí)羁?。array a:array b:4 5 66 4 51 2 33 1 2例如:main()int a23=4,5,6,1,2,3,b23;int i,j;printf( “array a:n ” );for(i=0;i<=1;i+)for(j=0;j<3;j+)printf( “%5d ” ,aij);1】;printf( “

10、n ”);for(2 】 ;i+) bi0=ai2;printf( “array b:n ” );for(i=0;i<2;i+)for( j=0;j<3;j+)printf( “%5d ” ,bij);3】;3】 printf( “ n ” )1 】bi j+1=ai j【2】i=0;i<2編程答案:1#define M 50main()Tn ”);int aM, c5, i, n = 0, x;printf( “Enter 0 or 1 or 2 or 3 or 4, to end with scanf( “%d”, &x);while (x != -1)if (x

11、 >= 0 && x <= 4)an = x;n+;scanf( “%d ” , &x);for (i=0; i<5; i+)ci = 0;for (i=0; i<n; i+)cai+;”);printf( “ The result is:nfor (i=0; i<=4; i+)printf( “ %d:%dn,i ci);2printf( “n ”);main()int a 55, i, j, n = 1;for (i=0; i<5; i+)for (j=0; j<5; j+)aij = n+;printf( “ The re

12、sult is:n”);for (i=0; i<5; i+)for (j=0; j<=i; j+)printf( “ %4d, ai j);i+;3printf( “ n ”);#include <stdio.h>#include <string.h>main()char a80, b =a I ”ab ” , max;int i = 1, j;printf( “ Input a stringn ” );gets(a);puts(a);max = a0;while (ai != 0 ')if (ai > max)max = ai;j = i;f

13、or (i=strle n( a)+2; i>j; i-)ai = ai-2;ai+1= ai+2=puts(a);第八章【題1】以下正確的說法是建立函數(shù)的目的之一是A)提高程序的執(zhí)行效率提咼程序的可讀性 減少程序的篇幅 減少程序文件所占內(nèi)存【題2】以下正確的說法是B 。A)用戶若需調(diào)用標準庫函數(shù),調(diào)用前必須重新定義用戶可以重新定義標準庫函數(shù),若如此,該函數(shù)將失去原有含義 系統(tǒng)根本不允許用戶重新定義標準庫函數(shù)用戶若需調(diào)用標準庫函數(shù),調(diào)用前不必使用預編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動去調(diào)【題若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則正確的說法是該函數(shù)沒有返回值返回

14、若干個系統(tǒng)默認值 能返回一個用戶所希望的函數(shù)值返回一個不確定的值【題以下不正確的說法是C語言規(guī)定實參可以是常量、變量或表達式形參可以是常量、變量或表達式 實參可以為任意類型形參應與其對應的實參類型一致【題以下正確的說法是定義函數(shù)時,形參的類型說明可以放在函數(shù)體內(nèi)return后邊的值不能為表達式如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準如果形參與實參的類型不一致,以實參類型為準題 6 】以下程序是選出能被 3 整除且至少有一位是 5 的兩位數(shù),打印出所有這樣的數(shù)及其個數(shù)。請選擇填空。sub(int k,int n)int a1,a2;main()a2= 【1 】;a1=k- 【 2】;

15、為: C)為: A )if(k%3=0&&a2=5)|(k%3=0&&a1=5)printf( “%d ”,k);n+;return n;else return -1;int n=0,k,m;for(k=10;k<=99;k+)m=sub(k,n);1】if(m!=-1) n=m;2】printf( “nn=%dA) k*10A) a2*10B)”,n);B)k%10C)k/10D )k*10%10a2C)a2/10D )a2%10題 7 】折半查找法的思路是:先確定待查元素的范圍,將其分成兩半,然后測試位于中間點元素的值。如果該待查元素的值大于中間點元素

16、,就縮小待查范圍,只測試中點之后的元素;反之,測試中點之前的元素,測試方法同前。函數(shù)binary 的作用是應用折半查找法從存有 10 個整數(shù)的a 數(shù)組中對關(guān)鍵字 m 進行查找,若找到,返回其下標值;返回 -1 。請選擇填空。binary(int a10,int m)int low=0,high=9,mid;while(low<=high)mid=(low+high)/2;if(m<amid)【 1】;為: A )為: B)else if(m>amid) else return(mid);return(-1);【1】A) high=mid-1)low=mid+1C) high=

17、mid+1 D)low=mid-1【2】A ) high=mid-1)low=mid+1C ) high=mid+1 D)low=mid-1【題8】以下程序的正確運行結(jié)果是#defi ne MAX 10 int aMAX,i;mai n()printf(“n ”); sub1(); sub3(a); sub2(); sub3(a);sub2()int aMAX,i,max;max=5;for(i=0;i<max;i+) ai=i;sub1()for(i=0;i<MAX;i+) ai=i+i;sub3(int a)%d ”,ai);int i;for(i=0;i<MAX;i+)

18、 printf(printf( “n ”);A)0 2 4 6 8 10 12 14 16 1810B)0 2 4 6 8 10 12 14 16 18C)D)0 2 4 6 8 10 12 14 16 180 2 4 6 8 10 12 14 16 18題 9 】以下程序的功能是用遞歸方法計算五位學生的年齡,請?zhí)羁?。遞歸公式如下:(n 1)age(n)age(n 1) 2 (n 1)#include <stdio.h> age(int n)int c;if(n=1) c=10;else c= 【1 】;return(c);main()int n=5;printf( “age:%d

19、n ”,【 2】);2】 age(5)1】age(n-1)+2題 10 】以下 search 函數(shù)的功能是利用順序查找法從數(shù)組 a 的 10 個元素中對關(guān)鍵字 m 進行查找。 順序查找法的思路是: 從第一個元素開始, 從前向后依次與關(guān)鍵字比較, 直到找到此元素或查找到數(shù)組尾部時結(jié)束。若找到,返回此元素的下標;若仍未 找到,則返回值 -1 。請?zhí)羁铡?include <stdio.h>int search(int a10,int m)int i;for(i=0;i<=9;i+) if(【1 】)return(i);int i=4;return(-1);mai n()” ,no+

20、1););【1 】ai=m【2】a,m【3】no>=0int a10,m,i, no;no=search(【2】);if(【3 】)printf( “ nOK FOUND!%delse printf("n Sorry Not Found! ”【題11】以下程序的運行結(jié)果是#in clude <stdio.h> int k=1;mai n()fun (i);printf(“ (1) %d,%dn,i,k);fun (i nt m)m+=k; k+=m;char k= B'printf( “ %dn,k- A');printf(“ (3) %d,%dn,m,k);(2)1(3)5,6(1)4,6【題12】以下程序的運行結(jié)果是int n=1;mai n()static int x=5; int y;y=n;printf( “ MAIN:x=%2d y=%2d n=%2dn,x,y, n);func()func();printf( “ MAIN:x=%2d y=%2d n=%2dn,x,y, n);func();static int x=4; int y=10;x=x+2;n=n+10;y=y+n;,x,y, n);printf( “ FUNC:x=%2d y=%2d n=%2dnMAIN:x=5 y=1 n=1FANC:x=6 y=21 n

溫馨提示

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

評論

0/150

提交評論