高级语言程序设计(C)实验与练习答案

  • 格式:doc
  • 大小:126.81 KB
  • 文档页数:20

下载文档原格式

  / 20
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "stdio.h"
main()
{
int x,y;
printf("请输入两个整数\n");
scanf("%d%d",x, y);
printf("初始状态下的x:%d y: %d\n");
x=x+y
y=x-y;
x=x-y;
printf("最终状态下的x:%d y: %d/n",x,y);
#include <stdio.h>
main()
{
int x,y,t;
printf("请输入x,y:\n");
scanf("%d%d",&x,&y);
if (x<y)
{ t=x;x=y;y=t;} //x与y交换
printf("交换后的x:%d y:%d\n",x,y);
#include <stdio.h>
main()
{
int a,b,c,m;
printf("Please input a,b,c: ");
scanf("%d%d%d",&a,&b,&c);
m=a;
a=c;
c=b;
b=m;
printf("a=%d b=%d c=%d\n",a,b,c);
}
4.编程题
(1)编写一个程序实现如下功能:从键盘输入三个大写英文字母,把它们转换成小写字母后输出(程序以文件名sy1_10.c存盘)。
②x=25%(c=3)
③x*=x+=x-=x
④x=(a=4%3,a=1)
验证程序:
#include<stdio.h>
main()
{
int x,a,b,c;
x=a=b=10;
printf("x=%d\n",x);
x=25%(c=3);
printf("x=%d\n",x);
x*=x+=x-=x;
printf("x=%d\n",x);
#include <stdio.h>
main()
{int a,b;
float x;
scanf("%d,%d",a,b);
x=2ab/(a+b)(a+b);
printf("x=%d\n",x);

改正后的程序:
#include <stdio.h>
main()
{ int a,b;
float x;
scanf("%d,%d",&a,&b);
实验一(1)C程序运行环境及简单程序的运行
(解答)
P23
1.编辑、运行简单的C程序
下面是一个简单的C程序,请输入、编译并运行之,观察并记下屏幕的输出结果,最后以文件名sy1_1.c存盘。
#include <stdio.h>
main()
{
int a,b,sum,m,f;/*定义整型变量a,b,sum,m,f*/
main()
{ int x=2,y=3,a;
a=x*y;
printf("a=%d",a);
printf("\n");
}
(2)下列程序的功能为:计算圆面积并将结果输出;请纠正程序中存在错误(程序中有8处错误),使程序实现其功能,程序以文件名sy1_3.c存盘。
#include stdio.h;
main();
scanf("%f%f",&r,&h);;
l=2*pi*r;
s=pi*r*r;
sq=4*pi*r*r;
vq=3.0/4*pi*r*r*r;
vz=pi*h*r*r;
printf("圆周长为:%.2f\n",l);
printf("圆面积为:%.2f\n", s);
printf("圆球表面积为:%.2f\n", sq);
x=(a=4%3,a=1);
printf("x=%d\n",x);
}
运行结果:
2.改错题
(1)下列程序的功能为:已知圆锥半径r和高h,计算圆锥体积v。请纠正程序中存在错误(程序中有7处错误),使程序实现其功能,程序以文件名sy1_6.c存盘。
#include stdio.h
main();
{floatr=10,h=5;
(周长l=2 ,圆面积s= ,圆球表面积sq= ,圆球体积vq= ;圆柱体积vz= )
请填写适当的符号或语句,使程序实现其功能,程序以文件名sy2_5.c存盘。
#include <stdio.h>
main()
{
float pi,h,r,l,s,sq,vq,vz;
pi=3.1415926;
printf("请输入圆半径r,圆柱高h:\n");
#include <stdio.h>
main()
{ float c,f;
printf("请输入一个华氏温度:\n");
scanf("%f",f);
c= =(5/9)*(f-32);
printf("摄氏温度为:%5.2f\n"c);
}
改正后的程序:
#include <stdio.h>
main()
{
float c,f;
printf("请输入一个华氏温度:\n");
scanf("%f",&f);
c=(5.0/9)*(f-32);
printf("摄氏温度为:%5.2f\n",c);
}
(2)下列程序的功能为:按下列公式计算并输出x的值。其中a和b的值由键盘输入。
x=2ab/(a+b)2
请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy2_2.c存盘。
printf("第2行为:%c%c%c%c\n",x,y,y,z);
}
改正后源程序:
#include "stdio.h"
main()
{
char x,y,z;
x='a';
y='\t';
z='b';
printf("第1行为:%c%c%c\n",x,y,z);
printf("第2行为:%c%c%c%c\n",x,y,y,z);
}
运行结果:
实验一(2)数据类型、运算符和表达式
P26
1.若有定义“int x,a,b,c;”,写出顺序执行下列表达式后x的值,然后通过程序(程序以文件名sy1_5.c存盘)验证。
要求:先利用操作系统自带的计算器按表达式的运算次序计算下列表达式的结果,然后利用验证程序计算表达式的结果。
①x=a=b=10
x=2.0*a*b/((a+b)*(a+b));
printf("x=%f\n",x);
}
(3)下列程序的功能为:从键盘输入一个大写字母,要求改用小写字母输出。请纠正程序中存在的错误,使程序实现其功能,程序以文件名sy2_3.c存盘。
#include <stdio.h>
main()
{
char c1,c2;
c1=getchar; /*输入大写字符*/
printf("%c,%d\n",c1,c1);
c2=c1-26; /*转变为小写*/
printf("%c,%d\n",c2,c2); /*输出*/
}
改正后的程序:
#include <stdio.h>
main()
{
charLeabharlann Baiduc1,c2;
c1=getchar();/*输入大写字符*/
float r;area;
r=5.0;
area=3.14159r*r;
printf("area=%d\n",area)
改正后源程序:
#include <stdio.h>
main()
{ float r,area;
r=5.0;
area=3.14159*r*r;
printf("area=%f\n",area);
}
改正后源程序:
#include "stdio.h"
main()
{
int x,y;
printf("请输入两个整数\n");
scanf("%d%d",&x,&y);
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);
printf("%c,%d\n",c1,c1);
c2=c1+32;/*转变为小写*/
printf("%c,%d\n",c2,c2); /*输出*/
}
2.程序填空
(1)下列程序的功能为:给定格式输入数据,按输出要求输出结果,请填写适当的符号或语句,使程序实现其功能,程序以文件名sy2_4.c存盘。
输入形式enter x,y:23.4
printf("圆球体积为:%.2f\n", vq);
printf("圆柱体积为:%.2f\n", vz);
}
(3)下列程序的功能为:通过键盘输入两个整数,分别存入变量x,y中,当x小于y时,通过中间变量t互换x,y之值,并输出之。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy2_6.c存盘。
printf("%d - %d=%d\n",a,b,m);
printf("%d * %d=%d\n",a,b,f);
printf("%d / %f=%f\n",a,2,d);
}
运行结果:
2.改错题
(1)下列程序的功能为:计算x*y的值并将结果输出;请纠正程序中存在错误(程序中有8处错误),使程序实现其功能,程序以文件名sy1_2.c存盘。
参考程序:
#include "stdio.h"
main()
{
int a,b,c;
printf("请输入两个整数\n");
scanf("%d%d",&a,&b);
c=a*a+b*b;
printf("c=%d\n",c);
实验二设计并运行简单的C程序
(解答)
1.改错题
(1)下列程序的功能为:输入一个华氏温度,要求输出摄氏温度。公式为:C= ,输出取2位小数。请纠正程序中存在的错误(程序中有3处错误),使程序实现其功能,程序以文件名sy2_1.c存盘。
参考程序:(注意输入必须是大写字母)
#include <stdio.h>
main()
{
char c1,c2,c3;
scanf("%c,%c,%c",&c1,&c2,&c3);
c1=c1+32;
c2=c2+32;
c3=c3+32;
printf("%c,%c,%c\n",c1,c2,c3);
}
(2)编写一个程序实现如下功能:从键盘输入两个整数a、b,求a2+b2的值并输出(程序以文件名sy1_11.c存盘)。
v=1/3*3.14159*r^2*h;
printf("v=%d\n",v)
}
改正后源程序:
#include <stdio.h>
main()
{ float r=10,h=5,v;
v=1.0/3*3.14159*r*r*h;
printf("v=%f\n",v);
}
(2)下列程序的功能为:通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。请纠正程序中存在错误,使程序实现其功能,程序以文件名sy1_7.c存盘。
输出形式x+y=5.4
#include <stdio.h>
main()
{
int x;
float y;
printf("enter x,y:");
scanf("%d%f",&x,&y);
printf("x+y=%.1f\n",x+y);
}
(2)下列程序的功能为:设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据r、h,输出计算结果,输出时要求有文字说明,取小数点后2位数字。
}
3.程序填空
(1)下列程序的功能为:输出小写字母a,b,请填写适当的符号,使程序实现其功能,程序以文件名sy1_8.c存盘。
#include <stdio.h>
main()
{
char c1,c2;
c1=97;c2=98;
printf("%c,%c",c1,c2);
}
(2)下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)。请填写适当的符号或语句,使程序实现其功能,程序以文件名sy1_9.c存盘。
#include <stdio.h>
main// main改为main()
{int x=2;y=3;a//改为int x=2,y=3,a;
A=x*y//改为a=x*y;
print ('a=%d",a);//改为printf('a=%d",a);
printf("\n");
}
改正后源程序:
#include <stdio.h>
float d;/*定义实型变量d */
printf("Please Input a,b\n");/*输出语句*/
scanf("%d%d",&a,&b);/*输入语句由键盘输入两个数分别赋予a和b*/
sum=a+b;/*赋值语句*/
m=a-b;
f=a*b;
d=a/2.0;
printf("%d + %d=%d\n",a,b,sum);/*输出语句*/
}
(3)下列程序的功能为:正确使用控制字符(水平制表符);请纠正程序中存在错误,使程序实现其功能,程序以文件名sy1_4.c存盘。
#include "stdio.h"
main()
{
char x,y,z;
x=”a”;
y='/t';
z=”b”;
printf("第1行为:%c%c%c\n",x,y,z);