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