C語言程序設(shè)計+復(fù)習(xí)題庫_第1頁
C語言程序設(shè)計+復(fù)習(xí)題庫_第2頁
C語言程序設(shè)計+復(fù)習(xí)題庫_第3頁
C語言程序設(shè)計+復(fù)習(xí)題庫_第4頁
C語言程序設(shè)計+復(fù)習(xí)題庫_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、填空

1.break語句通常用于switch〃循環(huán)中。

2.C語言對數(shù)組下標(biāo)的引用一般從Q起先。

3.C語言中,一個函數(shù)一般由兩個部分組成,它們是函數(shù)首部和函數(shù)沐。

4.C標(biāo)準(zhǔn)庫函數(shù)中,4符串的處理函數(shù)包含在st「ing.h頭文件中,數(shù)學(xué)函數(shù)包含在

math.h頭文件中。

5.C程序的運行須要經(jīng)過編譯和鏈接兩步進(jìn)行。

6.C-C中川/**/括起來的內(nèi)容是程序的注釋語句。

7.C語言函數(shù)是由函數(shù)首部和函數(shù)體兩部分組成。其中,函數(shù)首部包括函數(shù)類型、函數(shù)

名_和函數(shù)參數(shù)。

8.C語言供應(yīng)的三種邏不運算符是.0

9.C語言源程序經(jīng)過編譯后,生成文件的后綴名是上_____o

10.C語言源程序經(jīng)過連接后,生成文件的后綴名是.exe。

11.C語言中,關(guān)系表達(dá)式和邏輯表達(dá)式的值是1〃0。

12.C語言中的標(biāo)識符只能由三種字符組成,他們是字母,數(shù)字,下劃線_________________。

13.C語言中的每條基本吾句以:作為結(jié)束符,每條復(fù)合語句以}作為結(jié)束符。

14.C語言中函數(shù)返回值的類型是由一函數(shù)類型確定的。

15.C源程序的基本單位是函數(shù)。

16.inta=2Zb=3;表達(dá)式a>b?a++:++b的值為4。

17.intx=l/y=l,z=l;x+=y+=z;則表達(dá)式xvy?y:x的值為3。

18.當(dāng)a=3,b=2,c=l時,表達(dá)式f=a>b>c的值是0°

19.定義一個指針p,它指向一個有6個整型元素的一維數(shù)組,定義語句為int*D=a「61;。

20.定義一個指針數(shù)組P,它有4個元素,每個指針指向一個整型數(shù)據(jù),定義語句為」nt

*p[41;o

21.賦侑語句是由=加上一個分號構(gòu)成。

22.構(gòu)成數(shù)組的各個元素必需具有相同的類型。

23.關(guān)系表達(dá)式x+y>5的相反表達(dá)式為_x+y!>5—0

24.函數(shù)strlen(“1234\0xy")的值為:9。

25.函數(shù)的形參在未被調(diào)用前擔(dān)心排空間,函數(shù)形參的數(shù)據(jù)類型要和實參相同。

26.函數(shù)體用{起先,用》結(jié)束。

27.結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是一依次,選擇,循環(huán)。

28.假如一個函數(shù)無返回值,定義它時函數(shù)類型應(yīng)是void,,

29.若x、v、z均為int型變量,則描述“x或y中有一個小于z”的表達(dá)式是(xllv)vz

若用數(shù)組名作為函數(shù)調(diào)用時的實參,則事實上傳遞給形參的是—數(shù)組的首地址

30.

31.若有定義:doublex[3JL5];則數(shù)組中列下標(biāo)的上限為口_。

32.若有說明:inta[][3]={{lz2/3}/{475}/{677}};則數(shù)組a的第一維的大小為3。

33.設(shè)inta=12,則表達(dá)式a/=a+a運算后,a的值是Q。

34.設(shè)y為int型變量,請寫出描述“y是奇數(shù)”的京達(dá)式v%2!=0;。

35.設(shè)有數(shù)組磯10],數(shù)組元素或3]的地址可以寫成。

36.數(shù)組由數(shù)組名和下標(biāo)構(gòu)成,其數(shù)組元素的數(shù)據(jù)類型是。

37.算術(shù)表達(dá)式a=b+3中,a、b稱為變量,3稱為常量,=、+稱為運算符。

38.一個C程序有且僅有一個main函數(shù)。

39.已知函數(shù)定義為:intstat(inta,float*p),則此函數(shù)的兩個參數(shù)類型分別是整形

浮點型

40.有如下函數(shù)頭:intmax(inti,intj),則此函數(shù)有2個參數(shù)。

41.預(yù)處理叮囑以_虬開頭。

42.在C語言的表達(dá)式中,x=x+5用復(fù)合運算符可以寫成上且一。

43.在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字static。

44.在C語言中,二維數(shù)組元素的內(nèi)存中的存放依次是行依次存放。

45.在C語言中,以'\0’作為字符串結(jié)束標(biāo)記。

46.在C語言中的實型變量分為兩種類型,它們是整形和浮點型。

47.在scanf函數(shù)中,用符號&表示變量的地址。

48.在傳值調(diào)用中,實際是把實參的地址傳給形參.

49.在函數(shù)中運用return語句返回值。

50.指針是存放地址的變景。

選擇

1、C語言源程序的基本單位是A

A.函數(shù)B.標(biāo)識符C.表達(dá)式D.語句

2、在每個C程序中都必需包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為A

A.mainB.MAINC.nameD.function

3、C語言規(guī)定,在一個源程序中,main函數(shù)的位置C

A.必需在最起先B.必需在系統(tǒng)調(diào)用的庫函數(shù)的后面

C.可以隨意D.必需在最終

4、在以下關(guān)于C語言的注釋的敘述中,不正確的是C

11、下列哪一個表達(dá)式的值是整數(shù)類型A

A.15/2B.15/2+2.0C.25/5.0D.0.5*10

12、設(shè)變量a是整形,f是實型,i是雙精度型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型C

A.intB.floatC.doubleD.不確定

13、設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式:w*x+z-y值的數(shù)據(jù)類型D

A)floatB)charC)intD)double

14、在C語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是D

A.補碼B.反碼C.源碼D.ASCII碼

15、下列字符列中,可以作為“字符串常量”的是B

A.ABCB."xyz〃C.,uvw'D.匕'

16、以下運算符中,優(yōu)先級最高的運算符是D

A.=B.!=C.*(乘號)D.()

17、設(shè)有定義intk=0;則以下四個表達(dá)式中與其它三個的值不同的是CD

A、k++B、k+=l

C、++kD、k+1

18、設(shè)有語句scanf(''%d,%d〃,&m,&n);要使m、n的值依次為2,3,正確的輸入是B

A,2口3/B.2,3ZC.2;3D.2/3/

19、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且C2為字符型,則執(zhí)行語句C2=4+'6'-'3';

后C2中的值為A

A)DB)68C)不確定的值D)C

20、設(shè)a=6,b=4,則表達(dá)式b*=a+3的值為D

A)3B)18C)27D)36

21、若有定義:inta=8,b=5,c:執(zhí)行語句c=a/b+0.4;后c的值為B

(A)1.4(B)1(C)2.0(D)2

22、若已定義x和y是整型變量,x=2;,則表達(dá)式y(tǒng)=2.75+x/2的值是C

A)5.5B)5C)3D)4.0

23、設(shè)有以下語句:intx=10;x+=3+x%(3),則x的值是A

A)14B)15C)11D)12

24、在C語言中邏輯值“真”是用B表示的。

A.預(yù)定義為真值的宏B,非零值C,正數(shù)D.非零整數(shù)

25.C語言對于嵌套if語句規(guī)定else總是與C匹配。

A)與最外層的ifB.)與之前最近的if

C)與之前最近的不帶else的ifD)與最近的{}之前的if

26、為了避開嵌套的lf?else語句的一義性,C語言規(guī)定else總是與C組成配對關(guān)系.

A)縮排位置相同的ifB)在其之前未配對的if

C)在其之前尚未配對的最近的ifD)同一行上的if

27、設(shè)x和y均為邏輯型變量,則x&&y為真的條件是A

A.它們均為真B,其中一個為真

C,它們均為假D.其中一個為假

28、能正確表示邏輯關(guān)系:“aN10或aS0”的C語言表達(dá)式是D

A.a>=10ora<=0B.a>=0|a<=10

C.a>=10&&a<=0D.a>=10||a<=0

29、推斷char型變量cl是否為小寫字母的正確表達(dá)式為D

A.*a'<=cl<=,z'B.(cl>=a)&&(clv=z)

C.(,a'>=cl)(<z,<=cl)D.(cl>=,a*)&&(cl<=,z')

30、設(shè)ch是char型變量,值為TV,則表達(dá)式ch=(ch>='A'&&ch<='Z')?ch+32:ch的值是B

A)ZB)aC)zD)A

31、表示關(guān)系Xv=Yv=Z的C語言表達(dá)式為A

A.(X<=Y)&&(Y<=Z)B.(X<=Y)ANDi;Y<=Z)

C.(X<=Y<=Z)D.(X<=Y)&(Y<=Z)

32、假如a=4,b=3,c=2,d=l,則條件表達(dá)式avb?a:cvd?c:d的值是A

A)1B)2C)3D)4

33、語句printf("%d\n",12&&12);的輸出結(jié)果是B

A.12B.1C.24D.0

34、若有條件表達(dá)式(exp)?a++:b??,則以下表達(dá)式中能完全等價于表達(dá)式(exp)的是B

A.(exp==O)B.(exp!=O)C.(exp==l)D.(exp!=l)

35、若要求在if后一對國括號中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式D

A)a<>0B)!aC)a=0D)a

36、設(shè)x、y、z、t均為int型變量,則執(zhí)行以下語句后,t的值為C

x=y=z=l;

t=++x11++y&&++z;

A)不定值B)4C)1D)0

37、對表達(dá)式for(表達(dá)式1;;表達(dá)式3)可理解為B

A.)for(表達(dá)式1;0;表達(dá)式3)B)for(表達(dá)式1;1;表達(dá)式3)

C)for■(表達(dá)式1;表達(dá)式1;表達(dá)式3)D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)

38、語句while(!e);中的條件!e等價于A

A)e==0B)e!=lC)e!=0D)?e

39、下面程序段的運行結(jié)果是D

for(i=l;i<=5;)

printf("%d"/i);

i++;

A)12345B)1234C)15D)無限循環(huán)

40、設(shè)執(zhí)行變量y值為3,執(zhí)行下列循環(huán)語句后,變量y的值是C

doy++;while(y++<4);

(A)3(B)4(C)5(D)6

41、執(zhí)行語句:for(i=l;i<9;i++)后;變量i的值是B

(A)10(B)9(C)不定(D)11

42、執(zhí)行語句:for(i=l;i<=9;i++);后變量i的值是A

A.10B.9C.不定D.11

43、在定義一個一維數(shù)組時,不能用來表示數(shù)組長度的是D

A)常量B)符號常量C)常量表達(dá)式D)已被賦值的變量

44、推斷字符串是否相等,應(yīng)當(dāng)運用D

(A)if(a==b)(B)if(a=b)(C)if(strcpy(a,b))(D)if(!strcmp(a,b))

45、執(zhí)行程序段charintlen=strlen(str);變量len的值C

A.20B.4C.3D.3或4或20

46、若有說明:char則下述說法中正確的是D

A)c[7]不行引用B)c[6]可引用,但值不確定

C)C[4]不行引用D)C[4]可引用,其值為空字符

47、運行下面程序段的輸出結(jié)果是A

,,,,,,,,

charsl[10]={S'/e7tz\07uzpz\0');

printf("%s"zsl);

A)SetB)SetupC)SetupD)S'e”t'

48、以下程序段的輸出結(jié)果是B

chars[]="anapple";

printf("%d\n"zstrlen(s));

A)7B)8C)9D)10

49、下列一維數(shù)組初始化語句中,正確且與語句float況]={0,3,8,0,9};等價的是D

A)floata[6]={0,3,8,0,9};B)floata[4]={0,3,8z0,9};

C)floata[7]=<0,3,8,0,9};D)floata[5]={0,3,8,0,9};

50、如有定義語句inta[]={l,8,2,8,3,8,4,8,5,8};,則數(shù)組a的大小是A

A)10B)11C)8D)不定

51、若二維數(shù)組a有m列,則在前面的元素個數(shù)為B

A.j*m+iB.i*m+jC.D.i*m+j+l

52、在定義int磯5][6];后,數(shù)組a中的第10個元素是C

A)a[2][5]B)a[2][4]C)a[l][3]D)a[l][5]

53、以下一維數(shù)組a的王確說明是C

A)inta[l,l];B)floata(3z4);C)doublea[l][4];D)floata(3)(4);

54、在定義inta[5][4];之后,對a的引用正確的是C

A)a[2][4]B)a[lz3]C)a[4]⑶D)況5][0]

55、若有說明:inta[3][4];則對a數(shù)組元素的正確引用是C

(A)a[2][4](B)a[l,3](C)a[l+l][0](D)a(2)(l)

56、以下對二維數(shù)組d的正確說明是C

A.inta[3][]B.floata(3z4)C.doublea[l][4]D.floata(3)(4)

57、若有定義:intb[3];則數(shù)組元素的不合法引用是D

(A)b[l](B)b[0](C)b[2](D)b[3]

58、對以下說明語句inta[10]={6,7,8,9,10};的正確理解是B

A)將5個初值依次賦給a[l]至a[5]B)將5個初值依次賦給a[0]至a[4]

C)將5個初值依次賦給a[6]至a[10]D)因為數(shù)組長度與初值的個數(shù)不相同,所以此語

句不正確

59、設(shè)已定義:intx[2][4]={l,2,3,4,5,6,7,8};則元素的正確初值是A

A.6B.5C.7D.1

60、在[2[][3]={{1},{3,2},{4,5,6},{0}}中3[1][1]的值是D

A、0B、6C、5D、2

61、設(shè)已定義:intx[2][4]={l,2,3,4,5,6,7,8};則元素6對應(yīng)的是A

A.x[l][l]B,x[l][2]C.x[2][l]D.x[2][2]

62、以下正確的函數(shù)定義形式是A

A.doublefun(intxzinty)B.doublefun(intx;inty)

C.doublefun(intx,inty);D.doublefun(intx,y);

63、有如下函數(shù)調(diào)用語句func(recl,rec2+rec3,rec4,rec5);該函數(shù)調(diào)用語句中,含有的實參

個數(shù)是B

A)3B)4C)5D)有語法錯誤

64、在C語言中,全局變量的存儲類別是A

A)staticB)externC)voidD)register

65、在C語言中,以下說法中正確的是A

A.實參與其對應(yīng)的形參各占用獨立的存儲單元

B.實參與其對應(yīng)的形參占用同一個存儲單元

C.只有當(dāng)實參與形參同名時才占用同一個存儲單元

D.實參占用存儲單元,但形參是虛擬的,不占用存儲單元

66、C語言中,簡潔變量做實參時,它和對應(yīng)的形參之間的數(shù)據(jù)傳遞方式是B

(A)地址傳遞(B)單向值傳遞

(C)由實參傳給形參,再由形參傳遞給實參

(D)同用戶指定傳遞方式

67、在一個源文件中定義的全局變審的作用域為B

A.本文件的全部范圍B.從定義該變量起先至本文件結(jié)束

C.本函數(shù)的全部范圍D.木程序的全部范圍

68、假如一個函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說明語句后的復(fù)合語句中定義了一個變

量,則該變量C

A)為全局變量,在本程序文件范圍內(nèi)有效

B)為局部變量,只在該函數(shù)內(nèi)有效

C)為局部變量,只在該復(fù)合語句中有效

D)定義無效,為非法變量

69、調(diào)用函數(shù)時,當(dāng)實參和形參都是簡潔變量時,它們之間數(shù)據(jù)傳遞的過程是D

A)實參將其地址傳遞給形參,并釋放原先占用的存儲單元

B)實參將其地址傳遞給形參,調(diào)用結(jié)束時形參再將其地址回傳給實參

C)實參將其值傳遞給形參,調(diào)用結(jié)束時形參再將其值回傳給實參

D)實參將其值傳遞給形參,調(diào)用結(jié)束時形參并不將其值回傳給實參

70、以下敘述中,不正確的是B

A)在同一C程序文件中,不同函數(shù)中可以運用同名變量

B)在rndin函數(shù)體內(nèi)定義的變量是全局變量

C)形參是局部變量,函數(shù)調(diào)用完成即失去意義

D)若同一文件中全局變量和局部變量同名,則全局變量在局部變量作用范圍內(nèi)不起作用

71、對于C語言的函數(shù),下列敘述中正確的是A

A)函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套

B)函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套

C)函數(shù)的定義和調(diào)月都不能嵌套

D)函數(shù)的定義和調(diào)用都可以嵌套

72、數(shù)組定義為:inta[4][5];引用“a[l]+3”表示的是A

(A)a數(shù)組第2行第4列元索的地址

(B)a數(shù)組第2行第4列元素的值

(C)a數(shù)組第4行的首地址

(D)a數(shù)組第1行第3個元素的地址

73、若定義:inta=511,*b=&a;則printf("%d\n\*b);的輸出結(jié)果為D

A.確定值B)a的地址C)512D)511

74、若有inta[10]={l,2,3,4,5,6,7,8,9,10};int則值為9的表達(dá)式是E

A.*p+9B.*(p+8)C.*p+=9D.p+8

75、若有說明語句:inta,b,g*d=&c;,則能正確從健盤讀入三個整數(shù)分別賦給變量a、b、c

的語句是A。

A)scanf("%d%d%d"z&a/&bzd);B)scanf(”%d%d%d”,&a,&b,&d);

C)scanf("%d%d%d"za/b/d);D)scanf("%d%d%d"zazbz*d);

76、設(shè)有語句〃intd口=〈l,3,5,7,9},*p=&a[0];〃則值為7的表達(dá)式是C

A.*p+3B.*p+4C.*(p+3)D.*(p+4)

77、已知賦值語句wang.year=2023;則wang的變量類型是C

A,字符或文件B.整型或?qū)嵭虲.共用或結(jié)構(gòu)D,實型或指針

78、設(shè)有以下說明語句:

structstu

{inta;floatb;}stutype;

則下面的敘述不正確的是C

A.struct是結(jié)構(gòu)體類型的關(guān)鍵字

B.structstu是用戶定義的結(jié)構(gòu)體類型名

C.stutype是用戶定義的結(jié)構(gòu)體類型名

D.a和b都是結(jié)構(gòu)體成員名

79、下列關(guān)于結(jié)構(gòu)的語法錯誤的是D

A.結(jié)構(gòu)是由用戶自定義的一種數(shù)據(jù)類型

B.結(jié)構(gòu)中可設(shè)定若干個不同數(shù)據(jù)類型的成員

C.結(jié)構(gòu)中成員的數(shù)據(jù)類型可以是另一個已定義的結(jié)構(gòu)

D.在定義結(jié)構(gòu)時,可以為成員設(shè)置默認(rèn)值

80、說明一個結(jié)構(gòu)體變量時,系統(tǒng)支配給它的內(nèi)存是A

A.各成員所需內(nèi)存量的總和

B.結(jié)構(gòu)中第一個成員所需內(nèi)存量

C.成員中占內(nèi)存量最大者所需的容量

D.結(jié)構(gòu)中最終一個成員所需內(nèi)存量

三、程序理解

1.以下程序運行結(jié)果是.

#include<stdio.h>

intmain()

{inta,b,c,d;

a=b=5;

c=(a++)+(a--)-(a++);

d=(b++)-(++b)+(--a);

printf("a=%d/b=%d\n"za/b);

printf("c=%dzd=%d\n",c,d);

return0;

}

2.以下程序運行結(jié)果是J2,b=2

#include<stdio.h>

intmain()

{intx=l,a=Ozb=O;

switch(x)

(

case0:b++;

case1:b=++a;

case2:a++;b++;break;

case3:++a;++b;

)

printf("a=%d,b=%d\n",a,b);

return0;

}

3.以下程序運行結(jié)果是蓑1

#include<stdio.h>

intmain()

{inta,b,c=246;

a=c/100%9;

b=(l)&&(-l)||O;

printf("%d,%d\rT,a,b);

return0;

)

4.以下程序運行結(jié)果是.

#include<stdio.h>

intmain()

{inta=-lzb=4,k;

k=(++a<=O)&&(b—<=0);

printf("%d,%dz%d\n"/kzazb);

return0;

)

5.以下程序運行結(jié)果是』>0*5=300

#include<stdio.h>

intmain()

{inta=5,b=60,c;

if(a<b)

{c=a*b;printf("%d*%d=%d\n"/bza,c);)

else

{c=b/a;printf("%d/%d=%d\n"zb,a/c);}

return0;

)

6.以下程序運行結(jié)果足5/60=0

#include<stdio.h>

intmain()

{inta=60,b=5,c;

if(a<b)

{c=a*b;printf("%d*%d=%d\n"/b,a,c);}

else

{c=b/a;printf("%d/%d=%d\n",bza/c);}

return0;

}

,8

7.以下程序運行結(jié)果是

#include<stdio.h>

intmain()

{inta=lzb=10;

do

{b-=a;a++;

}while(b—<0);

printf("%d,%d\n”,a,b);

return0;

)

8.以下程序運行結(jié)果是£4

#include<stdio.h>

intmain()

{intx;

tor(x=10;x>3;x-)

{if(x%3)x-;

-x;-x;

printf("%d"zx);

)

return0;

}

BABA

9.以下程序運行結(jié)果是上

#include<stdio.h>

intmain()

(inti;

for(i=l;i<6;i++)

{if(i%2!=0){printf("A");continue;}

printf("B");}

printf("\n");

return0;

}

10.以下程序運行結(jié)果是BA

#include<stdio.h>

intmain()

{inti;

for(i=l;i<6;i++)

{if(i%2==0){printf("A");break;}

printf("B");>

printf("\n");

return0;

)

11.以下程序運行結(jié)果是工59

#include<stdio.h>

intmain()

{inti,x[3][3]={l,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf("%d"zx[i][i]);

printf("\n");

return0;

}

12.以下程序運行結(jié)果是13715

#include<stdio.h>

intmain()

{inti,n[]=<0/0/0,0/0};

for(i=l;i<=4;i++)

n[i]=n[i-l]*2+l;

printf("%d",n[i]);

?

return0;

13.以下程序運行結(jié)果是」b=54321

#include<stdio.h>

intmain()

{inta[]=<5Z4,3,2/1}JJ;

longs=0;

for(i=0;i<5;i++)s=s*10+a[i];

printf("s=%ld\n"zs);

return0;

}

14.以下程序運行結(jié)果是朝

#include<stdio.h>

intmain()

{chars[]="abcdef";

S[3]='\0';

printf("%s\n"zs);

return0;

)

15.以下程序運行結(jié)果是14

#include<stdio.h>

#include<string.h>

intmain()

for(i=0;i<3;i++)

for(j=0;j<i;j++)

s+=a[i][j];

printf("%d\n"zs);

return0;

)

xyabcABC

16.以下程序運行結(jié)果是

#include<stdio.h>

#include<string.h>

intmain()

{charpl[10]="abc",p2[10]="ABC",str[50]="xyz";

strcpy(str+2zstrcat(plzp2));

printf("%s\n”,str);

return0;

}

17.以下程序運行結(jié)果是

#include<stdio.h>

intfun(intx,intyjntz)

{z=x*x+y*y;}

intmain()

{inta=31;

fun(5,2,a);

printf("%d\n"za);

return0;}

9

18.以下程序運行結(jié)果是

#include<stdio.h>

intfun(intxjntyzintz)

<z=x*x+y*y;returnz;}

intmain()

{inta=31;

a=fun(5z2za);

printf("%d\n"za);

return0;}

14

19.以下程序運行結(jié)果是

#include<stdio.h>

f(intb[],intn)

{int\,r=0;

for(i=0;i<=n;i++)r=r+b[i];

returnr;

}

intmain()

<

intxza[]={2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d\n",x);

return;

}

20.以下程序運行結(jié)果是一120

#include<stdio.h>

t(intbLJ,intn)

{inti,r=l;

for(i=0;i<=n;i++)r=r*b[i];

returnr;

)

intmain()

<

intx,a[]=<2,3,4,5,6,7,8,9};

x=f(a,3);

printf("%d\n"zx);

return;

}

21.以下程序運行結(jié)具是

intfunc(inta,intb)

{return(a+b);}

intmain()

{intx=2,y=5,z=8,r;

r=func(func(x,y),z);

printf("%d\n"zr);

return0;

)

3

22.以下程序運行結(jié)果是一

#include<stdio.h>

intf(chars[])

{intij;

i=0;j=0;

while(s[j]!='\0')j++;

return(j-i);)

intmain()

',',

{printf(%d\n"/f(ABCDEF"));

return0;

}

23.以下程序運行結(jié)果是

#include<stdio.h>

intf(inta)

{intb=0zc;

c=3;

b++;C++;

return(a+b+c);)

intmain()

{inti;

for(i=0;i<3;i++)

printf("%d\n"zf(i));

return0;

)

24.以下程序運行結(jié)果是

#include<bldio.h>

intf(inta)

{intb=0;

staticc=3;

b++;C++;

return(a+b+c);}

intmain()

{inti;

for(i=0;i<3;i++)

printf("%d\n"zf(i));

return0;

}

25.以下程序運行結(jié)果是.

#include<stdio.h>

intfun3(intx)

{staticinta=3;

a+=x;

return(a);)

voidmain()

{intk=2/m=lzn;

n=fun3(k);

n=fun3(m);

printf("%d\n"zn);}

26.以卜程序運行結(jié)果是2

#include<stdio.h>

intm=13;

intfun2(intx,inty)

{intm=3;

return(x*y-m);

}

intmain()

{inta=7zb=5;

printf("%d\n"zfun2(azb)/m);

return0;

}

p=100,b=10

[*pointerl=100.*pointer2=10

27.以下程序運行結(jié)果是

#include<stdio.h>

intmain()

{inta=100zb=10;

int*pointer_lz*pointer_2;

pointer_l=&a;

pointer_2=&b;

printf("a=%d/b=%d\n"za/b);

printf("*pointer_l=%dz*pointer_2=%d\n"/*pointer_lz*pointer_2);

return0;

}

a=ll,b=121

28.以下程序運行結(jié)果是fiax=121,nin=ll

#include<stdio.h>

intmain()

{int*pl,*p2,*p,a,b;

a=llzb=121;

pl=&a;

p2=&b;

if(a<b)

{p=pl;pl=p2;p2=p;}

printf("a=%d/b=%d\n"/a,b);

,,

printf("max=%dzmin=%d\n/*pl,*p2);

return0;

}

29.以下程序運行結(jié)果是」?|

#include<stdio.h>

voidnidin()

{

intiJX*P)[2];

intb[3][2]={{1,2},{3,4},{5,6}};

P=b;

for(i=0;i<3;i++)

{for(j=0;j<2;j++)

printf("%d"zp[i][j]);

printf("\n");}

)

1-29

30.以下程序運行結(jié)果是47010

#include<stdio.h>

voidmain()

{

inti,*p[2];

inta[3]=<1,-2,9};

intb[4]={4,7Z0,10};

P[0]=a;

p[l]=b;

for(i=0;i<3;i++)

,,

printf("%d\tz*(p[0]+i));

printf("\n");

for(i=0;i<4;i++)

printf("%d\t"z*(pLlJ+i));

printf("\n");)

NO.:10101

name:LiLin

sex:M

31.以下程序運行結(jié)果是address:123BeijingRoad

#include<stdio.h>

intmain()

{structstudent

{longintnum;

charname[20];

charsex;

charaddr[20];

}a={10101z"LiLin'z'M'/"123BeijingRoad"};

printf("NO.:%ld\nname:%s\nsex:%c\naddress:%s\n",a.sexza.addr

);

return0;

}

No.Namesexage

10101LiLinM18

10102ZhangFunM19

32.以下程序運行結(jié)果是110104WangMinF20

#include<stdio.h>

structstudent

{intnum;

charname[20];

charsex;

intage;

〉;

structstudentstu[3]={{10101,"LiLin",'M',18},{10102,“ZhangFun"z'M'z19}z

{10104z"WangMin"z'F'z20});

intmain()

{structstudent*p;

printf("No.Namesexage\n");

for(p=stu;p<stu+3;p++)

printf("%5d%-20s%2c%4d\n"/p->num/p->namezp->sex,p->age);

return0;

?

四、編程

L設(shè)有一個函數(shù)如下。編程,輸入x,求y值。

,Cx>0

0X-0

Y=

詈x<0

#include<stdio.h>

#include<math.h>

intmain()

{floatx,y;

scanf("%f"z&x);

if(x>0)

y=sqrt(x);

elseif(x<0)

y=(x+l)/(x*x+2);

else

y=o;

printf("x=%6.2f,y=%6.2f\n"zx,y);

return0;

}

2.下面程序的功能是計算1-3+5-7+...?99+101的值存在s中。

#include<stdio.h>#include<stdio.h>#include<stdio.h>

intmain()intmain()intmain()

<<{

inti,t=l,s=0;inti=l,t=l,s=0;inti=l,t=lzs=0;

for(i=l;i<=101;i+=2)while(i<=101)do

{{{

s=s+i*t;s=s+i*t;s=s+i*t;

t=-t;t=-t;t=-t;

)i+=2;i+=2;

printf("sum=%d\n"zs);?}while(i<=101);

return0;printf("sum=%d\n"zs);printf("sum=%d\n"zs);

}return0;return0;

?}

3.一個整數(shù)被5除余3,被7除余5,被9除余7,這個數(shù)最小是幾?

#include<stdio.h>

intmain()

{inti=8;

do

{if((i%5==3)&&(i%7==5)&&(i%9==7))

{printf("%5d\n"zi);

break;}

i=i+5;}while(l);

return0;

?

4.編寫一程序,將兩個字符串連接起來,要求不用strcat函數(shù)。

#include<stdio.h>

#include<string.h>

voidmain()

{charsl[80]zs2[40];

inti=0,j=0;

printf("inputstringl:\n");

gets(sl);

printf("inputstring?:\n");

gets(s2);

i=strlen(sl);

while(s2[j]!='\0')

sl[i++]=s2[j++];

sl[i]='\O';

puts(sl);

}

5.寫一個函數(shù)計算2023以內(nèi)最大的10個能被13或17整除的自然數(shù)之和。

輸出格式:sum=23456

#include<stdio.h>

voidmain()

<

longsum;

sum=sum2023();

printf("sum=%ld\n"zsum);

)

longsum2023()

{

longsum=0;

intizcount=0;

for(i=2023;;i-)

{if(i%13==0||i%17==0)

{count++;

sum+=i;}

if(count==10)break;}

returnsum;

}

6.已知圓柱高h(yuǎn)=5,要求用scanf輸入圓的半徑,求出圓周長,圓面積和圓柱體積,

#include<stdio.h>

intmain()

{floath=5,rzlzs,vz;

floatpi=3.1415926;

p「intf("請輸入圓半徑「嚴(yán));

〃要求輸入圓半徑r

l=2*pi*r;〃計算圓周長I

s=r*r*pi;〃計算圓面積s

vz=pi*r*r*h;〃計算圓柱體積vz

printf("圓周長為:l=%6.2f\n”,l);

printf("圓面積為:s=%6.2f\n"/s);

printf(“圓柱體積為:vz=%6.2f\n”,vz);

return0;

)

7.試編寫程序輸出100?300間的所能同時被3和5整除的數(shù)。

#include<stdio.h>

intmain()

{inti;

for(i=100;i<=300;i++)

iC((i%3==0)&&(i%5==0))

pnntf("%5d",i);

return0;

)

8.一個球從100m高度自由落下,每次落地后反跳回原高度的一半,再落下,再反彈。求它在

第10次落地時,共經(jīng)過多少米,第10次反彈多高。

#include<stdio.h>

intmain()

{

doublesn=100,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;/*第n次落地時共經(jīng)過的米數(shù)*/

hn=hn/2;/*第n次反跳高度*/

}

print”10次落地時共經(jīng)過%f米\己Q0;

printf("第10次反彈%f米\口小0);

return0;

?

9.以下程序從終端讀入數(shù)據(jù)到數(shù)組中,統(tǒng)計其中偶數(shù)的個數(shù),并計算它們之和及平均值。

#include<stdio.h>

intmain()

{inti/a[20]/count;floatavezsum;

sum=0.0;count=0;ave=0;

for(i=0;i<20;i++)scanf("%d",&a[i]);

for(i=0;i<20;i++)

{if(a[i]%2==0)

{count++;

sum=sum+a[i];

}

}

ave=sum/count;

,,

printf("sum=%f/count=%d/ave=%.2f\n/sum,count/ave);

return0;

)

10.水仙花數(shù)的判定。

“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。

例如:153是一個水仙花數(shù),因為13+53+33=153。

#include<stdio.h>

intmain()

{

intnum,i,j,k;

do

{printf(“請輸入一個三位數(shù):\n“);

scdnr("%d"z&num);

Jwhile(num>99911num<100);

i=num/100;

j=num/10%10;

k=num%10;

printf(“您輸入的數(shù)是%d\n百十個位數(shù)字依次為:%d,%d,%d\n“,num,i,j,k);

if(i*i*i+j*j*j+k*k*k==num)

printf("%d是水仙花數(shù)\n",num);

else

printf("%d不是水仙花數(shù)\n",num);

return0;

?

11.給定一3*4的矩陣,求出其中的最大元素值,及其所在的行列號。

#include<stdio.h>

intmain()

{intijzrow=0zcolum=0,max;

inta[3][4]={{l,2,3,4},{9,8,7,6},{-10,10,?4,4}};//定義數(shù)組并賦初值

max=a[0][0];//先認(rèn)為a[0][0]最大

for(i=0;i<=2;i++)

for(j=0;j<=3;j++)

if〃假如某元素大于max,就取代

max的原值

{max=a[i][j];

row=i;//登記此元素的行號

colum=j;//登記此元素的列號

}

printf("max=%d\nrow=%d\ncolum=%d\n"zmax,row,colum);

return0;

}

12.矩陣轉(zhuǎn)置:將二維數(shù)組a的行和列元素互換后存到另一個二維數(shù)組b中。

#include<stdio.h>

intmain()

<intiJzb[3][2]/a[2][3]=?l/2z3}/{4,5z6}?;

printf("arraya:\n");

for(i=0;i<2;i++)

{for(j=0;j<3;j++)

{printf("%5d"za[i][j]);

b[j][i

溫馨提示

  • 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

提交評論