C语言程序设计阅读程序题库.docx

上传人:b****6 文档编号:5744343 上传时间:2022-12-31 格式:DOCX 页数:24 大小:20.31KB
下载 相关 举报
C语言程序设计阅读程序题库.docx_第1页
第1页 / 共24页
C语言程序设计阅读程序题库.docx_第2页
第2页 / 共24页
C语言程序设计阅读程序题库.docx_第3页
第3页 / 共24页
C语言程序设计阅读程序题库.docx_第4页
第4页 / 共24页
C语言程序设计阅读程序题库.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

C语言程序设计阅读程序题库.docx

《C语言程序设计阅读程序题库.docx》由会员分享,可在线阅读,更多相关《C语言程序设计阅读程序题库.docx(24页珍藏版)》请在冰豆网上搜索。

C语言程序设计阅读程序题库.docx

C语言程序设计阅读程序题库

阅读程序题

导读:

学会阅读程序对于初学者来说很重要,一方面可以巩固所学的语法知识,另一方面通过阅读别人写好的程序来打开自己的思路,就所谓见多识广。

读者通过阅读理解程序,从给出的四个备选参考答案中,选择程序的正确输出。

如果选择有误,就要认真分析原因,是概念方面的错误还是对程序逻辑理解不对,从而加深对语法规则的理解,提高程序设计能力。

程序设计语言是开发程序的一个工具,学习语言的目的是为了编写程序来解决实际问题,所以特别提倡通过实际上机来检验备选答案,增强动手能力。

习题基本上是按照教材的章节来安排的,读者可以根据学习的进度选择部分习题。

【2.1】以下程序的输出结果是。

main()

{floata;

printf("%g",a);

}

A)0.00000e+00B)0.0C)1.00000e-07D)0

【2.2】下面程序的输出结果是____。

#include

  main()

{intx=10;

{intx=20;

printf("%d,",x);

}

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

}

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

【2.3】以下程序的输出结果是____。

main()

{unsignedintn;

inti=-521;

n=i;

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

}

A)n=-521B)n=521C

【2.4】以下程序的输出结果是。

main()

{intx=10,y=10;printf("%d%d\n",x――,――y);

}

A)1010B)99C)910D)109

【2.5】以下程序的输出结果是____。

main()

{intn=1;

printf("%d%d%d\n",n,n++,n--);

}

A)111B)101C)110D)121

【2.6】以下程序的输出结果是____。

main()

{intx=0x02ff,y=0x0ff00;

printf("%d\n",(x&y)>>4|0x005f);

}

A)127B)255C)128D)1

【2.7】以下程序的输出结果是____。

main()

{inta=1;

charc='a';

floatf=2.0;

printf("%d\n",(!

(a==0),f!

=0&&c=='A'));

}

A)0B)1

【2.8】下面程序的输出结果是____。

main()

{inta=1,i=a+1;

do

{a++;

}while(!

~i++>3);

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

}

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

【2.9】下面程序的输出结果是____。

main()

{inta=111;

a=a^00;

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

}

A)111,157B)0,0C)20,24D)7,7

【2.10】下面程序的输出结果是____。

main()

{chars[12]="abook";

printf("%.4s",s);

}

A)abook!

B)abook!

<四个空格》

C)aboD)格式描述错误,输出不确定

【2.11】下面程序的输出结果是____。

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)语句右错误

【2.12】以下程序段的输出结果是。

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

【2.13】以下程序的输出结果是。

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

【2.14】下面程序的输出结果为。

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)有语法错误

【2.15】以下程序的输出结果是。

main()

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

【2.16】下面程序的输出是。

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

【2.17】下面程序的输出是____。

main()

{intnum=0;

while(num<=2)

{num++;

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

}

}

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

222

33

4

【2.18】下面程序的输出结果是____。

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

【2.19】从键盘上输入"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

【2.20】下面程序的输出结果是____。

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

【2.21】下面程序的输出结果是____。

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

【2.22】下面程序的输出结果是____。

#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

【2.23】假定从键盘上输入"3.6,2.4<回车>",下面程序的输出是____。

#include

main()

{floatx,y,z;

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

z=x/y;

while

(1)

{if(fabs(z)>1.0)

{x=y;

y=z;

z=x/y;

}

elsebreak;

}

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

}

A)1.500000B)1.600000C)2.000000D)2.400000

【2.24】下面程序的输出结果是____。

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

【2.25】下面程序的输出结果是____。

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

【2.26】下面程序的输出结果是____。

#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)不确定

【2.27】下面程序的输出结果是____。

#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)不确定

【2.28】下面程序的输出结果是____。

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

【2.29】下面程序的输出结果是____。

#include

main()

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

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

}

A)somestring*B)test

C)somestritestD)somestring*test

【2.30】下面程序的输出结果是____。

#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

【2.31】下面程序的输出结果是____。

#include

#include

main()

{charstr[100]="Howdoyoudo";

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

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

}

A)HowdoyoudoB)essheC)HowareyouD)Howdoesshe

【2.32】下面程序的输出结果是____。

#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

【2.33】下面程序的输出结果是____。

#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

【2.34】下面程序的输出结果是____。

#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参考答案都不对

【2.35】下面程序的输出结果是____。

#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

【2.36】下面程序的输出结果是____。

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

【2.37】下面程序的输出结果是____。

#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

【2.38】下面程序的输出结果是____。

#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)输出不确定

【2.39】下面程序的输出结果是____。

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

【2.40】下面程序的输出结果是____。

#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

【2.41】下面程序的输出结果是____。

#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

【2.42】下面程序的输出结果是____。

#include

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

main()

{inta=3,b=4;

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

}

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

【2.43】下面程序的输出结果是____。

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

【2.44】下面程序的输出结果是____。

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)④句语法错误

【2.45】下面程序的输出结果是____。

#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)前面三个参考答案均是错误的

【2.46】下面程序的输出结果是____。

#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

【2.47】下面程序的输出结果是____。

voidive(x,n)

intx[],n;

{intt,*p;

p=x+n-1;

while(x

{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

【2.48】下面程序的输出结果是____。

#include"string.h"

fun(char*w,intn)

{chart,*s1,*s2;

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

while(s1

{t=*s1++;

*s1=*s2--;

*s2=t;

}

}

main()

{staticchar*p="1234567";

fun(p,strlen(p));

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1