c语言设计实验报告完整版,c语言实验报告详细步骤

首页 > 社会 > 作者:YD1662024-04-15 03:57:04

C语言程序设计实验报告

2021~2022学年第二学期

实验一

实验项目名称:C程序的运行环境和运行C程序的方法

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1.了解在Visual C 6.0环境下如何编辑、编译、连接和运行一个C程序;

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

二、预习内容:

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

三、实验内容:

1.编程实现从键盘输入a,b,c三个整数,求这三个数之和。

源程序:

运行结果:

2.编程实现从键盘输入任意两个整数,进行值的交换并输出交换后的值。

源程序:

运行结果:

成绩

实验二

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

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1. 掌握整型、实型与字符型数据的正确输入方法(scanf函数的使用);

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

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

二、预习内容:

教材《C语言程序设计教程》第3章。

三、实验内容:

1. 下面程序的功能是:从键盘输入2个整数,输出它们的和。

#include <stdio.h>

int main( )

{

int a,b,sum;

sum=a b;

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

return 0;

}

请在横线上填写一条合适的语句,使程序完整,然后上机运行该程序。

运行结果:

2.编写程序,计算并输出球的表面积和体积,球的半径在程序运行时由键盘输入。

源程序:

运行结果:

3.编写程序,要求从键盘输入一个华氏温度f,转换成摄氏温度c输出,转换公式为

,输出结果保留小数点后2位。

源程序:

运行结果:

4.编写程序,从键盘输入一个三位正整数,输出该数的逆序数。如:输入123,输出321

源程序:

运行结果:

实验三

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

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1. 正确使用关系运算符和关系表达式;

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

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

4. 熟练使用switch语句实现多分支选择结构程序。

二、预习内容:

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

三、实验内容:

1. 下面程序的功能是:输入学生成绩,若成绩在90分以上,输出“Excellent!”;若成绩在60—89分之间,输出“Pass!”;若成绩在60分以下,输出“Fail!”。请将程序补充完整,并上机运行程序。

#include <stdio.h>

main( )

{

int score;

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

scanf("%d", );

if(score>100 || score<0)

printf("Input Error!\n");

else if( )

printf("Excellent!\n");

else if( )

printf("Pass!\n");

printf("Fail!\n");

}

运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果:

输入数据

运行结果

2. 有如下分段函数:

编写程序,要求输入x的值,求解对应的y值并输出。

源程序:

运行该程序3次,分别输入3个不同数据,分别对应3个不同区间,记录结果。

输入数据

运行结果

3. 某商场进行节日优惠促销活动,活动细则如下:
购物金额10000元以上(含5000元),实际付款为购物金额的80%;
购物金额5000到10000元之间(含5000元,不含10000元),实际付款90%;
购物金额3000到5000元之间(含3000,不含5000),实际付款95%;
3000元以下无优惠。

编写程序,要求从键盘输入购物金额(为实型数据),计算并输出优惠后的实际付款额(小数
点后保留2位)。

源程序:

(1)采用if语句的源程序:

(2)采用switch语句的源程序:

分别运行每个程序4次,输入4个不同数据,分别对应4个不同区间,记录结果。

输入数据

运行结果

实验四

实验项目名称:简单循环程序设计

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1. 掌握循环程序的基本结构;

2. 熟练掌握while、do—while及for语句,并会用来编写循环结构程序。

二、预习内容:

教材《C语言程序设计教程》第5章。

三、实验内容:

1. 编写程序,求

的和。(要求用while语句)

源程序:

运行结果:

2. 有一个分数序列:

…… 编写程序,求这个数列的前20项之和。(要求用for语句,且结果保留6位小数)

源程序:

运行结果:

3. 一个乒乓球从100米高空自由落下,每次落地后,反跳回原高度的一半再落下。求它在第10次落地时,共经过多少距离以及第10次落地后乒乓球反弹的高度。(选择自己擅长的循环语句,结果保留6位小数。)

源程序:

运行结果:

实验五

实验项目名称:多层循环程序设计及break、continue语句在循环程序中的应用

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1. 掌握多层循环程序的执行过程及设计方法;

2. 掌握break及continue语句在循环程序中的使用方法。

二、预习内容:

教材《C语言程序设计教程》第5章。

三、实验内容:

1. 编写一个程序,打印一个如下图所示的图形。

*

***

*****

*******

源程序:

2. 编程输出100以内的所有素数。

源程序:

运行结果:

3. 编程输出前2个水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身,例如,153=13 53 33,所以153是一个水仙花数)。

源程序:

运行结果:

实验六

实验项目名称:数组及其应用

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1. 掌握一维数组的定义、赋值、输入输出及其应用;

2. 掌握二维数组的定义、赋值、输入输出及其应用;

3. 掌握字符数组的定义、赋值、输入输出及其应用。

二、预习内容:

教材《C语言程序设计教程》第6章。

三、实验内容:

1. 编程在一个已按从小到大排列好的数组中插入一个数,要求插入该数后的数组仍按原规律排列。

源程序:

运行结果:

2. 编程输出杨辉三角形(书本151页编程题第4小题)。

源程序:

3. 编程输入一行字符,将其中的所有英文字母组成一个新的字符串并输出。

源程序:

运行结果:

实验七

实验项目名称:函数的定义及调用

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1.熟悉定义函数的方法;

2. 掌握函数的调用方式及主调函数与被调函数间的信息传递方法;

3. 掌握递归方法以及会用函数来实现递归。

二、预习内容:

教材《C语言程序设计教程》第7章。

三、实验内容:

1. 编写一个判断素数的函数prime,在主函数中输入一个正整数,调用prime判断是否是素数,结
果在主函数中输出。

源程序:

运行结果:

2. 编写一个函数gbs,计算两个正整数的最小公倍数。在主函数中输入两个正整数,调用函数求它
们的最小公倍数,结果在主函数中输出。

源程序:

运行结果:

3. 用递归方法求解猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘了多少个桃子。

源程序:

运行结果:

实验八

实验项目名称:数组名作函数参数及变量的作用域与存储方式

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1.掌握数组名作函数参数时形参与实参的定义方法;

2.会使用数组名作函数参数在主调函数与被调函数间传递多个数据;

3.掌握变量的作用域(局部变量与全局变量);

4. 掌握变量的存储方式(动态存储与静态存储)。

二、预习内容:

教材《C语言程序设计教程》第7章。

三、实验内容:

1. 运行以下程序,并分析结果。

#include <stdio.h>

int x=8,y=3;

int max(int a,int b)

{

int c;

if(a>b) c=a;

else c=b;

return c;

}

int main( )

{

int x=4,maxi;

maxi=max(x,y);

printf("%d\n",maxi);

return 0;

}

2. 运行以下程序,并分析结果。

#include <stdio.h>

int f(int a)

{

static int b=0;

b=b a;

return b;

}

int main( )

{

int x=1,y1,y2;

y1=f(1);

y2=f(1);

printf("y1=%d,y2=%d\n",y1,y2);

return 0;

}

3. 在主函数中输入10个整数,调用函数sort将它们按从小到大的顺序排序,排序结果在主函数中输出。

四、源程序清单:

3.

五、实验结果:

1. 运行结果:

2. 运行结果:

3. 运行结果:

实验九

实验项目名称:指针及其应用

所使用的工具软件及环境:Visual C 6.0

一、实验目的:

1.掌握指针和间接访问的概念,会定义和使用指针变量;

2. 能利用指针变量作函数参数得到多个要改变的值;

3.能正确定义指向数组的指针变量,并能用其对数组进行访问;

4.能正确定义指向字符串的指针变量,并能用其对字符串进行访问。

二、预习内容:

教材《C语言程序设计教程》第9章。

三、实验内容:

1. 在主函数中输入2个整数,调用swap函数将它们的值交换,结果在主函数中输出。

2. 在主函数中输入10个整数,调用函数sum求它们的和,结果在主函数中输出(要求:实参用数组名,形参用指针变量)。

3. 在主函数中输入一个字符串,调用converse函数将该字符串逆序,结果在主函数中输出。(要求:实参用字符数组名,形参用指针变量)。

四、源程序清单:

1.

2.

3.

五、实验结果:

1. 运行结果:

2. 运行结果:

3. 运行结果:

实验十

实验项目名称:构造数据类型

所使用的工具软件及环境:Visual C 6.0

一、实验目的

1.掌握结构体类型变量和结构体类型指针的定义和使用;

2.掌握结构体类型数组的定义和使用;

3.掌握共用体类型、枚举类型、用户自定义类型的定义和使用。

二、预习内容

教材《C语言程序设计》第10章。

三、实验内容

1.调试、运行下面的程序一。

#include "stdio.h"

union data

{

int a;

float b;

char c;

};

void main( )

{

union data d={65};

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

printf("%f\n",d.b);

printf("%c\n",d.c);

}

程序的运行结果(或其截图):

2.下面程序二中结构体数组stu1[ ]存放了五个同学的姓名name[ ]和年龄age信息。该程序的功能是想输出成员年龄age最小的元素的各成员值,但程序中有错误,请调试、运行该程序。

已知结构体数组stu1[ ]中各元素的成员信息是:

结构体数组元素

成员name[ ]

成员age

stu1[0]

张三

20

stu1[1]

李四

18

stu1[2]

王五

19

stu1[3]

孙六

20

stu1[4]

陈七

19

#include "stdio.h"

#define N 5

typedef struct students

{

char name[9];

int age;

}STUDENT[N];

void main( )

{

STUDENT stu,stu1[N];

int i,j,k;

struct students *pstu=&stu[0],*t=stu1[0];

printf("请输入同学的姓名、年龄:\n");

for(i=0;i<N;i )

scanf("%s%d",stu[i].name,&stu[i].age);

for(i=0;i<N-1;i )

{

k=i;

for(j=i 1;j<N;j )

{

if(((pstu j)->age)>((pstu k)->age))

k=j;

}

*t=*(pstu k);

*(pstu k)=*(pstu i);

*(pstu i)=*t;

}

printf("年龄最小的同学:姓名 %s,年龄 %d\n",stu[0].name,stu[0].age);

}

改正后的程序二:

程序的运行结果(或其截图):

3.编写程序三。键盘输入某日,计算并显示该日在本年度中是第几天?例如,若输入是:2015 10 8(表示2015年10月8日),则程序运行结果是:2015年10月8日是2015年中的第281天。要求:用包括年、月、日信息的结构体变量。

代码如下:

程序的运行结果(或其截图):

实验十一

实验项目名称:文件

一、实验目的

1.掌握文件、缓冲文件系统、文件指针的概念。

2.学会使用文件的打开、关闭、读、写等文件操作函数。

二、预习内容

教材《C语言程序设计》第11章。

三、实验内容

1.编写程序一。从键盘输入一个字符串(以“!”结束),将其中的小写字母全部转换成大写字母,然后输出到磁盘文件“test.txt”中保存。

代码如下:

插入文件“test.txt”的内容:

2.编写程序二。已有十位同学的三门课成绩等信息:

学号

姓名

高等数学

大学英语

体育

总分

201501

赵一

92

74

91

201502

钱二

67

88

74

201503

张三

89

68

95

201504

李四

95

94

90

201505

王五

85

75

65

201506

孙六

87

79

73

201507

陈七

82

81

69

201508

刘八

73

89

70

201509

周九

66

92

68

201510

谢十

78

85

93

由键盘输入以上数据,计算每个同学的总分,将原有数据和计算出来的总分存放在磁盘文件“stud.txt”中。

代码如下:

插入文件“stud.txt”的内容:

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.