《C程序设计》实验教学大纲
一、适用范围
大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计
三、学时数与学分
总学时:90 总学分: 4 实验学时:28 实验学分:1 四、教学目的和基本要求
目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握C 语言程序设计的基本方法和编程技巧。
基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 五、实验项目与学时分配 序号 1 2 3 4 5 6 7 8 总计 实验项目名称 C程序的运行环境和运行一个C程序的方法 数据类型、运算符和表达式 最简单的C程序设计 选择结构程序设计 循环控制 数组 函数 指针 实验学时 2 3 3 4 4 4 4 4 28 实验类型 验证性实验 验证性实验 验证性实验 设计性实验 设计性实验 设计性实验 设计性实验 设计性实验 注:带*的实验项目为选做实验项目
六、教材、讲义及参考书
《C程序设计题解与上机指导》谭浩强主编 清华大学出版社 七、实验成绩评定办法
实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。
实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。
1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。
2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明
本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目
实验一 C程序的运行环境和运行一个C程序的方法 一、实验目的
1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。
二、实验内容
1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的?
2.编写一个C程序,输出以下信息: **************************** very good!
****************************
3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。
实验二 数据类型、运算符和表达式 一、实验目的
1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。
2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
二、实验内容
1.输入并运行以下程序: main( )
{ char c1,c2; c1=97;c2=98;
printf(“%c %c\\n”,c1,c2); printf(“%d %d\\n”,c1,c2); }
在此基础上
①将第三行、第四行改为: c1=321;c2=353;
再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2;
再使之运行,分析其运行结果。。 2.输入并运行以下程序:
main( )
{int i=8,j=10,m,n; m=++i;n=j++;
printf(“%d,%d,%d,%d\\n”,i,j,m,n); }
分别作以下改动并运行: ①程序改为: main( )
{int i=8,j=10;
printf(“%d,%d\\n”,i++,j++); }
②在②的基础上,将printf语句改为: printf(“%d,%d\\n”,++i,++j); ③再将printf语句改为:
printf(“%d,%d,%d,%d\\n”,i,j, i++,j++); ④程序改为: main( )
{int i=8,j=10,m=0,n=0;; m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\\n”,i,j,m,n); }
3. 请将下列给出的两个程序段分别输入计算机后,分析其运行结果: ①main() { int num; num=32767;
printf(“num=%d\\n”,++num); }
② main() { int a=-2;
printf(“%d, %d\\n”,a, a--); }
实验三 最简单的C程序设计 一、实验目的
1.掌握C语言中使用最多的一种语句——赋值语句的使用。 2.掌握数据的输入输出的方法,能正确使用各种格式转换符。 二、实验内容
1.上机输入以下程序: main( )
{int a,b;float c;
scanf(“%d%d%f”,&a,&b,&c);
printf(“a=%-4d,b=M,c=%f,c=%.2f\\n”,a,b,c,c); }
要使a=3,b=4,c=12.3456,在键盘上应如何输入?有几种方式?
2.若将输入函数改为scanf(“%d, %d ,%f”,&a,&b,&c);应该如何输入数据?
3.上机输入以下程序: main( )
{int a; float b; char c;
scanf(“M_
printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\\n”,a,a,a,b,b,c); }
要使a=77,b=4.56,c= ‘A’,在键盘上应如何输入?
4.输入两面整型变量a、b的值,输出下列算式以及运算结果。 a+b、a-b、a*b、a/b、(float)a/b、a%b
每个算式占一行。如a等于10,b等于6,a+b应输入为: 10+6=16
5.编写程序,用getchar函数读入两个字符c1、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用printf和putchar函数输出字符的特点。
实验四 选择结构程序设计 一、实验目的
1.了解C语言表示逻辑量的方法(以0代表“假”,以1代表“真”); 2.学会正确使用逻辑运算符和逻辑表达式; 3.熟练掌握if语句和switch语句。
二、实验内容
先编程序,解以下问题,然后上机调试运行程序。 1.有一个函数
用scanf函数输入x的值(分别为x<1、1~10、≥10三种情况),求y值。 2.给出一个百分制成绩,要求输出成绩等级‘A’,‘B’,‘C’,‘D’,‘E’。90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’。
要求分别用if语句和switch语句实现 3.输入一个三位数,若此数是水仙花数输出“Y”,否则输出“N”, 若输入值不是三位数输出“data error”。 提示:水仙花数是一个三位数,组成这个三位数的三个数字的立方和与这个三位数相等。如:
333
153=1+5+3。判断是否是水仙花数需把构成三位数的三个数字分离出来并存入变量。
实验五 循环控制 一、实验目的
1.熟悉用while语句,do-while语句和for语句实现循环的方法。
2.掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等)。
二、实验内容
编程序并上机调试运行。
x?1?x?y??2x?11?x?10?3x?11x?10?