C語言機考題庫_第1頁
C語言機考題庫_第2頁
C語言機考題庫_第3頁
C語言機考題庫_第4頁
C語言機考題庫_第5頁
已閱讀5頁,還剩199頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

試卷總分:100分

共有題型:6種

一、填空共15題(共計15分)

第1題(1.0分)

若有以下數(shù)組a,數(shù)組元素:a[OFa[9],其值為

941282107513

該數(shù)組中下標最大的元素的值是【1】.

答案:3

第2題(1.0分)

表達式18&&53的值是【1】.

答案:1

第3題(1.0分)

c語言程序的三種基本結(jié)構(gòu)是:順序結(jié)構(gòu),選擇結(jié)構(gòu),【1】結(jié)構(gòu).

答案:循環(huán)

第4題(1.0分)

預(yù)處理命令行都必須以【1】號開始.

答案:#

第5題(1.0分)

設(shè)i,j,k均為int型變量,則執(zhí)行完for循環(huán)

for(i=0,j=10;i<=j;i++,j—)k=i+j;后,k的值為[1].

答案:10

第6題(1.0分)

程序段intk=10;while(k=0)k=kT循環(huán)體語句執(zhí)行[1]次.

答案:0

第7題(1.0分)

執(zhí)行下列語句后,*(p+l)的值是【1】.

chars[3]="ab",*p;

P=s;

答案:b

第8題(1.0分)

若輸入字符串:abcde〈回車》,則以下while循環(huán)體將執(zhí)行【1】次.

While((ch=getchar())=="e')printf("*〃);

答案:0

第9題(1.0分)

如果函數(shù)不要求帶回值,可用【1】來定義函數(shù)返回值為空.

答案:void

第10題(1.0分)

C語言中,數(shù)組元素的下標下限為【1】.

答案:0

第11題(1.0分)

inta=l,b=2,c=3;執(zhí)行語句a=b=c;后a的值是【1】.

答案:3

第12題(1.0分)

若有以下數(shù)組a,數(shù)組元素:a[OFa[9],其值為

941282107513

該數(shù)組可用的最小下標值是【1】.

答案:0

第13題(1.0分)

將數(shù)組a的首地址賦給指針變量p的語句是【1】.

答案:p=a;

第14題(1.0分)

以下程序的輸出結(jié)果為【1】,

Sinclude"stdio.h"main(){inta=010,j=10;printf(z/%d,%d\n//,++a,j一);}

答案:9,10

第15題(1.0分)

假設(shè)有條件intx=l,y=2,z=3;則表達式z+=x>y?++x:++y的值是[1].

答案:6

二、判斷共15題(共計15分)

第1題(1.0分)

do-while循環(huán)是先判斷循環(huán)條件表達式,后執(zhí)行循環(huán)體;while循環(huán)是先執(zhí)行循環(huán)體,后判斷循環(huán)條件表達式.答案:N

第2題(1.0分)

關(guān)系運算符的優(yōu)先級高于算術(shù)運算符并且低于賦值運算符.答案:N

第3題(1.0分)C程序中的關(guān)鍵字必須小寫.答案:Y

第4題(1.0分)若有說明intc;則while(c=getchar());是正確的C語句.答案:Y

第5題(1.0分)數(shù)組中的元素類型不能不同答案:Y

第6題(1.0分)a=(b=4)+(c=6)是一個合法的賦值表達式.答案:Y

第7題(1.0分)inta[3][4]={{1},{5},{9}};它的作用是將數(shù)組各行第一列

的元素賦初值,其余元素值為0.答案:Y

第8題(1.0分)若a=3,b=2,c=l則關(guān)系表達式”(a>b)==c"的值為"真".答案:Y

第9題(1.0分)inti,*p=&i;是正確的C說明語句.答案:Y

第10題(1.0分)語句"int*pi,pj"定義了兩個指針變量答案:N

第11題(1.0分)如果函數(shù)值的類型和return語句中表達式的值不一致,則以

函數(shù)類型為準.答案:Y

第12題(1.0分)

C語言中的for語句可以用于循環(huán)次數(shù)已經(jīng)確定的情況,但是不能用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況.答

案:N

第13題(1.0分)在執(zhí)行switch語句時,default和各個case的出現(xiàn)次序不影響執(zhí)行結(jié)果.答案:Y

第14題(1.0分)

語句printf(級f%%”,1.0/3);輸出為0.333333.答案:N

第15題(1.0分)

若i=3,則printf("d”,-i++);輸出的值為-4.答案:N

三、單項選擇共17題(共計34分)

第1題(2.0分)下列程序段的輸出結(jié)果為().

floatx=213.82631;

printf(,z%3dz,,(int)x);

A:213.82B:213.83C:213D:3.8答案:C

第2題(2.0分)下列定義不正確的是().

A:#definePI3.141592B:#defineS345

C:intmax(x,y);intx,y;{}D:staticcharc;答案:C

第3題(2.0分)以下程序段的輸出結(jié)果為().

charc[]二〃abc〃;

inti=0;

dowhile(c[i++]!='\0');printf(〃%d",i-l);

A:abcB:abC:2D:3答案:D

第4題(2.0分)若ch為char型變量,k為int型變量(已知字符a的ASCII十進制代碼為97),

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

ch=,af;k=12;printf(〃%x,%o,〃,ch,ch);printf(〃k二%%%d\n〃,k);

A:因變量類型與格式描述符的類型不匹配,輸出無定值

B:輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C:61,141,k=%12D:61,141,k=%d答案:C

第5題(2.0分)對for(表達式1;;表達式3)可理解為0.

A:for(表達式1;0;表達式3)B:for(表達式1;1;表達式3)

C:for(表達式1;表達式1;表達式3)D:for(表達式1;表達式3;表達式3)答案:B

第6題(2.0分)以下程序段的輸出結(jié)果為().

for(i=4;i>l;i一)

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

putchar('#');

A:無B:######C:#D:###答案:B

第7題(2.0分)下列語句的結(jié)果是().

main()

{intj;

j=3;

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

printfj++);

)

A:3,3B:3,4C:4,3D:4,4答案:D

第8題(2.0分)設(shè)a=12,且a定義為整型變量.執(zhí)行語句a+=a-=a*=a;后a的值為().

A:12B:144C:0D:132答案:C

第9題(2.0分)執(zhí)行語句for(i=l;i++<4;);后變量i的值是().

A:3B:4C:5D:不定答案:C

第10題(2.0分)若有chara[80],*s=a;正確的輸入語句是().

A:scanfs);B:gets(*s);C:scanfs);D:getchar(s,80);答案:A

第11題(2.0分)以下函數(shù)調(diào)用語句中實參的個數(shù)是().

func((el,e2),(e3,e4,e5));

A:2B:3C:5D:語法錯誤答案:A

第12題(2.0分)下列運算符中優(yōu)先級最高的是().

A:<B:+C:&&D:!=答案:B

第13題(2.0分)inta[10];

給數(shù)組a的所有元素分別賦值為1、2、3、……的語句是().

A:for(i=l;i<ll;i++)a[i]=i;B:for(i=l;i<ll;i++)a[i-l]=i;

C:for(i=l;i<ll;i++)a[i+l]=i;D:for(i=l;i<ll;i++)a[0]=l;答案:B

第14題(2.0分)若k為int型變量,則以下程序段的執(zhí)行結(jié)果是().

k=-8567;printf("k=|%06D|\n");

A:格式描述符不合法,輸出無定值B:輸出為k=%06D|C:輸出為|0-8567|D:輸出為18567|答案:B

第15題(2.0分)在C語言中,要求運算數(shù)必須是整型的運算符是().

A「B:%C:!D:>答案:B

第16題(2.0分)下列運算符中是C語言關(guān)系運算符的是0.

ArB:!C:&D:!=答案:D

第17題(2.0分)若有說明:int2[][3]={1,2,3,4,5,6,7,8,9};則@數(shù)組第一維的大小是().

A:2B:3C:4D:無確定值答案:B

四、程序填空共2題(共計12分)第1題(6.0分)

/*------------------------------------------------------

【程序填空】

題目:以下程序的功能如(圖1)。

ttinclude<conio.h>

ttinclude<stdio.h>

/***********SPACE***********/

doublef([?!)

(

/***********SPACE***********/

【?】;

/***********SPACE***********/

if([?])

y=2.0*x*x+3.0*x+4.0;

else

y=-2.0*x*x+3.0*x-4.0;

/***********SPACE***********/

[?];

main()

{

clrscr();

printf(〃%f\n〃,f(f(-1.0)+f(5.0)));

)

答案:

=二==(答案1)=======

floatx

__________p-__________

doublex

====(答案2)=======

doubley

=二==(答案3)=======

x<=2

__________p-__________

2>=x

二二==(答案4)===二

returny

__________p-__________

return(y)

第2題(6.0分)

【程序填空】

題目:已定義一個含有30個元素的數(shù)組s,函數(shù)funl的功能是按

順序分別賦予各元素從2開始的偶數(shù),函數(shù)fun2則按順序

每五個元素求一個平均值,并將該值存放在數(shù)組w中。

程序中有4個空,填空使程序完整。

floats[30],w[6];

funl(floats[])

intk,i;

for(k=2,i=0;i<30;i++)

/***********SPACE***********/

[?]

k+=2;

)

}

fun2(floats[],floatw[])

floatsum=0.0;

intk,i;

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

sum+=s[i];

/***********SPACE***********/

[?]

w[k]=sum/5;

/***********SPACE***********/

【?】

k++;

)

main()

{inti;

funl(s);

/***********SPACE***********/

[?]

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

if(i%5==0)printf(〃\n〃);

printf(z,%8.2f”,s[i]);

)

printf(〃\n〃);

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

printf(〃%8.2f〃,w[i]);

)

答案:

====(答案1)=—

s[i]=k;

=========^=========

s[i]=(i+l)*2

====(答案2)=======

if((i+1)%5=0)

if((i+1)/5*5==i+l)

=======(答案3)=======

sum=0;

________部以-----------------

sum=0.0;

====(答案4)====

fun2(s,w);

五、程序改錯共1題(共計6分)

第1題(6.0分)

/*---------------------------------

【程序改錯】

題目:函數(shù)fun的功能是:輸出Fabonacci數(shù)列的前20項,要求變

量類型定義成浮點型,輸出時只輸出整數(shù)部分,輸出項

數(shù)不得多于或少于20。

請改正程序中的4個錯誤,使它能得出正確的結(jié)果。

注意:不可以增加或刪除程序行,也不可以更改程序的結(jié)構(gòu)。

-----------------------------------------------------*/

funO

inti;

floatfl=l,f2=l,f3;

/**********FOUND**********/

printf(〃%8d”,fl);

/**********FOUND**********/

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

f3=fl+f2;

/**********FOUND**********/

f2=fl;

/**********FOUND**********/

f3=f2;

printf(/z%8.0f〃,fl);

printf(〃\n〃);

main()

fun();

}

答案:

=======(答案1)======

printf(//%8.Of",fl);

-_-_-_-_-_-_-_-_以曲-_-_-_-_-_-_-_-_-_

printffl);

__________p-______

printf(,z%8f/z,fl);

二二==(答案2)===

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

-_-_-_-_-_-_-_-_次--_-_-_-_-_-_

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

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

___________p-__________

for(i=2;20>=i;i++)

__________/以-_-_-_-_-_-_-_-_-_-

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

-_-__-_-_-_-_-_-_-_以/-_-__-_-_-_-_-_-_-_-

for(i=l;19>=i;i++)

===二(答案3)===

fl=f2;

=二==(答案4)

f2=f3;

六、程序設(shè)計共3題(共計18分)

第1題(6.0分)

【程序設(shè)計】

題目:編寫函數(shù)求廣100中奇數(shù)的平方和。

結(jié)果為166650o

注意:部分源程序給出如下。請勿改動主函數(shù)

main和其它函數(shù)中的任何內(nèi)容,僅在函

數(shù)的花括號中填入所編寫的若干語句。

ftinclude〃stdio.h〃

floatsum(intn)

{

/**********Prograiii**********/

/**********End**********/

)

main()

(

printf(z/sum=%f\nz/,sum(100));

yzjO;

getch();

}

yzj()

{

FILE*IN,*0UT;

intn;

inti;

floato;

IN=fopen(〃in.dat〃,〃r〃);

if(IN==NULL)

{printf("ReadFileError");

}

OUT=fopen("out.dat〃,〃w〃);

if(OUT==NULL)

{printf(Z/WriteFileErrorz/);

fscanf(IN,〃%d〃,&i);

o=sum(i);

fprintf(OUT,zz%f\n/z,o);

fclose(IN);

fclose(OUT);

)

答案:-----------------

floats=0;

inti,j;

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

s=s+i*i;

return(s);

第2題(6.0分)

【程序設(shè)計】

題目:編寫函數(shù)fun,函數(shù)的功能是:找出一批

正整數(shù)中的最大的偶數(shù)。

注意:部分源程序給出如下。請勿改動主函數(shù)

main和其函數(shù)中的任何內(nèi)容,僅在函數(shù)

fun的花括號中填入所編寫的若干語句。

ttinclude〃stdio.h〃

intfun(inta[],intn)

(

/**********Prc)grani**********/

/**********End**********/

)

main()

{

inta口={1,2,9,24,35,18},k;

k=fun(a,6);

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

yzj();

getch0;

}

yzj()

{

FILE*IN,*0UT;

intiIN[10],iOUT,i,j;

IN=fopen(〃in.dat〃,〃r〃);

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged/z);

OUT=fopen("out.dat〃,〃w〃);

if(OUT==NULL)

{printf(,zPleaseVerifyTheCurrentDir..ItMayBeChanged");

}

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

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

fscanf(IN,〃%d”,;

iOUT=fun(iIN,10);}\

fprintf(OUT,〃%d\n〃,iOUT);

fclose(IN);

fclose(OUT);

}

答案:------------------------

inti,amax=-l;

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

if(a[i]%2==0)

if(a[i]>amax)amax=a[i];

returnamax;

第3題(6.0分)

【程序設(shè)計】

題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,

計算如下公式的值:

y=l+1/3+1/5+1/7+...+1/(2m+l)

例如:若-9,則應(yīng)輸出:2.133256

注意:部分源程序給出如下。請勿改動主函數(shù)main

和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花

括號中填入所編寫的若干語句。

ttinclude〃stdio.h〃

doublefun(intm)

{

/**********Prograiii**********/

/**********End**********/

)

main()

{intn;

clrscr();

printf(Z/Entern:〃);

scanf(〃%d〃,&n);

printf(〃\nTheresultisfun(n));

yzj0;

getch();

yzj()

FILE*IN,*OUT;

ints,i;

intt;

floato;

IN二fopen(〃in.dat〃,〃r〃);

if(IN==NULL)

{printf(Z/ReadFileError");

}

OUT=fopen("out.dat〃,〃w〃);

if(OUT==NULL)

{printf(,zWriteFileErrorz/);

}

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

{fscanf(IN,"%d〃,&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

)

答案:---------------------

doubley=l;

inti;

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

{y+=1.0/(2*i+l);}

return(y);

試卷編號:9049所屬語言:TurboC試卷方案:09(2)模擬試卷總分:100共有題型:5種

一、填空共15題(共計15分)

第1題(1.0分)

C語言表達式!(3<6)||(4<9)的值是[1].

答案:1).1

第2題(1.0分)

inta=l,b=2,c=3;執(zhí)行語句a二b二c;后a的值是【1】.

答案:1).3

第3題(1.0分)

以下程序的輸出結(jié)果為【1】,

ttinclude〃stdio.h〃main(){inta=010,j=10;printf(/z%d,%d\n/z,++a,j--);}

答案:1).9,10

第4題(1.0分)

執(zhí)行下列語句的結(jié)果是【1],a=3;printf(z,%d,z/,++a);printf(zz%d/z,a++);

答案:1).4,4

第5題(1.0分)

當a=l,b=2,c=3時,執(zhí)行以下程序段后b=[1].

if(a>c)b=a;

a,=c;

c=b;

答案:1).2

第6題(1.0分)

假設(shè)有條件intx=l,y=2,z=3;則表達式z+=x>y?++x:++y的值是[1].

答案:1).6

第7題(1.0分)

執(zhí)行下列語句后,b的十進制值是【1】.

intx=240,y=15,b;

charz=,A';

b=((x&&y)&&(z<'a'));

答案:1).1

第8題(1.0分)

當a=3,b=2,c=l;時,執(zhí)行以下程序段后a=[1].

if(a>b)a=b;

if(b>c)b=c;

elsec=b;

c=a.;

答案:1).2

第9題(1.0分)

以下程序的輸出結(jié)果為【1】,

Sinclude"stdio.h"main(){inta;for(a=0;a〈10;a++);printfa);}

答案:1).10

第10題(1.0分)

程序段intk=10;while(k=0)k=kT循環(huán)體語句執(zhí)行[1]次.

答案:1).0

第11題(1.0分)

以下程序段要求從鍵盤輸入字符,當輸入字母為'Y'時,執(zhí)行循環(huán)體,則括號內(nèi)應(yīng)填寫[11.

ch=getchar();

while(ch___'Y')/*在括號中填寫*/

ch=getchar();

答案:1).==

第12題(1.0分)

以下do-while語句中循環(huán)體的執(zhí)行次數(shù)是【1】.

a=10;

b=0;

do{b+=2;a-=2+b;}while(a>=0);

答案:1).3

第13題(1.0分)

C語言中,數(shù)組元素的下標下限為【1】.

答案:1).0

第14題(1.0分)

如果函數(shù)不要求帶回值,可用【1】來定義函數(shù)返回值為空.

答案:1).void

第15題(1.0分)

C語言源程序的基本單位是[1]

答案:1).函數(shù)

二、判斷共15題(共計15分)

第1題(1.0分)

a=(b=4)+(c=6)是一個合法的賦值表達式.答案:Y

第2題(1.0分)

在C語言中,變量必需先定義后使用答案:Y

第3題(1.0分)

語句printf(繪f%%”,1.0/3);輸出為0.333333.答案:N

第4題(1.0分)

語句scanf("%7.2f",&a);是一個合法的scanf函數(shù).答案:N

第5題(1.0分)

在switch-case語句中,必須使用default語句.答案:N

第6題(1.0分)

關(guān)系運算符的優(yōu)先級高于算術(shù)運算符并且低于賦值運算符.答案:N

第7題(1.0分)

C語言中的for語句可以用于循環(huán)次數(shù)已經(jīng)確定的情況,但是不能用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況.

答案:N

第8題(1.0分)

do-while循環(huán)是先判斷循環(huán)條件表達式,后執(zhí)行循環(huán)體;while循環(huán)是先執(zhí)行循環(huán)體,后判斷循環(huán)條件表達式.答案:N

第9題(1.0分)

在定義二維數(shù)組時,可以將該數(shù)組的兩個維數(shù)全部省略答案:N

第10題(1.0分)

任何數(shù)組的下標都是從0開始;答案:Y

第11題(1.0分)

C語言中只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組.答案:Y

第12題(1.0分)

數(shù)組中的元素類型不能不同答案:Y

第13題(1.0分)

通過return語句,函數(shù)可以帶回一個或一個以上的返回值.答案:N

第14題(1.0分)

如果函數(shù)值的類型和return語句中表達式的值不一致,則以

函數(shù)類型為準.答案:Y

第15題(1.0分)

C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中.答案:N

三、單項選擇共20題(共計40分)

第1題(2.0分)

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

main()

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

A:0

B:變量無定義

C:T

D:1

答案:B

第2題(2.0分)

用下列語句定義a,b,c,然后執(zhí)行b=a、c='b'+b,則b,c的值是().

longa=0xffffff;

intb;charc;

A:0ffffff和0x61

B:-l和98

C:-l和97

D:指向同一地址

答案:C

第3題(2.0分)

已知大寫字母A的ASCII碼值是65,小寫字母a的ASCII碼是97,則用

八進制表示的字符常量'\101'是().

A:字符A

B:字符a

C:字符e

D:非法的常量

答案:A

第4題(2.0分)

若ch為char型變量,k為int型變量(已知字符a的ASCII十進制代碼為97),

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

ch='a;k=12;printf(繪x,%o,",ch,ch);printf("k=%%%d\n”,k);

A:因變量類型與格式描述符的類型不匹配,輸出無定值

B:輸出項與格式描述符個數(shù)不符,輸出為零值或不定值

C:61,141,k=%12

D:61,141,k=%d答案:C

第5題(2.0分)

若a是float型變量,b是unsigned型變量,以下輸入語句中合法的是().

A:scanf("%6.2f%d",&a,&b);

B:scanf&a,&b);

C:scanf("%f%3o”,&a,&b);

D:scanf&a,&b);

答案:C

第6題(2.0分)

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

main()

{inti=010,j=10;

printf("%d,%d\n”,++i,j一);

}

A:ll,10

B:9,10

C:010,9

D:10,9

答案:B

第7題(2.0分)

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

if(a>c)b=a;a=c;c=b4!jc的值為().

A:1

B:2

C:3

D:不一定

答案:B

第8題(2.0分)

下列各m的值中,能使m%3==2&&m%5==3&&m%7==2為真的是().

A:8

B:23

C:17

D:6

答案:B

第9題(2.0分)

以下運算符中,優(yōu)先級最高的運算符是().

A:?:

B:++

C:&&

D:,

答案:B

第10題(2.0分)

設(shè)j和k都是int類型,則for循環(huán)語句

for(j=0,k=0;j<=9&&k!=876;j++)scanf("%d",&k);().

A:最多執(zhí)行10次

B:最多執(zhí)行9次

C:是無限循環(huán)

D:循環(huán)體一次也不執(zhí)行

答案:A

第11題(2.0分)

下面有關(guān)for循環(huán)的正確描述是().

A:for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

B:for循環(huán)是先執(zhí)行循環(huán)循環(huán)體語句,后判斷表達式

C:在for循環(huán)中,不能用break語句跳出循環(huán)體

D:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來

答案:D

第12題(2.0分)

以下程序的運行結(jié)果是().

main()

{intn;

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

(

if(n%3==0)continue;

printfn);

A:12457810

B:369

C:12

0:1234567890

答案:A

第13題(2.0分)

以下程序段的輸出結(jié)果為().

for(i=4;i>l;i一)

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

putchar('#');

A:無

B:######

C:#

D:###

答案:B

第14題(2.0分)

設(shè)j和k都是int類型,則for循環(huán)語句0.

for(j=0,k=0;j<=9&&k!=876;j++)scanf&k);

A:最多執(zhí)行10次

B:最多執(zhí)行9次

C:是無限循環(huán)

D:循環(huán)體一次也不執(zhí)行答案:A

第15題(2.0分)

在C語言中,為了結(jié)束由while語句構(gòu)成的循環(huán),while后一對圓括號

中表達式的值應(yīng)該為().

A:0

B:1

C:True

D:非0

答案:A

第16題(2.0分)

以下對一維整型數(shù)組a的正確說明是().

A:inta(10);

B:intn=10,a[n];

C:intn;scanf&n);inta[n];

D:#defineSIZE10(換行)inta[SIZE];

答案:D

第17題(2.0分)

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

A:整型常量

B:整型表達式

C:整型常量或整型表達式

D:任何類型的表達式

答案:C

第18題(2.0分)

以下不能正確定義二維數(shù)組的選項是().

A:inta[2][2]={{1},{2});

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

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

D:intaft][]={{1,2h{3,4}};

答案:D

第19題(2.0分)

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

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

B:此說明語句不正確

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

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

答案:D

第20題(2.0分)

以下數(shù)組定義中不正確的是().

A:inta[2][3];

B:intb[][3]={0,1,2,3};

C:intc[100][100]={0};

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

答案:D

四、程序填空共2題(共計12分)

第1題(6.0分)

/*----------------

【程序填空】

題目:從讀入的整數(shù)數(shù)據(jù)中,統(tǒng)計大于零的整數(shù)個數(shù)和小于零的

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

零的整數(shù)個數(shù),用變量j統(tǒng)計小于零的整數(shù)個數(shù)。

ttinclude<stdio.h>

main()

{intk,n,i,j;

printf(,zEnterINTnumber,with0toend\n〃);

i=j=0;

scanf(〃%d〃,&n);

while(n!=0)

/***********SPACE***********/

{if(n>0)i=[?];

/***********SPACE***********/

if(n<0)j=[?];

/***********SPACE***********/

scanf("%d〃,[?]);

)

printf(,zi=%4d\n,z,i,j);

}

答案:

1).i+1

2).j+1

3).&n

第2題(6.0分)

【程序填空】

題目:以下程序是用選擇法對10個整數(shù)按升序排序,程序中有4個空,

填空使程序完整。

/***********SPACE***********/

[?]

main()

{

inti,j,k,t,a[N];

for(i=0;i<=N-l;i++)

scanf(〃%d〃,&a[i]);

for(i=0;i<N-l;i++)

/***********SPACE***********/

【?】

/***********SPACE***********/

for(j=i+l;[?];j++)

if(a[j]<a[k])k=j;

/***********SPACE***********/

if([?]){t=a[i];a[i]=a[k];a[k]=t;}

}

printf(/zoutputthesortedarray:\nz,);

for(i=0;i<=N-l;i++)

printf(zz%5dz,,a[i]);

printf(〃\n〃);

答案:

1).ftdefineN10

2).k=i;

3).j<N或N>j或j<=N-l或N-l>=j

4).k!=i

五、程序設(shè)計共3題(共計18分)

第1題(6.0分)

/*--------------------------------

【程序設(shè)計】

題目:編寫函數(shù)fun求1!+2!+3!+....+n!的和,在

main函數(shù)中由鍵盤輸入n值,并輸出運算結(jié)果。請

編寫fun函數(shù)。

例如:若n值為20,則結(jié)果為268040729。

注意:部分源程序給出如下。請勿改動主函數(shù)main和其

它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填

入所編寫的若干語句。

#include<stdio.h>

floatfun(intn)

/**********Prograiii**********/

/**********End**********/

main()

inti,n;

longintresult;

scanf(〃%d〃,&n);

result=fun(n);

printf(〃%ld\n〃,result);

yzj();

}

yzj()

{

FILE*IN,*0UT;

inti;

intUN;

longintiOUT;

IN=fopen(/zl.in〃,〃r〃);

if(IN==NULL)

{printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged");

}

0UT=fopen(z/l.out",〃w〃);

if(OUT==NULL)

{printf(,zPleaseVerifyTheCurrentDir..ItMayBeChanged,z);

}

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

{fscanf(IN,"%d”,&iIN);

iOUT=fun(iIN);

fprintf(OUT,/z%ld\nz,,iOUT);

}

fclose(IN);

fclose(OUT);

)

答案:------------------------

inti;

floatf=l,s=0;

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

{f=f*i;

s=s+f;}

returns;

第2題(6.0分)

【程序設(shè)計】

題目:編寫函數(shù)fun其功能是:根據(jù)整型形參m,

計算如下公式的值:

y=l/5+l/6+l/7+l/8+l/9+l/10...+l/(m+5)

例如:若m=9,則應(yīng)輸出:1.168229

注意:部分源程序給出如下。請勿改動主函數(shù)main

和其它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花

括號中填入所編寫的若干語句。

Winclude“stdio.h"

doublefun(intm)

(

/**********Prograni**********/

/**********End**********/

}

main()

{intn;

clrscr();

printf(z,Entern:〃);

scanf(〃%d〃,&n);

printf(〃\nTheresultisfun(n));

getch();

yzj0;

}

yzj()

{

FILE*IN,*OUT;

ints,i;

intt;

floato;

IN=fopen(〃in.dat〃,〃r〃);

if(IN==NULL)

{printf(/zReadFileError");

}

OUT=fopen("out.dat〃,〃w〃);

if(OUT==NULL)

{printf(,zWriteFileErrorzz);

)

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

{fscanf(IN,"%d〃,&t);

o=fun(t);

fprintf(OUT,"%f\n",o);

}

fclose(IN);

fclose(OUT);

答案:-------------------

doubley=0;

inti;

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

{y+=1.0/(i+5);}

return(y);

第3題(6.0分)

【程序設(shè)計】

題目:編寫函數(shù)fun,函數(shù)的功能是:求給定正整數(shù)m以

內(nèi)的素數(shù)之和。例如:當m=20時,函數(shù)值為77。

注意:部分源程序給出如下。請勿改動主函數(shù)main和其

它函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填

入所編寫的若干語句。

Sinclude"stdio.h"

intfun(intm)

(

/**********Prograiii**********/

/**********End**********/

main()

{

inty;

y=fun(20);

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

yzj();

}

yzj()

{

FILE*IN,*0UT;

intUN,iOUT,i;

IN=fopen(z,20.in〃,〃r〃);

if(IN==NULL)

{printf(z,PleaseVerifyTheCurrerntDir..ItMayBeChanged/z);

}

OUT二fopen("20.out”,〃w〃);

if(OUT==NULL)

{printf(z,PleaseVerifyTheCurrentDir..ItMayBeChangedzz);

}

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

{fscanf(IN,〃%d”,&iIN);

iOUT=fun(iIN);

fprintf(OUT,"%d\n”,iOUT);

fclose(IN);

fclose(OUT);

}

答案:---------------

inti,k,s=0;

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

{for(k=2;k<i;k++)

if(i%k==0)break;

if(k==i)s=s+i;

)

returns;

試卷編號:9050所屬語言:TurboC

試卷方案:09(2)模擬試卷總分:100分

共有題型:5種

一、填空共15題(共計15分)

第1題(1.0分)

若有定義:charc='\010';則變量C中包含的字符個數(shù)為【1】.

答案:1).1

第2題(1.0分)

寫出語句b=(a=6,a*3);執(zhí)行后整型變量b的值是【1】.

答案:1).18

第3題(1.0分)

C語言的三種基本結(jié)構(gòu)是【1】結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu).

答案:1).順序

第4題(1.0分)

執(zhí)行下面兩個語句,輸出的結(jié)果是[11,charcl=97,G2=98;printf(z,%d%c”,cl,c2);

答案:1).97b

第5題(1.0分)

已知a=13,b=6,a&&b的十進制數(shù)值為【1】.

答案:1).1

第6題(1.0分)

假設(shè)變量a,b均為整型,表達式

(a=5,b=2,a>b?a++:b++,a+b)

的值是[11

答案:1).8

第7題(1.0分)

C語言表達式?。?〈6)|(4<9)的值是[1].

答案:1).1

第8題(1.0分)

c語言表達式?。?>=6)&&(3〈=7)的值是[1].

答案:1).1

第9題(1.0分)

以下程序的輸出結(jié)果為【1】,

Winclude"stdio.h"main(){inta;for(a=0;a<10;a++);printfa);)

答案:1).10

第10題(1.0分)

設(shè)i,j,k均為int型變量,則執(zhí)行完for循環(huán)

for(i=0,j=10;i<=j;i++,j—)k=i+j;

后,k的值為[1].

答案:1).10

第11題(1.0分)

程序段intk=10;while(k=0)k=kT循環(huán)體語句執(zhí)行【1】次.答案:1).0

第12題(1.0分)

以下do-while語句中循環(huán)體的執(zhí)行次數(shù)是【1】.

a=10;

b=0;

do{b+=2;a-=2+b;}while(a〉=0);答案:1).3

第13題(1.0分)

若有以下數(shù)組a,數(shù)組元素:a[OFa[9],其值為

941282107513

該數(shù)組可用的最小下標值是【1】.

答案:1).0

第14題(1.0分)

如果函數(shù)不要求帶回值,可用【1】來定義函數(shù)返回值為空.答案:1).void

第15題(1.0分)

函數(shù)調(diào)用語句func((el,e2),(e3,e4,e5))中含有[1]個實參.答案:1).2

二、判斷共15題(共計15分)

第1題(1.0分)

在C程序中,每行中只能寫一條語句答案:N

第2題(1.0分)

x*=y+8等價于x=x*(y+8).答案:Y

第3題(1.0分)

語句scanf("%7.2f",&a);是一個合法的scanf函數(shù).答案:N

第4題(1.0分)

若i=3,則printf("d”,-i++);輸出的值為-4.答案:N

第5題(1.0分)

在switch-case語句中,必須使用default語句.答案:N

第6題(1.0分)

關(guān)于if語句中,條件表達式只能是關(guān)系表達式或邏輯表達式答案:N

第7題(1.0分)

continue語句只結(jié)束本次循環(huán),而不是終止整個循環(huán)的執(zhí)行.break語句則是結(jié)束整個循環(huán)過程,不再判斷執(zhí)行循環(huán)的條

件是否成立.

答案:Y

第8題(1.0分)

C語言中的for語句可以用于循環(huán)次數(shù)已經(jīng)確定的情況,但是不能用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況.

答案:N

第9題(1.0分)

charc[]=〃VeryGood";是一個合法的為字符串數(shù)組賦值的語句.

答案:Y

第10題(1.0分)

若有定義和語句:

inta[3][3]={{3,5},{8,9},{12,35}},i,sum=O;

for(i=0;i<3;i++)sum+=a[i][2-i];則sum=21.

答案:Y

第11題(1.0分)

數(shù)組賦初值時,初始值表中的數(shù)據(jù)項的數(shù)目可以大于或等于數(shù)組元素的個數(shù).

答案:N

第12題(1.0分)

C語言中只能逐個引用數(shù)組元素而不能一次引用整個數(shù)組.

答案:Y

第13題(1.0分)

如果函數(shù)值的類型和return語句中表達式的值不一致,則以

函數(shù)類型為準.

答案:Y

第14題(1.0分)

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

答案:N

第15題(1.0分)

通過return語句,函數(shù)可以帶回一個或一個以上的返回值.

答案:N

三、單項選擇共20題(共計40分)

第1題(2.0分)

若k,g均為int型變量,則下列語句的輸出為().

k=017;g=lll;printf(//%d\t/,,++k);printf("%x\n”,g++);

A:156f

B:1670

C:1571

D:166f

答案:D

第2題(2.0分)

下列語句的結(jié)果是().

main()

{intj;

j=3;

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

printfj++);

)

A:3,3

B:3,4

C:4,3

D:4,4

答案:D

第3題(2.0分)

設(shè)以下變量均為int類型,則值不等于7的表達式是().

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

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

C:(x=6,x+1,y=6,x+y)

D:(y=6,y+1,x=y,x+1)

答案:C

第4題(2.0分)

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

floatk=0.8567;

printf(z,%6.k*100);

A:0085.6%%

B:85.7%

C:0085.6%

D:.857

答案:B

第5題(2.0分)

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

doublex;x=218.82631;printf("-6.2f\n",x);

A:輸出格式描述符的域?qū)挷粔?不能輸出

B:輸出為21.38e+01

C:輸出為218.83

D:輸出為218.82631

答案:C

第6題(2.0分)

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

main()

{inti=010,j=10;

printf(線d,%d\n”,++i,j—);

}

A:ll,10

B:9,10

C:010,9

D:10,9

答案:B

第7題(2.0分)

為了避免在嵌套的條件語句if-else中產(chǎn)生二義性,C語言規(guī)定:

else子句總是與()配對.

A:縮排位置相同的if

B:其之前最近的if

C:其之后最近的if

D:同一行上的if

答案:B

第8題(2.0分)

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

A:<

B:+

C:&&

D:!=答案:B

第9題(2.0分)

選擇結(jié)構(gòu)中的條件與循環(huán)結(jié)構(gòu)中循環(huán)成立的條件,

在寫法上可以是任一表達式,但其值只能被判斷為‘‘真‘'或"假

哪個數(shù)作為邏輯''假"值().

A:-l

B:1

C:非零的數(shù)

D:0答案:D

第10題(2.0分)

執(zhí)行語句for(i=l;i++<4;);后變量i的值是().

A:3

B:4

C:5

D:不定

答案:C

第11題(2.0分)

下列程序的輸出為().

main()

{inty=10;

while(y--);

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

)

A:y=0

B:while構(gòu)成無限循環(huán)

C:y=l

D:y=-1

答案:D

第12題(2.0分)

while(fabs(t)<le-5)if(!s/10)break;循環(huán)結(jié)束的條件是().

A:t>=le-5&&t<=-le-5&&s>-10&&s<10

B:fabs(t)<le-5&&!s/10

C:fabs(t)<le-5

D:s/10==0

答案:A

第13題(2.0分)

對for(表達式1;;表達式3)可理解為().

A:for(表達式1;0;表達式3)

B:for(表達式1;1;表達式3)

C:for(表達式1;表達式1;表達式3)

D:for(表達式1;表達式3;表達式3)

答案:B

第14題(2.0分)

語句while(!E);中的表達式!E等價于().

A:E==0

B:E!=1

C:E!=0

D:E==1

答案:A

第15題(2.0分)

C語言中while和do-while循環(huán)的主要區(qū)別是().

A:do-while的循環(huán)體至少無條件執(zhí)行一次

B:while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴格

C:do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)

D:do-while的循環(huán)體不能是復(fù)合語句

答案:A

第16題(2.0分)

charal[]="abc",a2[80]="1234";將al串連接到a2串后面的語句是().

A:strcat(a2,al);

B:strcpy(a2,al);

C:strcat(al,a2);

D:strcpy(al,a2);

答案:A

第17題(2.0分)

若chara[10];已正確定義,以下語句中不能從鍵盤上給a數(shù)組的

所有元素輸入值的語句是().

A:gets(a);

B:scanfa);

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

D:a=getchar();

答案:D

第18題(2.0分)

以下不能對二維數(shù)組a進行正確初始化的語句是().

A:inta[2][3]={0};

B:inta[][3]={{1,2},{0}};

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

D:inta[][3]={1,2,3,4,5,6);

答案:C

第19題(2.0分)

若有說明:inta⑶[4]={0力則下面正確的敘述是().

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

B:此說明語句不正確

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

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

第20題(2.0分)

對以下說明語句inta[10]={6,7,8,9,10};的正確理解是().

A:將5個初值依次賦給a[l]至a[5]

B:將5個初值依次賦給a[0]至a[4]

C:將5個初值依次賦給a[6]至a[10]

D:因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確答案:B

四、程序填空共2題(共計12分)

第1題(6.0分)【程序填空】

題目:以下程序的功能是統(tǒng)計一個字符串中的字母、數(shù)字、空格、

和其它字符的個數(shù)。

Winclude"stdio.h"

main()

(

charsi[80];inta[4]={0};

intk;

/***********SPACE***********/

[91;

gets(si);

/***********SPACE***********/

[?1;

puts(si);

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

printf(z,%4d,z,a[k]);

)

voidfun(chars[],intb[])

(

inti;

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

if('a'<=s[i]&&s[i"='z'||'A''Z')b[0]++;

/***********SPACE***********/

elseif([?])b[l]++;

/***********SPACE***********/

elseif([?])b⑵++;

elseb[3]++;

)

答案:

1).voidfun(chars[],intb[])或voidfun()

2).fun(si,a)

3).'O'<=s

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論