C語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第二版)(郭樹強(qiáng))課后答案_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第二版)(郭樹強(qiáng))課后答案_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第二版)(郭樹強(qiáng))課后答案_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第二版)(郭樹強(qiáng))課后答案_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)實(shí)用教程(第二版)(郭樹強(qiáng))課后答案_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章

一、填空題

1.下列是合法的用戶標(biāo)識(shí)符的是(A).

A)_wlB)3_xyC)intD)LINE-3

2.一個(gè)C語(yǔ)言程序是由(B

A)一個(gè)主程序和若干子程序組成B)函數(shù)組成

C)若干過(guò)程組成D)若干子程序組成

3.結(jié)構(gòu)化程序所規(guī)定的三種最基本控制結(jié)構(gòu)是(C)o

A)輸入、處理、輸出B)樹型、網(wǎng)型、環(huán)型

C)順序、選擇、循環(huán)D)主程序、子程序、函數(shù)

4.C語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置(C)。

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

C)可以任意D)必須在最后

5.一個(gè)C語(yǔ)言程序總是從(C)開始執(zhí)行。

A)書寫順序的第一個(gè)函數(shù)B)書寫順序的第一條執(zhí)行語(yǔ)句

C)主函數(shù)main。D)不確定

6.下列給出的符號(hào)串中不屬于C語(yǔ)言保留字的是(C)。

A)structB)voidC)goD)const

7.編輯程序是(A)?

A)建立并修改程序B)將C源程序編譯成目標(biāo)程序

C)調(diào)試程序D)命令計(jì)算機(jī)執(zhí)行指定的操作

8.以下敘述正確的是(C)o

A)C程序必須有輸入操作和輸出操作

B)C程序可以沒有輸出操作但必須有輸入操作

C)C程序可以沒有輸入操作但必須有輸出操作

D)C程序既沒有輸入操作也沒有輸出操作

9.合法的C語(yǔ)言用戶標(biāo)識(shí)符的是(B)。

A)void,define,WORDB)a3b3,123,IFC)FOR,-abc,CaseD)2a,Do,Sizeof

10.以下敘述不正確的是(D)。

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

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

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

D)在C程序中,注釋說(shuō)明只能位于一條語(yǔ)句的后面

二、填空題

1.C語(yǔ)言源程序文件名的后綴是(.c),經(jīng)過(guò)編譯后,生成文件的后綴是(.obj),經(jīng)過(guò)連接后,生成文件

的后綴是(.exe)o

2.用戶標(biāo)識(shí)符命名的規(guī)則是什么?

3.算法的特征是(有窮性)、(確定性)、(有效性)、(有零個(gè)或多個(gè)輸入)、(有一個(gè)或多個(gè)輸出)。

4.在一個(gè)C語(yǔ)言源程序中,注釋部分兩側(cè)的分界符分別為(/*)和(*/)。

5.C語(yǔ)言源程序的語(yǔ)句分隔符是(;)。

第2章

一、選擇題

1.在C語(yǔ)言中,運(yùn)算對(duì)象必須是整型數(shù)的運(yùn)算符是(A)。

A)%B)/C)+D)*

2.若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是(A)?

A)2.500000B)2.750000C)3.500000D)0.000000

3.以下選項(xiàng)中,與k=n++完全等價(jià)的表達(dá)式是(A)。

A)k=n,n=n+lB)n=n+l,k=nC)k=++nD)k+=n+l

4.設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是(A)。

A)3B)4C)11D)12

5.以下選項(xiàng)中不屬于字符常量的是(B)。

A)VB)〃C〃C)'\xCC'D)3072'

6.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是(D)。

A)補(bǔ)碼B)反碼C)原碼D)ASCII碼

7.設(shè)以下變量均為int類型,表達(dá)式的值不為7的是(C)。

A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)

C)(x=6,x+l,y=6,x+y)D)(y=6,y+1,x=y,x+1)

8.設(shè)a是int型,f是float型,i是double型,則表達(dá)式10+'a'+i*f值的數(shù)據(jù)類型為(C)。

A)intB)floatC)doubleD)不確定

9.下列數(shù)據(jù)中,不合法的C語(yǔ)言實(shí)型數(shù)據(jù)的是(C)。

A)0.123B)123e3C)2.Ie3.5D)789.0

10.已知inti;floatf;正確的語(yǔ)句是(D)。

A)(intf)%iB)int(f)%iC)int(f%i)D)(int)f%i

11.已知intj,i=l;執(zhí)行語(yǔ)句j=-i++;后,j的值是(C)o

A)1B)2C)-1D)-2

12.若執(zhí)行以下程序段后c3的值是(A)o

intcl=l,c2=2,c3;

c3=1.0/c2*cl;

A)0B)0.5C)1D)2

13.已知intx=10,y=3,z;執(zhí)行語(yǔ)句printf(〃/d\n",z=(x%y,x/y))的值是(D)。

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

14.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是(C)o

A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0

15.若變量已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是(B)。

A)a:=b+lB)a=b=c+2C)int18.5%3D)a=a+7=c+b

16.以下符合C語(yǔ)言語(yǔ)法的實(shí)型常量是(C)o

A)1.2E0.5B)3.14.159EC).5E-3D)E15

17.若有代數(shù)式券,則不正確的C語(yǔ)言表達(dá)式是(C)0

A)a/b/c*e*3B)3*a*e/b/c

C)3*a*e/b*cD)a*e/c/b*3

18.以下程序的輸出結(jié)果是(A)。

voidmain()

{

inta=2;

a%=4-l;

printf("%dj,a);

a+=a*=a-=a*=3;

printfT%d”,a);

)

A)2,0B)1,0C)-1,12D)2,12

二、填空題

1.在c語(yǔ)言程序中,用關(guān)鍵字(int)定義基本整型變量,用關(guān)鍵字(float)定義單精度實(shí)型變量,

用關(guān)鍵字(double)定義雙精度實(shí)型變量。

2.若k為int型變量且賦值11,請(qǐng)寫出運(yùn)算k++后表達(dá)式的值(11)和變量k的值一(12)。

3.表達(dá)式3.5+1/2+10/3+10%3的計(jì)算結(jié)果是(7.5)。

4.—4ac的C語(yǔ)言表達(dá)式為(sqrt(b*b-4*a*c))。

5.若有定義:intx=3,y=2;floata=2.5,b=3.5;則表達(dá)式(x+y)%2+(int)a/(int)b的值為⑴。

第3章

1.已知inta,b;用語(yǔ)句scanf("%d%d”,&a,&b);輸入a,b的值時(shí),不能作為輸入數(shù)據(jù)分隔符的是(A)

A),B)空格C)回車D)Tab鍵

2.設(shè)變量n為float類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四

舍五入運(yùn)算的表達(dá)式是(B

A)n=(n*100+0.5)/100.0B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0

3.若變量已正確說(shuō)明為int類型,要通過(guò)語(yǔ)句scanf("%d%d%d",&a,&b,&c);給2賦值3,b賦值5,c賦

值8,不正確的輸入形式是(C)。

A)3〈回車>B)3c回車>

5〈回車〉58〈回車〉

8〈回車》

C)3,5,8〈回車》D)35〈回車〉

8〈回車》

4.有以下程序

#include“stdio.h"

voidmain()

(

charchi,ch2;

printf("請(qǐng)輸入一個(gè)英文字母\n");

scanf("%c",&chl);

chl=chl+'4'-'2';

ch2=chl+'5'-'3';

printf("%d%c\n",chi,ch2);

)

如果輸入字符A,則程序運(yùn)行后輸出的結(jié)果是(D

A)ACB)AEC)C67D)67E

5.若變量已正確說(shuō)明,要求用scanf("a=%f,b=%f',&a,&b);語(yǔ)句使a=3.12,b=9.0,則正確的輸入形

式是(C

A)3.12口口9.0/B)a=nn3.i2b=nn9z

C)a=3.12,b=9/D)a=3.12□口,b=9.0

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

ttinclude"stdio.h"

voidmain()

{

intk=ll;

printf(4,%d,%o,%x\n,,,k,k,k);

)

A)11,12,11B)11,13,13C)ll,013,0xbD)ll,13,b

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

#include"stdio.h"

voidmain()

intm=7,n=4;

floata=38.4,b=6.4,x;

x=m/2+n*a/b+l/2;

printf(a%f\n,,,x);

)

A)27.000000B)27.500000C)28.000000D)28.500000

8.以下程序運(yùn)行的結(jié)果是(D)o

voidmain()

(

inta,b,c;

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

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

)

若從鍵盤輸入:

1,2,3/

A)1,2,3B)2,2,2C)1,1,1D)輸出錯(cuò)誤的結(jié)果

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

voidmain()

(

charx=060;

printf("%d,

printf(u%c\n,n,x);

}

A)48,0B)48,48C)60,60D)60,<

10.分析下面程序,在鍵盤上如何輸入數(shù)據(jù),才能使得變量a=10,b=20,cl=,A\c2=W,x=1.5。(B)

voidmain()

(

inta,b;

floatx;

charcl,c2;

scanf("%d%d%c%c%fI,&c2,&x);

printf(44a=%d,b=%d,c1=%c,c2=%c,x=%f\n,,,a,b,c1,c2,x);

)

A)10n20nAnani.5ZB)10n20Aal.5Z

C)1020Aal.5ZD)10D20Anani.5/

二、填空題

1.以下程序的輸出結(jié)果是o

#include"stdio.h"

voidmain()

(

intx=15,y=5;

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

2.以下程序的輸出結(jié)果是o

#include"stdio.h〃

voidmain()

(

inta=0;

a+=(a=8);

printf("%d\n〃,a);

)

3.下列程序的輸出結(jié)果是16.00,請(qǐng)?zhí)羁铡?/p>

#include"stdio.h〃

voidmain()

(

inta=9,b=2;

floatx=,y=l.1,z;

z=a/2+b*x/y+l/2;

printf(〃%5.2f\n〃,z);

)

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

ttinclude"stdio.h〃

voidmain()

(

inta;

charc=10;

floatf=100.0;

doublex;

a=f/=c*=(x=6.5);

printfC%d,%d,%3.If,%3.lf\nz;a,c,f,x);

)

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

#include“stdio.h〃

voidmain()

(

charc1,c2;

cl=,O,;c2=65;

putchar(cl);

putchar(c2);

)

1.1

2.16

3.6.6

4.1,65,1.5,6.5

5.OA

第4章

一、選擇題

1.設(shè)x,y和z都是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中,值為0是(D)。

A)x&&yB)x<=yC)x||++y&&y-zD)!(x<y&&!z||1)

2.若有條件表達(dá)式(exp)?a++:b-,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是(B)。

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

3.判斷char型變量cl是否為大寫字母的正確表達(dá)式是(D)。

A)'A'<=cl<=,Z'B)(cl>=A)&&(cl<=Z)

C)CA'>=cl)||('Z'<=cl)D)(cl>=zA')&&(cl<=zZ')

4.以下4個(gè)選項(xiàng)中,不能看做一條語(yǔ)句的是(D)o

A);B)a=5,b=2.5,c=3.6;

C)if(a<5);D)if(b!=5)x=2;y=6;

5.有如下程序段

inta=14,b=15,x;

charc=,A';

x=(a&&b)&&(c<'B');

執(zhí)行該程序段后,x的值為(D)。

A)tureB)falseC)0D)1

6.有如下程序

#include"stdio.h"

main()

(

floatx=2.0,y;

if(x<0.0)y=0.0;elseif(x>10.0)y=l.0/x;

elsey=l.0;

printfC%f\n,z,y);

)

該程序的輸出結(jié)果是(D)o

A)0.000000B)0.250000C)0.500000D)1.000000

7.在C程序中,判斷邏輯值時(shí),用“非0”表示邏輯值“真”,又用“0”表示邏輯值“假”。在求

邏輯值時(shí),用(A)表示邏輯表達(dá)式值為“真”,又用()表示邏輯表達(dá)式值為“假”。

A)10B)01C)非0非0D)11

8.有如下程序

#include"stdio.h'1

main()

(

inta=2,b=-l,c=2;

if(a<b)

if(b<0)c=0;

elsec++;

printf(z/%d\nz,,c);

)

該程序的輸出結(jié)果是(C)o

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

9.能正確表示邏輯關(guān)系:或aWO”的C語(yǔ)言表達(dá)式是(D)。

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

C)a>=10&&a<=0D)a>=10IIa<=0

10.設(shè)a、b、c為整型變量,能正確表達(dá)數(shù)學(xué)關(guān)系“a<b<c”的C語(yǔ)言表達(dá)式是(C)。

A)a<b<cB)a<b,b<c

C)a<b&&b<cD)!(a>b)&&!(b>c)

11.已知intx=3,y=3;則執(zhí)行表達(dá)式++x||++y后,變量y的值是(B)。

A)1B)3C)4D)不確定

12.設(shè)有:inta=l,b=2,c=3,d=4,m=2,n=2;

執(zhí)行(m=a>b)&&(n=c>d)后n的值為(B)。

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

13.設(shè)有定義語(yǔ)句“charc=b;",則表達(dá)式“c=(c>='a'&&c<=N)?(c-32):c”的值是(B)?

A)'A'B)'B'C)'CD)'b'

14.下面程序的輸出結(jié)果是(D)o

#include"stdio.h"

main()

(

intx=10,y=20,t=0;

if(X==y)

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

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

)

A)1010B)1020C)2010D)200

15.設(shè)a,b,c,x均為整型變量,下列程序段運(yùn)行后x的值是(A)。

a=b=c=0;x=35;

if(!a)x—;elseif(b);if(c)x=3;elsex=4;

A)4B)3C)35D)34

16.以下程序的執(zhí)行結(jié)果是(A)o

#include"stdio.h"

main()

{

intw=4,x=3,y=2,z=l;

printf(u%d",w<x?w:z<y?z:x);

)

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

17.以下程序輸出結(jié)果是(A)o

#include"stdio.h”

main()

(

intx=l,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

)

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

)

printf(0%d,%d",a,b);

)

A)2,1B)1,1C)1,0D)2,2

18.以下程序的運(yùn)行結(jié)果是(C)o

#include<stdio.h>

main()

{

intm=5;

if(m++>5)printf(H%d\n",m);

elseprintf(u%d\n”,m—);

)

A)4B)5C)6D)7

19.以下程序的輸出結(jié)果是(D)o

#include"stdio.h"

voidmain()

(

inti=l,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf(u%d,%d,%d\nn,i,j,k);

)

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

二、填空題

1.下列程序的運(yùn)行結(jié)果為o

#include"stdio.h'1

voidmain()

(

inta,b,c;

a=10;b=50;c=30;

if(a>b)

a=b,b=c;

c=a;

printf("a=%d,b=%d,c=%d”,a,b,c);

)

2.若執(zhí)行以下程序時(shí)從鍵盤上輸入9,程序的運(yùn)行結(jié)果為

#include"stdio.h”

voidmain()

(

intn;

scanf(〃%d〃,&n);

if(n++<10)printfn);

elseprintfn-);

)

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

#include"stdio.h"

voidmain()

{

inta=10,b=0;

if(a=12)

{a=a+l;b=b+l;

else

{a=a+4;b=b+4;

)

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

)

4.下列程序的運(yùn)行結(jié)果為o

#include"sldio.h"

voidmain()

(

inta=5,b=4,c=3,d;

d=(a>b>c);

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

)

5.下列程序的運(yùn)行結(jié)果為o

#include"stdio.h"

voidmain()

(

ints;

if(s=2)

printf(z,hello,z);

else

printf("error");

)

6.若從鍵盤輸入58,則以下程序輸出的結(jié)果是

#include"stdio.h"

voidmain()

{inta;

scanf("%d",&a);

if(a>50)printf("%d”,a);

if(a>40)printfC12*45%d,,,a);

if(a>30)printfC%d,,,a);

)

1.a=10,b=50,c=10

2.10

3.a=13,b=l

4.0

5.hello

6.585858

第5章

一、選擇題

1.設(shè)有程序段

intk=10;

while(k=0)k=k-l;

則下面描述中正確的是(C)。

A)while循環(huán)執(zhí)行10次B)循環(huán)是無(wú)限循環(huán)

C)循環(huán)體語(yǔ)句一次也不執(zhí)行D)循環(huán)體語(yǔ)句執(zhí)行一次

2.下述for語(yǔ)句的循環(huán)(A)o

inti,x;

for(i=0,x=0;i<=9&&x!=876;i++)

scanf(,&x);

A)最多循環(huán)10次B)最多循環(huán)9次

0無(wú)限循環(huán)D)一次也不循環(huán)

3.以下程序的輸出結(jié)果是(A)。

#include<stdio.h>

main()

(

inta,i;a=0;

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

{switch(i)

{case0:

case3:a+=2;

case1:

case2:a+=3;

default:a+=5;

)

}

printf(〃a=%d〃,a);

)

A)31B)13C)10D)20

4.若有如下語(yǔ)句

intx=3;

do{printf(〃%d\n〃,x-=2);}

while(!(--x));

則上面程序段(B)o

A)輸出的是1B)輸出的是1和-2C)輸出的是3和0D)是死循環(huán)

5.在下述程序中,判斷i>j共執(zhí)行的次數(shù)是(D)。

#include<stdio.h>

main()

(

inti=0,j=10,k=2,s=0;

for(;;)

{i+=k;

if(i>j)

{printfs);

break;

)

s+=i;

}

A)4B)7C)5D)6

6.以下程序段的描述,正確的是(C)o

x=-l;

do

{x=x*x;}

while(!x);

A)是死循環(huán)B)循環(huán)執(zhí)行兩次C)循環(huán)執(zhí)行一次D)有語(yǔ)法錯(cuò)誤

7.以下程序段的輸出結(jié)果是(A)o

#include"stdio.h"

voidmain()

inti;

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

{if(i%2)printf(n*n);

elsecontinue;

printfC#);

printf(^^!\n'^);

)

A)*#*#*#?B)#*#*#*iC)*#*#!D)#*#*!

8.以下程序段的輸出結(jié)果是B)o

intn=10;

while(n>7)

{n—;

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

A)10B)9C)10D)9

9898

8787

76

9.以下程序段的輸出結(jié)果是C)o

inti,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)m++;

printf(,,%d\nM,m);

A)12B)15C)20D)25

10.以下程序段的輸出結(jié)果是(D)。

#include"stdio.h"

voidmain()

{intk,j,s;

for(k=2;k〈6;k++,k++)

{s=l;

for(j=k;j<6;j++)s+=j;

printf(n%dH,s);

A)9B)1C)11D)10

11.以下程序的輸出結(jié)果是(B)o

#include“stdio.h"

voidmain()

(

inti;

for(i=*A';i<T;i++,i++)

printf("%c”,i+32);

printf(u\nu);

A)編譯不通過(guò)B)acegC)acegiD)abcdefghi

12.有以下程序,執(zhí)行后輸出的結(jié)果是(B)o

#include“stdio.h"

voidmain()

intx=0,y=5,z=3;

while(z—>0&&++x<5)y=y-1;

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

)

A)3,2,0B)3,2,-1C)4,3,-1D)5,-2,-5

13.下述for循環(huán)語(yǔ)句(B)o

inti,k;

for(i=0,k=-1;k=1;i++,k++)

A)判斷循環(huán)結(jié)束的條件非法B)是無(wú)限循環(huán)

C)只循環(huán)一次D)一次也不循環(huán)

14.對(duì)于(1)(2)兩個(gè)循環(huán)語(yǔ)句,(A)是正確的描述。

(1)while(l);

(2)for(;;);

A)(1)和(2)都是無(wú)限循環(huán)B)(1)是無(wú)限循環(huán),(2)是錯(cuò)誤的

C)(1)循環(huán)一次,(2)錯(cuò)誤D)(1)(2)皆錯(cuò)誤

15.若i為整數(shù)變量,則以下循環(huán)執(zhí)行次數(shù)是(D)o

fbr(i=2;i==0;)

printfCu%d,\i-);

A)無(wú)限次B)0次C)1次D)2次

16.下面程序的輸出結(jié)果是:(D)。

#include"stdio.h"

voidmain()

{intx=10,y=10,i;

for(i=0;x>8;y=++i)

printfC%d%d\n

)

A)101B)98C)109D)1010

92769091

二、填空題

1.下列程序的運(yùn)行結(jié)果為O

#include"stdio.h"

voidmain()

(

intk,j,m;

for(k=5;k>l;k-)

{m=0;

for(j=k;j<=5;j++)

m=m+k*j;

)

printf("%d\n',,m);

)

2.下列程序的運(yùn)行結(jié)果為。

#include"stdio.h"

voidmain()

(

intk=0,m=0;

intx,y;

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

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

k++;

k-=y;

}

m=x+y;

printf(,zk=%d,m=%d\n〃,k,m);

)

3.下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)是6的所有整數(shù),請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

voidmain()

(

intij;

for(i=0;;i++)

{j=i*10+6;

if()continue;

printf(4t%d"J);

)

)

4.如果從鍵盤輸入:Y?N?/(/表示回車),則程序運(yùn)行結(jié)果是o

#include“stdio.h"

voidmain()

{

charc;

while((c=getchar())!=,?5)

putchar(-c);

)

5.下列程序的運(yùn)行結(jié)果為。

#include"stdio.hn

voidmain()

{

inty=9;

for(;y>0;y--)

if(y%3==0)

{printf(u%d",-y);continue;}

)

6.下列程序的運(yùn)行結(jié)果為o

#include"stdio.h"

voidmain()

{

intij;

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

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

if(i==0||j==0||i==3||j==5)printf("*");

elseprintf("n);

printf(M\n");

)

)

7.下列程序的運(yùn)行結(jié)果為o

#include“stdio.h"

voidmain()

(

inti,j,m=55;

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

for(j=3;j<=i;j++)m=m%j;

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

)

8.下列程序的運(yùn)行結(jié)果為。

#include“stdio.h"

voidmain()

{inta=1,b=2;

while(a<6)

{b+=a;a+=2;b%=10;}

primf(”%d,%d\n”,a,b);

)

9.輸出1到1000之內(nèi)能被5或13整除,請(qǐng)將程序補(bǔ)充完整。

#include"stdio.h"

voidmainO

(

inti;

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

if()

printf("%4d”,i);

)

10.輸入一個(gè)整數(shù),判斷是否是素?cái)?shù),若為素?cái)?shù)輸出I,否則輸出0,請(qǐng)將程序補(bǔ)充完整。

#include"stdio.h"

voidmain()

inti,x,y=l;

scanf&x);

for(i=2;i<=x/2;i++)

if{y=0;break;}

printf(〃%d\n〃,y);

1.28

2.k=0,m=5

3.i<=9j%3!=0

4.x

5.852

6******

**

**

7.1

8.7,1

9.i%5==0||i%13==0

10.x%i==0

第6章

一、選擇題

1.以下程序的輸出結(jié)果是(C)。

#include"stdio.h"

main()

{inti,x⑶[3]={1,2,345,6,7,8,9};

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

printfT%d」,x皿2-i]);

)

A)1,5,9,B)1,4,7,C)3,5,7,D)3,6,9,

2.若定義:inta[3][4];則對(duì)a數(shù)組元素的正確引用的是(C)?

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

3.調(diào)用strlen("abcd\0ef\0g")的返回值為(A).

A)4B)5C)8D)9

4.判斷字符串si是否大于s2,應(yīng)當(dāng)使用(C)?

A)if(sl>s2)B)if(strcmp(sl,s2))

C)if(strcmp(sl,s2)>0)D)if(strcmp(*sl,*s2)>0)

5.以下對(duì)一維整型數(shù)組a的正確說(shuō)明是(D)。

A)inta(10);B)intn=10,a[n];

C)intn;D)#defineSIZE10

scanf("%d",&n);inta[SIZE];

inta[nj;

6.若有說(shuō)明:inta[10];則對(duì)a數(shù)組元素的正確引用是(C)?

A)a[10]B)a[3.5J

C)a[5]D)a[10-20]

7.執(zhí)行下面程序段后,其輸出結(jié)果是(A)。

A)3B)4C)6D)12

charstr[]=nab\n\0/01\\\nn;

printf("%dn,strlen(str));

8.以下對(duì)二維數(shù)組a的正確定義是(C)o

A)inta[3][];B)floatfa(3,4);

C)doubleall][4J;D)floata(3)(4);

9.不能把字符串"string”賦給數(shù)組b的語(yǔ)句是(B)。

A)charb[10]={,s7tVrVi7n,;g',,\n,};B)charb[10];b=HstringM;

C)charb[10];strcpy(b,"string");D)charb[10]=^^string',;

10.以下對(duì)二維數(shù)組a進(jìn)行不正確初始化的是(D)。

A)inta[][3]={3,2,l,l,2,3);B)inta[][3]={{3,2,1},{1,2,3));

C)inta[2][3]={{3,2,1},{1,2,3));D)inta[][]={{3,2,1},{1,2,3));

11.下面程序的輸出結(jié)果是(A)o

#include"stdio.h"

voidmain()

(

inta[3][3]={{l,2},{3,4},{5,6}},i,j,s=0;

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

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

s+=a[i][j];

printfC%d\n”,s);

)

A)14B)19C)20D)21

12.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是(A)o

#include"stdio.h1'

include“string.h"

voidmain()

(

charss[10]="l,2,3,4,5”;

gets(ss);

strcat(ss,”6789”);

printfC%s\n”,ss);

)

A)ABC6789B)ABC67C)12345ABC6D)ABC456789

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

#include"stdio.h"

voidmain()

(

intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{429,6}};

inti,s=0;

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

s+=aa[i][l];

prin氓"%d\n”,s);

A)11B)19C)13D)20

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

#include"stdio.h"

include“string.h"

voidmain()

(

chara[]={ta,,,b,,,c\,d\,e,,,f,,,g\,h,,,\0,);

inti,j;

i=sizeof(a);

j=strlen(a);

printfT%d,%d\n”,ij);

)

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

15.若有說(shuō)明:inta[][3]={1,2,3,4,5,6,7};則a數(shù)組第一維的大小是(C)。

A)2B)4C)3D)無(wú)確定值

16.下面是對(duì)s數(shù)組的初始化,其中不正確的是(D)o

A)chars[5]={uabc,3;

B)chars[5]={<a;,b,,,c,};

C)chars[5]={uu};

D)chars[5]=<4abcdef\

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

#include"stdio.h"

voidmain()

(

charn[5]={0,0,0},i,k=2;

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

n[i]=n[ij+l;

printfT%d\iT,n[k]);

)

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

18.以下程序的執(zhí)行結(jié)果是(A)o

#include"stdio.h"

voidmain()

(

charch[7]={44l2ab56”};

inti,s=0;

for(i=0;ch[i]>=>0,&&ch[i]<=,9,;i+=2)

s=10*s+ch[i]-t0,;

printf(4t%d\n,,,s);

)

A)1B)1256C)12ab56D)1

2

5

6

二、填空題

1.若定義“inta[3][4]={{l,2},{0},{4,6,8,10}};”,則a⑴⑵得到的初值是,a[2]⑴得到的初

值是O

2.下面程序執(zhí)行時(shí)輸入LanguageProgram<CR>的執(zhí)行結(jié)果是。

#include"stdio.h”

voidmain()

(

charstr[3O];

scanf(H%sn,str);

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

)

3.以下程序的輸出結(jié)果是o

#include"stdio.h"

voidmain()

(

intarr[10],i,k=0;

fbr(i=0;i<10;i++)arr[i]=i;

for(i=0;i<4;i++)k+=arr[i]+i;

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

)

4.以下程序的執(zhí)行結(jié)果是o

#include"stdio.h"

voidmain()

(

chars[]={**la2b5cM};

inti;

for(i=0;s[i]!=,\0,;i+4-)

if(s[i]>=,0,&&s[i]<=,9,)

printf("%c”,s[i]);

)

5.以下程序的執(zhí)行結(jié)果是。

#include"stdio.h"

voidmain()

(

chars[]=,,abcdef

s[3]=,\0,;

printf{tt%s\n,,,s);

)

6.以下程序統(tǒng)計(jì)從終端輸入的字符中各大寫字母的個(gè)數(shù)。用#號(hào)作為輸入結(jié)束標(biāo)志,請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

#include“string.h"

voidmain()

{

intnum[26],i;

charc;

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

num[i]=O;

while(!='#')/*從終端輸入的字符,用#號(hào)作為結(jié)束標(biāo)志*/

if()/*判斷是否為大寫字母*/

num[c-65]+=l;

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

if(num[i])

printf("%c:%d\n",'A'+i,num[i]);

)

7.以下程序的執(zhí)行結(jié)果是o

#include"stdio.h"

voidmain()

(

intij,a[2][3]={{2,4,6},{8,10,12}};

printff'theoriginalarrayis:\n“);

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

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

printfC%4d”,a[i皿);

printf("\n”);

)

printf(<4\ntheresultis:\n");

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

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

printfC%4d”,a|j皿);

printf(“\n”);

)

)

8.以下程序的執(zhí)行結(jié)果是o

#include"stdio.h"

voidmain()

(

inta[4][4]={{1,2,-3,-4},{0,-12,-13,14),{-21,23,0,-24),{-31,32,-33,0));

intij,s=O;

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

{for(j=0;j<4y++)

{if(a[i][j]<0)continue;

if(a[i][j]==O)break;

s+=a[i][j];

)

)

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

)

9.如果從鍵盤上輸入(/代表回車符)

C++/

BASIC/

QuickC/

Ada/

Pascal/

以上程序運(yùn)行時(shí),程序的執(zhí)行結(jié)果是.

#include"stdio.h"

#include“string.h

溫馨提示

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

評(píng)論

0/150

提交評(píng)論