1、韶关学院 机制专业 C语言程序设计 试验说 明1、 全部同学必需参与试验课,根据排定次序上机。2、 每次上机请固定机位,一人一机。3、 本课程9次上机试验 (全部试验需要提交电子版试验汇报,假如课堂上没有完成试验汇报,能够课下完成,并于下次上机时提交)文件夹命名为“学号最终两位+姓名(试验*)”,比如:01李明(试验1)。4、 在机房内务必保持平静,不得大声喧哗,不得从事和试验无关事项,如打游戏、看电影等。5、写好预习汇报: 针对试验内容要求用自己语言简明写明试验目标、试验原理,并针对试验内容预先做好程序编写。全部试验项目必需提前编写程序!不写预习汇报不得参与试验!6、数据统计统计试验原始数据
2、,拒绝剽窃。7、试验内容 总结所做试验内容 回复相关思索题 、3试验一 C语言运行环境一、目标和要求1、熟悉使用C语言运行环境。2、掌握语言程序书写格式和语言程序结构。3、掌握C语言上机步骤,了解运行一个C程序方法。二、试验内容要求:编辑下面源程序,而且读懂和分析运行程序,上机运行程序,并和分析结果相对比。学会使用TC运行程序基础方法。1. 输入并运行以下程序,观察运行结果。# include int main() printf(*n); printf( very good!n); printf(*n); return 0; 分析结果运行结果2输入并运行以下程序,观察运行结果。 # inclu
3、de int main() int a,b,sum,minus; a=123;b=456; sum=a+b; minus=a-b;printf(a+b=%dna-b=%dn,sum,minus); return 0; 分析结果printf中删除a+b=和a-b=输出结果:printf中删除第一个n输出结果:运行结果printf中删除a+b=和a-b=输出结果:printf中删除第一个n输出结果:3.完成程序要求:依据题目要求,分析已给出语句,填写空白。不过不要增行或删行,改动程序结构。(1)求(a+b)c值。(设a=3,b=2,c=1)# include int main( ) int a,b
4、,c;a=3; c=1; printf(%dn,(a+b)*c); return 0;(2)求圆面积。#include #define PI 3.14int main( ) float r,area;printf(n Enter r value:);scanf(%f,&r);area=PI*r*r;printf( n area=%fn, ); return 0;4.调试程序要求:调试运行下列程序是否正确,若有错,写犯错在何处?填写正确运行结果。行号 #include 1. int main( )2. int x;3. x=5,y=8;4. printf(n%d,%d,%dn,x,(x+5)*2
5、,y); 5. return 0;6. 错错误在 行应改为:调试正确后运行结果输出结果: 5.编写程序(1)编写程序输出用6颗星组成等边三角形。* * * * * *(2).编写一个C程序,输入a,b,c三个值,输出其中最大者。三、分析和讨论、记下在调试过程中所发觉错误、系统给出犯错信息和对策。分析讨论对策成功或失败原因。、总结程序结构和书写规则。试验二 数据存放和运算一、试验目标1掌握C语言数据类型,熟悉怎样定义一个变量和对她们赋值方法。2学会编写简单程序,初步掌握编程思绪。3. 学习怎样发觉程序中错误并更正,使之能正常运行。4. 深入熟悉C程序编辑、编译、连接和运行过程。二、试验内容(一)
6、阅读程序1. 输入并运行以下程序,观察运行结果。#include int main() char c1,c2; c1=97;c2=98; printf(%c,%cn,c1,c2); return 0;(1)在第五行后面加入以下printf语句,并运行。printf(%d,%dn,c1,c2);分析结果运行结果 (2)在(1)基础上,将第三行改为以下语句,并运行。 int c1,c2;分析结果运行结果 (3)在(1)基础上,将第四行改为以下语句,并运行。 c1=321;c2=400;分析结果运行结果2. 分析并运行此程序,当输入数据为10时,下面程序运行结果。#include int main(
7、) float x,y; scanf(%f,&x); printf(n2.4*x-1/2=%f,2.4*x-1.0/2); printf(nx%2/5-x=%f,(int)(x)%2/5-x); printf(n(x-=x*10,x/=10)=%dn,(x-=x*10,x/=10); return 0;分析结果运行结果3.分析以下程序运行结果#include int main() int i,j,m,n ; i=8;j=10; m=+i; n=j+; printf(%d,%d,%d,%dn,i,j,m,n); return 0; 分析结果运行结果(2)将第6、7行改为:m=i+; n=+j;分
8、析结果运行结果(3)程序改为:#include int main() int i , j , m=0 , n=0 ; i=8; j=10; m+=i+; n-=-j; printf(“%d,%d,%d,%dn”,i,j,m,n); return 0;分析结果运行结果(二)完成程序要求:依据题目要求,分析已给出语句,填写空白。不过不要增行或删行,改动程序结构。1求任意输入字符ASC码。#include int main( ) ;/变量定义printf(“请输入一个字符:”);scanf(“%c”,&a);b=(int)a;printf(“nn%cASC码为%dn”,a,b); return 0;
9、 2、输出任意一个十进制数对应八进制,十六进制数。#includeint main( )int a;scanf(“%d”,&a);printf(“n%d(10) ,%o(8), %x(16)n”, ); return 0;(三)调试程序要求:调试运行下列程序是否正确,若有错,写犯错在何处?填写正确运行结果。1.行号 #include 1 int main( )2 int u=v=89;3 printf(“u=%d,v=%dn”,u,v); 4 return 0;5 错错误在 行应改为:调试正确后运行结果输出结果:2.下面程序试图计算由键盘输入任意两个整数平均值:行号#include 1int
10、main()23int x,y,a;4scanf(%x,%y,&x,&y); 5a=(x+y)/2;6printf(The average is %d:n, a); 7 return 0;8 错错误在 行应改为:调试正确后运行结果输入数据2,61,4-1,-3-2,42,0输出结果:(四)编写程序1. 编程求和。2.输入圆半径(值为5),输出圆周长和面积。试验3 次序程序设计一、目标和要求1、掌握C语言中使用最多一个语句赋值语句使用方法。2、掌握多种类型数据输入输出方法,能正确使用多种格式转换符。3、深入掌握编写程序和调试程序方法。二、试验内容1、(教材94页,习题3.3.)用下面scanf函
11、数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=A,c2=a.问在键盘上怎样输入。#include int main() int a,b; float x,y; char c1,c2; scanf(a=%d b=%d,&a,&b); scanf( %f %e,&x,&y); scanf( %c %c,&c1,&c2);printf(a=%d b=%d,a,b); printf( %f %e,x,y); printf( %c %c,c1,c2); return 0;前后按以下方法输入数据,分析运行结果是否正确,假如不正确,说明为何会不正确。(1)3 78.5 71.82 A a(
12、在8.5 ,71.82 ,A后面各有一个空格) (2) a=3 b=78.5 71.82 A a (在8.5 ,71.82 ,A后面各有一个空格) (3)在输入8.5和71.82两个实数后输入回车符。 a=3 b=78.5 71.82 A a (4)a=3 b=78.5 71.82A a (在82后面没有空格) (5)a=3 b=78.5 71.82A a (在每个数据后有多个空格)2、编程序。输入一个华氏温度,要求输出摄氏温度。公式为: c=5/9 *(F-32),输出要有文字说明,取2位小数(教材95页,习题3.6) 3、编程求出某学生期末三门课程总分及平均分。结果保留小数点后一位。三、分
13、析和讨论、记下在调试过程中所发觉错误、系统给出犯错信息和对策。分析讨论对策成功或失败原因。、总结掌握编写程序和调试程序方法。试验4选择结构程序设计一、试验目标1.正确使用关系表示式和逻辑表示式表示条件。2.学习语句if使用方法。3.学习调试程序。二、试验内容1、从键盘输入一个整数,编程判定其奇偶性,并输出结果。2、某托儿所收2岁到6岁孩子,2岁、3岁孩子进小班(Lower class);4岁孩子进中班(Middle class);5岁、6岁孩子进大班(Higher class)。编写程序,输入孩子年纪,输出年纪及进入班号。如:输入:3,输出:age:3,enter Lower class。调试
14、无语法错误后,使用下列测试用例进行测试:(1)3岁;(2)4岁;(3)5岁;(4)7岁。3、 输入某学生成绩(成绩为100分制,能够为89.5,假如输入成绩不在0-100之间,请给出犯错提醒。),经处理后给出学生等级,等级分类以下: 90分以上(包含90): A 80至90分(包含80):B 70至80分(包含70):C 60至70分(包含60):D 60分以下: E三、试验要求1.复习选择结构程序设计。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。试验5循环结构程序设计一、试验目标1
15、、掌握在程序设计条件型循环结构时,怎样正确地设定循环条件,和怎样控制循环次数。2、了解条件型循环结构基础测试方法。3、掌握怎样正确地控制计数型循环结构次数。4、了解在循环结构中,提升程序效率方法。5、深入学习调试程序。二、试验内容1、编程求解:鸡兔同笼,有三十五只头,九十四只足,求鸡和兔各有多少?(提醒:用穷举法求解。即鸡或免个数x从0至35循环试探,假如满足共有94只足已知条件,那么此时x就是一个解。问题:循环条件能够深入简化以提升程序效率吗?)2、输出全部“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。比如153=13+53+33.3、每个苹果0.8元,第一天买
16、2个,从第二天开始,天天买前一天2倍,直到当日购置苹果个数不超出100最大值为止,编写程序求天天平均花多少钱。三、试验要求1. 复习循环结构程序设计。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。试验6 数组一、试验目标:1.了解数组和数学矩阵关系2.掌握数组定义、引用和初始化3.了解二维数组数据存放次序二、试验内容1、从键盘输入10个整数,统计其中正数、零和负数个数并输出。2、编写程序,要求在无序数组中查找给定值首次出现位置。比如,数组为:a10=10 1 20 39 9 4 12
17、43 33 4,要查找数:4,输出:其位置:5,若在数组中没找到该数,则输出:4在该数组中不存在。提醒:从第0个元素到最终一个元素依次和被找元素比较,相等则停止查找。循环结束条件: (已经找到)|全部数组元素全部已经找遍3、试编制程序使数组中数根据从大到小次序排列。(起泡法和选择法)三、试验要求1. 复习数组。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。试验7 函数(一)一、试验目标:1.掌握定义函数方法2.掌握申明函数方法3.掌握函数实参与形参对应关系,和“值传输”方法。二、试验内
18、容1.上机调试下面程序,统计系统给出犯错信息,并指出犯错原因。把程序加以修改。#include int main() int x,y; printf(%dn,sum(x+y); int sum(a,b); int a,b; return(a+b); return 0;2、编写一个C程序,实现下面功效:(1)编写一个函数square,对一个整数返回它平方值。(2)编写一个函数cube,对一个整数返回它立方值。(3)用函数square和cube编写函数quartic和quintic,它们分别返回一个整数四次方和五次方值。(4)用上述函数编写一个显示从110整数幂表程序,程序输出形式以下:A TAB
19、LE OF POWERSN0. Square Cube Quartic Quintic1 1 1 1 12 4 8 16 323 9 27 81 243 三、试验要求1. 复习函数。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。试验8 函数(二)一、试验目标:1.掌握定义函数方法2.掌握申明函数方法3.掌握函数实参与形参对应关系,和“值传输”方法。二、试验内容1.已经有变量定义和函数语句“int a=1,b=-5,c;c=fun(a,b);”,fun函数作用是计算两个数之差绝对值,并将
20、差值绝对值返回给调用函数,请编写fun函数和主函数,并调试。 int fun (int x,int y) 2. 青年歌手参与歌曲大奖赛,有10个评委对她进行打分,试编程求这位选手平均得分(去掉一个最高分和一个最低分)。例:输入:95 89 99 80 76 88 90 87 88 89。输出平均分:88.25分。要求:在主程序中输入10个成绩,输出平均分。编写一个函数,对选手10个得分进行排序,并根据规则求平均分。三、试验要求1. 复习函数。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。试验9 指针一、试验目标:1掌握指针变量定义和引用2掌握指针和变量、指针和数组关系3掌握C集成环境中调试指针程序方法。二、试验内容1.输入3个数a,b,c,按大小次序输出。(利用指针方法)2.输入数组,最大和第一个元素交换,最小和最终一个元素交换,输出数组。(利用指针方法)三、试验要求1. 复习指针。2上机前准备好上机所需程序,上机时输入和调试自己所编写程序。3.上机结束后,应整理出试验汇报,试验汇报内容应包含:题目、程序清单、运行结果及对运行情况分析。