c語言題目及答案--精選文檔_第1頁
c語言題目及答案--精選文檔_第2頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、考試題型考試題型一、單項選擇題(30分)二、填空題 (20分)三、閱讀程序?qū)懡Y(jié)果(20分)四、編程序題(30)復(fù)習(xí)題一復(fù)習(xí)題一一、一、 選擇題選擇題 1下列說法中正確的是 。AC語言程序由主函數(shù)和0個或多個函數(shù)組成BC語言程序由主程序和子程序組成CC語言程序由子程序組成DC語言程序由過程組成2執(zhí)行語句“x=(a=3,b=a-)”后,x,a,b的值依次為 。A3,3,2 B3,2,2 C3,2,3 D2,3,23設(shè)有int i=010,j=10;則printf(%d,%dn,+i,j-); 的輸出的是 。A11,10 B9,10 C010,9 D10,9 4設(shè)a、b為字符型變量,執(zhí)行scanf(

2、a=%c,b=%c,&a,&b); 后使a為A, b為B,從鍵盤上的正確輸入是 。AA B BA,B CA=A,B=B Da=A,b=B5已知int x=12, y=3;執(zhí)行下述程序后,變量x的值是_。do x/=y-;while(xy);A1 B2 C3 D程序運行有錯誤6C語言中while和do-while循環(huán)的主要區(qū)別是 。Ado-while的循環(huán)體至少無條件執(zhí)行一次Bwhile的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格Cdo-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)Ddo-while的循環(huán)體不能是復(fù)合語句7設(shè)x和y均為int型變量,則執(zhí)行下面的循環(huán)后,y的值為 。for

3、 (y=1,x=1;y=10 ) break; if (x%2=1) x+=5;continue; x - =3;A2 B4 C6 D88以下正確的說法是_。A用戶若需調(diào)用標(biāo)準(zhǔn)函數(shù),調(diào)用前必須重新定義B用戶可以重新定義標(biāo)準(zhǔn)庫函數(shù),若如此,該函數(shù)將失去原有含義C系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)函數(shù)D用戶若需要調(diào)用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動去調(diào)9若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則關(guān)于該函數(shù)正確的說法是_ _。A 沒有返回值B 能返回若干個系統(tǒng)默認(rèn)值C 能返回一個用戶所希望的函數(shù)值D 返回一個不確定的值10已知函數(shù)定義如下:floa

4、t fun1(int x,int y) float z;z=(float)x/y;return(z);主調(diào)函數(shù)中有int a=1,b=0;可以正確調(diào)用此函數(shù)的語句是_。Aprintf(%f,fun1(a,b); Bprintf(%f,fun1(&a,&b);Cprintf(%f,fun1(*a,*b); Dprintf(%f,fun1(b,a);11宏定義:#define PI 31.14159中,宏名PI代替_。A單精度 B雙精度 C常量 D字符串12若有以下數(shù)組說明,則數(shù)值最小和最大的元素下標(biāo)分別是 。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12

5、; A1,12 B0,11C1,11 D0,1213以下合法的數(shù)組定義是 。Aint a3 =0,1,2,3,4,5; Bint a 3 =0,1,2,3,4;Cint a23=0,1,2,3,4,5,6; Dint a23=0,1,2,3,4,5,;14函數(shù)調(diào)用:strcat(strcpy (str1,str2),str3); 的功能是 。A將字符串str1復(fù)制到字符串str2中后再連接到字符串str3 之后。B將字符串str1連接到字符串str2之后再復(fù)制到字符串str3 之后。C將字符串str2復(fù)制到字符串str1中后再將字符串str3 連接到字符串str1之后。D將字符串str2連接到

6、字符串str1之后再將字符串str1 復(fù)制到字符串str3中。15設(shè)有二維數(shù)組定義如下,則不正確的數(shù)組元素引用是 。 int a34 =1,2,3,4,5,6,7,8,9,10,11,12;Aa23 Baa001 Ca7 Da2c-a16若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是 。A數(shù)組首地址 B數(shù)組的第一個元素值C數(shù)組中全部元素的值 D數(shù)組元素的個數(shù)17以下對指針變量進(jìn)行操作的語句,正確的選項是 。Aint *p,*q; q=p; Bint a,*p,*q; q=&a; p=*q;Cint a=b=0,*p; p=&a; b=*p; Dint a=20,*p,*

7、q=&a; p=q;18若有以下定義和語句:int s45,(*ps)5;ps=s;則對s數(shù)組元素的正確引用形式是 。Aps+1 B*(ps+3) Cps02 D*(ps+1)+319當(dāng)說明一個共用體變量時系統(tǒng)分配給它的存儲容量是 。A共用體中最后一個成員所需的存儲容量B共用體中第一個成員所需的存儲容量C成員中占存儲量最大者所需的存儲容量D各成員所需存儲容量的總和20有定義如下: struct student int age; char num8; stu3=20,200401,21,200402,10,200403;struct student *p=stu;以下選項中引用結(jié)構(gòu)體變量

8、成員的表達(dá)式錯誤的是 。A(p+)-num Bp-num C(*p).num Dstu3.age二、填空題二、填空題1設(shè)a=3,b=2,c=1,則ab的值為 ,abc的值為 。2若w, x, y, z, m均為int型變量,則執(zhí)行下面程序段后的m值是 。 w= 1; x = 2; y= 3; z=4; m=(wy)?w:x; m= (my)? m:y; m=(mz)?m:Z;3下面程序的輸出結(jié)果是_。#include main() int a=1,b=0;do switch(a) case 1: b=1;break;case 2: b=2;break;default : b=0;b=a+b;w

9、hile(!b);printf(a=%d,b=%d,a,b);4下面程序的輸出結(jié)果是_。#include main() int x,i;for(i=1;i=100;i+) x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d ,x);5下面程序的輸出結(jié)果是_。#include int func(int a,int b) int c;c=a+b;return(c);void main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);6下面程序的輸出結(jié)果是_。#include void main()

10、int x=1; void f1(),f2();f1( );f2(x); printf(%dn,x);void f1(void) int x=3; printf(%d ,x); void f2(x)int x; printf(%d ,+x); 7程序中有定義:#define S(r) r/r int a=4,b=3,area; 則表達(dá)式area=S(a+b)的值為_。三、程序完善題三、程序完善題1以下程序的功能是計算分段函數(shù)y的值。請完善程序。#include void main() int x,c,m; float y; scanf(“%d”,&x); if( (1) ) c=-1;

11、 else c= (2) ; switch( c) case 1: y=0; break; case 0: y=x; break;case 1: y=10; break; case 2: case 3: y=-0.5*x+20; break; default : y=-2;if( (3) ) printf(“y=%f”, y);else printf(“errorn”); 2有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之與上述程序的功能完全相同。s=0.0;(1) ;k=0; do s=s+d;(2)

12、 ;d=1.0/(k*(k+1);while( (3) );printf(%fn,s);3根據(jù)以下嵌套的if語句說給條件,填寫switch語句,使它完成相同的功能。(假設(shè)score的取值在1100之間。) if語句: if(score60) k=1; else if(score70) k=2; else if(score80) k=3; else if(score90) k=4; else if(score=100) k=5; switch語句: switch( (1) ) (2) : k=1; break;case 6:k=2; break;case 7:k=3; break;case 8:

13、k=4; break; (3) :k=5; 4輸入2個整數(shù),輸出它們的最小公倍數(shù)和最大公約數(shù)。請完善程序。 #include void main( ) int m,n,gbs,gys; scanf((1)); for(gbs=m; (2) ; gbs=gbs+m); gys= (3) ; printf(“gbs=%dtgys=%dn”, gbs,gys); 5下面函數(shù)的功能是判斷一個數(shù)是否為素數(shù)。請完善程序。void f(int m) int m,i,k;k=_(1)_;for(i=2;i=_(2)_;i+)if(_(3)_)break;if(_(4)_)printf(“是素數(shù)”);else

14、printf(“非素數(shù)”);6一個5位數(shù),判斷它是不是回文數(shù)。即12321是回文數(shù),個位與萬位相同,十位與千位相同。請完善程序。void fun(long x) long ge,shi,qian,wan; wan= (1) ;qian=_(2)_;shi=_(3)_;ge=x%10;if (_(4)_) printf(this number is a huiwenn);else printf(this number is not a huiwenn);四、程序設(shè)計題四、程序設(shè)計題1編寫程序計算分段函數(shù)y值。2編寫程序,輸入一個字符串,求該字符串的有效長度。要求不能使用系統(tǒng)函數(shù)。3編寫程序?qū)崿F(xiàn),

15、將鍵盤輸入的一個十進(jìn)制整數(shù)轉(zhuǎn)換為2進(jìn)制數(shù)并輸出。參考答案:參考答案: 一、選擇題一、選擇題12345678910ACBDDACBAD11121314151617181920DBBCCACCCD二、填空題二、填空題 1、 1 0 2、 1 3、 a=1,b=2 4、 25 67 5、 21 6、 3 2 1 7、 7 三、程序完善題三、程序完善題1、 x0 x/10 x40 2、 d=1 k+ k=n 3、 score/10 case 0,1,2,3,4,5: default 4、 “%d %d”,&m,&n gbs%n!=0 m*n/gbs 5、 m/2 k m%i=0 i=k

16、 6、 x/10000 (x%10000)/1000 (x%100)/10 wan=ge & qian=shi 四、程序設(shè)計題四、程序設(shè)計題1、 #include void main() float x,y; scanf(“%f”,&x); if(x0) y=exp(-x); else if(x=0) y=1; else y=-exp(x); printf(“%f”,y);2、 #define max 20; void main()char strmax;int len;scanf(“%s”,str);for(len=0;strlen!=0;len+) ;printf(“%d”

17、,len);3、#includevoid main() unsigned n;char str10,t;int k,i,j;printf(“please input:”);scanf(“%u”,&n);for(i=0;n!0;i+) stri=n%2+0; n/=2;stri=0;printf(“the result is :”);for(k=0,j=i-1;kj;k+,j-) t=strk;strk=strj;strj=t;puts(str);復(fù)習(xí)題二一、選擇題一、選擇題1字符串ABC在內(nèi)存占用的字節(jié)數(shù)是 。A3 B4 C6 D82設(shè)整型變量m,n,a,b,c,d均為0,執(zhí)行(m=a

18、= =b)|(n=c= =d)后,m和n的值是 。A0,0 B0,1 C1,0 D1,13a是int類型變量,c是字符變量。下列輸入語句中哪一個是錯誤的 。Ascanf(%d,%c,&a,&c); Bscanf(%d%c,a,c);Cscanf(%d%c,&a,&c); Dscanf(d=%d,c=%c,&a,&c);4字符變量ch=A,int類型變量k=25,執(zhí)行printf(%3d,%d3n,ch,k); 的輸出為: 。A65,253 B65 253 C65,25 DA 255已知int i=1, j=0;執(zhí)行下面語句后j的值是_。while

19、(i)switch(i) case 1: i+=1;j+;break;case 2: i+=2;j+;break;case 3: i+=3;j+;break;default: i-;j+;break;A1 B2 C3 D死循環(huán)6C語言中while和do-while循環(huán)的主要區(qū)別是 。Ado-while的循環(huán)體至少無條件執(zhí)行一次Bwhile的循環(huán)控制條件比do-while的循環(huán)控制條件嚴(yán)格Cdo-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)Ddo-while的循環(huán)體不能是復(fù)合語句7設(shè)x和y均為int型變量,則執(zhí)行下面的循環(huán)后,y的值為 。for (y=1,x=1;y=10 ) break; if (x%2=

20、1) x+=5;continue; x - =3;A2 B4 C6 D88在C語言中,函數(shù)的數(shù)據(jù)類型是指_。A函數(shù)返回值的數(shù)據(jù)類型 B函數(shù)形參的數(shù)據(jù)類型C調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D任意指定的數(shù)據(jù)類型9在C語言中以下不正確的說法是_ _。A 實參可以是常量、變量或表達(dá)式B 形參可以是常量、變量或表達(dá)式C 實參可以為任意類型D. 形參應(yīng)與其對應(yīng)的實參類型一致10已知函數(shù)定義如下:float fun1(int x,int y) float z;z=(float)x/y;return(z);主調(diào)函數(shù)中有int a=1,b=0;可以正確調(diào)用此函數(shù)的語句是_。Aprintf(%f,fun1(a,b)

21、; Bprintf(%f,fun1(&a,&b);Cprintf(%f,fun1(*a,*b); Dprintf(%f,fun1(b,a);11宏定義的宏展開是在_階段完成的。A第一遍編譯 B第二遍編譯C程序執(zhí)行 D預(yù)編譯12若有以下數(shù)組說明,則數(shù)值最小和最大的元素下標(biāo)分別是 。 int a12 =1,2,3,4,5,6,7,8,9,10,11,12; A1,12 B0,11C1,11 D0,1213以下合法的數(shù)組定義是 。Aint a3 =0,1,2,3,4,5; Bint a 3 =0,1,2,3,4;Cint a23=0,1,2,3,4,5,6; Dint a23=0,1

22、,2,3,4,5,;14函數(shù)調(diào)用:strcat(strcpy (str1,str2),str3); 的功能是 。A將字符串str1復(fù)制到字符串str2中后再連接到字符串str3 之后。B將字符串str1連接到字符串str2之后再復(fù)制到字符串str3 之后。C將字符串str2復(fù)制到字符串str1中后再將字符串str3 連接到字符串str1之后。D將字符串str2連接到字符串str1之后再將字符串str1 復(fù)制到字符串str3中。15設(shè)有二維數(shù)組定義如下,則不正確的數(shù)組元素引用是 。 int a34 =1,2,3,4,5,6,7,8,9,10,11,12;Aa23 Baa001 Ca7 Da2c-

23、a16若用數(shù)組名作為函數(shù)調(diào)用時的實參,則實際上傳遞給形參的是 。A數(shù)組首地址 B數(shù)組的第一個元素值C數(shù)組中全部元素的值 D數(shù)組元素的個數(shù)17以下對指針變量進(jìn)行操作的語句,正確的選項是 。Aint *p,*q; q=p; Bint a,*p,*q; q=&a; p=*q;Cint a=b=0,*p; p=&a; b=*p; Dint a=20,*p,*q=&a; p=q;18若有以下定義和語句:int s45,(*ps)5;ps=s;則對s數(shù)組元素的正確引用形式是 。Aps+1 B*(ps+3) Cps02 D*(ps+1)+319當(dāng)說明一個結(jié)構(gòu)體變量時,系統(tǒng)分配給它的存

24、儲容量是 。A結(jié)構(gòu)體中最后一個成員所需的存儲容量B結(jié)構(gòu)體中第一個成員所需的存儲容量C成員中占存儲量最大者所需的存儲容量D各成員所需存儲容量的總和20有定義如下:struct sk int a;float b;data ,*p;如果有: p=&data; 則對于結(jié)構(gòu)體變量data的成員a的正確引用是_ _。A(*p).data.a B(*p).a Cp-data.a Dp.data.a二、填空題二、填空題1設(shè)a=3,b=2,c=1,則ab的值為 ,abc的值為 。2設(shè)x和y均為int型變量,且x=1,y=2,則表達(dá)式1.0+x/y的值為 。3以下程序段的輸出結(jié)果是 。 int a=10,

25、b=50,c=30;if(ab)a=b;b=c;c=a;printf(a=%d b=%d c=%dn,a,b,c);4以下程序的輸出結(jié)果是 。#include void main() int x= 2,y=-1,z=2;if(xy) if(y0) z= 0; else z+ =1;printf(%dn,z);5下面程序的輸出結(jié)果是_。#include int func(int a,int b) int c;c=a+b;return(c);void main() int x=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);6下面程序的輸出結(jié)果是_。

26、#include void main() int x=1; void f1(),f2();f1( );f2(x); printf(%dn,x);void f1(void) int x=3; printf(%d ,x); void f2(x)int x; printf(%d ,+x); 7以程序的輸出結(jié)果是_。#define MA(x) x*(x-1)#includevoid main()int a=1,b=2; pirntf(“%dn”,MA(1+a+b);三、程序完善題三、程序完善題1下列程序計算并輸出方程 X2+Y2+Z2=1989 的所有整數(shù)解。請完善程序。 #include void

27、main() (1) ; for(i=-45;i=45;i+) for((2) ) for(k=-45;k=45;k+) if( (3) ) printf( “%4d%4d%4dn”, i,j,k); 2有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(%fn,s);填空完成下述程序,使之與上述程序的功能完全相同。s=0.0;(1) ;k=0; do s=s+d;(2) ;d=1.0/(k*(k+1);while( (3) );printf(%fn,s);3根據(jù)以下嵌套的if語句說給條件,填寫switch語句,使它完成相同的功能。(假設(shè)sc

28、ore的取值在1100之間。) if語句: if(score60) k=1; else if(score70) k=2; else if(score80) k=3; else if(score90) k=4; else if(score=100) k=5; switch語句: switch( (1) ) case 0 ,1,2,3,4,5: k=1; break; (2) :k=2; break;case 7:k=3; break; (1) :k=4; break;default:k=5; 4輸入2個整數(shù),輸出它們的最小公倍數(shù)和最大公約數(shù)。請完善程序。 #include void main(

29、) int m,n,gbs,gys; scanf((1)); for(gbs=m; (2) ; gbs=gbs+m); gys= (3) ; printf(“gbs=%dtgys=%dn”, gbs,gys); 5下面函數(shù)的功能是判斷一個數(shù)是否為素數(shù)。請完善程序。void f(int m) int m,i,k;k=_(1)_;for(i=2;i=_(2)_;i+)if(_(3)_)break;if(_(4)_)printf(“是素數(shù)”);else printf(“非素數(shù)”);6用遞歸實現(xiàn)將輸入小于32768的整數(shù)按逆序輸出。如輸入12345,則輸出54321。請完善程序。#includestd

30、io.hvoid main() int n; printf(Input n : );scanf(%d, (1) );r(n);printf(n); void r(int m) printf(%d, (2) );m = (3) ;if( (4) ) r(m);四、程序設(shè)計題四、程序設(shè)計題1 100匹馬馱100擔(dān)貨,大馬一匹馱擔(dān),中馬一匹馱擔(dān),小馬兩匹馱擔(dān)。試編寫程序計算大、中、小馬的數(shù)目。2.編寫程序,輸入10個整數(shù)存入一個一維數(shù)組中,再按逆序重新存放后輸出。3.從鍵盤輸入4個學(xué)生數(shù)據(jù)信息(包括姓名 學(xué)號 年齡 住址),把他們轉(zhuǎn)存到磁盤文件中。.參考答案:參考答案:一、選擇題一、選擇題12345678910BCBADACABD11121314151617181920DBBCCACCDB二、填空題二、填空題1、 1 0 2、 1.0 3、 a=10 b=30 c=10 4、 2 5、 21 6、 3 2 1 7、 8 三、程序完善題三、程序完善題1、 int i ,j,k j=-45;j=45;j+ x*x+y*y+z*z=1989 2、 d=1 k+ k=n 3、 score/10 case 6 case 8 4、 “%d %d”,&m,&n gbs%n!=0 m*n/gbs 5、 m/2 k m%i=0 i0 四、

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論