C语言程序设计练习三.docx

上传人:b****8 文档编号:10982400 上传时间:2023-02-24 格式:DOCX 页数:26 大小:21.88KB
下载 相关 举报
C语言程序设计练习三.docx_第1页
第1页 / 共26页
C语言程序设计练习三.docx_第2页
第2页 / 共26页
C语言程序设计练习三.docx_第3页
第3页 / 共26页
C语言程序设计练习三.docx_第4页
第4页 / 共26页
C语言程序设计练习三.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

C语言程序设计练习三.docx

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

C语言程序设计练习三.docx

C语言程序设计练习三

《C语言程序设计》练习三

三、阅读分析题

1.请阅读分析下面程序,然后写出运行结果。

#include

voidmain()

{

intx=8,y=-5;

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

x=x+y;y=x-y;x=x-y;

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

}

 

2.请阅读分析下面程序,然后写出运行结果。

#include

voidmain()

{

intx=156,a,b,c;

if(x>100)

{

a=x/100;

x=x%100;

}

if(x>10)

{

b=x/10;

c=x%10;

}

printf(〃%3d%3d%3d%3d〃,a,b,c,a*b*c);

}

 

3.请阅读分析下面程序,然后写出运行结果。

#include

voidmain()

{

intk=4,i;

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

{

switch(k)

{

case4:

printf(〃#〃);

case3:

printf(〃*〃);

default:

printf(〃\n〃);

break;

case2:

printf(〃$〃);

case1:

printf(〃@〃);

}

k--;

}

}

 

4.阅读下面程序,写出运行结果(已知A的ASCII码为65,a的ASCII码为97)。

#include

voidmain()

{intk=100;charm;

m=k;putchar(m);

printf(″,%d,%c,%o,″k,m-32,m);

}

5.阅读下面程序,并回答问题:

#include

voidmain()

{intx,y,z,c;

scanf(″%d%d%d″,&x,&y,&z);

if(x

if(x

if(x

printf(″%d,%d,%d″,x,y,z);

}

(1)若程序运行时,输入3、2和5,则输出结果是什么?

(2)写出程序所实现的功能。

6.阅读下面程序,并回答问题:

#include

voidmain()

{intm,n;

m=65;

n=14;

while(m!

=n)

{while(m>n)m-=n;

while(n>m)n-=m;

}

printf(″m=%d\n″,m);

}

(1)程序输出结果是多少?

(2)外循环执行完一次时,m和n的值分别是多少?

(3)将while(n>m)n-=m;语句删除后,程序运行情况如何?

7.阅读下面程序,写出运行结果。

#include

voidmain()

{inta=789,x,y,z;

x=a/100;

y=a/10-10*x;

z=a-10*y-100*x

printf(″%d,%o,%x,%d″,x,y,z,100*z+10*y+x);

}

8.阅读下面程序,并回答问题:

#include

voidmain()

{inta,b,x,y;

scanf(″%d,%d″,&a,&b);

x=a*a+b*b

if(x>100)

{y=x/100;printf(″%d″,y);}

elseprintf(″%d″,a+b);

}

(1)若程序运行时,输入6和9,输出结果是什么?

(2)说明程序的功能。

9.阅读下面程序,并回答问题:

#include

voidmain()

{intu,v,a,b,t,r;

u=24;v=16;

if(u>v){t=u;u=v;v=t;}

a=u;b=v;

while((r=b%a)!

=0)

{b=a;a=r;}

printf(″a=%d\n″,a);

}

(1)程序输出结果是什么?

(2)该程序完成什么功能?

(3)若将while循环替换为do-while循环,请写出相应的程序段。

10.从键盘输入字符A时,写出下面程序的运行结果。

(注:

字符A的ASCII码是65)

#include

voidmain()

{

intk;

k=getchar();putchar(k);

printf(″,%d,%x,%c″,k,k,k+32);

}

 

11.阅读下面程序,写出运行结果。

#include

voidmain()

{intx,sum=0;

loop1:

scanf(″%d″,&x);

if(x!

=8)

{if(x%2==0)

{sum+=x;

printf(″sum=%d\n″,sum);

}

gotoloopl;

}

sum-=x;

printf(″sum=%d\n″,sum);

}

当程序执行时输入数据12345678↙

,写出程序运行结果。

12.阅读下面程序,写出运行结果。

#include

voidmain()

{

inta[3][3],i,j;

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

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

a[i][j]=i+j

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

{

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

printf(″%2d″,a[i][j]);

printf(″\n″);

}

}

 

13.请阅读分析下列程序,然后写出运行结果。

#include

voidmain()

{

inta=0,b=1;

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

a+=b;b+=a;

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

}

14.若分别输入0和5时,请阅读分析下列程序,然后分别写出两种输入情况下程序的运行结

果。

#include

voidmain()

{

intx,y;

scanf("%d",&x);

if(x>2&&x<=10)

y=x*(x+2);

elseif(x>-1&&x<=2)

y=2*x;

elseif(x<-1)y=x-1;

if(y!

=-1)

printf("%d,y);

else

printf("error");

}

 

15.请阅读分析下列程序,然后写出程序的循环次数和运行结果。

#include

voidmain()

{

inti;

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

{

if(i%2)

{

printf("@");continue;

}

printf("*");

}

printf("\n");

}

 

16.阅读下面程序并写出运行结果。

#include

voidmain()

{inta=47,x,y,z,w;

x=a/2;

y=a%2;

z=a++;

w=++a;

printf(″%d,%d,%d,%d″,x,y,z,w);

}

17.阅读分析下面程序,请说明程序的功能;然后写出当键盘输入14时,程序的运行结果。

#include

voidmain()

{intx;

scanf(″%d″,&x);

if(x%5==0&&x%7==0)

printf(″yes″);

else

printf(″no″);

}

 

18.阅读分析下面程序后,写出程序的运行结果。

#include

voidmain()

{

inta=978,x,y,z,i,j,w;

x=a/100;

y=(a-100

x)/10;

z=a-10

y-100

x;

i=y>z?

z:

y;

j=y<=z?

z:

y;

w=100

x+10

i+j;

printf(″%d,%d,%d,%d\n″,x,y,z,w);

}

 

19.阅读分析下面程序后,写出程序的运行结果。

#include

voidmain()

{

intn,m;

for(n=1;n<=5;n++)

{

for(m=1;m<=4;m++)

printf(″%4d″,m

n);

printf(″\n″);

}

}

20.阅读分析下面程序后,写出程序的运行结果。

#include

voidmain()

{

intarr[10],i,k=0;

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

arr[i]=i;

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

{

k+=arr[i]+i;

printf(″%5d″,k);

}

}

21.写出以下程序的功能。

如果输入14,写出程序的输出结果。

#include

voidmain()

{intx;

scanf(″%d″,&x);

if(x%5==0&&x%7==0)

printf(″yes″);

else

printf(″no″);

}

 

22.阅读下面的程序并回答问题

#include

voidmain()

{chara[20]=″1234567890″;

inti;

i=8;

printf(″%s\n″,&a[i-3]);

}

(1)数组中a[10]号元素中存储的是什么字符?

(2)请写出程序的运行结果。

 

23.写出下面程序的运行结果。

#include

voidmain()

{intx=1987,a,b,c,y;

a=x/100;

b=x%100/10;

c=x%100%10;

y=100*c+l0*b+a;

printf(″c=%d,b=%o,a=%x,y=%d″,c,b,a,y);

}

24.分析下列两个程序的区别,并写出它们的运行结果。

voidmain()voidmain()

{{

inty=0,s,k;inty=0,s,k;

for(k=0;k<6;k++)for(k=0;k<6;k++){

s=k*k;s=k*k;

y+=s;y+=s;

}

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

}}

运行结果:

 

25.请阅读分析下面程序,然后写出运行结果。

#include

voidmain()

{

inti,j,*p[4],a[12]={1,2,3,4,5,6,7,8,9,10,11,12};

p[0]=&a[0];

p[1]=&a[3];

p[2]=&a[6];

p[3]=&a[9];

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

{

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

printf(〃%4d〃,p[i][j]);

printf(〃\n〃);

}

}

 

26.阅读下面程序,写出运行结果。

#include

voidmain()

{char*str[]={″Pascal″,″CLanguage″,″Dbase″,″Cobol″};

intk;

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

printf(″%s\n″,str[k]);

}

27.阅读分析下面程序并写出运行结果。

#include

voidmain()

{char*a[]={″Pascal″,″CLanguage″,″dBase″,″Cobol″};

intj;

for(j=3;j>=0;j--)

printf(″%s\n″,a[j]);

}

28.阅读下面程序,写出运行结果。

#include

#include

voidmain()

{char*p1,*p2,srt[50]=″abc″,str1[50];

p1=″abc″;p2=″abc″;

puts(str);

strcpy(str1,p1);

p1=str1;

printf(″%s\n″,strcat(p1,p2));

strcpy(str+1,p1);

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

}

29.请阅读分析下列程序,然后写出程序的运行结果。

#include

voidmain()

{

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

p=a;

p++;

*(p+3)+=2;

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

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

}

30.阅读下面程序,并回答问题:

#include

gcd(intx,inty)

{inttemp;

while(y){temp=x%y;x=y;y=temp;}

returnx;

}

voidmain()

{inta,b,y;

scanf(″%d,%d″,&a,&b);

y=gcd(a,b);

printf(″最大公约数是:

%d″,y);

}

(1)gcd函数的返回值类型是什么?

(2)若将returnx写成returny会得到什么样的结果?

31.阅读下面程序,写出运行结果。

#include

inta=5,b=5;

chang1()

{inta=4;

printf(″a1=%d,b1=%d\n″,a,b++);

}

chang2(inta,intb)

{a++;b--;

}

voidmain()

{chang1();a++,b++;chang2(a,b);

printf(″a2=%d,b2=%d\n″,a,b);

}

 

32.阅读分析下面程序后,写出程序的运行结果。

#include

intfun(intx)

{

intp;

if(x==0||x==1)

return(3);

p=x-fun(x-2);

printf(″%5d″,p);

return(p);

}

voidmain()

{

fun(9);

}

33.阅读下面程序,分析cat函数的功能并写出程序的运行结果。

#include

voidcat(char

s,char

t)

{

while(

s)s++;

while((

s++=

t++)!

=′\0′);

}

voidmain()

{

charsl[80]=″computer″,s2[80]=″Pentium_″;

cat(s2,s1);

printf(″%s\n″,s2);

}

(1)cat函数的功能:

(2)运行结果:

34.阅读下面程序,写出运行结果。

#include

longfactor(intm)

{

longintfc;

if(m==0¦¦m==1)

fc=1;

else

fc=factor(m-1)*m;

return(fc);

}

voidmain()

{

intn;

longintfac;

for(n=1;n<5;n++)

{

fac=factor(n);

printf(″%Id\n″,fac);

}

}

35.写出下面程序的运行结果。

#include

voidmain()

{fun();

fun();

}

fun()

{inta[3]={0,1,2},b=10;inti;

if(b==10){

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

a[i]+=a[i];

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

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

printf(″b=%d\n″,b);b++;

}

else

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

a[i]*=a[i];

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

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

printf(″b=%d\n″,b);

}

}

36.阅读下面程序,写出运行结果。

#include

voidfl(chara[],charb[])

{

inti;

for(i=0;a[i];i++)

b[i]=a[i];

b[i]=´\0´;

}

voidf2(char*c,char*t)

{

while(*c++=*t++);

}

voidmain()

{

chara[20]=″basic″,b[20]=″fortran″,c[20]=″pascal″;

char*p=b,*q=c;

fl(b,a);

printf(″%s\n″,b);

f2(p,q);

printf(″%s\n″,b);

}

37.阅读下面程序并写出运行结果。

#include

check(intn,intk)

{intm;

do{

m=n%10;n=n/10;

}while(k--);

return(m);

}

voidmain()

{intj,y=2345;

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

printf(″j=%d,numberis%d\n″,j,check(y,j));

}

 

38.写出下面程序的功能以及程序的运行结果。

#include

swap(int.*p1,int*p2)

{intp;p=*pl;*p1=*p2;*p2=p;}

voidmain()

{inta=5,b=7,*ptrl,*ptr2;

ptrl=&a;ptr2=&b;

swap(ptrl,ptr2);

printf(″*ptrl=%d,*ptr2=%d\n″,*ptrl,*ptr2);

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

}

 

39.请阅读分析下面程序,然后写出运行结果。

#include

f()

{

inta=3;

staticintb=4;

a=a+1;

b=b+1;

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

}

voidmain()

{

f();

f();

f();

}

 

40.请阅读分析下列程序,然后写出程序的运行结果。

#include

voidfun();

voidmain()

{

fun();

fun();

}

voidfun()

{

staticinta[3]={0,1,2},b=10;

inti;

if(b==10)

{

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

a[i]+=a[i];

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

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

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

b++;

}

else

{

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

a[i]*=a[i];

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

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

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

}

}

 

41.阅读下面程序并写出运行结果。

#include

voidmain()

{staticinta[]={5,3,7,2,1,5,4,10};

ints=0,k;

for(k=0;k<8;k+=3)

{s+=a[k];

printf(″a[%d]=%d,s=%d\n″,k,a[k],s);

}

}

42.请阅读分析下面程序,然后写出运行结果。

#include

#include

structstu

{

charname[20];

intchinese;

intmath;

structstu*next;

};

voidmain()

{

char*str[]={〃Zhang〃,〃Wang〃,〃Liu〃};

intaver,x[3][3]={{80,75,85},{60,56,73},{90,83,76}};

structstus;

strcpy(s.name,str[1]);

s.chinese=x[1][0];

s.math=x[1][1];

aver=s.chinese+s.math;

printf(〃%s\t%d\t%d\t%6.2f\n〃,s.name,s.chinese,s.math.aver/2.0);

}

 

43.阅读下面程序段,写出输出结果。

#include

structnum

{floatf1;

intj;

}u={5.6,8},*p=&u;

voidmain()

{printf(″%.2f,%d\n″,u.f1,u.j);

printf(″%.2f,%d\n″,(*p).f1,p->j);

}

 

44.阅读下面程序段:

structnumber

{

intu[2];

}v={11,15},*p=&v;

intx;

请分析下面语句的含义:

x=(*p),u[0]>p->u[1]?

(*p).u[0]:

p->u[1];

45.阅读下面程序并说明语句:

x=p->d[0]>p->d[1]?

p->d[0]:

p->d[1];的含义,然后写出程序的运行结果。

#include

structnumber

{intd[2];

}n={12,8},*p=&n;

voidmain()

{intx;

x=p->d[

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

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

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

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