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

下载本文档

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

文档简介

实验一VisualC集成环境实验内容(一)程序改错1.(1)无法运行(2)将第二个C程序重新存放到另一个工程文件中(3)同一个工程文件只能有一个main函数2.(1)/*一个简单的程序*/(2)voidmain()(3)}3.(1)inta,b,c;(2)a=2;(3)c=a*b;(二)完善程序1.(1)year(2)month(3)day2.(1)c(2)a*ab*b(3)c3.(1)4(2)4*a(3)s课后练习1.D2.D3.A4.C5.C6.C

7.stdio.h8.main函数实验二数据类型、运算符和表达式课前练习1.

20

8

70

0

2.

Abs3

Class

_else

sum

my_class

、3block

ab

for

fun(4)

a-b

3.B4.D5.A6.C7.D8.B实验内容(一)程序改错1.(1)intx1,x2,x3,x4;(2)scanf("%d,%d",&a,&b);(3)c=x4*1000x2*100x3*10x1;2.程序1:①

2

2

2errorC2065:'a1':undeclaredidentifier变量a1没有定义sum=abc③

1

errorC2146:syntaxerror:missing';'beforeidentifier'printf'printf语句之前缺少分号sum=abc;④0error(s),0warning(s)⑤a=1

b=3

c=2

sum=6⑥

语句以分号结束;变量要先定义后使用

。程序2:①

2

2

②errorC2065:'sum':undeclaredidentifier变量sum没有定义intsum=ab;1errorC2086:'c':redefinition变量c重复定义c=absum;③a=1

b=3

sum=8④在同一个函数体内,变量要先定义后使用,但不能重复定义程序3:①

1errorC2106:'=':leftoperandmustbel-value赋值符号左边参数错误c=ab;②c=4③赋值符号左边只能是变量,不能是常量或表达式3.(1)t=a;(2)a=b;;(3)printf("a=%d\tb=%d\n",a,b);(二)完善程序1.(1)intn(2)”%d”,&n(3)s2.(1)floats(2)(float)a/b(3)%f3.(1)#include<math.h>(2)pow(x,y)(3)“%lf”,s课后练习1.D2.D3.A4.B5.C6.D7.D8.A9.C10.A11.A12.B13.B14.C15.B16.A17.C18.819.5和420.2.00000021.double(删除最后“语句”两字)22.double23.a=3(回车)实验三if选择结构语句课前练习1.

9

0

2.

11

0

3.(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))(8)a%b!=0(9)a*b>04.-15.D6.10

30

407.C8.A9.D10.A实验内容(一)程序改错1.(1)scanf("%d",&t);(2)if(t%5==0&&t%7==0)(3)else2.(1)chary;(2)if(x==0)(3)printf("%c\n",y);3.(1)if(x==m)(2){

printf("Wrong\n");(3)printf("Toolow\n");}(二)完善程序1.(1)#include<math.h>(2)(-bsqrt(d))/(2*a);(3)sqrt(fabs(d))/(2*a);2.(1)c>='a'&&c<='u'(2)c>='v'&&c<='z'(3)c=c5-26;3.(1)c>='a'&&c<='z'(2)c>='A'&&c<='Z'(3)else课后练习1.D2.C3.A

4.A5.B6.C7.C8.C9.B10.D11.A

12.D13.D14.A15.2,016.A17.D18.A19.D20.B21.C22.!23.D24.C25.D26.B实验四

switch开关语句课前练习1.

4

11

2.

if((k==1)||(k==2)printf("a\n");elseif((k==3)||(k==4)||(k==5))printf("b\n");elseprintf("c\n");3.switch(x){case1:case2:case3:printf("x\n");break;case19:case20:case21:printf("y\n");break;default:printf("z\n");}实验内容(一)程序改错1.(1)switch(x)(2)case4:(3)default:2.(1)a=s/250;(2)case0:d=0;break;(3)default:d=15;3.(1)elsep=1;(2)a=num/1000;(3)num(二)完善程序1.(1)grade/10(2)break(3)default2.(1)x<0(2)a=x/10(3)a3.(1)month(2)days=31(3)(year%4==0&&year0!=0)||(year@0==0)课后练习1.C2.D(将程序最后一条语句改为:printf("a=%d,b=%d\n",a,b);)3.A4.B5.

pass

中及格

不及格

6.2实验五while、do…while循环结构语句课前练习1.02.103.A4.C5.A6.A7.C实验内容(一)程序改错1.(1)longk=1;(2)num/=10;(3)while(num);2.(1)intm=0,mc=0,j;(2)if((k%7==0)||(k==0))(3)m=mk3.(1)max=min=grade;(2)while(grade>=0)(3)if(grade<min)(二)完善程序1.(1)t%2==0(2)m=m*10t;(3)n=n/10;2.(1)ch=getchar()(2)ch>='0'&&ch<='9'(3)(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')3.(1)fabs(t)(2)s/n(3)pi*4课后练习1.A2.A3.D4.B5.A6.C7.A8.30实验六

for循环结构语句课前练习1.C2.D3.C4.for(i=100;i!=0;i--)

printf("p");5.D6.C7.D8.

k<=n

k

9.A10.C11.C实验内容(一)程序改错1.(1)intsum=1,s0=0,s1=0,s2=1,s;(2)for(n=4;n<=10;n)(3)s2=s;2.(1)for(i=1;i<=y;i)(2)t*=x;(3)t=t00;3.(1)inti,count=0;(2)if((i%7==0||i==0)&&(iw!=0))(3)count;(二)完善程序1.(1)s=0.0(2)scanf("%d",&n)(3)s1.0/s12.(1)i0(2)abc==x(3)t3.(1)2(2)n(3)n%i==0课后练习1.A2.B3.C4.A5.D6.C7.A8.B9.A10.C实验七

循环控制语句课前习题1.D2.循环语句3.break4.A5.206.

6

6

7.88.B实验内容(一)程序改错1.(1)inti,j,k,sum=0;(2)for(i=1;i<=3;i)(3)if((k>=1&&k<=6)&&(i!=0)&&(j!=0)||(k==0))2.(1)for(j=2;j<i;j)(2)if(i%j==0)(3)if(j>=i)3.(1)m=n;(2)while(m!=0&&m>=c)(3)if(m==0)(二)完善程序1.(1)i<10(2)j%3!=0(3)continue;2.(1)total=0;(2)sum=0;(3)totalsum;3.(1)j=(y0)/10;(2)i!=j&&i!=k&&

k!=j(3)t%5==0课后练习1.D2.C3.D4.B5.C6.B7.A8.

9

1

9.

10

7

10.

x=16

y=8

实验八

函数的初步应用课前练习1.

void

return

2.C3.A4.C5.

7

3

6.C7.D8.D9.A实验内容(一)程序改错1.(1)intfun(inta,intb,intc)(2)if(ab>c&&bc>a&&ac>b)(3)elseif(a==b||b==c||a==c)2.(1)if(n==1)

(2)c=age(n-1)2;(3)printf("%d\n",age(5))3.(1)while(n!=i)(2)if(n%i==0)(3)n=n/i;(二)完善程序1.(1)i*i==x(2)return0(3)f(i100)&&f(i168)2.(1)x(2)s1s2s3==15(3)t3.(1)f<t(2)returnf(3)fun(n)课后练习1.C2.C3.A4.D5.A6.B7.B8.A9.A10.C11.A12.A13.B14.D15.10,2016.13

11

1217.218.

3

1

19.-3120.22121.2222.main函数23.

return

void

24.

void

int

实验九

函数的其他应用课前练习1.B2.A3.A4.C5.D6.D7.558.C9.D10.A实验内容(一)程序改错1.(1)#defineSWAP(x,y)

temp=x;x=y;y=temp(2)inta,b,temp;(3)SWAP(a,b);2.(1)#defineDIV(m)(m)%3==0

(2)scanf("%d",&m);(3)if(DIV(m))3.(1)switch(n)(2)case1:c1;break;(3)case2:c2;break;(二)完善程序1.(1)#define

f1(x,y)

x*y(2)#define

f2(a,b)

(a)*(b)(3)#include<abc.h>2.(1)

12

48

(2)

12

12

3.(1)2

313

8

52

315

10

52

3(2)略课后习题1.C2.C3.A4.C5.D6.A7.A8.

1

3

9.11010.911.

4

0

12.1013.2714.auto15.6

72016.4817.

1

2

18.5,2519.620.3实验十一维数组课前练习1-3.BDD4.24

85.B6.intss[s];7.37158.6

5

4,3

2

1实验内容(一)程序改错1.(1)scanf("%f",a);改为scanf("%f",&a);(2)max=min=avg=a[1];改为max=min=avg=a[0];(3)if(min<a[i])改为if(min>a[i])或if(a[i]<min)2.(1)while(x[i]!=0);改为while(x[i]!=0);(2)while(x[i]=0)改为while(x[i]==0)(3)sum\=c;改为sum/=c;3.(1)s=count=1;改为s=count=0;(2)scanf("%d",a[i]);改为scanf("%d",&a[i]);(3)break;改为continue;(4)printf("s=%f

count=%f\n",s,count);改为printf("s=%d

count=%d\n",s,count);(二)完善程序1.(1)k=p2.(1)#include<math.h>(2)aver=s/N(3)s=fabs(a[i]-aver)(4)printf(“%f”,t)3.(1)s=i*3j*5(2)break(3)a[k]!=0&&s!=0课后练习1-2.DC3.I=1、x[I-1]4.0

1

2,2

0

15.47,176.15,127.6,28.2

3

4,5

5

69.0

2

3,

2

3

5,

7

11

13实验十一二维数组课前练习1.A2.96、83-6.BBDB7.x<4、y<3、z==38.0、1

0、2

1

0、3

2

1

0实验内容(一)程序改错1.(1)s1=s2=s3=s4=0改为s1=0,s2=0,s3=0,s4=0(2)s2=s2a[m][j]改为s2=s2a[m-1][j](3)for(i=0;i<m;i)改为for(i=1;i<m-1;i)(4)s=s1-s2-s3-s4改为s=s1s2s3s42.(1)inta[3][3],sum改为inta[3][3],sum=0(2)scanf("%d",a[i][j])改为scanf("%d",&a[i][j])(3)sum=suma[i][j]改为sum=suma[i][i](4)sum=%f\n改为sum=%d\n3.(1)inti,j,s,a[3][3],sum改为inti,j,s,a[3][3],sum=0(2)for(i=0;i<3;i)改为for(i=0;i<3;i=i2)(3)sum=*a[i][j]改为sum*=a[i][j](二)完善程序1.(1)sum=0(2)a[i][i]2.(1)i<M(2)j<N(3)a[i][j](4)printf("\n")3.(1)printf("\n")(2)(j2)%3(3)printf("\n")课后练习1-3.CDD4.85.sum1=38,sum2=346.A7.168.1

0

0,1

2

0,3

5

89.1

1,1

3

3

1

10.1

3

6

102

5

94

87实验十二数组与函数课前练习1-3.ACB4.改变、不改变5.D实验内容(一)程序改错1.(1)fun(inta[],intn)改为doublefun(inta[],intn)(2)inti,n;改为inti;(3)doubles;改为doubles=0;(4)s=sa(i);改为s=sa[i];(5)ave=fun(a[],n);改为ave=fun(a,n);2.(1)floatj=0;改为floatxa=0;(2)j<=n改为j<n(3)j<=n改为j<n(4)returnxa改为returnc3.(1)sum=array[0]改为sum=0(2)intscore[10]改为floatscore[10](3)scanf("%f",score)改为scanf("%f",&score)(4)aver=average(score[10])改为aver=average(score)课后练习1-2.DC3.-1、24.225.3、6、96.1、a[i-1][j-1]a[i-1][j]、j<=i7.1、121、1

3

3

18.134567、3456、Endofmain()!9.0

1

2、3

4

510.2

3

4、1

2

3、2

3

4实验十三字符数组与字符串课前练习1-5.BCDBD6.strcmp(s1,s2)==0实验内容(一)程序改错1.(1)charp[]改为charp[20](2)n=1;改为n=0;(3)p[n]=='\0'改为p[n]!='\0'(4)length(s[20])改为length(s)2.(1)max=0改为max=p[0](2)max>p[i]改为max<p[i](3)i=k改为k=i(二)完善程序1.(1)s[i]!='\0'(2)s[i]='A'(3)s[i]=1(4)s2.(1)strlen(s)(2)s[i]!='\0'(3)s[i]>='A'&&s[i]<='Z'(4)fun(s)课后练习1-5.DAACB6.77.GL8.diane9.France、England、China、Australia10.Simon、Niku、Josiah、George11.strlen(s)、s[i]>=’a’&&s[i]<=’z’、s[i]32、’\0’、s2[j]!=s2[n2-j-1]、j<n3、f(s)实验十四指针与一维数组课前练习1.DDDAC2.5实验内容(一)程序改错1.(1)printf("%d",pi)改为printf("%d",*(pi))(2)m=0改为m=i(3)k=m改为m=k(二)完善程序1.(1)math.h(2)&b(3)*pb2.(1)n(2)*(pi-1)*3-1课后练习1.42-11.BBBACDACAA12.2、213.3、714.4、16、6415.36、21416.26、22、46实验十五指针与字符串课前练习1-6.CBAAAA实验内容(一)程序改错1.(1)int*a=upper改为int*a=&upper(2)int*b=lower改为int*b=&lower;(3)a改为(*a)(4)b改为(*b)(二)完善程序1.(1)*p!='\0'(2)*p<='Z'(3)*p=322.(1)s(2)*p!='\0'(3)*p-'0'课后练习1-9.BDCDDCBAD10.gae11.65、7、8、7612.b5、c7、h1013.432156、43265114.jih、gfe、dcba实验十六指针与函数课前练习1-2.BB3.100

2004.B实验内容(一)程序改错1.(1)scanf("%d",p)改为scanf("%d",p)(2)*p<*max改为*p>*max(3)if(max=arr)改为if(max==arr)(4)while(i=0;i<n;i);改为for(i=0;i<n;i)2.(1)intnum[]改为intnum[5](2)num[i]=0改为num[k]=0(3)switch(s)改为switch(*s)(4)num[k]改为num[i](二)完善程序1.(1)int*x(2)x[i]==x[i1](3)n-1(4)f==1课后练习1-4.DCCD5.10,15,15,106.21437.i<n-1、a[i]>a[j]、”%d”,pi、”%d”,*(pi)8.4、5、649.36、9410.*p1=15、*p2=011.43210、9876512.10、15、19实验十七结构体、共同体和枚举类型课前习题1.B2.D3.A4.B5.D6.A7.B8.C9.A10.A实验内容(一)程序改错1.(1)enum

day{sun,mon,tue,wed,thu,fri,sat};(2)scanf("%s",s);(3)printf("明天是:%s\n",str[d1]);2.(1)

};(2)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",);(二)完善程序1.(1)structDate(2)&t.year,&t.month,&t.day(3)t.year,t.month,t.day2.(1)stu[i].score(2)stu[i].score<=stu[j].score(3)sum/N3.(1)S(2)x[i].sex=='M'(3)n课后习题1.B2.C3.D4.D5.B6.37.0,6,7,8,158.

64,48

4,3

9.410.

0

1

11.712.structstudenta={1021,'M',"zhang"};13.8014.typedef

int

Integer实验十八文件操作课前练习1.FILE*zx2-4.BBC实验内容(一)程序改错1.(1)FILEfp改为FILE*fp(2)fopen("stu_list.txt","rb")改为fopen("stu_list.txt","wb")(3)fwrite(stu[i]改为fwrite(&stu[i](4)fread(stu[i]改为fread(&stu[i](二)完善程序1.(1)FILE(2)NULL2.(1)"filea.dat","r"(2)!feof(3)fgetc(fp)课后练习1-9.CDACBBDAC10.fsc

温馨提示

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

评论

0/150

提交评论