C程序設計-復習題_第1頁
C程序設計-復習題_第2頁
C程序設計-復習題_第3頁
C程序設計-復習題_第4頁
C程序設計-復習題_第5頁
免費預覽已結束,剩余10頁可下載查看

下載本文檔

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

文檔簡介

1、 C 程序設計復習題一、選擇題1、以下敘述中錯誤的是CA)一個 C 程序中可以包含多個不同名的函數B)一個 C 程序只能有一個主函數C)C程序在書寫時,有嚴格的縮進要求,否則不能編譯通過D)C程序中主函數必須用main 作為函數名2、設有以下語句char ch1, ch2; scanf(%c%c,&ch1,&ch2);若要為變量ch1 和 ch2 分別輸入字符A 和 B, 正確的輸入形式應該是BA)A和 B 之間用逗號間隔B)A 和 B 之間不能有任何間隔符C)A和 B 之間可以用回車間隔D)A和 B 之間用空格間隔3、以下選項中非法的字符常量是DA)101B)65C)xffD

2、)0194、有以下程序#includemain( ) int a=0, b=0, c=0;c=(a- =a-5); (a=b,b+=4);printf(%d,%d,%dn,a,b,c); A程序運行后的輸出結果是A)0,4,5B)4,4,5C)4,4,4D)0,0,05、有以下程序#includemain()int a;scanf(%d,&a);if(a+9) printf(%dn,a);else printf(%dn,a-); A程序運行時從鍵盤輸入9,則輸出結果是A)10B)11 C)9 D)86、有以下程序#includemain( )int s=0, n;for( n=0; n

3、3; n+ ) switch(s) case0:case 1: s+=1; case 2: s+=2; break;case 3: s+=3;default: s+=4;printf(%d,s);C程序運行后的輸出結果是A)1,2,4, B)1,3,6, C)3,10,14, D)3,6,10,7、有以下程序# include main( )char a,b,c; b=1;c=A;for (a=0; a6; a+)if(a%2) putchar(b+a); elseputchar(c+a); C程序運行后的輸出結果是A)1B3D5FB)ABCDEFC)A2C4E6D)1234568、設有如下定

4、義語句int m=2,4,6,8,10, *k=m;以下選項中,表達式的值為6的是 AA)*(k+2)B)k+2C)*k+2D)*k+=29、 fun 函數的功能是:通過鍵盤輸入給x 所指的整型數組所有元素賦值。在下劃線處應填寫的是#include#defineN 5voidfun(intxN) int m;for(m=N-1;m=0; m-) scanf( %d, _ ); DA)&x+mB)&xm+1C)x+(m+)D)x+m10、若有函數voidfun(doublea, int*n) . 以下敘述中正確的是CA)調用 fun 函數時只有數組執行按值傳送,其他實參和形參之間

5、執行按地址傳送B) 形參 a 和 n 都是指針變量C)形參 a 是一個數組名, n 是指針變量1D)調用 fun 函數時將把double 型實參數組元素一一對應地傳送給形參a 數組11、 C 語言源程序的基本單位是( )。 CA. 程序行B.語句C.函數D.字符12、在 C 語言中,要求運算的數必須是整數的運算符是() CA./B.!C.%D.= =13、設有語句int a =3;則執行了語句a + = a - = a*a;后,變量a 的值() DA、3B、0C、9D、-1214、執行下列程序時輸入:1234567,程序的運行結果是()main( ) int x,y;scanf(“%2d%*2

6、c%1d” ,&x,&y);printf(“ %dn” ,x+y); AA.17B.46C.15D.915、下述程序的輸出結果是()#includevoid main( )int x=-1,y=4;int k;k=+x=0&!(y-5)printf(“ %d” ,x);else printf(“ %dn”,x-); A.7和 5B.6和 3C.7和 4D.6和 418、若變量 c 為 char 類型,能正確判斷出c 為小寫字母的表達式是()DA. a=c= a)|(c= z)C. (a=c)D. (c= a)&(c= z)19、以下程序的輸出結果為main( )

7、int i,f1,f2; f1=f2=1; for(i=0;i4;i+)printf(“ %d%d” ,f1,f2); f1+=f2; f2+=f1; BA.12345678B.1123581321C.1135791113D.1357911131520、以下程序段()。x=-1;do x=x*x;while(! x); CA.是死循環C.循環執行一次有語法錯誤21、執行語句 for (i=1;i+4;) ;后變量 i的值是( C)。A 3B4C5D不定22、在定義 int a56;后,第10個元素是(C)。A.a25B.A24C.a13D.a1523、定義如下變量的數組:2int i;int

8、x33=1,2,3,4,5,6,7,8,9;則下列語句的輸出結果是()for(i=0;i3;i+) printf(“ %d” ,xi2-i); CA.159B.147C.357D.36924、設 int * p,i;以下正確的語句是()。 BA.*p=10;B.i=p ;C.i=*p;D.p=2*p+1;25、有以下函數#include viod func(int n)int i;for(i=0;i6B) (3!=4)2C) 3=4|3D) (34)= =127、有以下程序#includemain() inta=-2,b=0;while(a+&+b);printf(%d,%dn,a,b

9、); 程序運行后的結果是A)1,3B)0,2C)0,3D)1,228、設有定義: int x=0,*p;,立刻執行以下語句,正確的語句是A) p=x;B) *p=x;C) p=NULL;D) *p=NULL29、下列敘述中正確的是A)可以用關系運算符比較字符串的大小B) 空字符串不占用內存,其內存空間大小為0兩個連續的單引號是合法的字符常量%)兩個連續的雙引號是合法的字符串常量30、有以下程序include main( ) char a=H;a=(aA&a=Z)?(a-A+a):a;printf(%cn,a); 程序運行后的輸出結果是A) AB) aC) HD) h31、有以下程序#

10、include int f(int x);main( ) int a,b=0;for(a=0;a3;a+) b=b+f(a);purchar(A+b);int f(int x) return x*x+1; 程序運行后的輸出結果是A) ABEB)BD1C)BCFD)BCD32、設有定義: int x23;,則以下關于二維數組x 的敘述錯誤的是x0可看作是由3 個整型元素組成的一維數組x0和 x1 是數組名,分別代表不同的地址常量3數組 x 包含 6 個元素可以用語句 x0=0; 為數組所有元素賦初值033、設變量 p 是指針變量,語句p=NULL;是給指針變量賦NULL 值,它等價于A) p=

11、;B) p=0;C) p=0;D) p=;34、有以下程序# includemain( ) int a=10,20,30,40,*p=a,i;for(i=0;i=3;i+) ai=*p; p+; printf( %dn,a2 ); 程序運行后的輸出結果是A) 30B) 40C) 10D) 2035、有以下程序include #define N 3void fun(int aN,int b) int i,j;for(i=0;iN;i+) bi=ai0;for(j=1;jN;j+)if(biaij)bi=aij; main( ) int xNN=1,2,3,4,5,6,7,8,9, yN,i;fu

12、n(x,y);for(i=0;iN;i+) printf( %d,yi );printf( n); 程序運行后的輸出結果是A) 2,4,8B) 3,6,9C) 3,5,7D) 1,3,536、有以下程序(strcpy為字符串復制函數,strcat為字符串連接函數)# include # include main( ) char a10=abc, b10=012, c10=xyz;strcpy(a+1,b+2);puts(strcat(a,c+1);程序運行后的輸出結果是A) a12xyzB) 12yz C) a2yzD) bc2yz37、以下選項中,合法的是char str3=d, e, b,

13、 u, g, 0;char str4; str4=hello world;char name10; name=china;char str15= pass,str26; str2=str1;38 、有以下程序# includemain( )char*s=12134;int k=0,a=0;while(sk+1!= 0)k+;if(k%2=0) a=a+(sk- 0+1); continue; a=a+(sk- 0);4printf(k=%d a=%dn,k,a);程序運行后的輸出結果是A) k=6 a=11 B)k=3 a=14 C) k=4a=12 D) k=5a=1539、有以下程序# i

14、nclude main( )char a510= one,two,three,four,five;int i,j;char t;for(i=0;i4;i+)for(j=i+1;jaj0) t=ai0;ai0=aj0; aj0=t;puts(a1);A) fwoB) fixC) twoD) owo程序運行后的輸出結果是40、有以下程序# include int a=1,b=2;voidfun1 ( int a,int b ) printf(%d %d,a,b); voidfun2 ( ) a=3; b=4; main( ) fun1 (5,6);fun2( );printf(%d %dn,a,b

15、); 程序運行后的輸出結果是A)1256B)5634 C)5612D)3456選擇題答案; 1-5 CBDAA6-10 CCADC11-15 CCDAC16-20 CADBC21-25 CCCBD26-30 BDBDD30-35 BDCAB36-40 CACAB二、填空題1、給定三角形的三邊長,求三角形面積。#include #include int main( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c);printf(a=%ftb=%ft%fn,a,b,c);p

16、rintf(area=%fn,area);2、輸入一個字符,判別它是否為大寫字母,如果是,將它轉換成小寫字母;如果不是,不轉換。然后輸出最后得到的字符。#include int main() char ch;scanf(%c,&ch);ch=(ch= A& ch= Z)?(ch+32):chprintf(%cn,ch); 203、求n!n 1#include int main( )5double s=0,t=1;int n;for(n=1;n=20;n+)t=t*n;-s=s+;-printf(1!+2!+.+20!=%22.15en,s);4、輸出以下 4*5 的矩陣。123

17、4567891011121314151617181920程序: #include int main( )int i,j,n=0;for(j=1;j=5;j+,n+)for(i=1;i=4;i+)if(n%5=0)printf(“n ”);/控制在輸出5 個數據后換行printf(%dt,i*j);printf(n); 5、輸入兩個整數,要求輸出其中較大者。#include int main( ) int max(int x,int y);int a,b,c;printf(pleaseenter twointegernumbers:);scanf(%d,%d,&a,&b);c=m

18、ax(a,b);printf(max is %dn,c);int max(int x,int y) int z;If(xy)z=x;elsez=y;return z;6、求 100200 之間的全部素數。include include int main( )int n,k,i,m=0;for(n=101;n=200;n=n+2)k=sqrt(n);for (i=2;i=k+1)printf(%d ,n);6if(m%10=0) printf(n); printf (n); 7、有一函數,當X0時, y=1. 編程實現輸入一個 x 值,要求輸出對應的y 值。#include int main(

19、)int x,y;scanf(%d,&x);if ( x0) y=-1;else if(x=0) y=0;else y=1; printf(x=%d,y=%dn,x,y);8、有一個3*4 的矩陣,要求編程求出其中值最大的那個元素的值,以及其所在的行號和列號。#include int main( )int i,j,row=0,colum=0,max;int a34=1,2,3,4,9,8,7,6,-10,10,-5,2;max=a00;for (i=0;i=2;i+)for (j=0;jmax)max=aij;row=i;colum=j;printf(max=%dnrow=%dncol

20、um=%dn,max,row,colum); 9、有一維數組score ,內放 10 個學生成績,求其平均值。#include int main( )float average(float array10);float score10,aver; int i;printf(input 10 scores:n);for(i=0;i10;i+) scanf(%f,&scorei); printf(n);aver=average(score); printf(average score is %5.2fn,aver);float average(float array10)int i;flo

21、at aver,sum=array0;for(i=1;i10;i+)sum=sum+array【i 】 ;aver=sum/10;return(aver);10、數組 a 有 10 個元素,要求輸出數組中的全部元素。#include int main( )int a10;int *p,i; printf(please enter 10 integer numbers:);for(i=0;i10;i+) scanf(%d,&ai);printf(%d ,*p);printf(n);11、請寫出 !(a=b) 等價的 C 語言表達式(ab)。12、若有定義語句:char str=0; ,則

22、字符串str 在內存中實際占字節。13、以下程序運行時從鍵盤輸入:1.02.0,輸出結果是:1.0000002.000000,請填空。# includemain( ) double a; float b;scanf(%lf%f,&a,&b);printf(%f%f, ,a,b);14、 有以下程序7# include main( )int n1=0,n2=0,n3=0; charch;while(ch=getchar( )!=!)switch(ch) case 1 : case 3 :n1+; break;case 2 : case4 : n2+;break;default: n3+; break;printf(%d %d %d ,n1,n2,n3);224。若程序運行時輸入01234567!,則輸出結果是15、有以下程序# include main( )int i, sum=0;for(i=1;i9;i+=2)sum+=i;printf(%dn ,sum);程序運行后的輸出結果是16。16、有以下程序include main( ) int d,n=1234;while(n!=0) d=n%10;n=n/10;prin

溫馨提示

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

評論

0/150

提交評論