《c語言程序設(shè)計(jì)ⅰ》寒假作業(yè)_第1頁
《c語言程序設(shè)計(jì)ⅰ》寒假作業(yè)_第2頁
《c語言程序設(shè)計(jì)ⅰ》寒假作業(yè)_第3頁
《c語言程序設(shè)計(jì)ⅰ》寒假作業(yè)_第4頁
《c語言程序設(shè)計(jì)ⅰ》寒假作業(yè)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

C語言程序設(shè)計(jì)寒假作業(yè)

說明:

1、此次作業(yè)要求打?。ㄕ疵娲蛴。┏鰜砗笾苯釉诖蛴〖埳洗痤},開學(xué)第1周理論課時(shí)帶

來;

2、寒假作業(yè)分三部分,其中第2、3部分為學(xué)期末抽查考試試卷和期末考試試卷,大家認(rèn)真

做一遍,開學(xué)第一周公布答案;

3、開學(xué)第一周實(shí)驗(yàn)課測試指法,請大家寒假期間練習(xí);

4、希望同學(xué)們假期復(fù)習(xí)鞏固所學(xué)內(nèi)容,學(xué)有余力的同學(xué)盡量做預(yù)習(xí)工作。

第一部分綜合練習(xí)題

一、單選題

1、下面關(guān)于C語言特點(diǎn)的描述,不正確的是()?

A、C語言兼有高級語言和低級語言的雙重特點(diǎn),執(zhí)行效率高

B、C語言既可以用來編寫應(yīng)用程序,又可以用來編寫系統(tǒng)軟件

C、C語言是一種結(jié)構(gòu)式模塊化程序設(shè)計(jì)語言

D、C語言的可移植性較差

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

A、必須在最開始B、可以任意C、必須在最后I)、必須在系統(tǒng)調(diào)用的庫函數(shù)的后面

3、下列說法中正確的是()o

A、C程序書寫時(shí),不區(qū)分大小寫字母B、C程序書寫時(shí),一行只能寫一個(gè)語句

C、C程序書寫時(shí),一個(gè)語句可分成幾行書寫D、C程序書寫時(shí)每行必須有行號(hào)

4、以下關(guān)于算法的說法中,錯(cuò)誤的是()。

A、一個(gè)算法應(yīng)包含有限個(gè)步驟

B、在計(jì)算機(jī)上實(shí)現(xiàn)的算法是用來處理數(shù)據(jù)對象的

C、算法的目的是為了求解

I)、算法中指定的操作,不能通過已經(jīng)實(shí)現(xiàn)的基本運(yùn)算執(zhí)行有限次后實(shí)現(xiàn)

5、下列數(shù)據(jù)中,不合法的C語言實(shí)型數(shù)據(jù)是()o

A、0.123B、123e3C、2.1e3.5D、789.0

6、若變量a、i已正確定義,且i已正確賦值,以下屬于合法的C語句是()o

A、a==lB>++i;CNa=a++=5;D、a=int(i);

7、已有定義inta=6;則執(zhí)行語句a+=a?=a*a;后,a的值為()°

A、36B、0C、-24D、-60

8、若有以下程序段,其輸出結(jié)果是()。

inta=0,b=0,c=0;

c=(a-=a-5),(a-=3,++b);

printff4%d,%d,%d\nM,a,b,c);

A、0,0,40B、2,1,5C、-10,-3,-10D、3,3,-10

9、有以下定義:inti=10,j=l;執(zhí)行語句printf("%d,%d\n”,i“,++j);后輸出結(jié)果是()o

A、9,2B、10,2C>9,1D、10,1

10、字符串”\N\065\xff\n”的長度為()。

A、5B、14C、8D、輸出項(xiàng)不合法,無正常輸出

11、已有定義:chare;執(zhí)行賦值語句c=(R?H)/2+,A,;后,變量c的值為()o

A、MB、NC、OD、Q

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

A、;B、a=5,b=2.5,c=3.6;C、if(a<5);D、if(b!=5)x=2;y=6;

13、設(shè)a、b和c都是int變量,且a=3,b=4,c=5;則以下的表達(dá)式中,值為0的表達(dá)式是()。

A、a&&bB、a<=bC、allb+c&&b-cD、!((a<b)&&!clll)

14、若有定義語句inta,b;doublex;則下列選項(xiàng)中沒有錯(cuò)誤的是()。

A、switch(x%2)B、switch((int)x/2.0)

{case0:a++;break;case0:a++;break;

第一部分綜合練習(xí)題

case1:b++;break;case1:b++;break;

default:a++;b++;default:a++;b++;

))

C、switch((int)x%2)D、switch((int)(x)%2)

{case0:a++;break;{case0.0:a++;break;

case1:b++;break;case1.0:b++;break;

default:a++;b++;default:a++;b++;

)

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

main()

{intx,y,z;

x=0;y=2;z=3;

switch(x)

{case0:switch(y==2)

{case1:printf(M*M);break;

case2:printf(H%H);break;

)

case1:switch(z)

{case1:printf(n$n);

case2:printf(M*M);break;

default:printf(H#H);

)

)

)

A、*B、%C、$*D、*#

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

main()

{inta=45,b=40,c=50,d;

d=a>=30?b:c;

switch(d)

{case30:printf(M%dn,a);

case40:printf(n%dM,b);

case50:printf(M%dH,c);break;

default:printf(H#M);

)

)

A、304050#B、304050C、4050D、#

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

main()

inta,b,c,x=35;

2

第一部分綜合練習(xí)題

a=b=c=O;x=35;

if(!a)

X-;

elseif(b);

if(c)

else

x=4;

printf(n%d\n'\x);

}

A、35B、4C>3D、4

18、對以下循環(huán):for(a=0,b=0;(b!=123)&&(a<=4);a++);說法正確的是()。

A、無限循環(huán)B、循環(huán)次數(shù)不定C、執(zhí)行4次D、執(zhí)行5次

19、在下列程序中,while循環(huán)的循環(huán)次數(shù)是()°

main()

{inti=0;

while(i<10)

{if(i<l)continue;

if(i==5)break;

i++;

)

)

A、1B、10C>6D、死循環(huán)、不能確定次數(shù)

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

main()

{inti=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0)

break;

elsei-;

)

i+=ll;

a+=i;

)

printf(n%d\nn,a);

)

A、21B、32C、33D、11

3

第一部分綜合練習(xí)題

21、當(dāng)輸入為"quert?”時(shí),下面程序的執(zhí)行結(jié)果是()?

main()

{vvhile(putchar(getchar())!=,?r);}

A、quertB、RvfsuC、quert?D、rvfsu?

22、以下能正確計(jì)算1X2X3X…X10的程序段是()o

A、do{i=l;s=l;s=s*i;i++;}while(i<=10);B、do{i=l;s=0;s=s*i;i++;}while(i<=10);

C>i=l;s=l;do{s=s*i;i++;}while(i<=10);D>i=l;s=0;do{s=s*i;i++;}while(i<=10);

23、以下能對一維數(shù)組a進(jìn)行正確初始化的語句是()。

A、inta[lOJ=(O,O,O,O,O);B、inta[10]={};C、inta[J={0};D、inta[10]=Habcdefgn;

24、以下不能給數(shù)組的首元素賦值的語句是()。

A^inta[2]={l};B、inta[2]={l*2};C、inta[2];scanf(a%dn,a);D、inta[2];a[l]=l;

25、設(shè)有charstr[10];下列語句正確的是()。

A,scanf("%s",&str);B、printf("%c",str);C、printf("%s",str[O]);D、printf("%s",str);

26、以下不能對二維數(shù)組a進(jìn)行正確初始化的語句是()。

Asinta[2][3]={0};B、inta[][3]={{l,2},{0});

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

27、設(shè)有兩字符串"Beijing"、"China”分別存放在字符數(shù)組strl[20],str2[20]中,下面語句中能把“China”連接到

"Beijing”之后的為()。

A、strcpy(strl,str2);B、strcpy(strl,"China");C、strcat(strl,"China");D、strcat("Beijing",str2);

28、C語言規(guī)定:函數(shù)返回值類型是由()。

A、return語句中的表達(dá)式類型決定B、調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型決定

C、調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定D、定義該函數(shù)時(shí)所指定的函數(shù)類型決定

29、下面函數(shù)調(diào)用語句func((expl,exp2),(exp3,exp4,exp5))中實(shí)參的個(gè)數(shù)為()。

A、1B、2C、4D、5

30、建立函數(shù)的目的之一是()?

A、提高程序的執(zhí)行效率.B、提高程序的可讀性C、減少程序的篇幅D、減少程序文件所占內(nèi)存

31、有如下程序,該程序的輸出的結(jié)果是()。

intrunc(inta,intb)

{return(a+b);}

main()

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

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

printf(“%d\n”,r);

)

A、12B、13C、14D、15

32、有如下程序,該程序的輸出結(jié)果是()。

longfib(intn)

{if(n>2)return(fib(n-l)+fib(n-2));

elsereturn(2);

)

4

第一部分綜合練習(xí)題

main()

{printf("%d\n”,fib(3));}

A、2B、4C、6D、8

33、以下函數(shù)的功能是:通過鍵盤輸入數(shù)據(jù),為數(shù)組中的所有元素賦值。在下劃線處應(yīng)填入的是()。

#defineN10

voidarrin(intx[N])

{inti=0;

while(i<N)

scanf(n%dM,);

A^x+IB、&x[i+l]C、x+(i++)D、&x[++i]

34、有如下程序段,運(yùn)行的結(jié)果為()o

intf(inta,intb);

main()

{inti=2,p,k=l;

p=f(i,++k);

printf(w%d,%dw,k,p);

)

intf(inta,intb)

{intc;

if(a>b)c=l;

elseif(a==b)c=0;

elsec=-l;

return(c);

)

A、1,0B、2,0C、2,-1D、1,1

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

main()

{inta=2,i;

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

printf("%4d”,f(a));

}

f(inta)

{intb=0,c=3;

b++;C++;

return(a+b+c);

)

A、71013B、777C、7911D、789

二、編程題

5

第一部分綜合練習(xí)題

1、編程實(shí)現(xiàn)以下功能:求Sn=a+aa+aaa+…+aa…aaa(有n個(gè)a)之值,其中a是一個(gè)數(shù)字。例如:a=2,n=3,則

Sn=2+22+222=246?(其中的a,n由鍵盤輸入,輸入a、n的值分別為1和9)。

:#include<stdio.h>

intmain(void)

(

intcount=1,n=1;

doublesum=1;

do

(

n+=count;

sum+=1/(double)n;

count++;

)

while((1/(double)(n-1)-1/(double)n)>=10e-5);

printf("%lf",sum);

)

2、編程實(shí)現(xiàn)以下功能:有一分?jǐn)?shù)序列:2/1,3/2,5/3,8/5,13/8,21/13,求這個(gè)數(shù)列的前n(n>10,由鍵盤輸入20)

項(xiàng)之和。

#include<stdio.h>

main()

{inti,x,y,a;

floatsum=0;

x=2;

y=1;

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

(

sum+=(float)(x)/y;

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

a=x;

x=x+y;

y=a;

}

printf("%7.5f\n",sum);

6

第一部分綜合練習(xí)題

3、編程實(shí)現(xiàn)以下功能:計(jì)算1020個(gè)西瓜幾天后能賣完(第一天賣了一半多兩個(gè),以后每天賣剩的一半多兩個(gè))。

#include<stdio.h>

voidmainO

(

intday,xl,x2;

day=O;

xl=1020;

while(xl>0)

{

x2=xl/2-2;

xl=x2;

day++;

)

printf(z/day=%d\n/z,day);

}

4、編程實(shí)現(xiàn)以下功能:在主函數(shù)中,由鍵盤輸入10個(gè)互不相同的整數(shù)存放在一維數(shù)組a中,從鍵盤上輸入數(shù)x,若x

屬于a數(shù)組,則將其從a中刪除。在主函數(shù)中,通過調(diào)用以下幾個(gè)自定義函數(shù)分別完成x的查找和刪除及刪除x前后

顯示a的元素值。自定義函數(shù)的首部及功能如下:

(1)voidmyout(intarr[],intn):該函數(shù)用于輸出含有n個(gè)整數(shù)的數(shù)組;

#include<iostream>

usingnamespacestd;

voidmyout(intarr[],intn);

intdelx(intarr[],intn,intx);

intmain()

(

cout?"請輸入10個(gè)互不相同的整數(shù):\n";

intarray[10];

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

(

7

第一部分綜合練習(xí)題

inta(0);

cin?a;

array[i]=a;

cout?"請輸入數(shù)x:\n";

intx(0);

cin?x;

cout?"完整的數(shù)組元素:\n";

myout(array,sizeof(array)/sizeof(array[0]));

intarray_size=delx(array,sizeof(array)/sizeof(array[0]),x);

cout?"改變后的數(shù)組:\n";

myout(array,array_size);

system("pause");

return0;

)

⑵intdelx(intarr[],intn,intx):該函數(shù)用于刪除n個(gè)數(shù)組元素中的值等于x的元素,并返回刪除后數(shù)組元素的個(gè)數(shù)。

voidmyout(intarr[],intn)

(

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

(

cout?arr[i]?"\t";

}

cout?"\n";

)

intdelx(intarr[],intn,intx)

(

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

(

if(arr[i]==x)

{

for(intj=i;j<n-1;++j)

arrO]=arr[j+1];

arr[n-1]=x;

returnn-1;

returnn;

8

第一部分綜合練習(xí)題

9

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

一、單選題(每題1分,共30分)

1、以下敘述不正確的是()。

A、一個(gè)C源程序可由一個(gè)或多個(gè)函數(shù)組成B、?一個(gè)C源程序必須包含一個(gè)main函數(shù)

C、C程序的基本組成單位是函數(shù)D、在C程序中,注釋說明只能位于一條語句的后面

2、C語言程序經(jīng)過連接以后生成的文件名的后綴為(

A、.cB、.objC、.exeD、.cpp

3、C語言編譯程序的首要工作是()。

A、檢查C語言程序的語法錯(cuò)誤B、檢查C語言程序的邏輯錯(cuò)誤

C、檢查程序的完整性D、生成目標(biāo)文件

4、算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性之一的是()。

A、確定性B、有窮性C、零個(gè)或多個(gè)輸出D、零個(gè)或多個(gè)輸入

5、以下不屬于結(jié)構(gòu)化程序設(shè)計(jì)三種基本結(jié)構(gòu)之一的是()。

A、順序B、遞歸C、循環(huán)D、選擇

6、下列可用于C語言用戶標(biāo)識(shí)符的一組是()。

A、void,define,WORDB>a3_b3,_123,CarC>For,-abc,IFCaseD、2a,DO,sizeof

7,若有說明語句:charc=,\72]則變量c()。

A、包含1個(gè)字符B、包含2個(gè)字符C、包含3個(gè)字符D、說明不合法,c的值不確定

8、當(dāng)c的值不為0時(shí),能正確將c的值賦給變量a和b的選項(xiàng)是()。

A、c=b=aB、(a=c)ll(b=c)C、(a=c)&&(b=c)D、a=c=b

9、若已經(jīng)定義好變量a,i且變量i已正確賦值,下列合法的語句是()。

A、a==lB、a=int(i);C>a=a++=5;D、++i;

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

A、intB、floatC、doubleD、不確定

11、若變量已定義為float型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,

下列不正確的輸入形式是()。

A、10〈回車>22〈回車>3女回車〉B、10.0,22.0,33.0v回車〉

C、10.0〈空格>22.0<空格>33.0〈回車〉D、10<Tab>22<Tab>33<回車〉

12、C語言中,定義PI為一個(gè)符號(hào)常量,下面正確的是()。

A.includePI3.14B.includePI3.14

C.#definePI3.14D.definePI3.14

13、定義了一個(gè)整型變量x,能正確表示x的值小于1或大于10的C表達(dá)式是().

A、x<lorx>10B、10<x<lC、x<lllx>10;D、x<l&&x>10;

14^已知intx=6,y=2,z;則執(zhí)行語句z=x=x>y;后,變量z的值為()?

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

15、下面程序段的輸出結(jié)果是()。

intx=l,y=10;

if(x=y)printf("AAA");

elseprintf("BBB");

A、AAAB、BBBC、AAABBBD、不確定

10

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

16、下面程序段的輸出結(jié)果是()o

for(x=9;x>0;x-)

if(x%3!=0)

un

{printf(%dr-x);

continue;

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

17、下列說法中錯(cuò)誤的是()?

A^只能在循環(huán)體內(nèi)使用break語句

B、在循環(huán)體內(nèi)使用break語句可以使流程跳出本層循環(huán)體,從而提前結(jié)束本層循環(huán)

C、continue語句并沒有使整個(gè)循環(huán)終止

D、continue的作用是結(jié)束本次循環(huán),即跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)判斷

18、以下不能把字符串:Hello!賦給數(shù)組b的語句是()o

A、charb[10]={'H','e',T,T,'o','!'};B、charb[10];b="Hello!";

C、charb[10];strcpy(b,"Hello!");D、charb[10]="Hello!";

19、若有定義inta[]={l,23},b[3]={l,2,3};,表達(dá)式a==b的結(jié)果是()。

A、不能比較B、結(jié)果為真C、結(jié)果為假D、結(jié)果不確定

20、有字符數(shù)組charstr[3][20]={“111”,“222”,“333”};執(zhí)行以下語句后輸出的是()?

printf("%s\n",str[2]);

A、111B、222C、333D、輸出語句出錯(cuò)

21、已知:chara[20]="abc",b[20]="abcde”;則執(zhí)行以下語句后的輸出結(jié)果為().

printf("%d",strlen(strcpy(a,b)));

A、5B、6C、11D、以上答案都不正確

22、判斷字符串si不等于字符串s2,以下正確的是().

A、if(sl!=s2)B、if(strcmp(sl,s2)!=0)C、if(strcmp(sl,s2)>0)D、if(strcmp(sl,s2)<0)

23、下列描述中不正確的是()o

A、字符型數(shù)組中可以存放字符串B、可以對字符型數(shù)組進(jìn)行整體輸入、輸出

C、可以對整型數(shù)組進(jìn)行整體輸入、輸出D、不能通過賦值運(yùn)算符“=”對字符型數(shù)組進(jìn)行整體賦值

24、下列關(guān)于return語句的說法,正確的是()。

A、只能在除主函數(shù)之外的函數(shù)中出現(xiàn)一次B、必須在每個(gè)函數(shù)中都出現(xiàn)

C、在同一個(gè)函數(shù)中可以多次出現(xiàn)D、只能返回?cái)?shù)值類型的值

25、以下關(guān)于函數(shù)參數(shù)的說法正確的是()。

A、實(shí)參與其對應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元B、實(shí)參與其對應(yīng)的形參共占用一個(gè)存儲(chǔ)單元

C、形參是虛擬的,不占用存儲(chǔ)單元D、實(shí)參與對應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元

26、以下所列的函數(shù)首部定義中,正確的是()o

A、doublefun(intx,inty)B、doublefun(intx;inty)C、doublefun(intx,inty);D、double

fun(intx,y);

27、C語言規(guī)定,簡單變量做實(shí)參時(shí),它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式為()o

A、地址傳遞B、單向值傳遞

11

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

C、由實(shí)參傳給形參,再由形參傳回給實(shí)參D、由用戶指定傳遞方式

28、數(shù)組名作為實(shí)參傳遞給形參時(shí),數(shù)組名被處理為()?

A、該數(shù)組的長度B、該數(shù)組的元素個(gè)數(shù)C、該數(shù)組的首地址D、該數(shù)組中各元素的值

29、以下關(guān)于c函數(shù)的定義與調(diào)用,正確的是()。

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

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

30、關(guān)于C的函數(shù),以下敘述中正確的是()?

A、實(shí)參和形參可以起相同的名字,這樣可以節(jié)省存儲(chǔ)單元

B、調(diào)用函數(shù)時(shí),實(shí)參和形參的個(gè)數(shù)必須相同,對應(yīng)參數(shù)的數(shù)據(jù)類型也必須一致

C、所有函數(shù)都能被其他函數(shù)調(diào)用,而且主調(diào)函數(shù)必須在被調(diào)函數(shù)后面

D、函數(shù)中允許出現(xiàn)多個(gè)return語句,因此運(yùn)行程序后函數(shù)可以得到多個(gè)返回值

二、程序分析題(每題5分,共20分)

1、寫出以下程序運(yùn)行結(jié)果:

main()

{inta[3][3]={l,l,l,2,2,2,3,33},i=0,sum=0;

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

sum=sum+a[l][i];

printf(H%d\n,\sum);

)

2、寫出以下程序運(yùn)行的結(jié)果。

main()

{inta=7;

switch(a)

{case10:case9:a++;

case8:case7:a+=a;

case6:a+=3;break;

default:a+=4;

)

printf(na=%d\nM,a);

)

3、程序運(yùn)行后若從鍵盤輸入1357,寫出程序運(yùn)行的結(jié)果。

main()

{inta9b;

scanf(H%dn,&b);

while(b!=0)

{a=b%10;

b=b/10;

printf(H%dn,a);

12

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

4、以下程序運(yùn)行后若從鍵盤輸入GZ2010AsiaGames,寫出程序運(yùn)行結(jié)果。

main()

{voidmyf(charp[]);

chara[100];

gets(a);

myf(a);

puts(a);

}

voidmyf(charp[])

{inti=0;

while(p[i]!='\0,)

{while(p[i]>=,0'&&p[i]<='9,)

strcpy(p+i,p+i+l);

i++;

}

)

三、程序填空題(每空2分,共30分)

1、以下程序的功能是:給出年、月、日,計(jì)算出該日是該年的第幾天。請?zhí)羁胀晟瞥绦颉?/p>

main()

{intyear,month,day,d3ys,i9d;

printfC請輸入年,月,日:”);

scanf(n%d,%d,%dH,&year,&month,&day);

days=O;

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

{switch([11)

{casel:case3:case5:case7:case8:case10:case12:d=31;[2];

case4:case6:case9:casell:d=30;13};

case2:

if(year%4==0&&year%100!=0llyear%400==0)d=29;

elsed=28;

)

days+=d;

)

printf("%d年%4月%d日是該年的第%d天。\n”,year,month,day,【4】);

)

2、以下程序是通過調(diào)用自定義排序函數(shù)mysort對10個(gè)整數(shù)進(jìn)行升序排序并輸出。請?zhí)羁胀晟瞥绦?。此排序算?/p>

稱為【5】o

main()

{voidmysort(inta[],intn);

inti,x[10]={100,80,50,67,10,46,63,85,74,88};

13

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

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

printf(M%4dn,x[i]);

mysort([6],10);

printf(nThesortednumbers:\nH);

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

printf(,,%4dn,x[i]);

)

voidmysort(inta[],intn)

{intij,temp;

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

for(j=0;j<[8];j++)

if(aU]>aU+lJ)

{temp=a[j];a[j]=a[j+l];a[j+l]=temp;}

)

3、以下程序的功能是將由鍵盤輸入的一個(gè)十進(jìn)制正整數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)輸出。請?zhí)羁胀晟瞥绦颉?/p>

main()

{inta[20],x,i=0j;

scanf(M%dM,&x);

while(191)

{a[i]=x%2

x=[10];

i++;

)

for(j=i-l;j>=0;[11])

printf(ft%-2dM,a[j]);

)

4、以下程序的功能是:有11個(gè)整數(shù)已經(jīng)按升序存放在數(shù)組a中,輸入一個(gè)數(shù)x,用折半查找法找出該數(shù)是數(shù)組

中第幾個(gè)元素的值,如果該數(shù)不在數(shù)組中,則輸出“無此數(shù)”。填空完善程序。

main()

{inta[H]={l,3,8,20,33,55,60,75,80,90,95};

intindex=-1,key,low,high,middle;

scanf(H%dH,&key);

low=0;high=10;

while([12])

{middle=(low+high)/2;

if(key==a[middle])

{index=middle;

【13】;

)

elseif(key>a[middle])iow=middle+l;

14

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

else【14】;

}

if([15])printf(nIndex:%dn,index);

elseprintf(MNotfound!”);

}

四、編程題(共20分)

1、(10分)編程實(shí)現(xiàn)以下功能:首先由計(jì)算機(jī)隨機(jī)產(chǎn)生10個(gè)介于1?10之間的整數(shù),存放到一個(gè)整型數(shù)組中;然

后由用戶輸入一個(gè)下標(biāo)值k,將用戶從鍵盤輸入的一個(gè)整數(shù)x插入到該下標(biāo)位置。注意:要求對輸入的下標(biāo)值k進(jìn)行

合法性判斷,如果輸入的下標(biāo)不合法,要求重新輸入。

2、(10分)編程實(shí)現(xiàn)以下功能:統(tǒng)計(jì)10~200之間素?cái)?shù)的個(gè)數(shù),并將這些素?cái)?shù)按每行5個(gè)輸出。所謂素?cái)?shù)是指僅

能被1和其本身整除的整數(shù),例如:11。

#include<stdio.h>

intmain()

(

intn,t,flag=0,k=2,sum=0,j=0,i=0;

printf("所有的素?cái)?shù)如下所示:\n");

for(n=1000;n<=2000;n++)

(

for(t=2;t<=n-1;t++)

(

if(n%t==O)break;

elsek++;

}

if(k>=n)

15

第二部分2010-2011學(xué)年第一學(xué)期期末考試卷

printf("%6d",n);

sum=sum+n;

j++;

i++;

if(i%7==0)printf("\n");

}

k=2;

)

printf("\n所有素?cái)?shù)的個(gè)數(shù)是:%d\n",j);

printf("所有素?cái)?shù)的和是:%d\n",sum);

return0;

16

第三部分C語言重點(diǎn)課程建設(shè)抽查考核試卷1

一、單選題(每題1分,共25分)

1、以下敘述不正確的是()o

A、在C程序中,注釋說明只能位于一條語句的后面B、一個(gè)C源程序必須包含一個(gè)main函數(shù)

C、C程序中一行可以寫多條語句,一條語句也可以寫在多行上D、C語言中是嚴(yán)格區(qū)分大小寫的

2、定義了字符數(shù)組chaa[80],執(zhí)行語句scanf("%s”,a);后從鍵盤輸入GZChina,數(shù)組a中得到的字符串是()?

A、GZB、ChinaC、GZChinaD、不確定

3、以下敘述中正確的是()。

A、C語言的源程序不必通過編譯就可以直接運(yùn)行

B、C語言的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進(jìn)制的機(jī)器指令

C、C語言的源程序經(jīng)編譯形成的二進(jìn)制代碼可以直接運(yùn)行

D、對C語言源程序進(jìn)行編譯時(shí)系統(tǒng)自動(dòng)檢查語法錯(cuò)誤和邏輯錯(cuò)誤

4、算法是指為解決某個(gè)特定問題而采取的確定且有限的步驟,下面不屬于算法的五個(gè)特性之一的是()。

A、確定性B、有窮性C、零個(gè)或多個(gè)輸出D、零個(gè)或多個(gè)輸入

5、以下說法錯(cuò)誤的是().

A、傳統(tǒng)的流程圖是算法的表示方法之一B、N-S流程圖是算法的表示方法之一

C、算法可以用自然語言表示D、計(jì)算機(jī)語言不是算法的表示方法之一

6、下列可用于C語言用戶標(biāo)識(shí)符的一組是()。

A、void,define,WORDB、a3_b3,_123,CarC、For,-abc,IFCaseD、2a,DO,sizeof

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

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

8、已有定義inti=10,j=1;執(zhí)行語句printf(u%d,%d\n,\i-,++j);后輸出結(jié)果是()。

A、10,2B、104C、9,1D、9,2

9、設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+R+i*f值的數(shù)據(jù)類型為()。

A^intB、floatC>doubleD、不確定

10、C語言中,定義PI為一個(gè)符號(hào)常量,下面正確的是()o

A、includePI3.14B、includePI3.14C>#definePI3.14D、definePI3.14

n、若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,以下無法實(shí)現(xiàn)交換的是()o

A>a=a+b;b=a-b;a=a-b;B、t=a;a=b;b=t;C、a=t;t=b;b=a;D、t=b;b=a;a=t;

12、當(dāng)c的值不為0時(shí),能正確將c的值賦給變量a和b的選項(xiàng)是()o

A、(a=c)&&(b=c)B、(a=c)ll(b=c)C>c=b=aD、a=c=b

13、定義了一個(gè)整型變量x,能正確表示x的值小于1或大于10的C表達(dá)式是()o

A、x<lorx>10B、10<x<lC、x<l&&x>10D、x<lllx>10

14、如果已有定義:inta=5,b=0,c=0;執(zhí)行以下if語句后()。

if(a=b+c)prin情

elsepriiHf("###\n");

A、輸出***B、輸出###C、有語法錯(cuò)不能通過編譯D、可以通過編譯但不能通過連接

15、有如下循環(huán)語句:for(a=0,b=0;(b!=123)&&(av=4);a++);循環(huán)將執(zhí)行()。

A、無限次B、1次C、4次D、5次

17

第三部分C語言重點(diǎn)課程建設(shè)抽查考核試卷1

16、已有定義intk=0;執(zhí)行循環(huán)語句while(k++<=2)printf(M%d”,k);后結(jié)果為()。

A、012B、123C、234D、無結(jié)果

17、在C語言的循環(huán)語句for,while,do-while中,用于直接中斷最內(nèi)層循環(huán)的語句是()。

A、switchB、continueC、breakD>if

18、若ij已定義為int型,則以下程序段中循環(huán)體的總的執(zhí)行次數(shù)是()o

for(i=5;i;i—)

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

{...)

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

19、以下能正確計(jì)算1X2X3X…X10的程序段是()°

A、do{i=l;s=l;s=s*i;i++;}while(i<=10);B、do{i=l;s=0;s=s*i;i++;}while(i<=10);

C>i=l;s=l;do{s=s*i;i++;}while(i<=10);D、i=l;s=0;do{s=s*i;i++;}

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(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

提交評論