C语言程序分组种子队,《C语言程序设计》实验指导书.doc

void main()

{

int a,b;

unsigned c,d;

long e,f;

a=100;

b=-100;

e=50000;

f=32767;

c=a;

d=b;

printf(“%d,%d\n”,a,b);

printf(“%u,%u\n”,a,b);

printf(“%u,%u\n”,c,d);

c=a=e;

d=b=f;

printf(“%d,%d\n”,a,b);

printf(“%u,%u\n”,c,d);

}

3.实验结果

4.实验出错:

在实验中,可能出错的地方有:

(1)输入和输出函数的使用过程中在格式控制的地方可能会出现错误。要严格按照格式控制的形式输入和输出数据。

(2)不同的数据类型的取值范围不同,所以在不同数据类型之间相互复制可能会出现错误

六、 实验总结

通过这次实验,对数据类型的意义有了一定的了解:因为数据的类型决定了数据在内存中的存储空间。会使用输入输出函数进行数据的正确输入和输出。

实验四 运算符与表达式

一、实验学习目标

1.理解常用运算符的意义;

2.掌握C语言算术、赋值、自增、自减运算符及相应表达式;

3.学会根据表达式,编写相应程序,验证表达式结果的方法。

4.注意各个运算符的运算优先级和结合性;

二、实验内容

1.整数除危险性

分析下面三个表达式的值,再设计测试程序,进行比较和分析

int a=5,b=7,c=100,d,e,f;

d=a/b*c;

e=a*c/b;

f=c/b*a;

2.分析下面的程序

试比较x++与++x之间的区别

#includemain()

{int a=5,b=8;

printf(“a++=%d”,a++);

printf(“a=%d”,a);

printf(“++b=%d”,++b);

printf(“b=%d”,b);

3. 分析下列表达式的值

编写测试程序对这些表达式的值时行比较,并使各表达式在相同的初始条件下执行

b+a+++a

b+(a++)+a

b+a+(++a)

b+a+++a++

三、实验原理

1.丰富的运算符和表达式使C语言功能十分完善。

2.自增运算使单个变量的值增1,自减运算使单个变量的值减1

3.运算符具有不同的优先级和结合性。

4.结合性是其它高级语言的运算符所没有的,因此也增加了C语言的复杂性。

四、实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境

五、实验步骤

1.设计算法,写出程序(源程序代码,本次程序不需N-S图)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

4.记录并分析上述程序的运行结果。

5.实验程序实例:

6.实验结果:

六、实验总结

通过本次实验我学会了编写程序来验证表达式的结果。赋值转换原则:赋值号右边的数据类型转化为赋值号左边的数据类型,然后赋值给赋值号左边的变量。

项目二:流程控制、指针、数组、模块化程序设计

实验五 分支程序设计

一、 实验学习目标

1. 掌握分支程序的设计方法。

2. 进一步掌握关系表达式和逻辑表达式的使用。

3. 熟悉选择结构程序设计。

4. 熟练使用if语句进行程序设计。

5. 使用switch语句实现多分枝选择结构。

二、 实验内容

1.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

2.任意输入三个数,判断能否构成三角形?若能构成三角形,是等边三角形(equalateral triangle)、等腰三角形(isosceles triangle)还是其它三角形(other triangle)? (不能:输出no triangle)

三、 实验原理

1. 程序if语句的结构和嵌套的结构。

2. 构成三角形的基本原理:两边之和大于大三边,两边之差小于第三边;以及等边三角形、等腰三角形的特性。

四、 实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境

五、 实验步骤

1.设计算法,写出程序(上机前做好,含N-S图及源程序代码)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

六、 实验总结

通过本次实验进一步熟悉C语言程序的基本结构,回顾学过的程序结构形式,明白其中的原理,上机实际操作,运行实现结果,同时训练一种编程的基本思想。真正懂的分支程序设计的结构。

实验六 循环程序设计

一、实验学习目标

1. 掌握循环程序的设计方法。

2. 掌握while语句、do-while语句和for语句实现循环的方法。

3. 理解循环结构程序段中语句的执行过程。

4. 进一步掌握循环结构程序的应用。

二、 实验内容

1. 有一个分数序列:,求出这个序列的前20项之和。

2. 用牛顿迭代法求方程的近似解,误差范围e由键盘输入。

3. 有100匹马,驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问大、中、小马各有几只?设计求解该问题的C语言程序。

三、 实验原理

1. 总结推导公式设计程序方案。

2. 牛顿迭代法的基本原理。

四、实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境。

五、实验步骤

1.设计算法,写出程序(上机前做好,含N-S图及源程序代码)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

六、 实验总结

通过本次实验进一步熟悉C语言程序的基本结构,回顾学过的程序结构形式,明白其中的原理,上机实际操作,运行实现结果,同时训练一种编程的基本思想。掌握循环程序设计的几种基本结构形式。

实验七 函数

一、实验学习目标

1. 掌握函数的定义、声明及调用的方法。

2. 了解函数调用时参数传递的本质。

二、实验内容

1.计算s=22!+32!

本题可编写两个函数,一个是用来计算平方值的函数f1,另一个是用来计算阶乘值的函数f2。主函数先调f1计算出平方值,再在f1中以平方值为实参,调用 f2计算其阶乘值,然后返回f1,再返回主函数,在循环程序中计算累加和。

2. 在main()函数中输入正方体的长宽高l,w,h。编写函数Vs(int l,int w,int h)求体积及三个面x*y,x*z,y*z的面积并在main()函数输出计算结果。(提示:三个面积可定义为全局变量。)

3.运行以下程序,并对其结果作出分析,为什么两个k会得到不同的值。

main()

{

int i=2,j=3,k;

k=i+j;

{

int k=8;

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

}

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

}

三、 实验原理

1. 阶乘的基本原理:5!=5*4*3*2*1。

2. 函数编写的基本思想,类似数学公式,即自己自定义通用的函数式子再利用c语言的结构进行编写

四、 实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境。

五、 实验步骤

1.设计算法,写出程序(源程序代码,本次程序不需N-S图)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

六、 实验总结

通过本次实验上机操作,理解函数了的使用方法,训练函数的编写思想,综合练习了函数的应用及c语言各种程序结构的使用。

实验八 数组

一、实验学习目标

1.熟练掌握一维数组和二维数组的定义、赋值、引用和输入输出的方法。

2.掌握字符数组的定义、初始化和引用,并掌握字符串函数的使用。

3.掌握与数组有关的插入、删除、排序、查找等常用算法。

二、实验内容

1.将10个实数存储在一个数组中,设计一个程序输出这个数组的最大值和最小值。

2.输入一行字符,统计其中大写字母出现的次数。

3.输入若干有序数放在数组中。然后输入一个数,插入到此有序数列中,插入后,数组中的数仍然有序。请对以下三种情况运行你的程序,以便验证你的程序是否正确。

(1)插在最前 (2)插在最后 (3)插在中间

三、实验原理

1.比较数组中的数据,取出最大值、最小值。

2.判断字符的大小写并计数。

3.比较数组中数据在适当的位置插入。

四、实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境

五、实验步骤

1.设计算法,写出程序(源程序代码,本次程序不需N-S图)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

4.实验程序实例:将10个实数存储在一个数组中,设计程序输出这个数组的最大值和最小值。

5.实验结果:(含实验数据及程序运行结果)

六、实验总结

通过本次试验熟练掌握了数组的定义、引用、输入输出的方法。了解字符、字符串和字符数组之间的关系。并能编程实现数组有关的插入、删除、排序、查找操作。

实验九 指针

一、实验学习目标

1.掌握指针的概念,会定义和使用指针变量。

2.基本掌握指针的C程序设计。

3.巩固所学的理论知识,培养锻炼进行复杂C程序设计的能力。

二、实验内容

1.调试下面的程序,指出出错的原因

main()

{

int x=10,y=5,*px,*py;

px=py;

px=&x;

py=&y;

printf(“*px=%d,*py=%d”,*px,*py);

}

2.下面的程序试图有如下运行结果。

which style you want to:

capital (c) or uncaptial(u):c

COMPUTER

which style you want to:

capital (c) or uncaptial(u):u

computer

请调试下面的程序,使其有如上执行结果。

#include main()

{

char *s;

char c;

printf(“which style you want to:1n”);

printf(“capital (c) or uncaptial(u):”);

;

}

三、实验原理

1、指针变量的定义与引用;

2、使用指针编写应用程序;

四、实验设备

微型计算机、TurboC 2.0语言环境或者其它编程语言环境

五、实验步骤

1.设计算法,写出程序(源程序代码,本次程序不需N-S图)

2.在Turbo C2.0 下编辑,得到源程序(.C)

3.编译、连接、调试程序(含编译及调试中出现的问题及解决方法)

4.实验程序实例:从键盘输入两个整数,按由小到大的顺序输出,用指针实现。

5.实验结果:

六、实验总结

通过本次实验进一步熟悉C语言程序熟悉了指针变量的使用,分清了指针变量和指针变量所指向的变量两个概念。

项目三:综合程序设计——竞赛编排及优胜排序

任务:世界杯足球赛决赛阶段N个队参加,每个队有如下属性:(1)所属州(2)是否种子,共有2*M个种子队;(3)队伍的当前积分排序。

共分为M组,每组K人,已知K*M=N。

一、 请设计程序,输出分组方案,规则如下:

(1) 每组分配2名种子队;

(2) 每组同州的球队不超过3支;

(3) 每组球队的积分排序尽可能平均。

二、 设计程序,记录每队的小组赛结果,每一轮比赛后输出排名结果,排名的规则按以下先后次序进行:

(1) 积分,胜队3分,平1分,负0分;

(2) 净胜球;

(3) 进球数;

(4) 两队之间的胜负关系;

(5) 原积分排序。

16 / 16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值