C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx

上传人:b****3 文档编号:26837075 上传时间:2023-06-23 格式:DOCX 页数:38 大小:25.87KB
下载 相关 举报
C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx_第1页
第1页 / 共38页
C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx_第2页
第2页 / 共38页
C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx_第3页
第3页 / 共38页
C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx_第4页
第4页 / 共38页
C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx_第5页
第5页 / 共38页
点击查看更多>>
下载资源
资源描述

C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx

《C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx》由会员分享,可在线阅读,更多相关《C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx(38页珍藏版)》请在冰豆网上搜索。

C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改.docx

C语言程序的设计实验指导上交大课前练习改错完善程序课后练习参考答案10修改

实验一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)day

2.

(1)c

(2)a*a+b*b

(3)c

3.

(1)4

(2)4*a

(3)s

课后练习

1.D

2.D

3.A

4.C

5.C

6.C

7.stdio.h

8.main函数

实验二数据类型、运算符和表达式

课前练习

1.208700

2.Abs3Class_elsesummy_class、

3blocka+bforfun(4)a-b

3.B

4.D

5.A

6.C

7.D

8.B

实验容

(一)程序改错

1.

(1)intx1,x2,x3,x4;

(2)scanf("%d,%d",&a,&b);

(3)c=x4*1000+x2*100+x3*10+x1;

2.

程序1:

①22

2errorC2065:

'a1':

undeclaredidentifier

变量a1没有定义

sum=a+b+c

③1

errorC2146:

syntaxerror:

missing';'beforeidentifier'printf'

printf语句之前缺少分号

sum=a+b+c;

④0error(s),0warning(s)

⑤a=1b=3c=2sum=6

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

程序2:

①22

②errorC2065:

'sum':

undeclaredidentifier

变量sum没有定义

intsum=a+b;

1

errorC2086:

'c':

redefinition

变量c重复定义

c=a+b+sum;

③a=1b=3sum=8

④在同一个函数体,变量要先定义后使用,但不能重复定义

程序3:

①1

errorC2106:

'=':

leftoperandmustbel-value

赋值符号左边参数错误

c=a+b;

②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)s

2.

(1)floats

(2)(float)a/b

(3)%f

3.

(1)#include

(2)pow(x,y)

(3)“%lf”,s

课后练习

1.D

2.D

3.A

4.B

5.C

6.D

7.D

8.A

9.C

10.A

11.A

12.B

13.B

14.C

15.B

16.A

17.C

18.8

19.5和4

20.2.000000

21.double(删除最后“语句”两字)

22.double

23.a=3(回车)

实验三if选择结构语句

课前练习

1.90

2.110

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>0

4.-1

5.D

6.103040

7.C

8.A

9.D

10.A

实验容

(一)程序改错

1.

(1)scanf("%d",&t);

(2)if(t%5==0&&t%7==0)

(3)else

2.

(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

(2)(-b+sqrt(d))/(2*a);

(3)sqrt(fabs(d))/(2*a);

2.

(1)c>='a'&&c<='u'

(2)c>='v'&&c<='z'

(3)c=c+5-26;

3.

(1)c>='a'&&c<='z'

(2)c>='A'&&c<='Z'

(3)else

课后练习

1.D

2.C

3.A

4.A

5.B

6.C

7.C

8.C

9.B

10.D

11.A

12.D

13.D

14.A

15.2,0

16.A

17.D

18.A

19.D

20.B

21.C

22.!

23.D

24.C

25.D

26.B

实验四switch开关语句

课前练习

1.411

2.

if((k==1)||(k==2)

printf("a\n");

elseif((k==3)||(k==4)||(k==5))

printf("b\n");

else

printf("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%10

(二)完善程序

1.

(1)grade/10

(2)break

(3)default

2.

(1)x<0

(2)a=x/10

(3)a

3.

(1)month

(2)days=31

(3)(year%4==0&&year%100!

=0)||(year%400==0)

课后练习

1.C

2.D(将程序最后一条语句改为:

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

3.A

4.B

5.pass中

及格

不及格

6.2

实验五while、do…while循环结构语句

课前练习

1.0

2.10

3.A

4.C

5.A

6.A

7.C

实验容

(一)程序改错

1.

(1)longk=1;

(2)num/=10;

(3)while(num);

2.

(1)intm=0,mc=0,j;

(2)if((k%7==0)||(k%11==0))

(3)m=m+k

3.

(1)max=min=grade;

(2)while(grade>=0)

(3)if(grade

(二)完善程序

1.

(1)t%2==0

(2)m=m*10+t;

(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.A

2.A

3.D

4.B

5.A

6.C

7.A

8.30

实验六for循环结构语句

课前练习

1.C

2.D

3.C

4.for(i=100;i!

=0;i--)printf("p");

5.D

6.C

7.D

8.k<=n

k++

9.A

10.C

11.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=t%1000;

3.

(1)inti,count=0;

(2)if((i%7==0||i%11==0)&&(i%77!

=0))

(3)count++;

(二)完善程序

1.

(1)s=0.0

(2)scanf("%d",&n)

(3)s+1.0/s1

2.

(1)i%100

(2)a+b+c==x

(3)t++

3.

(1)2

(2)n

(3)n%i==0

课后练习

1.A

2.B

3.C

4.A

5.D

6.C

7.A

8.B

9.A

10.C

实验七循环控制语句

课前习题

1.D

2.循环语句

3.break

4.A

5.20

6.66

7.8

8.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

(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)total+sum;

3.

(1)j=(y%100)/10;

(2)i!

=j&&i!

=k&&k!

=j

(3)t%5==0

课后练习

1.D

2.C

3.D

4.B

5.C

6.B

7.A

8.91

9.107

10.x=16y=8

实验八函数的初步应用

课前练习

1.voidreturn

2.C

3.A

4.C

5.73

6.C

7.D

8.D

9.A

实验容

(一)程序改错

1.

(1)intfun(inta,intb,intc)

(2)if(a+b>c&&b+c>a&&a+c>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(i+100)&&f(i+168)

2.

(1)x

(2)s1+s2+s3==15

(3)t++

3.

(1)f

(2)returnf

(3)fun(n)

课后练习

1.C

2.C

3.A

4.D

5.A

6.B

7.B

8.A

9.A

10.C

11.A

12.A

13.B

14.D

15.10,20

16.131112

17.2

18.31

19.-31

20.221

21.22

22.main函数

23.returnvoid

24.voidint

实验九函数的其他应用

课前练习

1.B

2.A

3.A

4.C

5.D

6.D

7.55

8.C

9.D

10.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%10)

(2)case1:

c1++;break;

(3)case2:

c2++;break;

(二)完善程序

1.

(1)#definef1(x,y)x*y

(2)#definef2(a,b)(a)*(b)

(3)#include

2.

(1)1248

(2)1212

3.

(1)23

1385

23

15105

23

(2)略

课后习题

1.C

2.C

3.A

4.C

5.D

6.A

7.A

8.13

9.110

10.9

11.40

12.10

13.27

14.auto

15.6720

16.48

17.12

18.5,25

19.6

20.3

实验十一维数组

课前练习

1-3.BDD

4.248

5.B

6.intss[s];

7.3715

8.654,321

实验容

(一)程序改错

1.

(1)scanf("%f",a);改为scanf("%f",&a);

(2)max=min=avg=a[1];改为max=min=avg=a[0];

(3)if(mina[i])或if(a[i]

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=%fcount=%f\n",s,count);改为printf("s=%dcount=%d\n",s,count);

(二)完善程序

1.

(1)k=p

2.

(1)#include

(2)aver=s/N

(3)s=fabs(a[i]-aver)

(4)printf(“%f”,t)

3.

(1)s=i*3+j*5

(2)break

(3)a[k]!

=0&&s!

=0

课后练习

1-2.DC

3.I=1、x[I-1]

4.012,201

5.47,17

6.15,12

7.6,2

8.234,556

9.023,235,71113

实验十一二维数组

课前练习

1.A

2.96、8

3-6.BBDB

7.x<4、y<3、z==3

8.0、10、210、3210

实验容

(一)程序改错

1.

(1)s1=s2=s3=s4=0改为s1=0,s2=0,s3=0,s4=0

(2)s2=s2+a[m][j]改为s2=s2+a[m-1][j]

(3)for(i=0;i

(4)s=s1-s2-s3-s4改为s=s1+s2+s3+s4

2.

(1)inta[3][3],sum改为inta[3][3],sum=0

(2)scanf("%d",a[i][j])改为scanf("%d",&a[i][j])

(3)sum=sum+a[i][j]改为sum=sum+a[i][i]

(4)sum=%f\n改为sum=%d\n

3.

(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=i+2)

(3)sum=*a[i][j]改为sum*=a[i][j]

(二)完善程序

1.

(1)sum=0

(2)a[i][i]

2.

(1)i

(2)j

(3)a[i][j]

(4)printf("\n")

3.

(1)printf("\n")

(2)(j+2)%3

(3)printf("\n")

课后练习

1-3.CDD

4.8

5.sum1=38,sum2=34

6.A

7.16

8.100,120,358

9.11,1331

10.

13610

259

48

7

实验十二数组与函数

课前练习

1-3.ACB

4.改变、不改变

5.D

实验容

(一)程序改错

1.

(1)fun(inta[],intn)改为doublefun(inta[],intn)

(2)inti,n;改为inti;

(3)doubles;改为doubles=0;

(4)s=s+a(i);改为s=s+a[i];

(5)ave=fun(a[],n);改为ave=fun(a,n);

2.

(1)floatj=0;改为floatxa=0;

(2)j<=n改为j

(3)j<=n改为j

(4)returnxa改为returnc

3.

(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.DC

3.-1、2

4.22

5.3、6、9

6.1、a[i-1][j-1]+a[i-1][j]、j<=i

7.1、121、1331

8.134567、3456、Endofmain()!

9.012、345

10.234、123、234

实验十三字符数组与字符串

课前练习

1-5.BCDBD

6.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

(3)i=k改为k=i

(二)完善程序

1.

(1)s[i]!

='\0'

(2)s[i]='A'

(3)s[i]+=1

(4)s

2.

(1)strlen(s)

(2)s[i]!

='\0'

(3)s[i]>='A'&&s[i]<='Z'

(4)fun(s)

课后练习

1-5.DAACB

6.7

7.GL

8.diane

9.France、England、China、Australia

10.Simon、Niku、Josiah、George

11.strlen(s)、s[i]>=’a’&&s[i]<=’z’、s[i]+32、’\0’、s2[j]!

=s2[n2-j-1]、j

实验十四指针与一维数组

课前练习

1.DDDAC

2.5

实验容

(一)程序改错

1.

(1)printf("%d",p+i)改为printf("%d",*(p+i))

(2)m=0改为m=i

(3)k=m改为m=k

(二)完善程序

1.

(1)math.h

(2)&b

(3)*pb

2.

(1)n

(2)*(p+i-1)*3-1

课后练习

1.4

2-11.BBBACDACAA

12.2、2

13.3、7

14.4、16、64

15.36、214

16.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+=32

2.

(1)s

(2)*p!

='\0'

(3)*p-'0'

课后练习

1-9.BDCDDCBAD

10.gae

11.65、7、8、76

12.b5、c7、h10

13.432156、432651

14.jih、gfe、dcba

实验十六指针与函数

课前练习

1-2.BB

3.100200

4.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

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[i+1]

(3)n-1

(4)f==1

课后练习

1-4.DCCD

5.10,15,15,10

6.2143

7.ia[j]、”%d”,p+i、”%d”,*(p+i)

8.4、5、64

9.36、94

10.*p1=15、*p2=0

11.43210、98765

12.10、15、19

实验十七结构体、共同体和枚举类型

课前习题

1.B

2.D

3.A

4.B

5.D

6.A

7.B

8.C

9.A

10.A

实验容

(一)程序改错

1.

(1)enumday{sun,mon,tue,wed,thu,fri,sat};

(2)scanf("%s",s);

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

当前位置:首页 > 医药卫生 > 基础医学

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

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