C語言程序設(shè)計-閱讀程序題庫及答案_第1頁
C語言程序設(shè)計-閱讀程序題庫及答案_第2頁
C語言程序設(shè)計-閱讀程序題庫及答案_第3頁
C語言程序設(shè)計-閱讀程序題庫及答案_第4頁
C語言程序設(shè)計-閱讀程序題庫及答案_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計-------閱讀程序題庫及答案C語言程序設(shè)計-------閱讀程序題庫及答案C語言程序設(shè)計-------閱讀程序題庫及答案資料僅供參考文件編號:2022年4月C語言程序設(shè)計-------閱讀程序題庫及答案版本號:A修改號:1頁次:1.0審核:批準(zhǔn):發(fā)布日期:閱讀程序題

【】以下程序的輸出結(jié)果是。main(D)

{floata;

a=1/0;

printf("%g",a);

}

A)+00B)C)D)0

【】下面程序的輸出結(jié)果是B____。

#include<>

main()

{intx=10;

{intx=20;

printf("%d,",x);

}

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

}

A)10,20B)20,10C)10,10D)20,20

【】以下程序的輸出結(jié)果是___B_。

main()

{unsignedintn;

inti=-521;

n=i;

printf("n=%u\n",n);

}s",s);

}

A)abook!B)abook!<四個空格》

C)aboD)格式描述錯誤,輸出不確定

【】下面程序的輸出結(jié)果是____。

main()

{inta,b;

scanf("%2d%3d",&a,&b);

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

}

A)a=12b=34B)a=123b=45C)a=12b=345D)語句右錯誤

【】以下程序段的輸出結(jié)果是。inta=10,b=50,c=30;

if(a>b)

a=b;

b=c;

c=a;

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

A)a=10b=50c=10B)a=10b=30c=10

C)a=50b=30c=10D)a=50b=30c=50

【】以下程序的輸出結(jié)果是。main()

{inta=0,b=1,c=0,d=20;

if(a)d=d-10;

elseif(!b)

if(!c)d=15;

elsed=25;

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

}

A)d=10B)d=15C)d=20D)d=25

【】下面程序的輸出結(jié)果為。

main()

{inta=1,b=0;

switch(a)

{case1:switch(b)

{case0:printf("**0**");break;

case1:printf("**1**");break;

}

case2:printf("**2**");break;

}

}

A)**0**B)**0****2**C)**0****1****2**D)有語法錯誤

【】以下程序的輸出結(jié)果是。main()

{char*s="";

intv1=0,v2=0,v3=0,v4=0,k;

for(k=0;s[k];k++)

switch(s[k])

{case'1':v1++;

case'3':v3++;

case'2':v2++;

default:v4++;

}

printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);

}

A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=9,v3=3,v4=1

C)v1=5,v2=8,v3=6,v4=1D)v1=4,v2=7,v3=5,v4=8

【】下面程序的輸出是。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:switch(y)

{case0:a++;break;

case1:b++;break;

}

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

}

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

}

A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2

【】下面程序的輸出是____。

main()

{intnum=0;

while(num<=2)

{num++;

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

}

}

A)1B)1C)1D)1

222

33

4

【】下面程序的輸出結(jié)果是____。

main()

{inta=1,b=0;

do

{switch(a)

{case1:b=1;break;

case2:b=2;break;

default:b=0;

}

b=a+b;

}while(!b);

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

}

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

【】從鍵盤上輸入"446755"時,下面程序的輸出是____。

#include<>

main()

{intc;

while((c=getchar())!='\n')

switch(c-'2')

{case0:

case1:putchar(c+4);

case2:putchar(c+4);break;

case3:putchar(c+3);

default:putchar(c+2);break;

}

printf("\n");

}

A)888988B)668966C)D)

【】下面程序的輸出結(jié)果是____。

main()

{intk=0;

charc='A';

do

{switch(c++)

{case'A':k++;break;

case'B':k--;

case'C':k+=2;break;

case'D':k=k%2;contiue;

case'E':k=k+10;break;

default:k=k/3;

}

k++;

}while(c<'C');

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

}

A)k=1B)k=2C)k=3D)k=4【】下面程序的輸出結(jié)果是____。

main()

{intx,i;

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

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d",x);

}

}

A)3981B)4284C)2668D)2870

【】下面程序的輸出結(jié)果是____。

#include<>

main()

{inti,k,a[10],p[3];

k=5;

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

a[i]=i;

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

p[i]=a[i*(i+1)];

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

k+=p[i]*2;

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

}

A)20B)21C)22D)23

【】假定從鍵盤上輸入",<回車>",下面程序的輸出是____。

#include<>

main()

{floatx,y,z;

scanf("%f,%f",&x,&y);

z=x/y;

while(1)

{if(fabs(z)>

{x=y;

y=z;

z=x/y;

}

elsebreak;

}

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

}

A)B)C)D)

【】下面程序的輸出結(jié)果是____。

main()

{inti,j,x=0;

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

{x++;

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

{if(j%2)

continue;

x++;

}

x++;

}

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

}

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

【】下面程序的輸出結(jié)果是____。

main()

{inti,j,k=10;

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

{k++;

{intk=0;

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

{if(j%2)continue;

k++;

}

}

k++;

}

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

}

A)k=4B)k=8C)k=14D)k=18

【】下面程序的輸出結(jié)果是____。

#include<>

main()

{intn[3][3],i,j;

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

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

n[i][j]=i+j;

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

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

n[i+1][j+1]+=n[i][j];

printf("%d\n",n[i][j]);

}

A)14B)0C)6D)不確定

【】下面程序的輸出結(jié)果是____。

#include<>

main()

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

inti,j,n;

n=9;

i=n/5;

j=n-i*5-1;

printf("a[%d][%d]=%d\n",i,j,a[i][j]);

}

A)6B)-3C)2D)不確定

【】下面程序的輸出結(jié)果是____。

intm[3][3]={{1},{2},{3}};

intn[3][3]={1,2,3};

main()

{printf("%d\n",m[1][0]+n[0][0]);/*①*/

printf("%d\n",m[0][1]+n[1][0]);/*②*/

}

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

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

【】下面程序的輸出結(jié)果是____。

#include<>

main()

{chars1[50]={"somestring*"},s2[]={"test"};

printf("%s\n",strcat(s1,s2));

}

A)somestring*B)test

C)somestritestD)somestring*test

【】下面程序的輸出結(jié)果是____。

#include<>

f(char*s)

{char*p=s;

while(*p!='\0')

p++;

return(p-s);

}

main()

{printf("%d\n",f("ABCDEF"));

}

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

【】下面程序的輸出結(jié)果是____。

#include<>

#include<>

main()

{charstr[100]="Howdoyoudo";

strcpy(str+strlen(str)/2,"esshe");

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

}

A)HowdoyoudoB)essheC)HowareyouD)Howdoesshe

【】下面程序的輸出結(jié)果是____。

#include<>

func(inta,intb)

{intc;

c=a+b;

return(c);

}

main()

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

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

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

}

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

【】下面程序的輸出結(jié)果是____。

#include<>

voidfun(int*s)

{staticintj=0;

do

{s[j]+=s[j+1];

}while(++j<2);

}

main()

{intk,a[10]={1,2,3,4,5};

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

fun(a);

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

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

}

A)35756B)23445C)35745D)12345

【】下面程序的輸出結(jié)果是____。

#include<>

intk=1;

main()

{inti=4;

fun(i);

printf("\n%d,%d",i,k);/*①*/

}

fun(intm)

{m+=k;k+=m;

{chark='B';

printf("\n%d",k-'A');/*②*/

}

printf("\n%d,%d",m,k);/*③*/

}

①A)4,1B)5,6C)4,6D)A,B,C參考答案都不對

②A)1B)-59C)-64D)A,B,C參考答案都不對

③A)5,66B)1,66C)5,6D)A,B,C參考答案都不對

【】下面程序的輸出結(jié)果是____。

#include<>

fun(intn,int*s)

{intf1,f2;

if(n==1||n==2)

*s=1;

else

{fun(n-1,&f1);

fun(n-2,&f2);

*s=f1+f2;

}

}

main()

{intx;

fun(6,&x);

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

}

A)6B)7C)8D)9

【】下面程序的輸出結(jié)果是____。

intw=3;

main()

{intw=10;

printf("%d\n",fun(5)*w);

}

fun(intk)

{if(k==0)return(w);

return(fun(k-1)*k);

}

A)360B)3600C)1080D)1200

【】下面程序的輸出結(jié)果是____。

#include<>

funa(inta)

{intb=0;

staticintc=3;

a=c++,b++;

return(a);

}

main()

{inta=2,i,k;

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

k=funa(a++);

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

}

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

【】下面程序的輸出結(jié)果是____。

#include<>

voidnum()

{externintx,y;

inta=15,b=10;

x=a-b;

y=a+b;

}

intx,y;

main()

{inta=7,b=5;

x=a-b;

y=a+b;

num();

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

}

A)12,2B)5,25C)1,12D)輸出不確定

【】下面程序的輸出結(jié)果是____。

main()

{inta=2,i;

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

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

}

f(inta)

{intb=0;

staticintc=3;

b++;

c++;

return(a+b+c);

}

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

【】下面程序的輸出結(jié)果是____。

#include<>

try()

{staticintx=3;

x++;

return(x);

}

main()

{inti,x;

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

x=try();

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

}

A)3B)4C)5D)6【】下面程序的輸出結(jié)果是____。

#include<>

main()

{intx=1;

voidf1(),f2();

f1();

f2(x);

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

}

voidf1(void)

{intx=3;

printf("%d",x);

}

voidf2(x)

intx;

{printf("%d",++x);

}

A)111B)222C)333D)321

【】下面程序的輸出結(jié)果是____。

#include<>

#defineSUB(X,Y)(X)*Y

main()

{inta=3,b=4;

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

}

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

【】下面程序的輸出結(jié)果是____。

main()

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

int*p;

p=a;

printf("%d",*p);

printf("%d",*(++p));

printf("%d",*++p);

printf("%d",*(p--));

p+=3;

printf("%d%d",*p,*(a+3));

}

A)123354B)123456C)122345D)123445

【】下面程序的輸出結(jié)果是____。

main()

{inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

int*p=a;

p+=6;

printf("%d",*p);/*①*/

printf("%d",*(*(a+6)));/*②*/

printf("%d",*(a[1]+=2));/*③*/

printf("%d",*(&a[0][0]+6));/*④*/

}

A)7777B)②句語法錯誤C)③句語法錯誤D)④句語法錯誤

【】下面程序的輸出結(jié)果是____。

#defineFMT"%X\n"

#include<>

main()

{staticinta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};

printf(FMT,a[2][2]);/*①*/

printf(FMT,*(*(a+1)+1));/*②*/

}

①A)9B)11C)AD)B

②A)6B)7C)8D)前面三個參考答案均是錯誤的

【】下面程序的輸出結(jié)果是____。

#include<>

main()

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

intx,y,*p;

p=&a[0];

x=*(p+2);

y=*(p+4);

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

}

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

【】下面程序的輸出結(jié)果是____。

voidive(x,n)

intx[],n;

{intt,*p;

p=x+n-1;

while(x<p)

{t=*x;

*x++=*p;

*p--=t;

}

return;

}

main()

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

ive(a,10);

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

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

printf("\n");

}

A)1234567890B)0987654321

C)1357924680D)0864297531

【】下面程序的輸出結(jié)果是____。

#include""

fun(char*w,intn)

{chart,*s1,*s2;

s1=w;s2=w+n-1;

while(s1<s2)

{t=*s1++;

*s1=*s2--;

*s2=t;

}

}

main()

{staticchar*p="1234567";

fun(p,strlen(p));

printf("%s",p);

}

A)7654321B)1717171C)7171717D)1711717

【】下面程序的輸出結(jié)果是____。

#include<>

char*p="abcdefghijklmnopq";

main()

{inti=0;

while(*p++!='e');

printf("%c\n",*p);

}

A)cB)dC)eD)f

【】下面程序的輸出結(jié)果是____。

#include<>

f(intx,inty)

{return(y-x);

}

main()

{inta=5,b=6,c;

intf(),(*g)()=f;

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

}

A)1B)2C)3D)前面三個參考答案均是錯誤的

【】下面程序的輸出結(jié)果是____。

#include<>

main()

{inta=1,*p,**pp;

pp=&p;

p=&a;

a++;

printf("%d,%d,%d\n",a,*p,**pp);

}

A)2,1,1B)2,1,2C)2,2,2D)程序有錯誤

【】下面程序的輸出結(jié)果是____。

main()

{char*alpha[7]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX","YZ"};

char**p;

inti;

p=alpha;

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

printf("%c",*(p[i]));

printf("\n");

}

A)AEIMB)BFJNC)ABCDD)DHLP

【】下面程序的輸出結(jié)果是____。

#include<>

char*pp[2][3]={"abc","defgh","ijkl","mnopqr","stuvw","xyz"};

main()

{printf("%c\n",***(pp+1));/*①*/

printf("%c\n",**pp[0]);/*②*/

printf("%c\n",(*(*(pp+1)+1))[4]);/*③*/

printf("%c\n",*(pp[1][2]+2));/*④*/

printf("%s\n",**(pp+1));/*⑤*/

}

①A)aB)dC)iD)m

②A)aB)dC)iD)m

③A)hB)lC)qD)w

④A)kB)oC)uD)z

⑤A)ijklB)mnopqrC)stuvwD)xyz

【】下面程序的輸出結(jié)果是____。

#include""

structstr1

{charc[5];

char*s;

};

main()

{structstr1s1[2]={{"ABCD""EFGH"},{"IJK","LMN"}};

structstr2

{structstr1sr;

intd;

}s2={"OPQ","RST",32767};

structstr1*p[2];

p[0]=&s1[0];

p[1]=&s1[1];

printf("%s",++p[1]->s);/*①*/

printf("%c",;/*②*/

}

①A)LMNB)MNC)ND)IJK

②A)OB)PC)QD)R

【】以下程序的輸出結(jié)果是____。

structst

{intx,*y;

}*p;

ints[]={10,20,30,40};

structsta[]={1,&s[0],2,&s[1],3,&s[2],4,&s[3]};

main()

{p=a;

printf("%d\n",++(*(++p)->y));

}

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

【】以下程序的輸出結(jié)果是____。

#include<>

main()

{unionEXAMPLE

{struct

{intx,y;

}in;

inta,b;

}e;

=1;=2;

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

}

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

【】下面程序的輸出結(jié)果是____。

#include<>

main()

{union

{inti[2];

longk;

charc[4];

}r,*s=&r;

s->i[0]=0x39;

s->i[1]=0x38;

printf("%c\n",s->c[0]);

}

A)39B)9C)38D)8

【】下面程序的輸出是。

main()

{printf("%d\n",EOF);

}

A)-1B)0C)1D)程序是錯誤的參考答案

【】參考答案:D

注釋:程序中除法運(yùn)算的兩個操作數(shù)均是整型,運(yùn)算結(jié)果也是整型。

【】參考答案:B

注釋:C語言允許在程序塊(分程序)中說明變量。

【】參考答案:C

注釋:變量i中的負(fù)號傳送給變量n后,因n是無符號數(shù),已不作為負(fù)號處理。

【】參考答案:D

注釋:對變量x的――操作是后綴形式,變量x的減1操作要在執(zhí)行完printf函數(shù)之后才進(jìn)行,所以變量x的值在輸出的時候仍然保持原值10。

【】參考答案:B

注釋:C語言在執(zhí)行printf()時,對函數(shù)中的表達(dá)式表列的處理順序是從后向前,即先處理n--,再處理n++,最后處理n,而且每一個表達(dá)式作為一個處理單元,也就是說在不同的表達(dá)式中自增自減運(yùn)算是單獨(dú)考慮的。

【】參考答案:A

注釋:變量x和變量y做按位與,結(jié)果為0x0200,右移4位為0x0020,再與0x005f做按位或,最后結(jié)果為0x007f。

【】參考答案:A

注釋:逗號表達(dá)式的結(jié)果是用逗號分開的最后一個表達(dá)式的值,此題由于c=='A'的值是0,所以逗號表達(dá)式的值為0。

【】參考答案:B

【】參考答案:A

【】參考答案:C

注釋:在輸出格式描述"%"中,m是輸出總長度,n是實際字符的個數(shù),這里m沒有給出,則輸出總長度就是實際輸出字符的個數(shù)。

【】參考答案:C

【】參考答案:B

【】參考答案:C

【】參考答案:B

【】參考答案:D

【】參考答案:A

【】參考答案:C

【】參考答案:A

【】參考答案:C

注釋:在switch語句中,case本身僅起到語句標(biāo)號的作用,不會改變語句的流程,執(zhí)行break語句才能退出當(dāng)前的switch語句。

【】參考答案:D

注釋:siwtch語句的表達(dá)式中,變量c是后綴的增一運(yùn)算,第一次執(zhí)行do-while循環(huán)時,執(zhí)行case'A'后面的語句。【】參考答案:D

【】參考答案:B

【】參考答案:B

注釋:fabs()是浮點(diǎn)數(shù)絕對值函數(shù)。

【】參考答案:A

【】參考答案:C

注釋:C語言允許在程序塊(分程序)內(nèi)說明變量,如果在程序塊內(nèi)說明的變量和程序塊外的變量同名,在塊外說明的變量在塊內(nèi)是不可見的。可將此題和【】進(jìn)行比較,加深理解。

【】參考答案:C

【】參考答案:B

【】參考答案:①D②A

【】參考答案:D

【】參考答案:B

注釋:輸出結(jié)果為字符串長度。

【】參考答案:D

注釋:字符串拷貝函數(shù)strcpy()要求的兩個參數(shù)都是字符串首地址。本題中第二個參數(shù)是字符串常量,接受這個字符串的第一個參量不是直接給出字符數(shù)組名,而是進(jìn)行了地址運(yùn)算后的結(jié)果。由于str字符串的長度是13,除2取整后是6,第一個參數(shù)給出的地址是字符數(shù)組str的首地址加6,也就是原來字符串中第二個空格的位置,把"esshe"從該處放入,字符串str變?yōu)?Howdoesshe"。

【】參考答案:C

注釋:main函數(shù)調(diào)用func函數(shù)時,第一個實參使用的是逗號表達(dá)式的值,也就是x+y的結(jié)果。由于對變量x、y、z進(jìn)行的是后綴運(yùn)算,所以函數(shù)func的參數(shù)值是13和8。

【】參考答案:C

【】參考答案:①C②A③C

【】參考答案:C

【】參考答案:B

注釋:函數(shù)fun進(jìn)行了遞歸調(diào)用,實際進(jìn)行的運(yùn)算是5×4×3×2×1×3×10。主函數(shù)內(nèi)說明的局部變量w屏蔽了外部變量w,所以在主函數(shù)中外部變量w是不可見的,在調(diào)用printf函數(shù)時表達(dá)式"fun(5)*w"中w的值是10。

【】參考答案:D

注釋:main函數(shù)三次調(diào)用了函數(shù)funa,在funa函數(shù)中的靜態(tài)變量c僅在第一次調(diào)用時進(jìn)行了初始化,再次調(diào)用時不再對靜態(tài)變量賦初值。

【】參考答案:B

注釋

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論