《高級(jí)語言程序設(shè)計(jì)》復(fù)習(xí)題及答案_第1頁
《高級(jí)語言程序設(shè)計(jì)》復(fù)習(xí)題及答案_第2頁
《高級(jí)語言程序設(shè)計(jì)》復(fù)習(xí)題及答案_第3頁
《高級(jí)語言程序設(shè)計(jì)》復(fù)習(xí)題及答案_第4頁
《高級(jí)語言程序設(shè)計(jì)》復(fù)習(xí)題及答案_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

一、選擇題

1.以下敘述正確的是():

A)在C程序中,main函數(shù)必須位于程序的最前面

B)C程序的每行只能寫一條語句

0C語言使用庫函數(shù)實(shí)現(xiàn)輸入輸出操作

D)注釋中的拼寫錯(cuò)誤會(huì)影響編譯結(jié)果

2、以下說法中正確的是()

A)C語言程序總是從第一個(gè)的函數(shù)開始執(zhí)行

B)C語言程序總是從main。函數(shù)開始執(zhí)行

C)在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

D)C語言程序中的main()函數(shù)必須放在程序的開始部分

3、下列選項(xiàng)種說法正確的是()

A)函數(shù)由聲明部分和執(zhí)行部分兩部分組成

B)語言中main函數(shù)一定在程序的開始部分

C)C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行

D)C程序的每行中只能寫一條語句

4、設(shè)有說明:inta;floatb;charc;doubled;則表達(dá)式

1.3*a+2*b*c+d*(int)2.6值的類型為()。

A)doubleB)charC)floatD)int

5、C語言的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符

()

A)必須為字母

B)必須為下劃線

C)必須為字母或下劃線

D)可以是字母、數(shù)字和下劃線中任一種字符

6、以下不正確的C語言標(biāo)識(shí)符是()。

A)ABCB)abcC)a_bcD)void

7、下列運(yùn)算符中優(yōu)先級(jí)最高的是()

A)<B)+C)&&D)!二

8、以下選項(xiàng)中屬于C語言中合法關(guān)鍵字的是()

A)FloatB)abcC)intD)CASE

9、若x、i、j和k都是int型變量,計(jì)算下面表達(dá)式后,x的值為()

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

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

10、在C語言中,要求數(shù)據(jù)必須是整型的運(yùn)算符是()

A)/B)++O!=D)%

11、若整型變量x的值為8,則下列表達(dá)式中值為1的表達(dá)式是

A)x+=x-=xB)x%=x-lC)x%=x%=3D)x/=x+x

12、若w=l,x=2,y=3,z=4,則條件表達(dá)式“w>x?w:y<z?y:z"的值是()

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

13、有以下程序,程序運(yùn)行后的輸出結(jié)果是。

main()

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

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

printf(/z%d%d%d\n”,i,j,k);

}

A)123B)234c)223D)233

14、下面程序的輸出結(jié)果是

main()

{intx=2,y=-l,z=2;

if(x<y)

if(y<0)z=0;

elsez=-1+x;

printf("%d\n"z);

)

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

15、執(zhí)行下列語句后,a的值為()

main()

{inta=5;

printf(<<%d\nn,(a=3*5,a*4,a+5)):

)

A)65B)20C)15D)10

16、下列程序段中,有錯(cuò)誤的行是()

列定行號(hào)intx=0,y=10;

2switch(x)

3{case3:

4case-1:y=y-2;break;

5casey+l:x+=5;

6default:printf("%d,%d”,x,y);}

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

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

22、若有以下定義:inta[5]={10,20,30,40,50},*p=a;則執(zhí)行++(*p)

后(*p)++的值是

A)10B)11C)20D)21

23、函數(shù)的嵌套調(diào)用是指

A)直接調(diào)用本函數(shù)

B)在定義函數(shù)時(shí),又定義另一個(gè)函數(shù)

0間接調(diào)用本函數(shù)

D)被調(diào)用函數(shù)又調(diào)用另一個(gè)函數(shù)

21.下列說法正確的是

A)被調(diào)用函數(shù)必須先調(diào)用,后聲明

B)用戶自定義函數(shù)的類型若未指出,則系統(tǒng)默認(rèn)為void

0全局變量不能與局部變量同名

D)實(shí)參可以是任意表達(dá)式

25、以下描述正確的是()

A)continue語句的作用,是結(jié)束整個(gè)循環(huán)語句的執(zhí)行

B)只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句

C)在循環(huán)體內(nèi)使用break語句或continue語句的作用相同

D)多層循環(huán)嵌套中不可以使用break語句

26、若有說明語句:“inta[3][4];",則對(duì)數(shù)組元素的正確引用格式是()

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

27、若有說明:“inta[3][4]={0}/;則下面正確的敘述是()

A)只有元素a[0][0]可得到初值0

B)此數(shù)組說明語句不正確

C)數(shù)組a中各元素都可得到初值,但其值不一定為0

D)數(shù)組a中每個(gè)元素均可得到初值0

28、定義數(shù)組a和b的語句是:

“chara□二“ABCDEF”;charb□={'A','B',C,D,'E','F'};

則以下敘述正確的是()

A)a和b數(shù)組完全相同B)a與b數(shù)組元素個(gè)數(shù)相同

C)a和b中都存放字符串D)a數(shù)組比b數(shù)組元素個(gè)數(shù)多

29、語句“int(*ptr)();”的含義是()

A)ptr是指向一維數(shù)組的指針變量

B)ptr是指向int型數(shù)據(jù)的指針變量

Optr是指向函數(shù)的指針,該函數(shù)返回一個(gè)int型數(shù)據(jù)

D)ptr是一個(gè)函數(shù)名,該函數(shù)返回值是指向int型數(shù)據(jù)的指針

30、若有定義:"int則標(biāo)識(shí)符p是()

A)一個(gè)指向整型變量的指針

B)一個(gè)指針數(shù)組名

C)一個(gè)指針,它指向一個(gè)含有四個(gè)整型元素的一維數(shù)組

D)無效的數(shù)組名

31、在C語言中()

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

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

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

D)函數(shù)定義和條用都不能嵌套

32、下面程序的輸出結(jié)果是()

ttinclude<stdio.h>

voidmain()

{inti,j,x=0;

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

{x++;

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

{if(j%2)continue;

x++;}

X++;

)

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

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

33、執(zhí)行下列語句后,m的值為()

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

m=m<x?m:x;

m=m<y?m:y;

m=m<z?ni:z:

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

34、下列程序段是實(shí)現(xiàn)給數(shù)組所有元素賦值操作,應(yīng)在下劃線上填入的是()

inta[10];

for(i=0;i<=9;i++)scanf(,);

A)aB)&a[i]C)a[i]D)&a[0]

35、下列敘述正確的是()

A)do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替

B)do-while語句構(gòu)成的循環(huán)只能用break語句退出

C)用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時(shí)結(jié)束循環(huán)

D)用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時(shí)結(jié)束循環(huán)

36、下列程序的輸出結(jié)果為()

#include"stdio.h"

main()

{inta,b;

for(a=l,b=l;a<=100;a++)

{if(b>=20)break;

if(b%3==l)

{b+=3;continue;}

b+=5;}

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

)

A)8,20B)8,22C)7,20D)7:22

37、設(shè)inta[5]={10,15,20,25,30);

int*p;p=a+2;則表達(dá)式++*p的值為()

A)20B)15C)16D)21

38、設(shè)w=1,x=2,y=3,z=4,a=5,b=6,則執(zhí)行一下語句后A)b的值分別為()

(a=w>x)&&(b=y>z);

A)0和0B)5和0C)0和6D)5和6

39、下列語句的輸出為()

intx=-l;

printf("%d,%u,%o",x,x,x);

A)-B)-1,32767,-177777

C)-1,32768,177777D)-1,65535,177777

40、下列函數(shù)調(diào)用語句中的實(shí)參個(gè)數(shù)為()

fun((a+b,x,y),fun(x,(x+z)));

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

41、設(shè)有數(shù)組定義:chararray[]=>,china";則數(shù)組array所占的內(nèi)存空間

為()

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

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

charc[5]={,b','\0,,,c''\o'

printf(,c);

A)‘a(chǎn)''b'B)abC)abcD)ab

43、若C程序中出現(xiàn)死循則違背了算法的()

A)有效性B)確定性

C)有窮性D)有一個(gè)或多個(gè)輸出

44、設(shè)inta=20;則執(zhí)行表達(dá)式:a/=a+a后,a的值是()

A)0B)1C)20D)40

45、intx,y,z,m=5,n=5;則執(zhí)行下面語句后的z值是()

x=(-m=n++)?―m:++n;

y=m++;

z=n;

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

46、執(zhí)行下列程序段后,i的正確結(jié)果是()

inti=10;

switch(i)

{case9:i+=l;

case10:i++;

case11:++i;

default:i+=i;}

printf(〃%d”,i);

A)10B)11C)12D)24

47、若有定義:則以下表達(dá)式中不能代表數(shù)組元素a[l]的地址的是

()

A)&a[0]++B)&a[l]C)&a[0]+lD)a+1

48、變量的指針,其含義是指該變量的()

A)值B)地址C)變量名D)一個(gè)標(biāo)志

49、有以下函數(shù)定義:

voidfun(intn,doublex)

{…???)

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

()

A)fun(inty,doublem);B)k=fun(10,12.5);

C)fun(x,n);D)voidfun(n,x);

50、設(shè)整型變量n=10,i=4,則賦值運(yùn)算n猊i+1執(zhí)行后,n的值是()。

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

51、若inta,b;scanf(,,%d%d,/,&a,&b);不可以用()作為輸入的分隔

符。

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

52、下面關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是:()

A)關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符

B)邏輯運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符<賦值運(yùn)算符

C)賦值運(yùn)算符<邏輯與運(yùn)算符<關(guān)系運(yùn)算符<算術(shù)運(yùn)算符

D)算術(shù)運(yùn)算符<關(guān)系運(yùn)算符<賦值運(yùn)算符<邏輯與運(yùn)算符

53、為了判斷兩個(gè)字符串si和s2是否相等,應(yīng)當(dāng)使用()。

A)if(sl==s2)B)if(sl=s2)

C)if(strcpy(si,s2))D)if(strcmp(si,s2)==0)

54、以下對(duì)二維數(shù)組進(jìn)行正確初始化的是()。

A)inta[2][3]={{1,2},{3,4},{5,6}};

B)inta[][3]={1,2,3,4,5,6};

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

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

55、若用數(shù)組名作為函數(shù)調(diào)用時(shí)的實(shí)參,則實(shí)際上傳遞給形參的是()o

A)數(shù)組的首地址B)數(shù)組的第一個(gè)元素值

C)數(shù)組中全部元素的值D)數(shù)組元素的個(gè)數(shù)

56、以下錯(cuò)誤的描述是()o

A)不同的函數(shù)中可以使用相同的變量名

B)形式參數(shù)是局部變量

O一個(gè)函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)有效

D)在一個(gè)函數(shù)內(nèi)部的復(fù)合語句中定義的變量可以在本函數(shù)范圍內(nèi)

有效

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

main()

{inti=10;

int*p=&i;

i=8;

printf("%d”,*p);

}

A)10B)8C)程序錯(cuò)誤,不能運(yùn)行D)結(jié)果不確定

58、C語言中,double類型的數(shù)據(jù)占字節(jié)數(shù)為()

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

59、可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是()

A)as_b3123If

B)For-abccase

C)2cDOSIG

D)voiddefineWORD

60、以下字符中,不正確的C語言轉(zhuǎn)義字符是()

A)'\\‘B)'\018'C)''Xaa'D)'\t'

61、C語言中,數(shù)據(jù)在內(nèi)存中都以()形式存放

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

62、下列運(yùn)算符中,優(yōu)先級(jí)最高的是()

A)&&B)!C)++D)||

63、有輸入語句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);為使變量a的

值為11,b為12,c為13,則從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是()o

A)111213B)11,12,13

C)a=llb=12c=13D)a=ll,b=12,c=13

64、為表示關(guān)系TWxWl應(yīng)使用的c語言表達(dá)式是()

A)TWxWlB)-1=<X&&X=<1

C)-1=<X=<1D)x>=-l&&x<=l

65、若有以下定義:

doublea;intb;

floatc;chard;

則表達(dá)式a*b/d+(d-c)值的類型為()

A)floatB)intC)charD)double

66、下列程序輸出的結(jié)果是()

main()

{inta=18;

a十二a-=;

printf(〃96d〃,a);

)

A)-612B)9C)0D)36

67、break語句()

A)只能出現(xiàn)在if語句中B)只能出現(xiàn)在循環(huán)體中

C)可用在循環(huán)體和switch語句中D)可用在函數(shù)中的任何語句

68>如intk=ll;則執(zhí)行語句k=l/3*++k;后k取值為()

A)12B)304D)0

69、以下程序的輸出結(jié)果是()

main()

{intx=12,y=012;

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

)

A)129B)ll11Oil12D)1211

70、設(shè)intx=l,y=5;表達(dá)式(!x||y—||++x)的值是()

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

71、如果k為整數(shù),則while循環(huán)執(zhí)行次數(shù)()

k=10;

while(O)k=k-l;

A)一次都不執(zhí)行B)1C)10D)無限次

72、有以下程序()

fun(inta,intb)

{if(a>b)returnb:

elsereturnb;

)

main()

{intx=3,y=8,z=6,r;

r=fun(x,y+z);

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

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

A)3B)6C)8D)14

73、若有說明:intn=17,*p=&n,*q=p;,則以下非法的賦值語句是()

A)p=q;B)*p=*q;C)n=*q;D)p=n;

74、以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績(jī),計(jì)算出每位

學(xué)生的平均分并輸出,程序如下:

main()

{intn,k;

floatscore,sum,ave;

sum=0.0;

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

{for(k=l;k<=4;k++)

{scanf(,&score);sum+=score;}

ave=sum/4.0;

printf("N0%d:%f\n”,n,ave);

)

)

上述程序運(yùn)行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有一條語句出現(xiàn)在程序中的位置

不正確。這條語句是()

A)sum=0.0;B)sum+=score;

C)ave=sun/4.0;D)printf(aN0%d:%f\n,>,n,ave);

75、數(shù)組定義為chara[10]={'a,,'b,,'c'};該數(shù)組包括的元素個(gè)數(shù)是

()

A)3B)9C)4D)10

76、下面程序的輸出結(jié)果是()

main()

{intx=2,y=-1,z=2;

if(x<y)

if(y<0)z=0;

elsez=-l+x++;

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

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

77、有以下程序

main()

inta[]={0,1,2,3,4,5,6,7,8,9),*p;

for(p=&a[9];p>=a;p-)

printf(〃%d,〃,*p);

)

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

A)0123456789

B)2,3,4,5,6,7,8,9,10,1

C)0,1,2,3,4,5,6,7,8,9,

D)9,8,7,6,5,4,3,2,1,0,

78、執(zhí)行循環(huán)語句:for(x=y=0;y!=2501|x<4;x++)y+=50;

其循環(huán)體執(zhí)行的次數(shù)為()

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

79、如intx=14;下列求商y(需小數(shù)結(jié)果)的表達(dá)式哪一個(gè)不對(duì)()

A)y=x/(5+.0)B)y=x/5.C)尸l.*x/5D)y=x/5*l.0

80、設(shè)有以下程序段()

intx=0,s=0;

while(!x!=0)s+=++x;

printfs);

則:A)運(yùn)行程序段后輸出0B)運(yùn)行程序段后輸出1

C)程序段中的控制表達(dá)式是非法D)程序無法運(yùn)行

81、有以下程序,程序運(yùn)行后的輸出結(jié)果是()

#include〃stdio.h〃

voidmainO

{inti=0,j=2,m=3,n;

n=i++<=1&&j>=2&&m++;

printf("%d,%d,%d,%d\n〃,i,j,m,n);

)

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

82、下面程序的輸出結(jié)果是()

#include<stdio.h>

voidmain()

{inti,x=l,y=0,a=0,b=0;

switch(x)

{casel:b++;

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

case3:a++;b++;

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

)

A)2,1B)2,201,2D)4,2

二、程序分析及填空

1.C語言的基本數(shù)據(jù)類型中,有兩種實(shí)數(shù)類型變量,一種是float型,另一

種是()型。

2.若程序中有語句“scanf("a=%d,b=%d",&a,&b);”,在執(zhí)行程序時(shí),要輸

入3和5兩個(gè)數(shù),應(yīng)該鍵入()o

3,包含數(shù)學(xué)類庫函數(shù)的頭文件名稱是()。

4.字符串“ab\034\\\x79”的長度為()。

5.數(shù)組元素作函數(shù)參數(shù)進(jìn)行的是傳遞,數(shù)組名作函數(shù)參數(shù)進(jìn)行的是—傳

遞。

6.設(shè)有函數(shù)調(diào)用語句f(xl,xl+x2,fl(xl,x2));則函數(shù)f()實(shí)參的數(shù)

目宥_個(gè)。

7.在數(shù)組intscoreE10]={l,2,3,4,5,6}中,元素定義的個(gè)數(shù)有個(gè),

其中score[8]的值為。

8.C語言源程序文件的后綴是經(jīng)過編譯后,生成文件的后綴是,經(jīng)過連接后,

生成文件的后綴是。

結(jié)構(gòu)化程序由、、三種基本結(jié)構(gòu)組成。

9、C語言提供的三中邏輯運(yùn)算符是、、

10、若a=l,b=4,c=3,則表達(dá)式!(a<b)||!C&&1的值是

11、在C語言中,若對(duì)函數(shù)類型未加說明,則函數(shù)的隱含類型為類型。

12、在C語言中,唯一的一個(gè)三目運(yùn)算符是。

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

#include<stdio.h>

voidmain()

{intm=5;

if(miO5)printf(z,%d\nz,,m);

elseprintf(,,%d\n,,?m--):)

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

ttinclude<stdio.h>

voidmain()

{intx=15;

while(x>10&&x<50)

{x++;

if(x/3){x++;break;}

elsecontinue;

)

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

15、下面程序的運(yùn)行結(jié)果是:。

tfinclude"stdio.h〃

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

voidmain()

{intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

printfC%d%d\nz,,*p,*q);

)

16、在執(zhí)行以下程序時(shí),如果從鍵盤上輸入:AdEf〈回車》,則輸出為

#include,zstdio.h〃

voidmain0

{charch;

while((ch=getchar())!=,\n)

{if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<='z')ch=ch-32;

printf(級(jí)c〃,ch);

printf(〃\n〃);}

17.設(shè)有以下宏定義,則執(zhí)行賦值語句a=PP*20;(a為int型變量)后,a

的值是。

ftdefinePR100

#definePPPR+400

18、下列程序段的輸出結(jié)果為

intx=10,y=l;

y二y-I|x++;

printf("%d,%d”,(y,x++),y);

19、有以下程序

#include〃stdio.h〃

voidmain()

(

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][i];

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

}

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

程序的功能為

20、有以下程序

ftinclude<stdio.h>

voidmain()

{intp=2,t=l;

while(p<=5)

t=t*p++;

printf(〃%d\n〃,t);}

該程序運(yùn)行后變量P和t中的值分別為。

21、有以下程序

#include<stdio.h>

voidmain()

{inta,b,c=221;

a=c/100%3;

b=a&&-l;

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

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

22、以下程序的輸出結(jié)果為

#include<stdio.>

main()

{inta[]={1,2,3,4,5,6},*p=a;

*(p+3)+=2;

printf(u%d,刎”,*p,*(p+3));}

23、以下程序的輸出結(jié)果為。

#include〃stdio.h〃

intxl=40,x2=70;

voidmain()

{intx3=50,x4=60;

intsub(intx3,intx4);

printf(〃%d,%d\n,z,xl,x2);

voidsub(intx,inty)

{xl=x;x2=y;}

24、下面C程序的輸出是

main()

{intm=6;

if(m一<6)printf(〃%d\n〃,++m);

elseprintf(,,%d\n,,,一m);

}

25、下面C程序的輸出是:

^include〃stdio.h〃

mainO

{inta=5,*p=&a;

*p=a+*p;

printf(〃a=%d\n〃,a);}

26、下面C程序的輸出是j

ttinclude"stdio.h〃

voidf(intn)

{printf(,z%3d,z,n%10);

if(n>0)

f(n/10);}

voidmain()

(六⑵;}

27、以下程序的輸出結(jié)果是j

#include"stdio.h〃

voidmain()

{inty;

for(y=6;y>0;y--)

if(y%3=0)

{printf(級(jí)d”,--y);continue;}}

28、在數(shù)組intscore[10]={l,2,3,6}中,score[7]的值為

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

ttinclude"stdio.h〃

voidmain()

{inta=l,b=2;

printf(級(jí)d〃,(a++,++b,(a++)+b))

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

ttinclude<stdio.h>

voidmain()

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

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

printf("%d",x[i][2-i]);}

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

#include<stdio.h>

main()

{inta=5,b=7,c;

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

)

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

ftinclude〃stdio.h〃

main()

{inti,j,k=0,m=0;

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

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

k++;k-=j;

)

m=i+j;

printf("k=%d,n=%d\n〃,k,m):

)

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

#includez,stdio.h〃

swap(int*pl,int*p2)

{intp;

p=*pl;*pl=*p2;*p2=p;

}

main()

inta=12,b=13;

int*pointer_l,*pointer_2;

pointer_l=&a;pointer_2=&b;

if(a<b)swap(pointer_l,pointer_2);

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

}

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

#include〃stdio.h〃

main()

{inti,*p,a[7]={l,2,3,4,5,6,7);

P=a+2;

for(i=O;i<3;i++,p++)

printf(〃%d〃,*p);

)

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

main()

{intn;

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

if(n%2)continue;

elseprintf(a%d\tw,n);

)

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

main()

{charch[]="aB12cd##78EF%@”;

intj,k;

j=k=O;

while(ch[k]!=,\0')

{if(ch[k]>=,A'&&ch[k]<=,V\|ch[k]>=,a'&&ch[k]<=,zf)

ch[j++]=ch[k];

k++;

)

ch[j]=>\0J;

printf("%s”,ch);

)

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

ttinclude<stdio.h>

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

)

voidmain()

{intx=5,y=9,*p=&x,*q=&y;

swap(p,q);

printf%d\n,\*p,*q);

)

38、有以下程序,該程序運(yùn)行后的輸出結(jié)果是

ttinclude<stdio.h>

voidmain()

{inta,b,c=222;

a=c/100%3;

b二-1&&-1;

printf(^%d,%d?,,a,b);}

三、補(bǔ)全程序題

1、輸入三個(gè)整數(shù)x,y,z,把這三個(gè)數(shù)由小到大輸出。

Main()

{intx,y,z,t;

scanf(,&x,&y,&z);

if(x>y)

{}/*交換x,y的值*/

if(x>z)

{}/*交換x,z的值*/

if(y>z)

{}/*交換z,y的值*/

printf(usmalltobig:%d%d%d\n”,x,y,z);

)

2、求圓的面積和周長,請(qǐng)補(bǔ)全下面程序:

SdefinePI3.14159

voidmain()

{floatr,s,y;/*r表示半徑;s表示面積;y表示周長*/

scanf(”,&r);

s=PI*;

y=2*;

printf("s=%f,y=fv,s,y);}

3、函數(shù)al的功能是求一維數(shù)組中所有元素的平均值并返回給主調(diào)函數(shù)。請(qǐng)

補(bǔ)全下面程序:

floatal()

floatb[10],sum=,aver;inti;

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

scanf(u%f,&b[i]);

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

sum+二;

aver=sum/10;

return;}

4、從鍵盤上輸入10個(gè)數(shù),輸出最大、最小元素的值以及它們的下標(biāo)。

ttinclude<stdio.h>

voidmain()

{inti,j,k,max,min,a[5];

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

*

9

max=min=a[0];

j=k=0;

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

{if(max<a[ij)

{;;}

if()

{min=a[i];k=i;}

)

printf(amax:a[%d]=%d,min:a[%d]=%dw,j,max,k,min);}

5、以下程序從讀入的整數(shù)數(shù)據(jù)中,統(tǒng)計(jì)大于零的整數(shù)個(gè)數(shù)和小于零的整數(shù)

個(gè)數(shù)。用輸入零來結(jié)束輸入,程序中用i統(tǒng)計(jì)大于零的個(gè)數(shù),用變量J

統(tǒng)計(jì)小于零的整數(shù)。請(qǐng)?zhí)羁铡?/p>

voidrnainO

{intn,i,j;

printf(uEnterINTnumbers,with0toend\n");

i=j=0;

scanf(,&n);

while

{ifIn>oy;

if(n<0)一;

scanf("%d",&n);

}

printf(ai=%4dj=%4d\n",i,j):

}

6、輸入一個(gè)3位正整數(shù),反序輸出。

#include<stdio.h>

voidmain()

{intx,xl,x2,x3,y;

printf("pleaseinputx:");

scanf("%3d”,&x);

xl=;

x2=x/10%10;

x3=;

y=x3*100+x2*10+xl;

printf(uy=%d\n,\y);

}

7、計(jì)算s=l!+2!+3!+....+n!

ttinclude<stdio.h>

longf(intn)

{inti;

longt=l;

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

}

voidmain()

{inti,n;

*

scanf(&n);

for(;;)

s=s+f(i);

printf(as=%ld\n,\s);

)

8.輸入兩個(gè)數(shù)并判斷兩數(shù)是否相等,如果相等輸出a=b,不相等輸出a!=bo

^include<stdio.h>

main()

{inta,b;

printf(z,Enterintegeraandb:〃);

scanf(〃%d/d〃,);

printf(〃a==b\n〃);

else

printf(〃a!=b\n〃);

)

9.輸出半徑從1到10的圓面積,當(dāng)面積大于100時(shí)停止

#definePI3.14159

main()

{

intr;

floatarea;

for(r=l;r<=10;r++)

{area=;

if(area>100);

printf(,zr=%d,area=%.2f\n〃,r,area);

I

)

10.以下程序以每行輸出8個(gè)數(shù)據(jù)的形式輸出a數(shù)組。

#include<stdio.h>

voidmain()

{inta[50],i;

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

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

{

ifO;

printf(“燒d",);

})

11、以下程序的功能是:從鍵盤上輸入20個(gè)學(xué)生的成績(jī),統(tǒng)計(jì)計(jì)算出平均

成績(jī),并輸出低于平均分的學(xué)生成績(jī),用輸入負(fù)數(shù)結(jié)束輸入。請(qǐng)?zhí)羁铡?/p>

main()

{floatx[20],sum=0.0,ave,a;

intn=0,i;

printf(z,entermark:\nz,);

scanf&a);

while(a>=0&&n<20)

{sum+=;x[n]=____;

n++;

scanf(級(jí)f\n〃,&a);

}

ave=;

printf("Output;\n〃);

printf(〃ave=%f\n〃,ave);

}

12.不用其它變量做為中間變量,交換a,b的值,請(qǐng)?zhí)羁眨?/p>

main()

{inta,b;

scanf(〃/d%d〃,&a,&b);

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

a=;b=;a=;

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

13、用遞歸法求n!,遞歸公式如下,補(bǔ)全下面程序

[1(n=0或n=1)

n!【

n*(nT)(n>=2)

longfun(intn)

{longt;

if(n==0|n==1)t=l;

elset=;

return(t);}

14、函數(shù)al的功能是求一維數(shù)組中所有元素的平均值并返回給主調(diào)函數(shù)。

請(qǐng)補(bǔ)全下面程序:

floatal()

(

floatb[10],sum=0,aver;inti;

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

scanf("%f,&b[i]);

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

sum+=;

aver=sum/10;

return;}

15、把100--200之間的能被3和7整除的數(shù)輸山,請(qǐng)補(bǔ)全下面程序:

viodmain()

{intn;

for(n=100;n;n++)

{if()continue;

Printf("%5d”,n);

})

16、下面程序的功能是輸出1000以內(nèi)的個(gè)位數(shù)為6,且能被3整除的所有

數(shù).

main()

{inti,j;

for(i=0;;i++)

{j=i*10+6;

if()countinue;

printf(〃%d〃,j):

))

17、有以下程序段:

s=l.0;

for(k=l;k<=n;k++)

s=s+L0/(k*(k+l));

printf(〃%f\n〃,s);

填空完成下述程序,使之與上述程序的功能完全相同。

s=0.0;

k=0;

do

{s=s+d;

;d=1.0/(k*(k+l));}

while();

printf(級(jí)f\n〃,s);

18、輸入一個(gè)3位正整數(shù),反序輸出。

#include<stdio.h>

voidmain()

{intx,xl,x2,x3,y;

printf("pleaseinputx:");

scanf(“%3d”,&x);

xl=;

x2=x/10%10:

x3二;

y=x3*100+x2*10+xl;

printf(“y=%d\n",y);

)

四、程序改錯(cuò)

1.[程序說明]以下程序的功能是在主程序中輸入一個(gè)整數(shù),在子程序中得

到該數(shù)的絕對(duì)值,并在主函數(shù)中輸出該數(shù)的絕對(duì)值。

include"stdio.h"

main()

{inta;

scanf(“服1”,a);

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

abs(intx);

{if(x>=0)

return(x);

else

return(x);}

2、用Fibonacci數(shù)列前20個(gè)數(shù),以四行五列顯示。

main()

{inti;

intf[20]=(l,1);_

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

f[i]=f[i-2]+f[i-l]:

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

{if(i/4=0)

printf(\n);_

printf(,z%12d,z,f[i]);

})

3.voidmain()

{

intx,y=z二5

intaver;

x=7

AVER=(x+y+z)/3;

printf(uAVER=%d\nv,aver);

})

4.下面程序希望實(shí)現(xiàn)的功能是:定義兩個(gè)字符數(shù)組STR1、STR2,在鍵盤上

輸入STR2的值,然后將STR2連接到STR1后面,最后打印兩個(gè)數(shù)組。劃

線部分存在錯(cuò)誤,請(qǐng)將改正后的結(jié)果填入右側(cè)對(duì)應(yīng)的橫線

#includestring,h

main()

(

charstrl[100]=/zabcz,,str2[];

scanf("%s"&str2);

for(i=0;strl[i]!=>\0*;i++)

for(j=0;str2[j]!-\0,;j++)

strl[i]=str2[j];

printf("%c",strl);

puts(str2);

)

5.請(qǐng)將改正后的結(jié)果填入右側(cè)對(duì)應(yīng)的橫線

ttinclude"stdio.h〃,

Voidmain

{longintd;

floatx;

Scanf("%d\n",d);

x=l/2*SIN(d*pi/180.0);

printf(ax=%f\n,\x)

五、編寫程序

1、定義求m"的函數(shù)intf(intm,intn)o并求解5、

2、編程實(shí)現(xiàn)1,2,3,4,5這5個(gè)數(shù)的乘積,并輸出結(jié)果。

3、有一分段函數(shù):Px-1(x<0)

y:=x(x=0)

x+1(x>0)

編寫一程序,輸入一個(gè)x的值,輸出對(duì)應(yīng)的y值。

4、編寫程序求出100到200之間的所有素?cái)?shù)

5、從鍵盤上輸入10個(gè)數(shù),輸出最大、最小元素的值及它們的下標(biāo)。

6、輸入兩個(gè)整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

7、計(jì)算s=l!+2!+3!+……+n!

8、輸出1000以內(nèi)的個(gè)位數(shù)為6,且能被3整除的所有數(shù)

9.從鍵盤輸入3名學(xué)生的5門課的成績(jī),分別統(tǒng)計(jì)出每個(gè)學(xué)生的平均分(要求:

用數(shù)組實(shí)現(xiàn))。。

10、編程實(shí)現(xiàn)1,2,3,……50這50個(gè)數(shù)的和,并輸出結(jié)果。

11、求4義4的二維數(shù)組主對(duì)角線上的所有數(shù)據(jù)之和及平均值,并將大于平均值

的數(shù)進(jìn)行輸出。

12.一個(gè)包含10個(gè)元素的整型數(shù)組,編寫程序求出該數(shù)組中的最大數(shù)和最小數(shù),

并判斷這兩個(gè)數(shù)是否為互質(zhì)數(shù)(互質(zhì)數(shù)的判斷條件是:除了1之外這兩個(gè)數(shù)

再也沒有其他的公約數(shù))。

13.求出100以內(nèi)能夠同時(shí)被3和5整除的這些數(shù)的和。

14.用函數(shù)將數(shù)組a中的n個(gè)整數(shù)按相反順序存放。

15.從鍵盤上輸入一個(gè)字符串,統(tǒng)計(jì)其中包含的英文字母、空格、數(shù)字符號(hào)各有

多少個(gè),輸出統(tǒng)計(jì)結(jié)果。

16.從鍵盤上任意一個(gè)正整數(shù),判斷它是否素?cái)?shù)。若是素?cái)?shù),輸出“Itisaprime

number.",

若不是素?cái)?shù),輸出“Itisnotaprimenumber.一、選擇題

題12345678910

號(hào)

答CBAACDBCCB、D

題11121314151617181920

號(hào)

答B(yǎng)BDBCBBDC

題21222324252627282930

號(hào)

答DDDBCDDCB

題31323334353637383940

號(hào)

答B(yǎng)DABDBDADA

題41424344454647484950

號(hào)

答CBCADDABCA

題51525354555657585960

號(hào)

答ACDBADBDAB

題61626364656667686970

號(hào)

答DB、CDDDACDAB

題71727374757677787980

號(hào)

答ADDADBDADB

題8182

號(hào)

答CC

二、程序分析及填空

1、double

2、a=3,b=5

3、math.h

4、5

5、值地址

6、3

7、100

8、.C.obj.exe順序選擇循環(huán)

9、!&&II

10、0

11、int

12、?:

13、6

14、17

15、35

16^aDeF

17、1OOOO

18、11,0

19、23求整型4*4矩陣主對(duì)角線元素之和

20、6,120

21、2,1

22、1,6

23、40,70

24、4

25^a=10

26、空格空格2空格空格1空格空格0

27、52

28、0

29、4

30、357

31、0

32^k=O,m=3

33、13,12

34、345

35、2->4->6->8->10(注:每一個(gè)箭頭代表七個(gè)空格)

36、aBcdEF

37、5,9(注:該題和15題類似,但數(shù)據(jù)和輸出形式均不同)

38、2,1(注:該題和21題基本相同,差別在于數(shù)據(jù)分別為222和221)

三、補(bǔ)全程序題

1、t=x,x=y,y=t

t=x,x=z,z=t

t二y,y=z,z=t

2、r*r

PI*r

3、0或0.0或0.或.0等形式

b[i]

aver

4、scanf(,&a[i])

max=a[i]

j二i

min>a[i]

5、(n!=0)

i++

j++

6、x/100

x%10

7、t*二i

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論