C語言程序設(shè)計(jì)實(shí)例教程(慕課版)(第2版)-課后習(xí)題_第1頁
C語言程序設(shè)計(jì)實(shí)例教程(慕課版)(第2版)-課后習(xí)題_第2頁
C語言程序設(shè)計(jì)實(shí)例教程(慕課版)(第2版)-課后習(xí)題_第3頁
C語言程序設(shè)計(jì)實(shí)例教程(慕課版)(第2版)-課后習(xí)題_第4頁
C語言程序設(shè)計(jì)實(shí)例教程(慕課版)(第2版)-課后習(xí)題_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

單元1

一、選擇題

1.c語言是一種(

A.機(jī)器語言B.匯編語言C.高級語言D.低級語言

2.下列各項(xiàng)中,不是C語言特點(diǎn)的是(

A.語言簡潔、緊湊,使用方便B.數(shù)據(jù)類型豐富,可移植性好

C.能實(shí)現(xiàn)匯編語售的大部分功能D.有較強(qiáng)的網(wǎng)絡(luò)操作功能

3.以下敘述不正確的是(\

A.一個(gè)C源程序必須包含一個(gè)main函數(shù)

B.一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成

C.C程序的基本組成單位是函數(shù)

D.在C程序中,注釋說明只能位于一條語句的后面

二、填空題

1C程序一般由若干個(gè)函數(shù)構(gòu)成,程序中應(yīng)至少包含一個(gè),其名稱只能為

2.計(jì)算機(jī)編程語言分成、、三大類。C語言誕生于

年;1983年,美國制定的C語言標(biāo)準(zhǔn)為;1999年,由ISO/IEC發(fā)布的C語言標(biāo)準(zhǔn)為

三、問答和編程題

1.寫出一個(gè)C程序的構(gòu)成。

2.已知一個(gè)正方形的長a=4,寬加3,求長方形的面積s并輸出。

單元2

一、選擇題

1.以下選項(xiàng)中,不正碓的C語言浮點(diǎn)型常量是(b

A.160.B.0.12C.2e4.2D.0.0

2.以下選項(xiàng)中,不正確的C語言字符型常量是(

A.'a'B."41'C.MorD."a"

3.以下標(biāo)識符合法的是(

A.intB._al2C.3ceD.stu#

4.已知"intx=023",則表達(dá)式++x的值是(

A.17B.18C.19D.20

5.已知"intx=7,y=3;",則表達(dá)式x/y的值是(b

A.1B.2C.2.333333D.2.33

6.已知"inix=10",則表達(dá)式x+=x-=x-x的值是(卜

A.10B.40C.30D.20

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

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

8.若變量X、入/和A都是int型變量,則計(jì)算下列表達(dá)式后,x的值是(

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

A.4B.16C.32D.52

9.下列轉(zhuǎn)義字符不正確的是(

A.\\B.VC.074D.\0

10.若有代數(shù)式答,則下列C語善表達(dá)式不正確的是(

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

II.已知字母A的ASCII碼為十進(jìn)制數(shù)65,且C2為字符型,則執(zhí)行語句“C2+A中6-3;”后C2

中的值是(

A.DB.67C.不確定的值D.C

12.字符串"ABC"在內(nèi)存中占用的字節(jié)數(shù)是(b

A.3B.4C.6D.8

13.表達(dá)式l8/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(

A.intB.floatC.doubleD.不確定

14.若有說明語句“charc='\72';',則變量c在內(nèi)存中占用的字節(jié)數(shù)是(b

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

15.C語言中,要求運(yùn)算對象只能為整數(shù)的運(yùn)算符是(卜

A.%B./C.>D.*

16.若已定義x和y為double類型,且定義x=l,則表達(dá)式y(tǒng)=x+3/2的值是(卜

A.1B.2C.2.0D,2.5

17.sizeof(double)的結(jié)果值是()?

A.8B.4C.2D.出錯(cuò)

二、填空題

1.C語言規(guī)定,標(biāo)識符只能由、、3種字符組成,而且第一個(gè)字母必

須是或0

2.若x和〃都是ini型變量,且x的初值為12,〃的初值為5,則計(jì)算表達(dá)式x%=(n%=2詬x的

值為

3.在計(jì)算機(jī)中,字符的比較是對它們的數(shù)值進(jìn)行比較。

5.以下程序段運(yùn)行后的輸出結(jié)果是o

intmain()

(

charch='x*;

intx;

unsignedy;

floatz=0;

x=ch-'z';

y=x*x;

z-=y/x;

prlncr("ch=%c,x=^dzy=%u,z=%r'\ch,xzy,z);

return0;

)

6.以下程序段運(yùn)行后的輸出結(jié)果是o

intmain()

(

intx=1234;

charcl,c2,c3,c4;

cl=x%10+'0';

c2=x/10%10+'0';

c3=x/100%10+,0';

c4=x/1000+,0,;

printf("cl=%c/c2=%c,c3=%c,c4=%c",cl,c2,c3,c4);

return0;

)

7.以下程序段運(yùn)行后的輸出結(jié)果是<>

intmain()

(

inta,b,c;

a=b=c=l;

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

printf(n%d,%d,%d\n",a,++b,c--);

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

return0;

}

四、編程題

I.設(shè)長方體的長為2,寬為2.3,高為1.5,編程求該長方體的表面積和體積。

2.編寫一個(gè)程序,輸入一個(gè)大寫字母,將其轉(zhuǎn)換為對應(yīng)的小寫字母并輸出。

3.編寫程序,對于任意輸入的兩個(gè)整數(shù),求商和余數(shù)。

4.輸入一個(gè)華氏溫度,輸出攝氏溫度。公式為C=5x(尸32)99。其中,。為攝氏溫度,F(xiàn)為華

氏溫度。輸出要有文字說明,結(jié)果保留兩位小數(shù)。

單元3

一、選擇題

1.以下選項(xiàng)中不是C語句的是(b

A.++tB.;

C.k=i=j;D.W=b=l:b=a%2;}

2.有定義語句:inta=5,b;,則不能給人賦2的賦值語句是(卜

A.b=a/2;B.b=b+2;C.b=2%a;D.b=5;b=2;

3.下列程序段的輸出結(jié)果是(

#include<stdio.h>

intmain()

{inta=1234;

floatb=123.456;

doublec-12345.54321;

printf("%2d,%2.If,^2.Ifa,b,c);

return0;}

A.無輸出B.12,123.5,12345.5

C.1234,123.5,12345.5D.1234,123.4,1234.5

4.以下語句的輸出結(jié)果是(卜

printf("^dXn",'A'-5D;

A.5B.14

C.8D.輸出項(xiàng)不合法,無法正常輸出

5.下面程序的輸出結(jié)果是(卜

tinclude<stdio.h>

intmain()

(

intx=7,y=3;

printf("%d",y=x/y);

return0;

}

A.0B.2C.3D.不確定的值

6,若變量已正確說明為float型,要通過語句"scanf("%f%f%『、&a.&b.&c);^a賦予10.0,b賦予

22.0,c賦予33.0,則下列輸入形式不正確的是(

A.10〈回車>22V回車>33〈回車〉B.10.0,22.0,33.0V回車,

C.10.0<回車>22.033.0〈回車>D.1G22〈回車>33〈回車>

7.現(xiàn)有以下程序段:

tinclude<stdio.h>

intmain()

{inta,b,c;

scanf("a?%*d%d,b?%d%*d,C-%d",&a,&b,&c);

,

printf('a=%d/b=&d,c=%d\n",azb,c);

return0;

}

若輸出的結(jié)果為、=20,b=30,c=40",則以下能夠正確輸入數(shù)據(jù)的是(卜

A.a=1020,b=2030,c=40B.20,30,40

C.a=20,b=30,c=40D.a=IO20,b=3020,c=40

8使用scanf("a=%d,b=%d",&a,&b)為變量a和b賦值。要使a和b均為5(),正確的輸入是(

A.a=50b=50B.5050C.a=50,b=50D.50,50

9.調(diào)用getchar()和putchar。函數(shù)時(shí),必須包含的頭文件是(卜

A.sldio.hB.stdlib.hC.defineD.以上都不對

10.有如下程序段:

tinclude"stdio.hn

intmain()

{charc;

c-(*z'-'a,)/2+*A';

putchar(c);

return0;}

則其輸出結(jié)果為()b

A.MB.NC.0D.Q

一、填空題

1.“printf("%4s","China");"的輸出結(jié)果是。

2.對于長整型變量,在scanf語句的“格式控制字符串”中用。

3.scanf()函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件中。

4.設(shè)a為floa【型變量,輸入寬度為6,小數(shù)占2位則正確的scanf()函數(shù)語句是.

5.C語善的字符輸出函數(shù)是o

6.getcharQ函數(shù)得到的字符可以賦給一個(gè)變量或一個(gè)變量。

7.使用gelchar。函數(shù)接收字符,若輸入多于一個(gè)字符,則只接收個(gè)字符。

三、寫出程序的運(yùn)行結(jié)果

I.以下程序段的運(yùn)行結(jié)果是O

tinclude<stdio.h>

intmain()

(

intx=6,yzz;

x*=18+l;

printf("為d\n",x--);

x+=y=z=ll;

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

x=y==z;

,,,

printf('%d\n/-x++);

return0;

)

2.有以下程序段,若從鍵盤輸入5a6c回車>,則輸出結(jié)要為o

^include<stdio.h>

intmain()

(

inta=0,b=0;

charc;

scanf(,,%d%c%d",&a,&c,&b);

printf(M%d,%c,%d",a,c,b);

return0;

}

}

3.以下程序段的運(yùn)行結(jié)果是。

#include<stdio.h>

intmain()

f

doubled?3.2;

intx,y;

x=1.2;

y-(x+3.8)/5.0;

printf("%d\nn,d*y);

return0;

)

4.有以下程序段,運(yùn)行時(shí)輸入56〈回車〉,運(yùn)行后的輸出結(jié)果是,

#include<stdio.h>

intmain()

(charcl,c2;

inta,b;

cl=getchar();

c2=getchar();

a?cl-'01;

b=a*10+(c2-,0');

printf("%d",b);

return0;

}

四、編程題

1.將數(shù)據(jù)加密后進(jìn)行輸出。加密規(guī)則如下:將單詞中的每個(gè)字母變成其后的第5個(gè)字母,如把

"China"加密后輸出。

22

2.求ax+Z?r4-c=0方程的根,“、b、c由鍵盤輸入,設(shè)b~4ac>0o

3.計(jì)算定期存款本金和利息之和。設(shè)銀行定期存款的年利率rate為0.5%,并已知存款期為n年,

存款本金為capital元,試編程計(jì)算〃年后的本金和利息之和deposit。要求定期存款的年利率rale.

存款期/?和存款本金capis/均由鍵盤輸入。

單元4

一、選擇題

1.當(dāng)整型變量X為大于1的奇數(shù)時(shí),值為。的表達(dá)式是f卜

A.x%2==0B.x/2C.x%2!=0D.x%2==l

2.設(shè)。為整型變量,蛆下列不能正確表達(dá)數(shù)學(xué)關(guān)系10<興15的語言表達(dá)式是(卜

A.10<a<15B.a==11||a==12||a==13||a==14

C.a>l()&&a<15D.!(a<=l())&&!(a>=15)

3.能正確表示。和人同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是(

A.(a>=0||b>=0)&&(a<0||b<0)B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0)D.a*b>0

4.下列運(yùn)算符中優(yōu)先級最低的是(b

A.?:B.&&C.+D.!=

5.下列運(yùn)算符中優(yōu)先級最高的是(b

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

6.已知”=5,h=6,c=l,d=8,m=2,〃=2,執(zhí)行(m=a>b)&&(n=c<d)后n的值為(

A.1B.0C.2D.-1

7.設(shè)a=3,b=4,c=5,則表達(dá)式!(a>b)&&!c||l的結(jié)果是(卜

A.1B.0C.2D.4

8.設(shè)a=l,b=2,c=3,4=4,則表達(dá)式a<b?b:c<d?a:b的結(jié)果是(卜

A.4B.3C.2D.I

9.下列敘述正確的是(卜

A.在switch語句中不一定有break語句

B.在switch語句中必須使用default語句

C.break語句必須與switch語句中的case配對使用

D.break語句只能用于switch語句

10.若/=10,則執(zhí)行下列程序后,變量i的值為(卜

switch(i)

{case9:i+?l;

case10:i+=l;

case11:i+=l;

default:i+-l;

}

A.11B.12C.13D.14

二、填空題

1.已知a=1.5,b=2,c=3.6,則表達(dá)式a>b&&c>a||a<b&&c>b的值是,

2.已知。=3,b=-4,c=5,則表達(dá)式(a&&b尸=(a||c)的值是。

3.已知a=2,b=3,則表達(dá)式!a+b的值為。

4.設(shè)x為整型變量,則判斷x能夠被3或7整除的表達(dá)式是o

5.數(shù)學(xué)式或〃或z的C語言表達(dá)式。

6.以下程序用于判斷久。能否構(gòu)成三角形,若能,輸出YES,否則輸出NOo當(dāng)給〃、〃、c

輸入三角形3條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足3個(gè)條件:a^b>c,a-c>b,

b+c>a。請?jiān)诳瞻滋幪羁胀瓿沙绦颉?/p>

floata,b,c;

if(_____________)

printf("YES\n");/*a、b、c能構(gòu)成三角形*/

else

printf("NO\n");/*a、b、c不能構(gòu)成三角形*/

7.輸入一個(gè)字符,如果它是一個(gè)大寫字母,則把它變成小寫字母;如果它是一個(gè)小寫字母.則把

它變成大寫字母;其他字符不變。請?jiān)诳瞻滋幪羁胀瓿纱顺绦颉?/p>

charch;

if(________________)

ch=ch+32;

else

if(ch>=1a'&&ch<='z')

_____________;

n

printfC%czch);

三、寫出程序的運(yùn)行結(jié)果

1.以下程序運(yùn)行后的輸出結(jié)果是O

#include<stdio.h>

intmain()

{intx?10,y?20zt=0;

if(x==y)

t=x;x=y;y=t;

printf("和d,%d",x,y);

return0;

)

2.若從鍵盤輸入58,則以下程序運(yùn)行后的輸出結(jié)果是.

#include<stdio.h>

intmain()

{inta;

scanf("%d",&a);

if(a>50)

printfa);

if(a>40)

printf(H%d",a);

if(a>30)

printfa);

return0;

)

3.以下程序運(yùn)行后的輸出結(jié)果是。

#include<stdio.h>

intmain()

{inta=2,b?l,C-2;

if(a)

if(b<0)c=0;

elseC++;

printf(H%d\n",c);

return0;

}

4.以下程序運(yùn)行后的輸出結(jié)果是o

#include<stdio.h>

intmain()

{inta=2,b=3,c;

c=a;

if(a>b)

c?l;

else

if(a==b)c=0;

printf("電d\n",c);

return0;

5.以下程序運(yùn)行后的輸出結(jié)果是.

#include<stdio.h>

intmain()

{floatx=2.0,y;

if(x<0)y=0.0;

elseif(x<5.0)y=1.0/x;

elsey=l.0;

printf<"%f\n",y);

return0;

}

6.從鍵盤輸入數(shù)字字符4,則以下程序運(yùn)行后的輸出結(jié)果是

^include<stdio.h>

intmain()

{charc;

c=getchar();

switch(c-12*)

(

case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putohar(c+2);break;

)

return0;

}

四、編程題

1.找出兩個(gè)數(shù)中的最小數(shù)。

2.已知函數(shù):

x+3(.vX))

y=<0(.v=0)

x-](.vO)

輸入式的值,輸出y的值。

3.輸入某年某月某日,判斷這一天是這一年的第幾天。

單元5

一、選擇題

1."for(i=l;iv9;i+=l);"循環(huán)共執(zhí)行了()次。

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

2.,'inta=2;while(a=0)循環(huán)共執(zhí)行了()次。

A.0B.1C.2D.3

3.執(zhí)行完循環(huán)"for(i=l;i<100;i++);”后,i的值為(卜

A.99B.100C.101D.102

4.以下for語句書寫錯(cuò)誤的是(卜

A.for(i=l;i<5;i++)B.i=l;for(;i<5;i++);C.tbr(i=l;i<5;i++);D.fbr(i=l;i<5;)i++;

5.()語句,在循環(huán)條件初次判斷為假時(shí),還會執(zhí)行一次循環(huán)體。

A.forB.whileC.do-whileD.以上都不是

6.有以下程序段,其運(yùn)行結(jié)果是(卜

inti-5;

do(

if(i%3==l)

if(i%5—2)

(

printf;

break;

}

i++;

}while(i!=0);

A.*2*6B.*7C.*5D.*3*5

7.若i、J已定義為int類型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是(卜

for(i=5;i;i--)

for(j=0;j<4;j++)(...)

A.20B.24C.25D.30

8.以下不構(gòu)成無限循環(huán)的語句或語句組是(卜

A.n=10;while(n);{n一一;}B.n=0;whilc(l){n++;}

C.n=0;do{++n;}while(n<=0);D.for(n=0,i=l;;i++)n+=i;

9.有以下程序段,其運(yùn)行結(jié)果是(}

inty-9;

for(;y>O;y--)

if(y%3==0)

printf("%d"z—y);

A.875421B.963C.852D.741

10.有以下程序段,其運(yùn)行結(jié)果是(

inti,j;

for(i=3;i>=l;i--)

(

for(j-1;j<-2;j++)

printf("%d",i+j);

printf("\n");

)

A.234B.432C.23D.45

3455433434

4523

二、填空題

I.常用的循環(huán)結(jié)構(gòu)語句分別是

2.循環(huán)體執(zhí)行遇到break語句時(shí),會__________本層循訃。

3.執(zhí)行下面語句后,5=O

inti=l,s=0;

while(i++)

if(!(i%3))

break;

else

s+?i;

printfs);

4.下面程序的功能是計(jì)算1-3+5-7+...-99+101的值,請?zhí)羁胀瓿沙绦颉?/p>

#include<stdio.h>

intmain()

(

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

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

{______________________;______________________;______________________}

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

return0;

}

5.有1020個(gè)西瓜,第一天賣一半多兩個(gè),以后每天賣剩下的一半多兩個(gè),請?zhí)羁胀瓿捎?jì)算幾天

后賣完的程序。

intmain()

intday,xl,x2;

day=0;xl=1020;

while(_____________________)

(

x2=_______________________

xl—

day++;

)

printf("day=%d\n"zday);

return0;

6.輸入若干個(gè)字符,分別統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù)、英文字號的個(gè)數(shù),當(dāng)輸入換行符時(shí)輸出統(tǒng)計(jì)結(jié)

果,運(yùn)行結(jié)束。請?zhí)羁胀瓿稍摮绦颉?/p>

tinclude<stdio.h>

intmain()

(

intsl=0,s2=0;

charch;

while(()!=*\n*)

{

if(ch>=,0'&&ch<='9,)

sl++;

if(ch>='a,&&ch<=*z'I|_________________________)

s2++;

)

printf("%d,%d",si,s2);

return0;

)

三、寫出程序的運(yùn)行結(jié)果

1.以下程序運(yùn)行后,如果從鍵盤上輸入24,則輸出結(jié)果為.

#include<stdio.h>

intmain()

(

ints=l,t=l,n;

scanf("%d%d"z&a,&n);

for(inti=l;i<n;i++)

(

t=t*10+l;

s-s+t;

)

s*=a;

printf("SUM=%d\n",s);

return0;

2.以下程序運(yùn)行后,如果從鍵盤上輸入1298,則輸出結(jié)果為,

intmain()

{

intnlzn2;

scanf&n2);

while(n2!=0)

(

nl=n2%10;

n2=n2/10;

printf("%d",nl);

)

return0;

}

3.以下程序運(yùn)行后的輸出結(jié)果為o

intmain()

(

ints,i;

for(s-0,i-1;i<3;itIza?-i);

printfe^dXn-xS);

return0;

}

四、編程題

1.找出1000以內(nèi)的所有“完數(shù)”。若一個(gè)數(shù)的各因子之和等于該數(shù)本身,則稱其為“完數(shù)”。例如,

6的因子是1、2、3,而6=1+2+3,所以6是完數(shù)。28也是完數(shù),28=1+2+4+7+14。

2.從鍵盤輸入;/(:1個(gè)數(shù),求它們的和井輸出。

3.從鍵盤輸入兩個(gè)正整數(shù),求其最大公約數(shù)和最小公倍數(shù)。

單元6

一、選擇題

1.以下不能對一維數(shù)組a進(jìn)行正確初始化的語句是(?

A.inta[10]={0.0.0AO};B.iniall0]={};

C.inta[]={0};D.ima[10]={10*1};

2.在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是(卜

A.整型常量B.整型表達(dá)式

C.整型常量或整型表達(dá)式D.任何類型的表達(dá)式

3.對于以下說明語句,理解正確的是(\

inta[10]=(6,7,8,9,10);

A.將5個(gè)初值依次賦給a[l]5Ja[5]

B.將5個(gè)初值依次鼠給a⑼到a|4]

C.將5個(gè)初值依次賦給a⑹到a|l()l

D.因?yàn)閿?shù)組長度與初值的個(gè)數(shù)不相同,所以此語句不正確

4.若有說明“inia⑶⑷;',則。數(shù)組元素的非法引用是(卜

A.a[0][2+l]B.a[l][3]C?a[4-2](O]D.a[0][4]

5.以下能對二維數(shù)組〃進(jìn)行正確初始化的語句是(

A.inta[21[]={(L0J},{5,2,3)};B.inta[l[3]={(l,2,3b(4,5,6));

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

6.下面程序段的輸出結(jié)果是(卜

tinclude<stdio.h>

intmain()

(intk,a[3][3]=(1,2,3,4,5,6,7,8,9);

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

printf("%d",a[k][2-k]);

return0;}

A.357B.369C.159D.147

7.下面程序段的輸出結(jié)果是(卜

ftinclude<stdio.h>

intmain()

(

chara[7]="abcdefn;

charb[4]="ABC";

strcpy(a,b);

printf(M%c",a[5]);

return0;}

A.B.\0C.eD.f

8.設(shè)有數(shù)組定義“chararr[]="China";",則數(shù)組arr所占空間為(卜

A.4個(gè)字節(jié)B.5個(gè)字節(jié)C.6個(gè)字節(jié)D.7個(gè)字節(jié)

9.若有以下語句,則下列描述正確的是(卜

chara[]="toyou";

charb[]={'f,'o','y'z?o','u'!;

A.a數(shù)組和b數(shù)組的長度相同B.a數(shù)組長度小于b數(shù)組長度

C.a數(shù)組長度大于b數(shù)組長度D.a數(shù)組等價(jià)于b數(shù)組

10.有以下程序:

#include<stdio.h>

ftinclude〈string.h>

intmain()

,,,,,,,,,

{chara[]={a','bzcz'clfe\'fz'g'/h\\0'};

intizj;

i=sizeof(a);

j=strlen(a);

printf("%d,%d\nM,i,j);

return0;

則程序運(yùn)行后的輸出結(jié)果是(

A.9,9B.8,9C.1,8D.9,8

二、填空題

1.下面的程序?qū)⒍S數(shù)蛆。的行和列元素互換后存到另一個(gè)二維數(shù)組b中。請?zhí)羁胀瓿纱顺绦颉?/p>

tinclude<stdio.h>

intmain()

{

inta[2“3]?{],2,3},{4,5,6}};

intb[3][2],i,j;

printf("arraya:\nH);

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

(

for(j=0;______________;j++)

(

printf("%5d",a[i][j]);

|

printf("\n");

}

printf("arrayb:\n");

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

(

for(j=0;j<=l;j++>

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

printf("\nM);

)

return0;

}

2.下面的程序可求出矩陣。的兩條對角線上的元素之和<:請?zhí)羁胀瓿纱顺绦颉?/p>

ftinclude<stdio.h>

intmain()

{

inta[3][3]={l,3,6,7,9,11,14,15,17),suml=0,sum2=0,i,j;

for{i-0;i<3;i++)

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

if(i—j)suml-suml+a[i][j];

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

for(;;j一)

if((i+j)--2)sum2?sum2+a[i][j];

printf("suml=%d,sum2=%d",suml,sum2);

return0;

}

3.現(xiàn)有如下程序段:

tinclude<stdio.h>

intmain()

{charsl?uj;

intizj;

gets(s);

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

if(s[i]

s[j]='\0';

puts(s);

return0;

這個(gè)程序段的功能是刪除輸入的字符串中的字符IT,請?zhí)羁胀瓿纱顺绦颉?/p>

三、寫出程序的運(yùn)行結(jié)果

1.現(xiàn)有如下程序段:

#include"stdio.h"

intmain()

(

intk[30]={12,324,45,6,768,98,21,34,453,4563

intcount=0,i=0;

while(k[i])

{

if(k(i]%2==0||k[ij%5==0)

count++;i++;

)

printf("%d,%d\nn,count,i);

return0;

:■

則程序段運(yùn)行的輸出結(jié)果為:O

2.閱讀下面的程序段:

布include"stdio.h"

inrmain()

{inta[4][4]-{(1,2,3,4},(5,6,7,8},{3,9,10,2},[4,2,9,6}};

inti,s=0;

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

s+=a[i][1];

,,

printf(%d\n"/s);

return0;

)

則程序段運(yùn)行的輸出結(jié)果為:0

3.下列程序的運(yùn)行結(jié)果是.

ninclude<srdio.

intmain()

(

inti=0;

chara[]="abm",b[]="aqid",c[10];

while(a(i]!=,\0'&&b[i]!=*\0,)

(

if(a[i]>=b[i])

c[i]=a(i]-32;

else

c(i]=b(i]-32;

++i;

}

c[i]='\0';

puts(c);

return0;

4.下列程序執(zhí)行后的輸出結(jié)果是。

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

intmain()

(

char

intirj;

i?sizeof(a);

j=strlen(a);

printf("%d,%d\nn,i,j);

return0;

5.下列程序執(zhí)行后的輸出結(jié)果是,

#include<string.h>

#include<stdio.h>

intmain()

(

chara[2][4];

strcpy(a,"you");

strcpy(a[l],"me");

a[0][3]-'&';

print!Cs\n”,a:;

return0;

}

四、編程題

1.設(shè)數(shù)組inta[10]的元素全不相等,求出〃中的最大元素和最小元素。

2.打印“楊輝三角”的前10行。

1

I1

121

1331

14641

3.編程完成從鍵盤輸入一個(gè)字符串,將字符串中的大寫字母轉(zhuǎn)換成小寫字母后進(jìn)行輸出的功能。

單元7

一、選擇題

1.一個(gè)C程序總是從()開始執(zhí)行的。

A.main函數(shù)B.文件中的第一個(gè)函數(shù)

C.文件中的第一個(gè)子函數(shù)調(diào)用D.文件中的第一條語句

2.關(guān)于一個(gè)C程序,下列說法正確的是(、

A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前

B.main函數(shù)可以出現(xiàn)在其他函數(shù)之外的任何位置

C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后

D.main函數(shù)必須出現(xiàn)在固定位置

3.以下敘述正確的是(卜

A.函數(shù)名允許用數(shù)字開頭

B.函數(shù)調(diào)用時(shí),不必區(qū)分函數(shù)名稱的大小寫

C.調(diào)用函數(shù)時(shí),函數(shù)名必須與被調(diào)用的函數(shù)名完全一致

D.在函數(shù)體中只能出現(xiàn)一次return語句

4.有以下定義:

voidfun(intn,doublex)

若下列選項(xiàng)中的變量都已正確定義并賦值,則正確調(diào)用函數(shù)fun的語句是(

A.fun(intx,doublen);B.m=fun(H),12.3);

C.fun(10,12.5);D.vcidfun(n.x);

5.一個(gè)C源程序文件中所定義的全局變量,其作用域是(卜

A.由具體定義位置和extern說明來決定B.所在程序的全部范圍

C.所在函數(shù)的全部范圍D.所在文件的全部范圍

6.函數(shù)返回值的類型是由()決定的。

A.調(diào)用函數(shù)時(shí)臨時(shí)B.return語句的表達(dá)式類型

C.調(diào)用該函數(shù)的主調(diào)函數(shù)類型D.定義函數(shù)時(shí),所指定的函數(shù)類型

7.若函數(shù)調(diào)用時(shí)的實(shí)參為變量,則以下關(guān)于函數(shù)形參和實(shí)參的敘述正確的是(

A.函數(shù)的形參和實(shí)參分別占用不同的存儲單元

B.形參只是形式上存在,不占用具體存儲單元

C.同名的實(shí)參和形參占同一存儲單元

D.函數(shù)的實(shí)參和其對應(yīng)的形參共占同一存儲單元

8.以下關(guān)于函數(shù)參數(shù)傳遞方式的敘述,正確的是(

A.數(shù)據(jù)只能從實(shí)參單向傳遞給形參

B.數(shù)據(jù)可以在實(shí)參和形參之間雙向傳遞

C.數(shù)據(jù)只能從形參單向傳遞給實(shí)參

D.函數(shù)參數(shù)既可以從實(shí)參單向傳遞給形參,也可以在實(shí)參和形參之間雙向傳遞,可視情況選

擇使用

9.有如下函數(shù)定義:

#include<stdio.h>

intfun(intk)

{if(k<l)return3;

elseif(k==1)return1;

elsereturnfun(k-1)+1;

}

若執(zhí)行調(diào)用語句"n=fun(3);",則函數(shù)fun總共被調(diào)用的次數(shù)是(卜

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

10.以下程序運(yùn)行后的輸出結(jié)果是(卜

tinclude<stdio.h>

intnewdiv(doublea,doubleb)

{returna/b+0.5;}

intmain()

{printf(newdiv(7.8,3.1));

return0;

}

溫馨提示

  • 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

提交評論