第2部分C语言程序设计练习三.docx

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

第2部分C语言程序设计练习三.docx

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

第2部分C语言程序设计练习三.docx

第2部分C语言程序设计练习三

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

三、阅读分析题

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

#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);

}

}

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

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

#include

voidmain()

{intx;

scanf(″%d″,&x);

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

printf(″yes″);

else

printf(″no″);

}

 

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

#include

voidmain()

{chara[20]=″1234567890″;

inti;

i=8;

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

}

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

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

 

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

#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);

}

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

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);

}}

运行结果:

 

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

#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〃);

}

}

 

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

#include

voidmain()

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

intk;

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

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

}

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

#include

voidmain()

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

intj;

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

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

}

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

#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);

}

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

#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));

}

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

#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会得到什么样的结果?

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

#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);

}

 

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

#include

intfun(intx)

{

intp;

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

return(3);

p=x-fun(x-2);

printf(″%5d″,p);

return(p);

}

voidmain()

{

fun(9);

}

14.阅读下面程序,分析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)运行结果:

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

#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);

}

}

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

#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);

}

}

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

#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);

}

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

#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));

}

 

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

#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);

}

 

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

#include

f()

{

inta=3;

staticintb=4;

a=a+1;

b=b+1;

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

}

voidmain()

{

f();

f();

f();

}

 

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

#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);

}

}

 

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

#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);

}

}

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

#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);

}

 

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

#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);

}

 

25.阅读下面程序段:

structnumber

{

intu[2];

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

intx;

请分析下面语句的含义:

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

(*p).u[0]:

p->u[1];

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

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[0]>p->d[1]?

p->d[0]:

p—>d[1];

printf(″%d″,x);

}

 

《C语言程序设计》练习三(参考答案)

三、阅读分析题

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

运行结果:

261220

 

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

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

输出结果:

no

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

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

答:

a[10]元素中存储的是’\0’(字符串结束标记)

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

运行结果:

34567890

 

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

运行结果:

c=7,b=10,a=13,y=799

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

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);

}}

运行结果:

y=25y=55

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

123

456

789

101112

 

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

答:

Pascal

CLanguage

Dbase

Cobol

 

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

运行结果:

Cobol

dBase

CLanguage

Pascal

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

运行结果:

abc

abcabc

aabcabc

 

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

运行结果:

2

     7

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

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

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

答:

(1)gcd函数的返回值类型是整型

(2)若将returnx;写成returny;求出的结果总和为0。

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

运行结果:

a1=4,b1=5

a2=6,b2=7

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

运行结果:

0527

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

(1)cat函数的功能:

cat是自定义的字符串连接函数。

即将t串连接到s串的尾部,

形成新串。

(2)运行结果:

Pentium_computer

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

运行结果:

1

2

6

24

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

运行结果:

0,2,4,b=10

0,2,4,b=10

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

运行结果:

fortram

pascal

 

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

运行结果:

j=1,numberis4

j=2,numberis3

j=3,numberis2

 

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

运行结果:

*ptr1=7,*ptr2=5

a=7,b=5

 

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

a=4,b=5

a=4,b=6

a=4,b=7

 

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

运行结果:

0,2,4,b=10

0,4,16,b=11

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

运行结果:

a[0]=5,s=5

a[3]=2,s=7

a[6]=4,s=11

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

 

Wang605658.00

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

答:

5.60,8

5.60,8

 

25.阅读下面程序段:

语句含义:

把结构型变量v中的大数取出来赋值给x变量。

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

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

p->d[0]:

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

答:

(1)语句含义:

把结构型变量n中两个成员中的大数送x变量

(2)运行结果:

12

 

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

当前位置:首页 > 求职职场 > 简历

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

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