




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1 / 19 第 2 章程序設(shè)計基礎(chǔ)習(xí)題答案 一、選擇題 1.D 2.D 3.B 4.C 5.A 6.C 7.C 8.D 9.C 10.C 11.D 12.B 13.B 14.B 15.B 16.A 17.B 18.C 19.B 20.D 21.D 22.A 23.C 24.C 25.A 26.C 27.C 28.B 29.D 30.D 31.C 32.C 33.B 34.C 35.D 36.C 37.A 38.D 39.B 40.B 41.A 42.A 43.B 44.C 45.A 46.D 47.A 48.C 49.D 50.A 二、填空題 1. y = x (int)x 2. (y=x) if(j+|k+) 執(zhí)行后輸出結(jié)果是() (A)1,1,2 (B)2,2,1 (C)2,2,2 (D)2,2,3 2.對于 int x, y; 語句 if (x=0) if (x) y=1; else y= -1; B) if (x!=0) if (x0) y=1; else y= -1; else y=0; C) if (x0) y=1; else y=0; 3.C 語言中對嵌套 if 語句的規(guī)定是:else 總是與()配對。 (A)其之前最近的 if (B)第一個 if (C)縮進(jìn)位置相同的 if (D)其之前最近且不帶 else 的 if 4.在以下給出的表達(dá)式中,與 while(E)中的(E)不等價的表達(dá)式是() (A)(!E=0) (B)(E0|Ec 的值是 0 2. 已知 a、b、c 的值分別為 1、2 、3,則執(zhí)行下列語句后 a 和 c 的值分別是 3 和 2 。 if(a+0) D) if(strcmp(str1,str2)0) 26. 有以下定義: char x=”abcdefg”;char y=a,b,c,d,e,f,g; 則正確的表述是_。 A 數(shù)組 x 和數(shù)組 y 等價 B 數(shù)組 x 和數(shù)組 y 的長度相同 C 數(shù)組 x 的長度大于數(shù)組 y 的長度 D 數(shù)組 x 的長度小于數(shù)組 y 的長度 27、對于 int i; char c, s20;從輸入序列 123ab45efg 中將 123 讀入 i; b讀入 c; “45efg”讀 入 s, 則 scanf 語句應(yīng)寫為:_。 A) scanf(“%da%c%s”, i, c, s) B) scanf(“%d%*c%c%s”, C) scanf(“%da%c%s”, 28、如果 char cc=“12345“,做 sizeof(cc)后的返回值應(yīng)為_。 A) 2 B) 5 C) 6 D) 1 29.有兩個字符數(shù)組 a,b,則以下正確的輸入語句是 _。 A)gets(a,b); B)scanf(“%s%s”,a,b); C)scanf(“%s%s”, D)gets(“a”),gets(“b”); 30.判斷字符串 a 和 b 是否相等,應(yīng)當(dāng)使用_。 A)if (a= =b) B)if (a=b) C)if (strcpy(a,b) D) if (strcmp(a,b)=0) 二、二、填空題 1.數(shù)組中的元素類型必須_,并由數(shù)組名和_唯一確定。相同;下標(biāo) 2.若有定義 double m20;則 m 數(shù)組元素的最小下標(biāo)是_,最大下標(biāo)是_。0 19 9 / 19 3.在 C 語言中,二維數(shù)組元素在內(nèi)存中的存放順序是按_存放的。行 4.若定義 int Num88;則第 10 個數(shù)組元素是_。Num11 5.若 int i=2,t 3=9,8,7,6,5,4,3,2,1;則 t2-ii的值是_。7 6.若有定義 int a35=1,2,3,4,3,2,1,0,0;則初始化后 a12的值是_,a21的值 是_。 1 0 7.若 a 被定義為二維數(shù)組,它有 m 列,則 aij在數(shù)組中的位置是_。 i*m+(j+1) 8.若定義 char str110,str220;則 strcmp(str1,str2)返回 0 表示_。str1 與 str2 相等 9.若定義: char Array 8=“China”,”USA”,”UK”,;則數(shù)組 Array 所占的內(nèi)存為_24_字節(jié)。 10.若有定義語句”static char str420=“thank”,”you”,”very”,”much!”;”, 則str數(shù)組中存儲0 的數(shù)組元素有_個。63 11.已知數(shù)組 a 中的元素已按由小到大順序排列,以下程序的功能是將輸入的一個數(shù)插入數(shù) 組 a 中,插入后,數(shù)組 a 中的元素依然由小到大順序排列。 int main() int a10=1,12,17,20,25,28,30; /*a0為工作單元,從 a1開始存放數(shù)據(jù)*/ int x,i,j=6; /*j 為元素個數(shù)*/ printf(“Enter a number:”); scanf(“%d”, a0=x; i=j; /*從最后一個單元開始*/ while(aix) a _ =ai; _; /*將比 x 大的數(shù)往后移一個位置*/ a+i=x; _; for(i=1;i=j;i+) printf(“%8d”,ai); printf(“n”); i+1 -i +j 12. 有以下程序: void sum(int a ) a0=a-1+a1; main( ) int a10=1,2,3,4,5,6,7,8,9,10; sum( printf(“%dn”,a2); 程序運行后的輸出結(jié)果是_。 6 13.執(zhí)行以下程序的輸出結(jié)果是_。3 7 15 #include main( ) int i,n4=1; for(i=1;i=3;i+) 10 / 19 ni=ni-1*2+1; printf(“%d”,ni); 14.有以下程序: void f(int b ) int i; for(i=2;i6;i+) bi*=2; main( ) int i, a10=1,2,3,4,5,6,7,8,9,10; f(a); for(i=0;i10;i+) printf(“%d,”,ai); 程序運行后的輸出結(jié)果是_。 1,2,6,8,10,12,7,8,9,10, 15.有以下程序: int main( ) int p7=11,13,14,15,16,17,18,i=0,k=0; while(i7 i+; printf(“%dn”,k); 執(zhí)行后的輸出結(jié)果是_。 24 16.假定 int 類型變量占用兩個字節(jié),其有定義:int x10=0,2,4;,則數(shù)組 x 在內(nèi)存中所占字 節(jié)數(shù)是_。 20 17.下面程序執(zhí)行時輸出的結(jié)果是:_。1 4 3 2 5 8 7 6 9 main() int a33=1,2,3,4,5,6,7,8,9,m,k,t; for(m=0;m=2;m+) for(k=0;k=m;k+) If(m+k)%2) t=amk,amk=akm,akm=t; for(m=0;m3;m+) for(k=0;k3;k+) printf(“%d”,amk); 18執(zhí)行完下列語句段后, i 值為:_。5 static int a34=1,2,3,4,5,6, i; i= a05; 19.下面程序段的輸出結(jié)果是_。3 5 7 int k,a33=1,2,3,4,5,6,7,8,9; for (k=0;k3;k+) printf(“%d”,ak2-k); 11 / 19 20.以下程序輸出的結(jié)果是_。FGH KL int main() char w 10=“ABCD”,”EFGH”,”IJKL”,”MNOP”,k; for(k=1;k3;k+) printf(“%s “, 21.請讀程序: #include int main() char s20,t20,min20; scanf(“%s”,s); scanf(“%s”,t); if(strcmp(s,t)0) strcpy(min,s); else strcpy(min,t); printf(“%sn”,min); 若分別輸入 candy 和 ann,則上面程序的輸出結(jié)果是:_。ann 22 執(zhí)行下列語句,寫出輸出結(jié)果。_16_ printf(“%d”, strlen(“thista078stringn”); 23. 閱讀程序給出輸出結(jié)果: Result 1 ABC34567 Result 2 12C34567 #include int main() char a10=“ABCD“, b10=“12345678“; int i, j=1; for(i=3; bi-1!=0; i+) ai=bi-1; a-i=0; printf(“ Result 1 “); puts(a); while ( aj+ != 0 ) bj=aj; printf(“ Result 2 “); puts(b); return 0; 12 / 19 第 5 章函數(shù)習(xí)題 一、選擇題 1設(shè)有下列變量說明與函數(shù)說明,則合法的函數(shù)調(diào)用語句是_。A int func( int a, int n ); int a10, n, x; A、x = func( a, n ); B、func( a, n ) = x; C、x = func( a, n ); D、x = func( a10, n ); 2以下選項中,合法的函數(shù)說明語句是_。A A、void func( char *a, char b); B、void func( char a, b); C、void func( char a; char *b); D、void func( char *a, *b ); 3調(diào)用函數(shù)時,基本類型變量作函數(shù)實參,它和對應(yīng)的形參_。A A、各自占用獨立的存儲單元 B、共占用一個存儲單元 C、同名時才能共用存儲單元 D、不占用存儲單元 4有以下程序片斷 float fun(int x, int y) return (x+y); main() int a=2,b=5,c=8; printf(“%3.0fn“, fun(int)fun(a+c,b), a-c); 程序運行_。B A、編譯出錯 B、輸出 9 C、輸出 21 D、輸出 9.0 5一個 C 語言程序中可以包含多個函數(shù),以下選項中,正確的是_。B A、函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套 B、函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套 C、函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套 D、函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套 6若有函數(shù)調(diào)用語句: func(rec1, rec2+rec3, (rec4, rec5); 則可以判斷該函數(shù)的參數(shù)個數(shù)是_。A A、3 B、2 C、5 D、有語法錯誤 7已知函數(shù)原型 int f(int)和 int g(int)。下列語句中,正確調(diào)用函數(shù)的語句是_。D A、int f(3); B、f( int g(3) ); C、int g( f(3) ); D、p=f( g(3) +1 ); 13 / 19 8C 程序中,return 語句的作用是_。D A、終止程序運行 B、返回到上層循環(huán) C、返回到外層結(jié)構(gòu) D、返回到上層函數(shù) 9在一個被調(diào)用函數(shù)中,關(guān)于 return 語句使用的描述,錯誤的是_。D A、被調(diào)用函數(shù)中可以不用 return 語句 B、被調(diào)用函數(shù)中可以使用多個 return 語句 C、被調(diào)用函數(shù)中,如果有返回值,就一定要有 return 語句 D、被調(diào)用函數(shù)中,一個 return 語句可返回多個值給調(diào)用函數(shù) 10以下敘述中不正確的是_。A A、在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效 B、在不同的函數(shù)中可以使用相同名字的變量 C、函數(shù)中的形式參數(shù)是局部變量 D、在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效 11以下不正確的說法是_。C A、實參可以是常量、變量或表達(dá)式 B、實參可以是任何類型 C、形參可以是常量、變量或表達(dá)式 D、形參應(yīng)與對應(yīng)的實參類型一致 12以下正確的說法是_。B A、實參與其對應(yīng)的形參共同占用一個存儲單元 B、實參與其對應(yīng)的形參各占用獨立的存儲單元 C、只有當(dāng)實參與其對應(yīng)的形參同名時才占用一個共同的存儲單元 D、形參是虛擬的,不占用內(nèi)存單元 13在 C 語言程序中,若對函數(shù)類型未加顯式說明,則函數(shù)的隱含類型為_。D A、void B、double C、char D、int 14要在 C 語言程序中使用系統(tǒng)函數(shù) sqrt( ),需要使用 include 命令包含_庫文件 A A、#include B、#include C、#include D、#include 15當(dāng)調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是_。B A、數(shù)組的長度 B、數(shù)組的首地址 C、數(shù)組每一個元素的地址 D、數(shù)組每一個元素中的值 16下列程序的運行結(jié)果是_。A #include int b=1; int fun(int x) static int b=3; b+=x; printf(“%d “,b); return b; 14 / 19 int main() int a=2; printf(“%dn“,fun(a+fun(b); return 0; A、4 10 10 B、6 6 8 C、3 3 9 D、10 10 4 二、程序填空題 1以下函數(shù) int sum(int x, int num)計算數(shù)組 x 前 num 個元素之和。在主函數(shù)中,輸入 10 個任意整數(shù)和下標(biāo) index1、index2 的值(設(shè) 1=index1=index2=9) ,調(diào)用 sum()函數(shù)計算 index1 元素到第 index2 元素的和,并輸出結(jié)果。 如輸入: 1 3 2 5 7 9 6 4 8 10 2 4 則輸出:Sum=14 例示說明:下標(biāo)從 2 至 4 的元素為 2、5、7,其累加為 14 源程序: #include int sum( int x, int num ) int i, s=0; for ( i=0; _(1)_; i+ ) /i=num s = _(2)_;/s=s+xi return s; void main() int i, index1, index2, result; int x10; for ( i=0; i10; i+ ) scanf( “%d“, scanf( “%d%d“, result = sum( x+index1, _(3)_ );/index-index1 printf( “Sum=%dn“, result ); 2輸入一個整數(shù),逆序后輸出。函數(shù) reverse(int number)的功能是返回 number 的逆序數(shù)。 例如 reverse(12345)的返回值是 54321。 運行示例: 輸入整數(shù): -1230 逆序后: -321 源程序: #include int reverse(int); void main( ) int in; _1_; /int m; printf(“輸入整數(shù):“); scanf(“%d“, m = _2_;/reverse(in); printf(“逆序后:%dn“,m); 15 / 19 getchar(); /*暫停程序,按任意鍵繼續(xù)*/ int reverse(int number) _3_;/int flag int res=0; flag = number 0 ? -1 : 1; /* flag 標(biāo)志正負(fù)數(shù) */ if(number 0) number = - number; while(number != 0) res = res*10 + number%10; _4_; /number=number/10; return _5_*res; /flag 3輸入一個長度小于 40 的字符串到數(shù)組 s,并復(fù)制到數(shù)組 t 中,再將 s 中的字符串逆序連 接到 t 的后面并輸出。例如:輸入“ABCD“,則字符串 t 為“ABCDDCBA“。 源程序: #include #include void main() char s80,t80; int i; _1_;/int m printf(“輸入字符串:“ ); scanf(“%s“,s); m=strlen(s); for(i=0; _2_;i+)/im ti=si; for(i=0;im;i+) tm+i=s_3_; /m-i-1 tm+i=0; printf(“新的字符串:_4_n“,t);/%s getchar(); /*暫停程序,按任意鍵繼續(xù)*/ 16 / 19 第 6 章指針與結(jié)構(gòu)體習(xí)題 一、選擇題答案 1 A 2 D 3 B 4 C 5 B 6 C 7 D 8 D 9 B 10 C 二、填空題答案 1. 3, +3 2. ABCD, A 3. len+; len; 4. 0 ch 0 0 ch q+ 0 5. studentsi.score 17 / 19 第第 7 章文件答案章文件答案 一、單選題 1在 C 語言中,下面對文件的敘述正確的是_。C A、用“r”方式打開的文件只能向文件寫數(shù)據(jù)。 B、用“R”方式也可以打開文件。 C、用“w”方式打開的文件只能用于向文件寫數(shù)據(jù),且該文件可以不存在。 D、用“a”方式可以打開不存在的文件。 2在 C 語言中,文件型指針是_。D A、一種字符型的指針變量 B、一種共用型的指針變量 C、一種枚舉型的指針變量 D、一種結(jié)構(gòu)型的指針變量 3 在 C 語言中, 所有的磁盤文件在操作前都必須打開, 打開文件函數(shù)的調(diào)用格式為: fopen(文 件名,文件操作方式);其中文件名是要打開的文件的全名,它可以是_。C A、字符變量名、字符串常量、字符數(shù)組名 B、字符常量、字符串變量、指向字符串的指針變量 C、字符串常量、存放字符串的字符數(shù)組名、指向字符串的指針變量 D、字符數(shù)組名、文件的主名、字符串變量名 4設(shè) fp 已定義,執(zhí)行語句 fp=fopen(“file“,“w“);后,以下針對文本文件 file 操作敘述的選 項中正確的是_。B A、寫操作結(jié)束后可以從頭開始讀 B、只能寫不能讀 C、可以在原有內(nèi)容后追加寫 D、可以隨意讀和寫 本題中用“w“方式打開文件,只能向文件寫數(shù)據(jù)。如果原來不存在該文件,則新創(chuàng)建一個以 指定名字命名的文件;如果已存在該文件,則把原文件刪除后重新建立一個新文件,而不是 把內(nèi)容追加到原文件后。 5標(biāo)準(zhǔn)庫函數(shù) fgets(s,n,f)的功能是_。 B A、從文件 f 中讀取長度為 n 的字符串存入指針 s 所指的內(nèi)存。 B、從文件 f 中讀取長度不超過 n-1 的字符串存入指針 s 所指的內(nèi)存。 C、從文件 f 中讀取 n 個字符串存入指針 s 所指的內(nèi)存。 D、從文件 f 中讀取長度為 n-1 的字符串存入指針 s 所指的內(nèi)存。 6 若 fp 是指向某文件的指針, 且已讀到該文件的末尾, 則函數(shù) feof(fp)的返回值是_。 C A、EOF B、 -1 C、非零值 D、 NULL 7在 C 語言中,緩沖文件系統(tǒng)是指_。 B A、緩沖區(qū)是由用戶自己申請的 B、緩沖區(qū)是由系統(tǒng)自動建立的 D、緩沖區(qū)是根據(jù)文件的大小決定的 D、緩沖區(qū)是根據(jù)內(nèi)存的大小決定的 8如果要將存放在雙精度型數(shù)組 a10中的 10 個雙精度型實數(shù)寫入文件型指針 fp1 指向的 文件中,正確的語句是_。C A、for(i=0;i80;i+) fputc(ai,fp1); B、for(i=0;i10;i+) fputc( 18 / 19 C、for(i=0;i10;i+) fwrite( D、fwrite(fp1,8,10,a); 9如果將文件型指針 fp 指向的文件內(nèi)部指針置于文件尾,正確的語句是_。D A、feof(fp); B、rewind(fp); C、fseek(fp,0L,0); D、fseek(fp,0L,2); 10如果文件型指針 fp 指向的文件剛剛執(zhí)行了一次讀操作,則關(guān)于表達(dá)式“ferror(fp)”的正確 說法是_。D A、如果讀操作發(fā)生錯誤,則返回 1 B、如果讀操作發(fā)生錯誤,則返回 0 C、如果讀操作未發(fā)生錯誤,則返回 1 D、如果讀操作未發(fā)生錯誤,則返回 0 11以下程序執(zhí)行后 abc.dat 文件的內(nèi)容是_。B #include int main() FILE *pf; char *s1=“China“,*s2=“Beijing“; pf=fopen(“abc.dat“,“wb+“); fwrite(s2,7,1,pf); rewind(pf); /*文件位置指針回到文件開頭*/ fwrite(s1,5,1,pf); fclose(pf); return 0; A、China B、Chinang C、ChinaBeijing D、BeijingChina “wb“用于打開或建立二進(jìn)制文件并允許對其進(jìn)行讀和寫操作。文件操作先寫入了 s2,然 后將文件指針移動
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 材料力學(xué)與智能材料性能應(yīng)用拓展研究開發(fā)創(chuàng)新應(yīng)用重點基礎(chǔ)知識點
- 消防中控室火災(zāi)應(yīng)急預(yù)案(3篇)
- 地鐵火災(zāi)應(yīng)急預(yù)案研究(3篇)
- 追求卓越與平凡的2024年高考作文試題及答案
- 2025年VB考試嚴(yán)選試題及答案全貌
- 行政管理考試典型案例分析:試題及答案
- 木工廠火災(zāi)應(yīng)急預(yù)案(3篇)
- 2025年社會變遷與風(fēng)險管理策略試題及答案
- 計算機科學(xué)發(fā)展現(xiàn)狀試題及答案
- 校園防火災(zāi)應(yīng)急預(yù)案(3篇)
- 汽車定點洗車協(xié)議書
- 抖音直播電商供應(yīng)鏈服務(wù)及品牌授權(quán)與管理合同
- 2025央國企CIO選型指南-ERP產(chǎn)品
- 【MOOC答案】《光纖光學(xué)》(華中科技大學(xué))章節(jié)作業(yè)期末慕課答案
- 2025內(nèi)蒙古工程咨詢監(jiān)理有限責(zé)任公司招聘監(jiān)理項目儲備庫人員400人筆試參考題庫附帶答案詳解
- 江蘇省南京市、鹽城市2025屆高三年級5月第二次模擬考試化學(xué)試題及答案(南京鹽城二模)
- 上海市金山區(qū)2025屆高三下學(xué)期二模數(shù)學(xué)試卷(含答案)
- 【MOOC】宇宙簡史-南京大學(xué) 中國大學(xué)慕課MOOC答案
- 華為內(nèi)部控制PPT培訓(xùn)課件
- 學(xué)院“課程思政”建設(shè)管理辦法(新)
- 室外總平施工方案17345
評論
0/150
提交評論