C语言程序设计练习三学习资料_第1页
C语言程序设计练习三学习资料_第2页
C语言程序设计练习三学习资料_第3页
C语言程序设计练习三学习资料_第4页
C语言程序设计练习三学习资料_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE19《C语言程序设计》练习三三、阅读分析题1.请阅读分析下面程序,然后写出运行结果。#include<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> voidmain(){intk=100;charm;m=k;putchar(m);printf(″,%d,%c,%o,″k,m-32,m);}5.阅读下面程序,并回答问题:#include<stdio.h> voidmain(){intx,y,z,c;scanf(″%d%d%d″,&x,&y,&z);if(x<z){c=y;y=z;z=c;}if(x<z){c=x;x=z;z=c;}if(x<y){c=x;x=y;y=c;}printf(″%d,%d,%d″,x,y,z);}(1)若程序运行时,输入3、2和5,则输出结果是什么?(2)写出程序所实现的功能。6.阅读下面程序,并回答问题:#include<stdio.h> 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<stdio.h> voidmain(){inta=789,x,y,z;x=a/100;y=a/10-10*x;z=a-10*y-100*xprintf(″%d,%o,%x,%d″,x,y,z,100*z+10*y+x);}8.阅读下面程序,并回答问题:#include<stdio.h> voidmain(){inta,b,x,y;scanf(″%d,%d″,&a,&b);x=a*a+b*bif(x>100){y=x/100;printf(″%d″,y);}elseprintf(″%d″,a+b);}(1)若程序运行时,输入6和9,输出结果是什么?(2)说明程序的功能。9.阅读下面程序,并回答问题:#include<stdio.h> 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<stdio.h> voidmain(){intk;k=getchar();putchar(k);printf(″,%d,%x,%c″,k,k,k+32);}11.阅读下面程序,写出运行结果。#include<stdio.h> 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<stdio.h> voidmain(){inta[3][3],i,j;for(i=0;i<3,i++)for(j=0,j<3;j++)a[i][j]=i+jfor(i=0;i<3;i++){for(j=0;j<=i;j++)printf(″%2d″,a[i][j]);printf(″\n″);}}13.请阅读分析下列程序,然后写出运行结果。#include<stdio.h> 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<stdio.h> 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);elseprintf("error");}15.请阅读分析下列程序,然后写出程序的循环次数和运行结果。#include<stdio.h> voidmain(){inti;for(i=1;i<6;i++){if(i%2){printf("@");continue;}printf("*");}printf("\n");}16.阅读下面程序并写出运行结果。#include<stdio.h> 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<stdio.h> voidmain(){intx;scanf(″%d″,&x);if(x%5==0&&x%7==0)printf(″yes″);elseprintf(″no″);}18.阅读分析下面程序后,写出程序的运行结果。#include<stdio.h> voidmain(){inta=978,x,y,z,i,j,w;x=a/100;y=(a-100x)/10;z=a-10y-100x;i=y>z?z:y;j=y<=z?z:y;w=100x+10i+j;printf(″%d,%d,%d,%d\n″,x,y,z,w);}19.阅读分析下面程序后,写出程序的运行结果。#include<stdio.h> voidmain(){intn,m;for(n=1;n<=5;n++){for(m=1;m<=4;m++)printf(″%4d″,mn);printf(″\n″);}}20.阅读分析下面程序后,写出程序的运行结果。#include<stdio.h> 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<stdio.h> voidmain(){intx;scanf(″%d″,&x);if(x%5==0&&x%7==0)printf(″yes″);elseprintf(″no″);}22.阅读下面的程序并回答问题#include<stdio.h> voidmain(){chara[20]=″1234567890″;inti;i=8;printf(″%s\n″,&a[i-3]);}(1)数组中a[10]号元素中存储的是什么字符?(2)请写出程序的运行结果。23.写出下面程序的运行结果。#include<stdio.h> 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<stdio.h> 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<stdio.h> voidmain(){char*str[]={″Pascal″,″CLanguage″,″Dbase″,″Cobol″};intk;for(k=0;k<4;k++)printf(″%s\n″,str[k]);}27.阅读分析下面程序并写出运行结果。#include<stdio.h> voidmain(){char*a[]={″Pascal″,″CLanguage″,″dBase″,″Cobol″};intj;for(j=3;j>=0;j--)printf(″%s\n″,a[j]);}28.阅读下面程序,写出运行结果。#include<stdio.h>#include<string.h>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<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> voidcat(chars,chart){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<stdio.h> longfactor(intm){longintfc;if(m==0¦¦m==1)fc=1;elsefc=factor(m-1)*m;return(fc);}voidmain(){intn;longintfac;for(n=1;n<5;n++){fac=factor(n);printf(″%Id\n″,fac);}}35.写出下面程序的运行结果。#include<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> 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<stdio.h> voidmain(){staticinta[]={5,3,7,2,1,5,4,10};

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论