2025年C語言編程寶典計(jì)算機(jī)二級考試備考攻略與題庫全集_第1頁
2025年C語言編程寶典計(jì)算機(jī)二級考試備考攻略與題庫全集_第2頁
2025年C語言編程寶典計(jì)算機(jī)二級考試備考攻略與題庫全集_第3頁
2025年C語言編程寶典計(jì)算機(jī)二級考試備考攻略與題庫全集_第4頁
2025年C語言編程寶典計(jì)算機(jī)二級考試備考攻略與題庫全集_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第一章C語言概述A—、選擇題:

1、一種C程序的執(zhí)行是從(A)。

A本程序的main函數(shù)開始,到main函數(shù)結(jié)束

R本程序文獻(xiàn)的第一種函數(shù)開始,到本程序文獻(xiàn)的最終一種函數(shù)結(jié)束

C本程序的main函數(shù)開始,到本程序文獻(xiàn)的最終一種函數(shù)結(jié)束

D本程序文獻(xiàn)的第一種函數(shù)開始,到本程序main函數(shù)結(jié)束

同、在C語言中,每個(gè)語句必須以(D)結(jié)束。

A.回車符B.冒號C.逗號D.分號

△3、C語占規(guī)定:在一種源程序中,main函數(shù)的位置(C)。

A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的背面

C.可以任意I).必須在最終

一種C語言程序是由(B)。

A.一和主程序和若干子程序構(gòu)成B.函數(shù)構(gòu)成

C.若干過程構(gòu)成D.若干子程序構(gòu)成

5、下列說法中錯(cuò)誤的是(I)).

A.主函數(shù)可以分為兩個(gè)部分:主函數(shù)闡明部分和主函數(shù)體

B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)

C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)

D.程序可以從任何非主函數(shù)開始執(zhí)行

6、用C語言編寫的源文獻(xiàn)通過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將(C

A.生成可執(zhí)行目的文獻(xiàn)B.生成目的文獻(xiàn)

C.輸出運(yùn)行成果D.自動(dòng)保留源文獻(xiàn)

二、填空題:

1、C語言只有32個(gè)關(guān)鍵字和9種控制語句。

2、每個(gè)源程序有且只有一種main函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。

3、C語言程序的注釋可以出目前途序中的任何地方,它總是以\*符號作為開始標(biāo)識,以*/符號作為

結(jié)束標(biāo)識。

4、C語言中.輸入操作是由庫函數(shù)scanf完畢的,輸出操作是由庫函

數(shù)printf完畢的。

5、系統(tǒng)默認(rèn)的C語言源程序文獻(xiàn)的擴(kuò)展名是.c,通過編譯后生成的目的文獻(xiàn)的擴(kuò)展名是.obj,通過連接后生成

的可執(zhí)行文獻(xiàn)的擴(kuò)展名是.exe.

6、C涪占的標(biāo)識符只能由字母、數(shù)字和卜劃線三種字符構(gòu)成。

第三章數(shù)據(jù)類型.運(yùn)算符和體現(xiàn)式,一.選擇題?

1、如下選項(xiàng)中,不對的的C語言浮點(diǎn)型常量是(C).

A.160.B.0.12C.2e4.2[).0.0

2、如下選項(xiàng)中,(D)是不對的的C語言字符型常量。

A.'a'B.'\x4fC''101'D."a"

3、在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的(C)形式存儲。

A.原碼B.反碼C.ASCII碼D.BCD碼

4、若x、i、j和k都是int型變量,則計(jì)算下面體現(xiàn)式后,x的值是(C)。

x=(i=4,j=16,k=32)

A.4B.16C32D.52

5、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級按從高到低依次為(B)0

A.算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算

C.關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算

6、若有代數(shù)式,則不對的的C語言體現(xiàn)式是(C)。

A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3

7、體現(xiàn)式!x||a=b等效于(D)。

A.!((x||a)=b)B.!(x||y)==bC.!(x||(a==b))D.(!x)11(a=b)

8、設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c》d)后,m,n的值是(A)。

A.0.0R.0.1C.1,0D.1,I

9、設(shè)有語句inta=3;,則執(zhí)行了語句a+=a—=a*=a;后,變量a的值是(B)o

A.3B.0C.9D.-12

10、在如下一組運(yùn)算符中,優(yōu)先級最低的運(yùn)算符是(D)o

A.*B.!=C.+D.=

11、設(shè)整型變量i值為2,體現(xiàn)式(++i>T++i)+(++i)的成果是(B)?

A.6B.12C.15I).體現(xiàn)式出錯(cuò)

12、若已定義x和y為double類型,則體現(xiàn)式x=l,y=x+3/2的值是(C).

23、要為字符型變量a賦初值,下列語句中哪一種是對的的(B)o

A.chara="3";B.chara='3';C.chara=%;D.chara=*;

24、下列不對的的傳義字符是(C)。

A.\\B.C.074D.\0

△一、填空迤:

1、C君言中的邏輯值“真”是用1表達(dá)的,邏輯值“假”是用0表達(dá)的。

2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計(jì)算體現(xiàn)式x%=(n%=2)后x的值為0

3、設(shè)c='w',a=l,b=2?d=—5.則體現(xiàn)式*x*+l>c,*y1!=c+2,—a-5*b<=d+1,b==a=2的值分別

為1、0、1、1。

4、設(shè)floatx=2.5,y=4.7;inta=7;,體現(xiàn)式x+a%3*(int)(x+y)%2的值為2.5。

5、判斷變量a、b的值均不為0的邏輯體現(xiàn)式為a!=0&&b!=0。

6、求解賦值體現(xiàn)式a=(b=10)%(c=6),體現(xiàn)式值、a、b、c的值依次為4,4,10,6.

7、求顰逗號體現(xiàn)式x=a=3,6*a后,體現(xiàn)式值、x、a的值依次為18,3,3。

8、數(shù)學(xué)式a/(b*c)的C語言體現(xiàn)式a/b/c。

三、編程題:

1、設(shè)長方形的高為1.5,寬為2.3,編程求該長方形的周長和面積。

2、編寫一種程序,將大寫字母A轉(zhuǎn)換為小寫字母a。

1.

main()

{f1oatx=l.5,y=2.3:printf("areais%6,2f\nM,x*y);}

2.

main()

{charc='A';printf(a%dn,c+32);}

?次序構(gòu)造答案

一、單項(xiàng)選擇題

AADABCCBBD

二、程序改錯(cuò)題

1.對的的程序?yàn)?/p>

#include"stdio.h"

main()

(charc:

getchar(c):

putchar(f\007*);/*鳴笛*/

putchar();

}

2.對的的程序?yàn)?/p>

main()

{inta,b,s,1:

scanf&b);

s=a*b;1=2*(a+b);

Printf(*l=%d,s=%d\n*?1.s);

)

三、號出程序運(yùn)行成果

1.68

2.x=4

y=ll

④四、編程題

1.main()

{inta,b,c,sum;

floatave;

scanf('飛d%d%d”,&a,&b,&c);

sum=a+b+c:ave=sum/3.0;

printf("sum=%d,avc=%.2f\n”,sum,ave):

)

A五、選做題

1.voidmain()

{floata,b,temp;

printf(*inputaandb:*):

scanf("如,%d”,&a,&b):

temp=a;a=b;b=temp;

printf('*a=%d,b=%d\n*,a,b):

)

選擇構(gòu)造答案

一、單項(xiàng)選擇題

1.B2.A3.D4.C5.D6.B7.C

二、填空題

1.554

554

334

2.40

3.VeryGood

Good

VeryGood

Fail

Pass

Pass

?三、閱讀程序,寫出運(yùn)行成果

1.10,4,3;

-1

36A1a

四、程序設(shè)計(jì)題

1.main()

{inta,b.x,y:

scanf(<4%d%d”,&a,&b);

x=a*a+b*b;

if(:<>100)

{y=x/l00;printf(,y);}

elseprintf("%d",a+b);

)

A2.if構(gòu)造

main()

{floatt;charc:

printf(**inputscore,maxas100;\n"

scanf(M%fw,&t);

if(t>=90)ch='A';

eIseif(t>=80)ch='B,:

eIseif(t>=70)ch='C';

eIseif(t>=60)ch='D':

elsech=,E';

printf("Grade=%d\n”,ch);

}

switch構(gòu)造

main()

{floatt:charc;

print:(uinputscore,maxas100:\n'j;

scanf("%f",&t);

switch(t/10)

{case10:

case9:ch='A';break;

case8:ch='B';break;

case7:ch='C,;break;

case6:ch='D';brcak:

case5:ch='E';

}

print:("Grade=%d\nM,ch):

)

A五、選做題

1.main()

{inta,b,c,t;

scanf('飛d%d%dn.&a.&b,&c):

if(a<b){t=a:a=b:b=t;J

if(a<c){t=a;a=c;c=t;}

if(b<c){t=b;b=c;c=t;}

printf(i(%d,%d,%d\nM,a,b,c);

42.switch((s>0)&&(s<=l0))

{case1:switch((s>=3)&&(s<=6))

{case1:x=2;break;

case0:switch(s>l)I|(s>8))

{case1:x=3;break;

case0:x=1;break;

)

}break;

casc0:x=0:break;

}

嗡環(huán)構(gòu)造答案

一、選擇題

1.B2.A3.A4.C5.A6.B7.A8.C9.D10.D

④二、短空題

1.x1xl/2-2

2.ch=getchar()ch>='A'&&ch<=,V

3.s=s+t*it=-1

三、閱讀下列程序,寫出程序運(yùn)行的輸出成果

1.852

2.8921

3.5

4.SIM=2468

A四、程序改錯(cuò)

1.main()

{inti=200,n=0;/*n用來記錄每行已打印數(shù)的個(gè)數(shù)*/

while(i<=300)

{if(i%7==0)

{//break;

Printf(*%5d*,i);n=n—1;

if(n==5)/*滿5個(gè)換行*/

(Printf;n=0;}

)

i++:}}

2).main()

(inti,s=0,t=l;

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

{t=t*i;s=s+t;}

prin:f(*sum=%d\n",s);

}

八五、程序設(shè)計(jì)題

1.main()

{intx,g,s,b;

for(x=100;x<1000;x++)

{b=x/100:s=x%l00/10:g=x%l0;

if((g*g*g+s*s*s+b*b*h)==x)

printf(u%d\nw,x);)

)

?2.main()

(inti,s=0,f=l;

for(i=2;i<80:i++)

(s=sif*(i1)/i;f=—f;}

printf(s=%f\n”,s);

}

A六、選做題

1.main。

{floats=0,m=2.0,n=1.0,p;

inii:

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

(s=s+m/n;p=m;m=m+n;n=p;}

prin:f(s=%f\nM,s);

)

?2.#inc1ude<stdio.h>

main()

{inti,j,k,s=1;

for(i=l:i<=20;i++)

for(j=1;j<=50;j++)

{k=l00-i*5-j*2;

if(k>=0)

{printf(M%2d%2d%2d",i,j,k);

s=s+l:

if(s%5==0)printf(“\n”);

}

)

}

A第7章數(shù)組習(xí)題

A卷

1.單項(xiàng)選擇題

(1)inta[4]={5,3,8,9};其中a[3]的值為(D

A.5B.3C.8D.9

(2)如下4個(gè)字符串函數(shù)中,()所在的頭文獻(xiàn)與其他3個(gè)不一樣。A

A.getsB.strepyC.strlenD.stremp

(3)如下4個(gè)數(shù)組定義中,()是錯(cuò)誤的。I)

A.inta[7];B.#defineN5Iongb[N];C.charc[5];D.n,d[n]:

(4)對字符數(shù)組進(jìn)行初始化,()形式是錯(cuò)誤。B

A.charcl[]={,l/,'2','3');B.charc2[]=123:C.charc3[]={fT,'2','3',

>\0'};D.charc4[]=*123*:

(5)在數(shù)組中,數(shù)組名表達(dá)()。A

A.數(shù)組第1個(gè)元素的首地址B.數(shù)組第2個(gè)元素的首地址

C.數(shù)組所有元素的首地址D.數(shù)組址終1個(gè)元素的首地址

(6)若有如卜數(shù)組闡明,則數(shù)值最小的和最大的元素下標(biāo)分別是()。B

inla[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12B.0,11C.1,11D.0,12

(7)若有如下闡明,則數(shù)值為4的體現(xiàn)式是()oD

int2]=(1,2,3,4,5,6,7,8,9,10,11,12);charc='a',d,g;

A.a[g-c]B.a[4]C.a['d'-'/]D.a['d'-c]

⑻設(shè)有定義:chars[12]="string";則prinlf("%d\n*,str1en(s));的輸出是()。A

A.6B.7C.11D.12

(9)設(shè)有定義:chars[12]="siring-:則prinIf(飛d'n”,sizeof(s));的輸出是(D

A.6B.7C.11I).12

(10)合法的數(shù)組定義是()。A

A.chara[]=*string":B.inta[5]={0,1,2,3,4,5};C.chara="string

;I),chara[]={0,1,2,3,4,5)

(11)合法的數(shù)組定義是()°D

A.inta[3][]={0,1,2,3,4,5};B.inta[][3]=(0,1?2,3,4};

C.inta[2][3]={0,1,2,3,4,5,6};D.inta[2][3]={0,1,2,3,4,5,);

(12)下列語句中,對的的是()nI)

A.chara[3][]={'abc','1'}:B.chara[][3]={'abc','1');

C.chara[3][]={'a',"1");D.chara[][3]=("a","1"};

(13)下列定義的字符數(shù)組中,輸出printf("%s\n*,str⑵);的輸出是()。C

staticstr[3][20]={"basic","foxpro*."windows"}:

A.basicB.foxproC.windowsD.輸出語句出錯(cuò)

(M)下列各語句定義了數(shù)組,其中哪一種是不對的的()。C

A.chara[3][10]={*China","American","Asia"};B.intx[2][2]={1,2,3,4};

C.flcatx[2][]={1,2,4,6,8,10};D.intm[][3]={1,2,3,4,5,6):

(15)數(shù)組定義為inta[3][2]={1,2,3,4,5,6},值為6的數(shù)組元素是(底B

A.a[3][2]B.a[2][l]C.a[1][2]I).a[2][3]

(16)下面的程序中哪一行有錯(cuò)誤()。D

ttinc1ude<stdio.h>

main()

(

fIoatarray[5]={0.0};//第A行

in:i;

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

seanf(飛f”,&arrayEi]):

for(i=l:i<5:i++)

array[0]=array[0]+array[i];//第B行

Printf("%f\narray[0]);//第C行

}

A.第A行B.笫B行C.第C行D.沒有

(17)下面哪一項(xiàng)是不對的的字符串賦值或賦初值的方式()。C

A.char*str;str="string*;

B.charstr[7]={'s','t','r','i','n',,g,};

C.charstrl[10];strl=,rstring*;

D.charstr1[]=*string",str2[]="12345678”:

(18)若有如下闡明和語句,則輸出成果是哪一項(xiàng)(C

(str1en(s)為求字符串S的長度的函數(shù))

chars[l2]="abook!”:

printf('%d”,str1en(s)):

A.12B.8C.7D.11

(19)若有如下闡明和語句,則輸出成果是()。B

(strlen(s)為求字符串s的長度的函數(shù))

charsp[]=z,\t\v\\\0wi1l\n”;

printf("%d”,strlen(sp));

A.14B.3C.9D.字符串中有非法字符

(20)若有如下闡明和語句,則輸出成果是()。C

charstr[]=*\*c:\\abc.dat\**;

printf(*%s",str):

A.字符串中有非法字符B.\^c:\\abc.dat\*C."c:\abc.dat*D,"c:\\abc.dat

2.填空題

(i)c語言中,數(shù)組的各元素必須具有相似的,元素的下標(biāo)下限為,卜.標(biāo)必須是正整數(shù)、0、

或者.但在程序執(zhí)行過程中.不檢杳元素下標(biāo)與否?

數(shù)據(jù)類型,0,符號常量,越界

(2)C語言中,數(shù)組在內(nèi)存中占一片的存儲區(qū),由代表它的首地址。數(shù)組名是一

種常量,不能對它進(jìn)行賦值運(yùn)算。持續(xù),數(shù)組名,地址

⑶執(zhí)行staticintb[5],a[][3]={1,2,3,4,5.6}:后,b[4]=,a[l][2]=o0,6

(4)設(shè)有定義語句staticinta[3][4]={{1},⑵,{3});則值為,a[l]⑴值為

的值為。2,0,()

(5)如定義語句為chara[]=*windows*,b[]="95";,語句printf("%s*,strcat(a,b)):的輸出成

果為°Windows95

(6)根據(jù)如下闡明,寫出對的的闡明語句:men是一種有10個(gè)整型元素的數(shù)組。

step是一種有4個(gè)實(shí)型元素的數(shù)組,元素值分別為1.9,-2.33,0,2

0.6。

grid是一種二維數(shù)組,共有4行,10列整超元素.

intmcsh[10];f1oatstep[4]={1.9,-2.33,0,20.6};intgrid[4][10]:

(7)array是一種一維整形數(shù)組.有10個(gè)元素,前6個(gè)元素的初值是9,4,7,49,32,-5,對的的闡明語句為:

□該數(shù)組下標(biāo)的取值范圍是從一到(從小到大)。用seanf函數(shù)輸入數(shù)組的第二個(gè)元

素表達(dá)為:。用賦值語句把39存入第一種元素表達(dá)為:°

把第六個(gè)和第四個(gè)元素之和存入第一種元素表達(dá)為:

intarray[10]=[9,4,7,49,32,-5};09scanf("%d",&arr&y[1]);array[0]=39;array[0]=

array[5]+array[3];

(8)寫出如下初始化數(shù)組的長度:①intchn[3];數(shù)組chn的長度為____gfloatisa=0,2.0,3.0,4.0,5.0};

數(shù)組isa的長度為—o③intdoom[8];數(shù)組doom的長度為—。?floatpci[4][2];數(shù)組pci的長度為

⑤intasl[3][3];數(shù)組ast的長度為一。⑥intatt[3][4];數(shù)組att的長度為_____?

⑦floatdell[][3]={{1,4,7},{2,5},{3,6,9}};數(shù)組dell的長度為一6201632182

436

(9)若有如卜整型的a數(shù)組,數(shù)組元素和它們得值如下所示:

數(shù)組元素:a[0]a[l]a[2]a[3]a[4]a[5]a[6]“7」a[8]a[9]

元素的值:941282107513

①清寫出對該數(shù)組的闡明,并賦以上初值。

②該數(shù)組的最小下標(biāo)值為最大下標(biāo)值為

③寫出下面各式的值:a[a[9]]的值為;a[a[4]+a[8]]的值為_。

inta[10]={9,4,12,8,2,10,7,5,1,3);0988

(10)字符串"ab'n\\012/\\\""的長度為____。10

應(yīng).判斷題

(x)(1)C容許對數(shù)組的大小作動(dòng)態(tài)定義,即可用變量定義數(shù)組的大小。

<X)(2)字符數(shù)組不規(guī)定它的最終一種字符為‘'0',甚至可以不包括''0'。

(X)(3)數(shù)組定義inta[10];也可以寫成inta(10);。

(V)(4)在對所有數(shù)組元素賦初值時(shí),可以不指定數(shù)組長度。

(x)(5)定義S為5X6(5行6歹Q的數(shù)組可寫成floata[5,6];

(J)(6)數(shù)組定義inia[10]:表達(dá)數(shù)組名為a,此數(shù)組有10個(gè)元素。

<X)(7)數(shù)組定義inta[10];表達(dá)數(shù)組名為a,此數(shù)組有10個(gè)元素,第10個(gè)元素為a[10]。

(J)(8)staticcharc[]={"abook”);與staticcharc[]=<4abook”;等價(jià)。

(X)(9)staticcharc[]={'a''b','o','o','k','\0'};與staticcharc口={'a','','b',

'o',%','k'};等價(jià)。

<x)(10)設(shè)已經(jīng)有闡明:staticcharcl[10],c2[10]:下面程序片段是合法的。c1=<4<bookM);c2=c1:

M.程序填空題

(1)渝入20個(gè)數(shù),輸出它們的平均值,輸出與平均值之星的絕對值為最小的數(shù)組元素。造填空。

#inc1ude<stdio.h>

voidmain()

f1oata[20],pjz=0,s,t:inti,k;

for(i=0:i<20;i++)pjz-*-=a[i];

s=fabs(a[0]-pjz);

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

if(fabs(a[i]-pjz)<s)

{

s=fabs(a[i]-pjz):t=a[i];

)

)

----------------------------------------------------------------------------------------------------------------------afor(i

=0:i<20;i++)scanf("%f”,&a[i]);pjz/=20;printf("%f,%f\n”,piz,t);

(2)如下.程序以每行10個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請?zhí)羁铡?/p>

voidiiain()

(

in:a[50],i;

printf("輸入50個(gè)整數(shù):");

for(i=0;i<50;i++)scanf(飛d”,);

for(i=1:i<=50:i++)

)

printf(*%3d\n*?)

printf(*%3d*?a[i-l]);

)

}

&a[i]i%l0==0a[i-1]

M3)下面程序的功能是輸出數(shù)組s4,最大元索的下標(biāo),請?zhí)羁铡?/p>

voidiiain()

(

intk,p;

in:s[]={1,-9,7,2,-10,3):

for(p=0,k=p;p<6;p*?)

if(s[p]>s[k]);

printfC%d\nw,k):

}

k=p

M4)這個(gè)程序輸入了20個(gè)數(shù)寄存在一種數(shù)組中,并且輸出其中最大者與最小者、20個(gè)數(shù)的和及它們的平均值。請?zhí)羁铡?/p>

voidmain()

(

chararray;

intmax,min.average,sum;

inti;

for(i-0;i<;i++)

printf("請輸入第%d個(gè)數(shù):",i+1);

scanf("%d",);

)

max=array[O];

min=array[O]:

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

(

if(max<array[i])

if(min>array[i])

sum=;

}

average=;

printf("?0個(gè)數(shù)中最大值是'*,max):

printf("最小值是%d,",min);

printf("和是%d,",sum);

printf("平均值是%d.\n”,average);

[20]

20

&array[i]

max=array[i]:

min=array[i];

sum+array[i]

sum/20

山卷

5.閱發(fā)程序,分析程序的功能。

(1)

^include<stdio.h>

nc1ude<string.h>

voidmain()

(

chars[80]:

inti;

for(i=0:i<X0;i++)

{

s[i]=getchar();

if(s[i]=='\n')break;

)

s[i]=*\0*;i=0:

whi1e(s[i])putchar(s[i++J);

putchar('\n');

)

從鍵盤輸入一種字符串,并逐一?輸出

<2)

#inc1ude<stdio.h>

#inelude<string.h>

voidnain()

(

charstr[10][80],c[80];

inti;

for(i=0;i<10;i++)gets(str[i]):

strepy(c,str[O]):

for(i=1;i<l0;i++)if(str1en(c)<strlen(str[i]))strcpy(c,str[i]);

printf(*%s\n*,c):

Printf("%d\n",str1en(c));

}

從鍵盤輸入若干字符串,找到其中最長的一種輸出及它的長度

(3)

nelude<stdio.h>

#incIude<string.h>

voidmain()

chara[10][80],c[80];

in:i,j,k;

for(i=0;i<10;i++)gets(a[i]);

for(i=0:i<9;i++)

(

k=i;

:or(j=i+l;j<10;j++)

if(strcmp(a[j],a[k])<0)k=j;

if(k!=i)

(strcpy(c;strcpy(a[i],a[k]);3trcpy(a[k]?c);)

//字符串互換

)

for(i=0:i<10;i++)puts(a[i]);

}

從鍵盤論入若干字符串,并將它們按大到小次序排好再輸出

M4)閱讀程序,寫出運(yùn)行成果

#inelude<stdio.h>

voidnain()

(

inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16),i,j;

:or(i=0;i<6;i++)

for(j=0;j<6:j++)if(a[i]==b[j])break;

if(j<6)printf(*%d”,a[i]);

}

Printf('*\n*);

)

4252716

(5)閱讀程序,寫出運(yùn)行成果。

#include<stdio.h>

voidmain()

(

chara[8],temp:intj,k;

for(j=0J<7;j++)a[j]='a'+j;a⑺='\0';

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

{

temp=a[6:;

for(k=6:k>O;k—)a[k]=a[k-1];

a[0]=temp;

printf("%s\n*,a);

}

gabcdef

fgabcde

efgabcd

(6)閱讀下列程序,寫出程序運(yùn)行的輸出成果。

Sinclude<stdio.h>

#inelude<sIring.h>

voidmain()

(

charstr1[]="********;

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

(

printf("%s\n*,strl);

strl

str1[strlcn(strl)—1]='\0*;

)

}

*******

*****

火火*

*

?⑺該程序的運(yùn)行成果是:min=,

voidmain()

floatarray[4][3]={

{3.4,-5.6,56.7),

{56.8,999.,-.0123},

{0.45,-5.77,123.5),

{43.4,0,111.2)

};

inti,j;

intmin;

intm,n:

min=array[0][O';

m=0;n=0;

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

for(j=0:j<4:j++)

if(min>array[i][j])

(

min=array[i][j];

m=i;n=j:

)

printf("min=%d,m=%d,n=%d\n”,min,m,n);

)

-5.7721

M8)寫出下面這個(gè)程序的輸出成果:

voidmainO

(

charstr[]="ABCDEFGHIJK17:

printf("%s\n",str);醉幕上顯示

prin:f(*'%s\ir,&str[4]):歷幕上顯示

str[2]=str[5];

printfr%s\n\str);屏尊上顯示

str[9]='M)';

prin:f(*%s\n",str);屏幕上顯示

}

ABCDEFGHIJKL

EFGHIJKL

ABFDEFGHIJKL

ABFDEFGHI

(9)讀懶下面的程序并填空。

voidmain()

(

charstr[80];

in:i=0;

gets(str);

whi1e(str[i]!=0)

i:(str[i]>=,a*&&str<=,z*)

str[i]-=32;

i++;

)

puts(str):

}

程序運(yùn)行時(shí)假如輸入upcasc,屏幕顯示

程序運(yùn)行時(shí)假如輸入AalBb2Cc3,屏幕顯示

UPCASE

AA1BB2CC

第8章函數(shù)習(xí)題M卷

1.單項(xiàng)選擇題

(DC語言總是從函數(shù)開始執(zhí)行。A

A.mainB.處在最前的C.處在最終的1).隨機(jī)選一種

(2)函數(shù)在定義時(shí),省略函數(shù)類型闡明符.則該函數(shù)值的類型為.A

A.intB.floatC.IongD.doub1e

(2)如下函數(shù),真正地沒有返回值。B

A.in:a(){inta=2;return(a):)B.voidb(){printf(*c");}

C.inta(){inta=2:returna:}D,以上都是

(3)在C語言中,有關(guān)函數(shù)的說法,如下對的的是。A

A.函數(shù)可嵌套定義,也可嵌套調(diào)用B.函數(shù)可嵌套定義,但不可嵌套調(diào)用

C.函數(shù)不可嵌套定義,但可嵌套調(diào)用D,函數(shù)不可嵌套定義,也不可嵌套調(diào)用

(4)如下函數(shù)調(diào)用語句中,具有實(shí)參的個(gè)數(shù)為。C

fun((2,3),(4,5+6,7));

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

(5)函數(shù)調(diào)用可以在。I)

A.函數(shù)體現(xiàn)式中B.函數(shù)語句中函數(shù)參數(shù)中D.以上都是

(6)被招函數(shù)返回給上調(diào)閑數(shù)的值稱為?C

A.形參B.實(shí)參C.返回值D.參數(shù)

<7),可以不進(jìn)行函數(shù)類型闡明。I)

A.被調(diào)函數(shù)的返回值是整型或字符型時(shí)B.被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時(shí)

C.在所有函數(shù)定義前,已在函數(shù)外預(yù)先闡明了被調(diào)函數(shù)類型D.以上都是

(8)被調(diào)函數(shù)通過語句,將值返回給主調(diào)函數(shù)。D

A.ifB.forC.whileD.return

(9)被調(diào)函數(shù)調(diào)用結(jié)束后,返回到。D

A.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句處

B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語句處

。主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的前一語句

D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的后一語句

(10)如下對C語言函數(shù)的有關(guān)描述中,對的的是。A

A.在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參

B.C函數(shù)既可以嵌套定義又可遞歸調(diào)用

C.函數(shù)必須有返回值,否則不能使用函數(shù)

0.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一種源程序文獻(xiàn)中

(11)C語言中函數(shù)的隱含存儲類型是C

A.autoB.staticC.externD.無存儲類型

(12)能把函數(shù)處理成果的兩個(gè)數(shù)據(jù)返回給主調(diào)函數(shù),在下面的措施中不對的的是。A

A.return這兩個(gè)數(shù)B.形參用兩個(gè)元素的數(shù)組

C.形參用兩個(gè)這種數(shù)據(jù)類型的指針【).用兩個(gè)全局變量

(13)C語言可執(zhí)行程序從什么地方開始執(zhí)行()。C

A.程序中第一條可執(zhí)行語句B.程序中第一種困數(shù)

C.程序中的main函數(shù)D.包括文獻(xiàn)中的第一種函數(shù)

(14)有一種函數(shù)原型如下所示,則該函數(shù)的返回類型為()。C

abc(fIoatx,floaty);

A.vcidB.doubleC.intD.float

立.填空題

(1)變量的作用域重要取決于變量,變量的生存期既取決于變量,又取決于變量o

所處的位置,所處的位置,存儲類型

(2)闡明變量時(shí),若省略存儲類型符,系統(tǒng)默認(rèn)其為存儲類加該存儲類別的類型符為:。動(dòng)

態(tài),auto

(3)靜態(tài)型局部變量的作用域是,生存期是o它所在的局部,整個(gè)程序

(4)函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為,都是變量時(shí),傳遞方式為。址

傳遞,值傳遞

(5)函數(shù)的形式參數(shù)的作用域?yàn)椋值耐獠孔兞亢秃瘮?shù)體內(nèi)定義的局部變量重名時(shí),

變量優(yōu)先。該函數(shù)中,局部

(6)若自定義函數(shù)規(guī)定返回一種值,則應(yīng)在該函數(shù)體中有一條語句,若自定義函數(shù)規(guī)定不返回一種值,則應(yīng)

在該函數(shù)闡明時(shí)加一種類型闡明符.return,void

(7)若函數(shù)的形式參數(shù)是指針類型,則實(shí)參可以是或。指針,數(shù)組名

(8)函數(shù)的參數(shù)為char*類型時(shí),形參與實(shí)參結(jié)合的傳遞方式為。址傳遞

(9)函數(shù)的實(shí)參為常量時(shí),形參與實(shí)參結(jié)合的傳遞方式為。值傳遞

(10)下面這個(gè)函數(shù)的功能是求兩個(gè)整數(shù)的積,并通過形參傳回成果,請?zhí)羁?。inIint**resu1t

voidmu1(x,__y,___result)

(

____=x*y;

)

2.判斷題

<xj(i)函數(shù)闡明指的是在程序中設(shè)定一種函數(shù)模塊。

(V)(2)形參只有在被調(diào)用時(shí)才分派存儲空間。

(X)(3)在C的函數(shù)中,最佳使用全局變量。

(X)(4)在調(diào)用函數(shù)時(shí),實(shí)參傳值給形參,調(diào)用結(jié)束時(shí),形參值傳給實(shí)參。

(J)(5)所有函數(shù)定義都是并行的,互相獨(dú)立的。

(X)(6)函數(shù)的隱含存儲類型是extern。

<X)(7)形參可以是常量、變量或體現(xiàn)式。

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論