c語言期末復習試題(附答案)_第1頁
c語言期末復習試題(附答案)_第2頁
c語言期末復習試題(附答案)_第3頁
c語言期末復習試題(附答案)_第4頁
c語言期末復習試題(附答案)_第5頁
免費預覽已結束,剩余7頁可下載查看

下載本文檔

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

文檔簡介

1、c 語言期末復習試題(附答案)試卷編號: 11201所屬語言:C 語言試卷方案:C 語言期末考試試卷總分:100 分共有題型:4 種一、單項選擇 共 30 題 (共計 60 分) 第 1 題 (2.0 分)設有定義 :int k=0;, 以下選項的四個表達式中與其他三個表達式的值不相同的是( A ).A:k+B:k+=1C:+k D:k+1 第 2 題 ( 2.0 分) 已知 int i=5, 執行語句 i+=+i 后 , i 的值是 ( C). A:10B:11C:12D:A、B、C都不對 第 3 題 ( 2.0 分) 以下程序的功能是: 給 r 輸入數據后, 計算半徑為r 的圓面積 s.

2、程序在編譯時出錯.#include <stdio.h> void main( ) /* Beginning */ int r; float s;scanf("%d",&r);s=p*r*r; printf("s=%fn",s);出錯的原因是( D ).A: 注釋語句書寫位置錯誤B: 存放圓半徑的變量r 不應該定義為整型C: 輸出語句中格式描述符非法D: 計算圓面積的賦值語句中使用了非法變量 第 4 題 ( 2.0 分)"ABC " 的長度是(B ).A:11 B:7 C:5 D:3 第 5 題 ( 2.0 分) 已

3、知intj,i=1;,執行語句j= i+;后,j的值是(C ).A:1B:2C:-1D:-2第 6 題 ( 2.0 分)有以下程序:#include <stdio.h>void main( ) int s=0, a=1, n;scanf("%d", &n);dos+=1; a=a 2;while(a!=n);printf("%dn", s);若要使程序的輸出值為 2, 則應該從鍵盤輸入給n 的值是 ( B ).A:-1B:-3C:-5D:0第 7 題 ( 2.0 分)執行以下程序后 , 輸出的結果是( D ).#include <

4、;stdio.h>void main( ) int y=10;doy -;while( y);printf("%d'n",y);A:-1B:1C:8D:0第 8 題 ( 2.0 分)以下循環體的執行次數是( C ).#include <stdio.h>void main( ) int i,j;for(i=0,j=1; i<=j+1; i+=2, j)printf("%d'n",i);A:3B:2C:1D:0第 9 題 ( 2.0 分)c 語言期末復習試題(附答案)有以下程序段:int k=0;while(k=1)k

5、+;while 循環執行的次數是( A ).A: 無限次B: 有語法錯誤 , 不能執行C:1 次也不執行D: 執行 1 次第 10 題 (2.0 分)有以下程序#include <stdio.h>void main( ) int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%dn",m,n,p);若想從鍵盤上輸入數據,使變量m中的值為123,n中的值為456,p中的值為789,則正確的輸入是( A ).A:m=123n=456p=789B:m=123 n=456 p

6、=789C:m=123,n=456,p=789D:123 456 789第 11 題 ( 2.0 分)設變量已正確定義, 以下能正確計算f=n! 的程序段是( D)A:f=0;for(i=1;i<=n;i+) f*=i;B:f=1;for(i=1;i<n;i+) f*=i;C:f=1;for(i=n;i>1;i+) f*=i;D:f=1;for(i=n;i>=2;i) f*=i;第 12 題 (2.0 分)在下列程序中 , 沒有構成死循環的程序段是( B ).A: int i=100;while(1)i=i%100+1;if(i>100) break;B:int

7、k=1000;do+k; while(k>=10000);C:for(;);D:int s=36; while(s); -s;第 13 題 (2.0 分)有如下程序:#include <stdio.h>void main( ) int n=9;while(n>6) n-;printf("%d",n);該程序段的輸出結果是( B ).A:987B:876C:8765D:9876第 14 題 (2.0 分)以下程序的輸出結果是( D ).#include <stdio.h>void main( ) int x=10,y=10,i;for(i=

8、0;x>8;y=+i)printf("%d %d ",x,y);A:10 1 9 2B:9 8 7 6C:10 9 9 0D:10 10 9 1第 15 題 (2.0 分)有如下程序:#include<stdio.h>void main( ) int n5=0,0,0,i,k=2;for(i=0;i<k;i+) printf("%dn",nk);該程序的輸出結果是( D ).A: 不確定的值B:2C:1D:0第 16 題 (2.0 分)下列程序執行后的輸出結果是( A ).#include<stdio.h>void m

9、ain( ) char arr24;strcpy(arr,"you"); strcpy(arr1,"me");arr03='&'printf("%s n",arr);A:you&meB:youC:meD:err第 17 題 (2.0 分)以下程序的輸出結果是( C ).#include<stdio.h>void main( ) int i, x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+) printf("%d,",xi2i);A:1,5,

10、9,B:1,4,7,C:3,5,7,D:3,6,9,第 18 題 (2.0 分)以下數組定義中不正確的是( D ).A:int a23;B:int b 3=0,1,2,3;C:int c100100=0;D:int d3 =1,2,1,2,3,1,2,3,4;第 19 題 (2.0 分)以下能正確定義數組并正確賦初值的語句是( D ).A:int N=5,bNN;B:int a12=1,3;C:int c2 =1,2,3,4;D:int d32=1,2,3,4;第 20 題 ( 2.0 分)有以下程序:int a=4;int f(int n)int t=0; static int a=5;if

11、(n%2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+;main( )int s=a,i=0;for( ; i<2; i+) s+=f(i);printf("dn",s);程序運行后的輸出結果是( B)A:24B:28C:32D:36第 21 題 ( 2.0 分)以下正確的函數定義形式為 ( A)A:double fun(int x, int y)B:double fun(int x; y)C:double fun(int x; int y)D:double fun(int x, y)第 22 題 ( 2.0 分)

12、C 語言規定 , 函數返回值的類型是由 ( D)A:return 語句中的表達式類型所決定的B: 調用該函數時的主調函數類型所決定的C: 調用該函數時系統臨時決定的D: 在定義該函數時所指定的函數類型所決定的第 23 題 ( 2.0 分)有以下程序:輸出結果是() (注: 5353 )void swap1(int c0 , int c1 ) int t ;t=c00; c00=c10; c10=t;void swap2(int *c0, int *c1) int t;t=*c0; *c0=*c1; *c1=t;main( ) int a2=3,5, b2=3,5;swap1(a, a+1);

13、swap2(&b0, &b1);printf("%d %d %d %dn",a0,a1,b0,b1);A:3 5 5 3B:5 3 3 5C:3 5 3 5D:5 3 5 3第 24 題 ( 2.0 分)以下程序的輸出結果是( A ).amovep(int*p, int (*a)3,int n) int i, j;for( i=0;i<n;i+)for(j=0;j<n;j+) *p=aij;p+; main( ) int *p,a33=1,3,5,2,4,6;p=(int *)malloc(100);amovep(p,a,3);printf(&q

14、uot;%d %d n",p2,p5);free(p);A) 5 6B) 2 5C) 3 4D) 程序錯誤第 25 題 ( 2.0 分)有以下函數:fun(char *a,char *b) while(*a!='0')&&(*b!='0')&&(*a=*b) a+; b+; return (*a*b); 該函數的功能是( D ).A: 計算 a 和 b 所指字符串的長度之差B: 將 b 所指字符串復制到a 所指字符串中C: 將 b 所指字符串連接到a 所指字符串后面D: 比較 a 和 b 所指字符串的大小第 26 題 (

15、 2.0 分)有以下程序:fun(char p 10) int n=0,i;for(i=0;i<7;i+)if(pi0= 'T' ) n+;return n;main( ) char str 10="Mon","Tue","Wed","Thu","Fri","Sat","Sun" printf("%dn",fun(str);程序執行后的輸出結果是( B ).A:1B:2C:3D:0第 27 題 ( 2.0 分)有以

16、下程序:main( ) char str10="China","Beijing",*p=str;printf("%sn",p+10);程序運行后的輸出結果是( B ).A:ChinaB:BeijingC:ngD:ing第 28 題 ( 2.0 分)有以下程序:#define f(x) (x*x)main( ) int i1, i2;i1=f(8)/f(4)i2=f(4+4)/f(2+2)printf("%d,%dn",i1,i2);程序運行后的輸出結果是( C ).A:64, 28B:4, 4C:4, 3D:64,

17、 64第 29 題 ( 2.0 分)有以下程序:結果是(A)void change(int k ) k0=k5; main( ) int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n<=4) change(&xn); n+; for(n=0;n<5;n+) printf("%d",xn);printf("n");A) 678910B) 13579C) 12345D) 62345A:678910B:13579C:12345D:62345第 30 題 ( 2.0 分)在以下程序中 , 能夠通過調用函數fun(

18、), 使 main( ) 函數中的指針變量 p 指向一個合法的整型單元的是 ( C ).A:main( )int *p;fun(p);int fun(int *p) int s;p=&s; B:main( ) int *p;fun(&p);int fun(int *p) int s;*p=&s; C:#include <stdlib.h>main( ) int *p;fun(&p);int fun(int *p) *p=(int*)malloc(2); D:#include <stdlib.h>main( ) int *p;fun(p);

19、int fun(int *p) p=(int*)malloc(sizeof(int); 二、程序填空共 1 題 (共計 10 分)第 1 題 ( 10.0 分)/*【程序填空】功能:計算平均成績并統計90 分以上人數。*/ main() int n,m;float grade,average;/ 此處為:/*SPACE*/average=n=m=while(1)/*SPACE*/【 ? 】 ("%f",&grade);if(grade<0) break;n+;/ 此處為: scanfaverage+=grade;/*SPACE*/if(grade<90)

20、/ 此處為: breakm+;if(n) printf("%.2f%dn",average/n,m);三、程序改錯共 1 題 (共計 10 分)第 1 題 ( 10.0 分)/*【程序改錯】功能:首先把b 所指字符串中的字符按逆序存放, 然后將 a 所指字符串中的字符和b 所指字符串中的字符,按排列的順序交叉合并到 c 所指數組中,過長的剩余字符接在 c 所指數組的尾部。例如:當 a 所指字符串中的內容為“ abcdefg”, b 所指字符串中的內容為“1234”時,c 所指數組中的內容應該為“ a4b3c2d1efg ”;而當 a 所指字符串中的內容為“1234”,b 所

21、指字符串中的內容為"abcdefg”時,c所指數組中的內容應該為“ 1g2f3e4dcba ”。*/#include <conio.h> #include <stdio.h> #include <string.h> void fun( char *a, char *b, char *c ) int i , j;char ch;i = 0;j = strlen(b)-1;/*FOUND*/while ( i > j )/ 此處 > 改為 <ch = bi;bi = bj;bj = ch; i+; j-;/*FOUND*/while

22、( *a &&*b )/if ( *a )此處 &&改為|( 邏輯或 )*c = *a;c+;/*FOUND*/a+;/ 此處 a+if ( *b )*c = *b;c+;b+;*c = 0;main()char s1100,s2100,t200;clrscr();printf("nEnter s1 string : ");scanf("%s",s1);printf("nEnter s2 string : ");scanf("%s",s2);fun( s1, s2, t );printf("nThe result

溫馨提示

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

評論

0/150

提交評論