第2部分C语言程序设计练习三.docx
- 文档编号:6008490
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:18
- 大小:19.83KB
第2部分C语言程序设计练习三.docx
《第2部分C语言程序设计练习三.docx》由会员分享,可在线阅读,更多相关《第2部分C语言程序设计练习三.docx(18页珍藏版)》请在冰豆网上搜索。
第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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 部分 语言程序设计 练习