C实验报告1参考答案 下载本文

《高级语言程序设计》实验报告

班级: 学号: 姓名: 成绩:

实验1熟悉Visual C++6.0环境及运行C程序

一、实验目的

1.掌握在Visual C++6.0环境下C程序的建立、编辑、编译和执行过程。 2.掌握C程序的最基本框架结构,完成简单程序的编制与运行。 3.了解基本输入输出函数scanf()、printf ()的格式及使用方法。

4.掌握发现语法错误、逻辑错误的方法以及排除简单错误的操作技能。

二、实验内容

1.下列程序的功能是:从键盘输入两个数a和b,求它们的平方和,并在屏幕上输出。输入该C程序,编译并运行之,记下屏幕的输出结果,以文件名sy1_1.c保存。

#include main() {

int a,b,sum; /*定义整型变量a、b、sum */ printf(\ /*输出提示信息*/

scanf(\ /*从键盘输入两个整数分别赋予a和b*/ sum=a*a+b*b; /*赋值语句,把a2+b2的结果赋给变量sum*/ printf(\ /*输出语句*/ } 该程序的运行结果: Please Input a,b 2 4 2*2+4*4=20

2. 改错题 在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。 (1)下列程序的功能为:计算x*y的值并将结果输出。试纠正程序中存在的错误,以实现其功能。程序以文件名sy1_2.c保存。

#include

main main()

{ int x=2;y=3;a int x=2;y=3;a;

1

A=x*y a=x*y;

print ('a=%d\ printf (\a=%d\a); printf(\; } 该程序的运行结果: a=6

(2)下程序的功能为:求两数中的较大数据并输出。纠正程序中存在的错误,以实现其功能。程序以文件名sy1_3.c保存。

#include

viod main() void main() {

int a ,b , max;

Scanf(“%d,%d”,&a,&b); scanf(“%d,%d”,&a,&b); Max=a; max=a;

If (max

该程序的运行结果:

5,3 max=5 3.程序填空题

(1)从键盘输入两个整数,输出这两个整数的和。根据注释信息填写完整程序,以实现其功能。以文件名sy1_4.c保存。

#include main() {

int x,y,total; /* 定义整型变量x,y,total*/ printf(\ /* 输出提示信息 */

scanf(“%d%d”,&x,&y); /* 由键盘输入两个数分别赋予x和y*/ total=x+y; /* 赋值语句 */

printf(\ /* 输出两个整数的和 */ }

该程序的运行结果:

Please input x,y !2 4

2+4=6

2

(2)从键盘输入两个整数,输出这两个整数的差。根据注释信息填写完整程序,以实现其功能。程序以文件名sy1_5.c保存。 该程序的运行结果: #include

Input a,b please !20 17 main()

20-17=3 {

int a,b,m; printf(\

scanf(\

_m=a-b;___ /* 赋值语句,将a和b的差值赋给m */

_printf(“%d-%d=%d\\n”,a,b,m);_ /* 输出a 和b差的结果值后换行 */ }

4.编程题 (1)编程序,运行后输出如下信息:“Better City,Better Life!”。程序以文件名sy1_6.c保存。

#include main() {

printf(\ }

(2)编程序,从键盘输入3个整数,输出它们的平方和。程序以文件名sy1_7.c保存。 #include main() {

int a,b,c,sum;

printf(\ scanf(\ sum=a*a+b*b+c*c;

printf(\}

该程序的运行结果: Please Input a,b,c 2,3,4 2*2+3*3+4*4=29 3

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

一、实验目的

1.理解C语言中各种数据类型的意义,掌握各种数据类型的定义方法。 2.掌握C语言常量、变量的定义与使用。 3.掌握C语言数据类型及运算符的使用规则。

二、实验内容

1.改错题 在程序中画出错误的语句,将修改后的语句完整地写在该语句的右边。 (1)下列程序的功能为:已知圆锥半径r和高h,计算圆锥体积v。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_1.c保存。计算圆锥体积的公式为:

#include stdio.h #include main(); main()

{ float r=10,h=5; float r=10,h=5,v;

v=1/3*3.14159*r^2*h; v=1.0/3*3.14159*r*r*h; printf(\ printf(\; }

该程序的运行结果:

v=523.598333

(2)下列程序的功能为:通过键盘输入两个整数分别存放在变量x、y中,不借用第3个变量实现变量x、y互换值。纠正程序中存在的错误,以实现其功能。程序以文件名sy2_2.c保存。

#include main() { int x,y; printf(\请输入两个整数\\n\ scanf(\ scanf(\&x, &y); printf(\初始状态下的x:%d y: %d\\n\,x,y ); x=x+y x=x+y; y=x-y; x=x-y;

printf(\最终状态下的x:%d y: %d/n\}

该程序的运行结果: 请输入两个整数 2 5 4 初始状态下的x:2 y: 5

最终状态下的x:5 y: 2

2.程序填空题

(1) 计算当x=4时,公式y?1?x3x2?4x?10×2x2 的值。补充完善程序,以实现

其功能。程序以文件名sy2_3.c保存。

#include main() {

float x=4.0,y;

y=(1+x*x*x)/(x*x+4*sqrt(x)+10)*2*x*x; printf(\}

该程序的运行结果: 61.176471

(2) 下列程序的功能为:从键盘输入3个整数分别存入变量a、b、c,然后,将变量a的值存入变量b,将变量b的值存入变量c,将变量c的值存入变量a,输出经过转存后变量a、b、c的值。(提示:使用中间变量)补充完善程序,以实现其功能。程序以文件名sy2_4.c保存。

#include

该程序的运行结果: main ()

Please input a,b,c:1 2 3 {

a=3 int a,b,c, t ;

b=1 printf(\

c=2 scanf(\ t=a ; a=c ; c=b ; b=t ; printf(\}

3.编程题

(1)从键盘输入3个大写英文字母,把它们转换成小写字母后输出。程序以文件名sy2_5.c保存。

该程序的运行结果: #include

ABC main()

abc 5