实验教学的目的和要求
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一. 实验教学的目的和要求:
通过实验,让学生全面掌握高级语言程序设计的思想与方法,掌握C语言的特点,C语言的语法规则,C语言的数据类型、表达式及控制流程;通过编程,提高程序设计能力,使学生达到能够熟练使用C语言解决常见实际问题的能力,为全面精通高级语言程序打下基础。
实验要求:
(1)复习和掌握与本实验有关的教学内容。
(2)上机实验前应事先做好准备工作,课下编写程序,以提高上机实验的效率。
(3)对运行中可能出现的问题应事先作出估计,对程序中自己有疑问的地方作出标记,并上机进行验证。
(4)准备好调试和运行时所需的数据。
二、实验项目的内容和要求
实验一:C语言的运行环境
内容:(1)熟悉Turbo C集成环境。
(2)输入并运行一个简单的C程序。
(3)运行一个自己编写的C程序。
要求:熟悉C语言的编程环境,了解在该系统上如何编辑、编译、连接和运行一个C 程序,通过运行简单的C程序,了解C程序的特点。
实验二:数据类型、运算符和表达式
内容:要求事先编好解决下面问题的程序,然后上机输入程序并调试运行,验证程序的运行结果。
(1)输入并运行下面的程序。
main()
{char c1,c2;
c1=‘a’; c2=‘b’;
printf(“%c %c\n”,c1,c2);
}
(2)输入并运行下面的程序。
main()
{char c1=‘a’,c2=‘b’,c3=‘c’,c4=‘\101’,c5=‘\116’;
printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);
printf(“\t\b%c %c\n”,c4,c5);
}
(3)输入并运行下面的程序。
main()
{ int a,b;
unsigned int 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);
}
(4) 输入并运行下面的程序。
main()
{int i,j,m,n;
i=8; j=10;
m=++i; n=j++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
}
要求:
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符性和实型的变量,以及对它们赋值的方法。
(2)掌握不同的类型数据之间赋值的规律。
(3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程。
实验三:最简单的C程序设计
内容:
(1)自己编写一个小程序,用scanf函数和printf函数实现数据的输入和输出。
(2)编写下面的程序并上机运行。
设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果。(取小数点后两位数字)。
(3)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。
要求:
(1)掌握C语言中使用最多的一种语句--赋值语句的使用方法。
(2)掌握各种数据类型的输入输出的方法,能正确使用各种格式转换符。
实验四:选择结构程序设计
内容:选择结构的程序设计练习,根据下列给定的问题编写程序并上机调试运行。
(1)给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
(2)给出一个不多于5位的正整数,要求①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。
(3)输入4个整数,要求按由小到大的顺序输出。
要求:
(1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句和switch语句。
(4)结合程序掌握一些简单的算法。
实验五:循环结构程序设计
内容:循环结构的程序设计练习,根据下列给定的问题编写程序并上机调试运行。
(1)输入两个正整数m和n,求它们的最大公约数和最小公倍数。
(2)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
(3)用牛顿迭代法求方程2x3-4x2+3x-6=0在1.5附近的根。
(4)猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩一个桃子了。求第一天共摘了多少桃子。
要求:
(1)熟练掌握用while语句,do~while语句和for语句实现循环的方法;
(2)掌握在程序设计中用循环方法实现一些常用算法(如穷举、迭代、递推等);
(3)进一步学习调试程序。
实验六:数组
内容:编程,然后上机输入程序并调试运行程序。
(1)输入10个数,输出最大值、最小值以及平均值(用数组实现)。
(2) 输入4名学生的姓名及三门课成绩,打印学生成绩表。(姓名、三门课成绩、平均分)
(3)有15个数存放在一维数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,则输出“无此数”。
(4)将两个字符串连接起来,不要用strcat函数。
要求:
(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法;
(2)掌握字符数组和字符串函数的使用;
(3)掌握与数组有关的算法。