C语言程序设计试验指导-上交大-课前练习-改错-完善程序-课后练习参考答案-201810修改_第1页
C语言程序设计试验指导-上交大-课前练习-改错-完善程序-课后练习参考答案-201810修改_第2页
C语言程序设计试验指导-上交大-课前练习-改错-完善程序-课后练习参考答案-201810修改_第3页
C语言程序设计试验指导-上交大-课前练习-改错-完善程序-课后练习参考答案-201810修改_第4页
C语言程序设计试验指导-上交大-课前练习-改错-完善程序-课后练习参考答案-201810修改_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

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

文档简介

实验一VisualC++集成环境实验内容(一)程序改错(1)无法运行(2)将第二个C程序重新存放到另一个工程文件中(3)同一个工程文件只能有一个main函数(1)/*一个简单的程序*/(2)voidmain()(3))(1)inta,b,c;a=2;c=a*b;(二)完善程序(1)year(2)month(3)day(1)c(2)a*a+b*b(3)c(1)44*a(3)s课后练习1.D.D.A.C.C.C7.stdio.h8.main函数实验二数据类型、运算符和表达式课前练习20 8 70 0Abs3Classelsesummyclass、3blocka+bforfun(4)a-b3.B.D.A.C.D8.B实验内容(一)程序改错intx1,x2,x3,x4;scanf("%d,%d”,&a,&b);c=x4*1000+x2*100+x3*10+x1;程序1:2 2errorC2065:'al':undeclaredidentifier变量al没有定义sum=a+b+c③^ errorC2146:syntaxerror:missing';'beforeidentifier'printf'printf语句之前缺少分号sum=a+b+c;④0error(s),0warning(s)⑤a=1 b=3 c=2sum=6⑥语句以分号结束;变量要先定义后使用 程序2:① 22 ©errorC2065:'sum':undeclaredidentifier变量sum没有定义intsum=a+b;1errorC2086:'c':redefinition变量c重复定义c=a+b+sum;③a=1 b=3sum=8④在同一个函数体内,变量要先定义后使用,但不能重复定义程序3:①,errorC2106:'=':leftoperandmustbel-value赋值符号左边参数错误c=a+b;②c=4③赋值符号左边只能是变量,不能是常量或表达式t=a;a=b;;printf("a=%d\tb=%d\n”,a,b);(二)完善程序intn(2)"%d”,&n(3)s(1)floats(float)a/b(3)%f#include<math.h>pow(x,y)(3)"%lf”,s课后练习.D.D.A4.B.C.D.D.A.C.A11.A12.B13.B14.C15.B16.A17.C18.819.5和420.2.000000double(删除最后“语句”两字)doublea=3(回车)实验三if选择结构语句课前练习1.902.1103.(1)n%2==0(2)n%2!=0(3)a>=’0’&&a<二’9’(4)a>=’a’&&a<二’z’(5)a>=’A’&&a<二’Z’(6)(a>=’a’&&a<二’z’)||(a>=’A’&&a<二’Z)(7)(x<-10)||((x>10)&&(x<=20))a%b!=0a*b>0.-1.D.10 30 40.C.A.D.A实验内容(一)程序改错scanf("%d",&t);if(t%5==0&&t%7==0)elsechary;if(x==0)printf("%c\n",y);if(x==m){printf("Wrong\n");printf("Toolow\n");}(二)完善程序#include<math.h>(-b+sqrt(d))/(2*a);sqrt(fabs(d))/(2*a);c>='a'&&c<='u'c>='v'&&c<='z'c=c+5-26;c>='a'&&c<='z'c>='A'&&c<='Z'(3)else

课后练习1.D2.C3.A4.A5.B6.C7.C8.C9.B10.D11.A12.D13.D14.A15.2,016.A17.D18.A19.D20.B21.C22.!23.D24.C25.D26.B实验四switch实验四switch开关语句课前练习课前练习4 11if((k==1)||(k==2)printf("a\n");elseif((k==3)||(k==4)||(k==5))printf("b\n");elseprintf("c\n");3.switch(x)(case3:printf("x\n");break;rintf("y\n");break;default:printf("z\n");)实验内容(一)程序改错switch(x)case4:default:a=s/250;case0:d=0;break;default:d=15;elsep=1;a=num/1000;num%10(二)完善程序(1)grade/10(2)breakdefaultx<0a=x/10(3)a(1)monthdays=31(year%4==0&&year%100!=0)||(year%400==0)课后练习.C.D(将程序最后一条语句改为:printf("a=%d,b=%d\n",a,b);).A.B5.pass中及格不及格6.2实验五while、do…while循环结构语句课前练习1.02.10.A.C.A.A.C实验内容(一)程序改错(1)longk=1;(2)num/=10;(3)while(num);(1)intm=0,mc=0,j;if((k%7==0)||(k%11==0))m=m+kmax=min=grade;while(grade>=0)if(grade<min)(二)完善程序t%2==0m=m*10+t;n=n/10;ch=getchar()ch>='0'&&ch<='9'(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')fabs(t)s/npi*4课后练习.A.A.D.B.A.C.A8.30实验六for循环结构语句课前练习.C.D.C.for(i=100;i!=0;i--)printf("p");.D.C.D.k<=n k++.A.C.C实验内容(一)程序改错intsum=1,s0=0,s1=0,s2=1,s;for(n=4;n<=10;n++)s2=s;for(i=1;i<=y;i++)t*=x;t=t%1000;(1)inti,count=0;if((i%7==0||i%11==0)&&(i%77!=0))count++;(二)完善程序(1)s=0.0(2)scanf("%d”,&n)s+1.0/s1(1)i%100a+b+c==xt++(1)2(2)n(3)n%i==0课后练习1.A2.B3.C.A.D.C.A8.B.A.C实验七循环控制语句课前习题.D.循环语句.break.A5.20.6 67.88.B实验内容(一)程序改错inti,j,k,sum=0;for(i=1;i<=3;i++)if((k>=1&&k<=6)&&(i!=0)&&(j!=0)||(k==0))2.for(j=2;j<i;j++)if(i%j==0)(3)if(j>=i)(1)m=n;while(m!=0&&m>=c)if(m==0)(二)完善程序i<10j%3!=0continue;total=0;sum=0;total+sum;j=(y%100)/10;i!=j&&i!=k&&k!=jt%5==0课后练习.D.C.D4.B5.C6.B7.A9 110 7 x=16 y=8实验八函数的初步应用课前练习.voidreturn.C.A.C. 7 3.C.D.D9.A实验内容(一)程序改错intfun(inta,intb,intc)if(a+b>c&&b+c>a&&a+c>b)elseif(a==b||b==c||a==c)if(n==1)c=age(n-1)+2;(3)printf("%d\n”,age(5))(1)while(n!=i)if(n%i==0)n=n/i;(二)完善程序i*i==xreturn0f(i+100)&&f(i+168)(1)xs1+s2+s3==15t++f<t(2)returnf(3)fun(n)课后练习.C.C.A.D.A6.B7.B.A.A.C.A12.A13.B14.D15,10,2016,13111217,218.3 119.-3120,22121.22.main函数.returnvoid.voidint实验九函数的其他应用课前练习1.B2.A3.A4.C5.D6.D7.558.C9.D10.A实验内容(一)程序改错#defineSWAP(x,y)temp=x;x=y;y=tempinta,b,temp;SWAP(a,b);#defineDIV(m)(m)%3==0scanf("%d",&m);(3)if(DIV(m))switch(n%10)case1:c1++;break;case2:c2++;break;(二)完善程序TOC\o"1-5"\h\z(1)#definef1(x,y) x*y(2)#definef2(a,b) (a)*(b)#include<abc.h>(1)12 48(2)12 12(1)2 313 8 52 315 10 52 3(2)略课后习题.C.C.A.C.D.A.A. 1 3 9.11010.911. 4 012.1013.2714.auto15.6 72016.4817 1 218.5,2519.620.3实验十一维数组课前练习1-3.BDD248Bintss[s];3715654,321实验内容(一)程序改错scanf("%f",a);改为scanf("%f",&a);max=min=avg=a[1];改为max=min=avg=a[0];if(min<a[i])改为if(min>a[i])或if(a[i]<min)while(x[++i]!=0);改为while(x[i++]!=0);while(x[i]=0)改为while(x[i]==0)sum\=c;改为sum/=c;s=count=1;改为s=count=0;scanf("%d",a[i]);改为scanf("%d”,&a[i]);break;改为continue;printf("s=%fcount=%f\n",s,count);改为printf("s=%dcount=%d\n",s,count);(二)完善程序k=p#include<math.h>aver=s/Ns=fabs(a[i]-aver)printf("%f”,t)s=i*3+j*5breaka[k]!=0&&s!=0课后练习1-2.DCI=1、x[I-1]012,20147,1715,126,2234,556023,235,71113实验十一二维数组课前练习A96、83-6,BBDBx<4、y<3、z==30、10、210、3210实验内容(一)程序改错s1=s2=s3=s4=0改为s1=0,s2=0,s3=0,s4=0s2=s2+a[m][j]改为s2=s2+a[m-1][j]for(i=0;i<m;i++)改为for(i=1;i<m-1;i++)s=s1-s2-s3-s4改为s=s1+s2+s3+s4inta[3][3],sum改为inta[3][3],sum=0scanf("%d",a[i][j])改为scanf("%d",&a[i][j])sum=sum+a[i][j]改为sum=sum+a[i][i]sum=%f\n改为sum=%d\ninti,j,s,a[3][3],sum改为inti,j,s,a[3][3],sum=0for(i=0;i<3;i++)改为for(i=0;i<3;i=i+2)sum=*a[i][j]改为sum*=a[i][j](二)完善程序sum=0(2)a[i][i]i<Mj<N(3)a[i][j]printf("\n")printf("\n")(2)(j+2)%3printf("\n")课后练习1-3,CDD8sum1=38,sum2=34A16100,120,35811,133113610259487实验十二数组与函数课前练习1-3.ACB.改变、不改变.D实验内容(一)程序改错fun(inta[],intn)改为doublefun(inta[],intn)inti,n;改为inti;doubles;改为doubles=0;s=s+a(i);改为s=s+a[i];ave=fun(a[],n);改为ave=fun(a,n);floatj=0;改为floatxa=0;j<=n改为j<nj<=n改为j<nreturnxa改为returncsum=array[0]改为sum=0intscore[10]改为floatscore[10]scanf("%f",score)改为scanf("%f",&score)aver=average(score[10])改为aver=average(score)课后练习1-2.DC-1、2223、6、9a[i-1][j-1]+a[i-1][j]、j<=i1、121、1331134567、3456、Endofmain()!012、345234、123、234实验十三字符数组与字符串课前练习1-5,BCDBD6.strcmp(s1,s2)==0实验内容(一)程序改错charp[]改为charp[20]n=1;改为n=0;p[n]=='\0'改为p[n]!='\0'length(s[20])改为length(s)2.max=0改为max=p[0]max>p[i]改为max<p[i]i=k改为k=i(二)完善程序s[i]!='\0's[i]='A's[i]+=1(4)sstrlen(s)s[i]!='\0's[i]>='A'&&s[i]<='Z'fun(s)课后练习1-5.DAACB7GLdianeFrance>England、China、AustraliaSimon、Niku、Josiah、Georgestrlen(s)、s[i]>=’a’&&s[i]<=’z’、s[i]+32、,\0’、s2[j]!=s2[n2-j-1]、j<n3、f(s)实验十四指针与一维数组课前练习DDDAC5实验内容(一)程序改错printf("%d",p+i)改为printf("%d",*(p+i))m=0改为m=ik=m改为m=k(二)完善程序(1)math.h&b*pbn*(p+i-1)*3-1课后练习1.42-11.BBBACDACAA2、23、74、16、6436、21416.26、22、46实验十五指针与字符串课前练习1-6,CBAAAA实验内容(一)程序改错1.int*a=upper改为int*a=&upperint*b=lower改为int*b=&lower;a++改为(*a)++b++改为(*b)++(二)完善程序(1)*p!='\0'(2)*p<='Z'(3)*p+=32(1)s(2)*p!='\0'(3)*p-'0'课后练习1-9,BDCDDCBADgae65、7、8、76b5、c7、h10432156、432651jih、gfe、dcba实验十六指针与函数课前练习1-2.BB3.100 2004.B实验内容(一)程序改错scanf("%d",p)改为scanf("%d",p++)*p<*max改为*p>*maxif(max=arr)改为if(max==arr)while(i=0;i<n;i++);改为for(i=0;i<n;i++)2.intnum[]改为intnum[5]num[i]=0改为num[k]=0switch(s)改为switch(*s)num[k]++改为num[i]++(二)完善程序1.(1)int*x(2)x[i]==x[i+1](3)n-1(4)f==1课后练习1-4,DCCD10,15,15,102143i<n-1、a[i]>a[j]、"%d”,p+i、”%d”,*(p+i)8.4、5、649.36、9410.*p1=15、*p2=011.43210、9876512.10、15、19实验十七结构体、共同体和枚举类型课前习题1.B.D.A4.B.D.A7.B.C.A.A实验内容(一)程序改错enumday{sun,mon,tue,wed,thu,fri,sat};scanf("%s",s);(3)printf("明天是:%s\n",str[d+1]););structemployeeem[4]={{1,"wang”,25},{2,"li”,38},{3,"zhang”,30},{4,"qian”,45}};(3)if(em[i].age>35)3(1)strcpy(,"Liming");(2)s1.sex='F';(3)printf("%s\n",);(二)完善程序structDate&t,year,&t,month,&t.dayt.year,t.month,t.daystu[i].scorestu[i].score<=stu[j].scoresum/NSx[i].sex=='M'(3)n课后习题1.B.C.D.D.B6.37.0,6,7,8,158. 64,48 4,39.410. 0 111.712.structstudenta={1021,'M',"zhang"};13.8014.typedefintInteger实验十八文件操作课前练习1.FILE*zx2-4.BBC实验内容(一)程序改错FILEfp改为FILE*fpfopen("stu_list.txt","rb")改为fopen("stu_list.txt","wb")fwrite(stu[i]改为fwrite(&stu[i]fread(stu[i]改为fread(&stu[i](二)完善程序(1)FILENULL"filea.dat","r"!feoffgetc(fp)课后练习1-9,CDACBBDACfscanfa+12,123,45613.3.3实验十九指针与二维数组课前练习1-3.ADC实验内容(一)程序改错int*p[3]改为int(*p)[3]p[i][j]=(*(p+i)+j)

温馨提示

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

评论

0/150

提交评论