《c语言程序设计》实验报告(实验-2)

  • 格式:pdf
  • 大小:156.21 KB
  • 文档页数:11

《c语⾔程序设计》实验报告(实验-2)

《C语⾔程序设计》

实验报告2013~2014学年第⼆学期

班级

姓名

学号

指导教师

实验⼀

实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法

所使⽤的⼯具软件及环境:Visual C++ 6.0

⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;

2.通过运⾏简单的C程序,初步了解C源程序的特点。

⼆、预习内容:

教材《C语⾔程序设计教程》第1章。

三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:

#include

int main( )

{

printf("This is a C program.\n");

return 0;

}

2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调

试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。#include

int main( )

{

int a,b,sum

a=3;

b=4;

sun=a+b;

print(“%d+%d=%d\n”,a,b,sum);

return 0;}

四、实验结果:1. 运⾏结果(或截图):

This is a C program.

Press any key to continue

2. (1) 改正后的源程序:

#include

int main( )

{

int a,b,sum;

a=3;

b=4;

sum=a+b;

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

return 0;

}

(2) 运⾏结果(或截图):

3+4=7

五、思考题:1. ⼀个C程序上机的步骤有哪些?

答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?

答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。

成绩指导教师签名

实验⼆

实验项⽬名称:数据类型、运算符和表达式

所使⽤的⼯具软件及环境:Visual C++ 6.0

⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;

2.掌握常量及变量的使⽤⽅法;

3. 掌握基本算术运算符及其表达式的使⽤⽅法;

4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。

⼆、预习内容:

教材《C语⾔程序设计教程》第2章。

三、实验内容:1. 在Visual C++ 6.0环境下输⼊下⾯的程序,编译、连接、调试该程序。

main( )

{

char m,n;

m=280;

n=320;

printf(“%d\t%d\n”,m,n);

printf(“%c\t%c\n”,m,n);

}

2. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序,观察分析运⾏结果。

#include

int main( )

{

int a=3,b=4,c=8;

float d,e;

d=a+b/c;

e=a+(float)b/c;//请将此处d改为b

printf("d=%f,e=%f\n",d,e);

}

3. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序,观察分析运⾏结果。

#include

main( )

{

int a,b,c,d,i,j,m,n;

a=b=c=d=3;

i=a++;

j=++b;

m=c--;

n=--d;

printf("a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%d\n",a,b,c,d,i,j, m,n);

}

4. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序,观察分析运⾏结果。

#include

main( )

{int a=4;

a+=a-=a*a+a;

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

}

四、实验结果:1. 运⾏结果(或截图):

24 64

@

2. 运⾏结果(或截图):

d=3.000000,e=3.500000

d=3.000000,e=3.375000

3. 运⾏结果(或截图):

a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=2

4. 运⾏结果(或截图):

a=-32

五、思考题:1. 给变量命名应该注意哪些问题?

答:每个变量必须进⾏数据类型说明;2. 程序2的运⾏结果中,d和e的值为什么不同?

答:d的赋值语句中,除法是两个整型数字的运算,其结果没有⼩数位;⽽e中对b进⾏了强制转换为实型,所以其除法运算结果有⼩数位。3.程序3的运⾏结果中,i和j的值为什么不同?m和n的值为什么不同?//

改为程序3

答:i(m)是通过后⾃增(后⾃减)实现的,⽽后⾃增(后⾃减)是先参与其他运算,后对变量递增(递减);

⽽j(n)是通过前⾃增(前⾃减)实现的,其是先对变量递增(递减),后再参与其他运算。4. 请分析表达式a+=a-=a*a+a的运算过程(写出运算步骤)。

答:先将a -(a*a+a)赋值给a,再将a+a 赋值给a 。

成绩指导教师签名

实验三

实验项⽬名称:简单的输⼊输出及顺序程序设计

所使⽤的⼯具软件及环境:Visual C++ 6.0

⼀、实验⽬的:1. 掌握整型、实型与字符型数据的正确输⼊⽅法(scanf函数的使⽤);

2. 掌握整型、实型与字符型数据的正确输出⽅法(printf函数的使⽤);

3. 掌握编写顺序程序的⽅法。

⼆、预习内容:教材《C语⾔程序设计教程》第3章。

三、实验内容:1. 编写C程序,按下列公式计算并输出S的值,其中a和b的值有键盘输⼊。

main()

{ int a,b;

float s;

scanf(“%d,%d”,&a,&b);

s=2.0*a*b/(a+b) /(a+b);

printf(“s=%f\n”,s);

}

①输⼊并调试。

②将scanf函数改为scanf(“%d%d”,&a,&b);再编译,运⾏。

③观察结果。

2. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序,观察分析程序运⾏过程

及结果。#include

int main( )

{

int a,b,sum;

printf("请输⼊第⼀个整数:");

scanf("%d",&a);

printf("请输⼊第⼆个整数:");

scanf("%d",&b);

sum=a+b;

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

}

3. 设圆半径r=1.5,编写程序求圆周长、圆⾯积和圆球的体积。要求⽤scanf 语句输⼊半径,输出时取⼩数点后两位。

四、实验结果:1.

2. 运⾏结果(或截图):

请输⼊第⼀个整数:1

请输⼊第⼆个整数:21+2=3

3. (1) 程序中⽤到的变量(类型)

单精度浮点数(2) 算法(⽤伪代码描述或⾃然语⾔)

c = 2 * pi * r;

s = pi * r * r;

v = 4 * (pi * r * r * r)/3;

(3) 源程序清单

#include

int main( )

# define pi 3.14

{

float r, c, s, v;

printf("请输⼊圆的半径:");

scanf("%f", &r);

c = 2 * pi * r;

s = pi * r * r;v = 4 * (pi * r * r * r)/3.0;

printf("c = %.2f,s = %.2f,v = %.2f\n", c, s, v);

}

(4) 运⾏结果(或截图)

请输⼊圆的半径:1.5c = 9.42,s = 7.07,v = 14.13

五、思考题:scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输⼊数据的⽅式有什么不同?从两种输⼊⽅式的对⽐中你得到什么启发?

答:第⼀种输⼊⽅式⽤户必须以“,”分隔,⽽第⼆者可⽤空格、回车分隔,⽤户在不知情的情况下,很难知道⽤“,”分隔输⼊的数据。所以编程⼈员可以在scanf()语句前⽤printf()语句进⾏注释,让⽤户知道⽤什么来分

隔输⼊的数据。

成绩指导教师签名

实验四

实验项⽬名称:选择结构程序设计

所使⽤的⼯具软件及环境:Visual C++ 6.0

⼀、实验⽬的:1. 正确使⽤关系运算符和关系表达式;

2. 正确使⽤逻辑运算符和逻辑表达式;

3. 熟练使⽤if语句实现选择结构程序;

2. 熟练使⽤switch语句实现多分⽀选择结构程序。

⼆、预习内容:

教材《C语⾔程序设计教程》第4章。

三、实验内容:1. 下⾯程序的功能是:输⼊学⽣成绩,若成绩在90分以上,输出“Excellent!”;

若成绩在60—89分之间,输出“Pass!”;若成绩在60分以下,输出“Fail!”。

请将程序补充完整,并上机运⾏程序。#include

int main( )

{

int score;

printf("请输⼊分数(0--100):");

scanf("%d", &score);

if(score>100 || score<0) printf("Input Error!\n");

else if( score>=90 ) printf("Excellent!\n");

else if( score>=60 ) printf("Pass!\n");

else printf("Fail!\n");