C语言程序设计实验指导_上交大_课前练习-改错-完善程序-课后练习参考答案
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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
实验四
课前练习
1.4 11
2.
if((k==1)||(k==2)
printf("a\n");
else if((k==3)||(k==4)||(k==5))
printf("b\n");
(二)完善程序
1.
(1) int n
(2)”%d”,&n
(3)s
2.
(1)floats
(2)(float)a/b
(3)%f
3.
(1)#include<math. h>
(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
(2)while(grade>=0)
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中
及格
实验一
实验内容
(一)程序改错
1.
(1)无法运行
(2)将第二个C程序重新存放到另一个工程文件中
(3)同一个工程文件只能有一个main函数
2.
(1)/*一个简单的程序*/
(2)void main()
(3)}
3.
(1)int a,b,c;
(2)a=2;
(3)c=a*b;
(二)完善程序
1.
(1)year
(2)month
1.
(1)switch(x)
(2)case 4:
(3)default:
2.
(1)a=s/250;
(2)case 0:d=0;break;
(3)default:d=15;
3.
(1)else p=1;
(2)a=num/1000;
(3)num%10
(
1.
(1)grade/10
(2)break
(3)default
(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.10 30 40
7.C
8.A
9.D
10.A
实验内容
(
1.
(1)scanf("%d",&t);
(2)if(t%5==0 && t%7==0)
不及格
6.2
实验五
课前练习
1.0
2.10
3.A
4.C
5.A
6.A
7.C
实验内容
(一)程序改错
1.
(1)long k=1;
(2)num/=10;
(3)while(num);
2.
(1)int m=0,mc=0,j;
(2)if((k%7==0)||(k%11==0))
(3)m=m+k
3.
(1)max=min=grade;
3.B
4.D
5.A
6.C
7.D
8.B
实验内容
(一)程序改错
1.
(1)int x1,x2,x3,x4;
(2)scanf("%d,%d",&a,&b);
(3)c=x4*1000+x2*100+x3*10+x1;
2.
程序1:
①22
2error C2065: 'a1' : undeclared identifier
变量a1没有定义
sum=a+b+c
③1
error C2146: syntax error : missing ';' before identifier 'printf'
printf语句之前缺少分号
sum=a+b+c;
④0 error(s), 0 warning(s)
⑤a=1 b=3 c=2 sum=6
(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
(3)else
2.
(1)char y;
(2)if(x==0)
(3)printf("%c\n",y);
3.
(1)if(x==m)
(2){printf("Wrong\n");
(3)printf("Too low\n");}
(二)完善程序
1.
(1)#include<math.h>
(2)(-b+sqrt(d))/(2*a);
else
printf("c\n");
3.
switch (x)
{
case 1:
case 2:
case 3:printf("x\n");break;
case 19:
case 20:
case 21:printf("y\n");break;
default:printf("z\n");
}
实验内容
(一)程序改错
(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_elsesum my_class、
3block a+b for fun(4) a-b
④在同一个函数体内,变量要先定义后使用,但不能重复定义
程序3:
①1
error C2106: '=' : left operand must be l-value
赋值符号左边参数错误
c=a+b;
②c=4
③赋值符号左边只能是变量,不能是常量或表达式
3.
(1)t=a;
(2)a=b;;
(3)printf("a=%d\tb=%d\n",a,b);
14.C
15.B
16.A
17.C
18.8
19.5和4
20.2.000000
21.double(删除最后“语句”两字)
22.double
23.a=3(回车)
实验三
课前练习
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’
语句以分号结束;变量要先定义后使用。
程序2:
①22
②error C2065: 'sum' : undeclared identifier
变量sum没有定义
intsum=a+b;
1
error C2086: 'c' : redefinition
变量c重复定义
c=a+b+sum;
③a=1 b=3 sum=8
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
实验四
课前练习
1.4 11
2.
if((k==1)||(k==2)
printf("a\n");
else if((k==3)||(k==4)||(k==5))
printf("b\n");
(二)完善程序
1.
(1) int n
(2)”%d”,&n
(3)s
2.
(1)floats
(2)(float)a/b
(3)%f
3.
(1)#include<math. h>
(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
(2)while(grade>=0)
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中
及格
实验一
实验内容
(一)程序改错
1.
(1)无法运行
(2)将第二个C程序重新存放到另一个工程文件中
(3)同一个工程文件只能有一个main函数
2.
(1)/*一个简单的程序*/
(2)void main()
(3)}
3.
(1)int a,b,c;
(2)a=2;
(3)c=a*b;
(二)完善程序
1.
(1)year
(2)month
1.
(1)switch(x)
(2)case 4:
(3)default:
2.
(1)a=s/250;
(2)case 0:d=0;break;
(3)default:d=15;
3.
(1)else p=1;
(2)a=num/1000;
(3)num%10
(
1.
(1)grade/10
(2)break
(3)default
(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.10 30 40
7.C
8.A
9.D
10.A
实验内容
(
1.
(1)scanf("%d",&t);
(2)if(t%5==0 && t%7==0)
不及格
6.2
实验五
课前练习
1.0
2.10
3.A
4.C
5.A
6.A
7.C
实验内容
(一)程序改错
1.
(1)long k=1;
(2)num/=10;
(3)while(num);
2.
(1)int m=0,mc=0,j;
(2)if((k%7==0)||(k%11==0))
(3)m=m+k
3.
(1)max=min=grade;
3.B
4.D
5.A
6.C
7.D
8.B
实验内容
(一)程序改错
1.
(1)int x1,x2,x3,x4;
(2)scanf("%d,%d",&a,&b);
(3)c=x4*1000+x2*100+x3*10+x1;
2.
程序1:
①22
2error C2065: 'a1' : undeclared identifier
变量a1没有定义
sum=a+b+c
③1
error C2146: syntax error : missing ';' before identifier 'printf'
printf语句之前缺少分号
sum=a+b+c;
④0 error(s), 0 warning(s)
⑤a=1 b=3 c=2 sum=6
(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
(3)else
2.
(1)char y;
(2)if(x==0)
(3)printf("%c\n",y);
3.
(1)if(x==m)
(2){printf("Wrong\n");
(3)printf("Too low\n");}
(二)完善程序
1.
(1)#include<math.h>
(2)(-b+sqrt(d))/(2*a);
else
printf("c\n");
3.
switch (x)
{
case 1:
case 2:
case 3:printf("x\n");break;
case 19:
case 20:
case 21:printf("y\n");break;
default:printf("z\n");
}
实验内容
(一)程序改错
(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_elsesum my_class、
3block a+b for fun(4) a-b
④在同一个函数体内,变量要先定义后使用,但不能重复定义
程序3:
①1
error C2106: '=' : left operand must be l-value
赋值符号左边参数错误
c=a+b;
②c=4
③赋值符号左边只能是变量,不能是常量或表达式
3.
(1)t=a;
(2)a=b;;
(3)printf("a=%d\tb=%d\n",a,b);
14.C
15.B
16.A
17.C
18.8
19.5和4
20.2.000000
21.double(删除最后“语句”两字)
22.double
23.a=3(回车)
实验三
课前练习
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’
语句以分号结束;变量要先定义后使用。
程序2:
①22
②error C2065: 'sum' : undeclared identifier
变量sum没有定义
intsum=a+b;
1
error C2086: 'c' : redefinition
变量c重复定义
c=a+b+sum;
③a=1 b=3 sum=8