




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、«C语言程序设计实验教学大纲一、适用范围大纲适用于计算机科学与技术专业本科教学使用。二、课程名称c语言程序设计三、学时数与学分总学时:90总学分:4实验学时:36 实验学分:1四、教学目的和基本要求目的:通过 C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解C语言的特点,熟练掌握 C语言程序设计的基本方法和编程技巧。基本要求:了解和熟悉 C语言程序开发的环境;学会上机调试程序,善于发现程序中的错 误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。 上机实验前,学生必须事先根据题目的内容编好
2、程序,然后在实验时输入程序、调试程序、 直至运行结果正确为止,上机结束后,应整理出实验报告。五、实验项目与学时分配序号实验项目名称实验学时实验类型1C程序的运行环境和运行一个C程序的方法2验证性实验2数据类型、运算符和表达式2验证性实验3最简单的C程序设计2验证性实验4选择结构程序设计2设计性实验5循环控制4设计性实验6数组4设计性实验7函数4设计性实验8预处理命令2设计性实验9指针4设计性实验10结构体和共用体4设计性实验11*位运算2设计性实验12文件2设计性实验13学生成绩管理4综合性实验总计38注:带*的实验项目为选做实验项目六、教材、讲义及参考书«C程序设计题解与上机指导谭
3、浩强主编清华大学出版社七、实验成绩评定办法考查:平时考核加期末机试。实验成绩占总成绩的20%。平时考核:占实验成绩的 40%,由以下两部分组成。实验预习和表现、实验报告。期末机试:占实验成绩的 60%。1、实验预习和表现:上机实验前,学生必须事先根据题目的内容编好程序,然后在实 验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能 力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。2、 实验报告: 学生实验后应按时完成实验报告。 实验报告应包括以下内容: 实验目的、 实验要求,实验题目、程序清单、运行结
4、果、实验小结。3、期末机试:通过考试了解学生对基本理论掌握的程度和实际水平,教师出实验考试题目,让学生在规定的时间完成。八、实验教学大纲说明本大纲共安排38 学时的实验,其中带*号实验为选做实验,实际课时为36 学时。实验项目多为设计性实验项目 ,每个设计性实验项目中都包含数个小的设计性题目。九、实验项目实验一 C 程序的运行环境和运行一个C 程序的方法一、实验目的1. 了解 TURBO C 编译系统的基本操作方法,学会独立使用该系统。2. 了解在该系统上如何编辑、编译、连接和运行一个C 程序。3. 通过运行简单的 C 程序,初步了解C 源程序的特点。二、实验内容1 . 用编辑程序,输入教材第
5、一章例 1.1 程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。 编译和连接后所得到的目标程序的后缀是什么形式的?2 .编写一个 C 程序,输出以下信息:*very good!*3 .输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。实验二 数据类型、运算符和表达式一、实验目的1 . 掌握 C 语言数据类型, 熟悉如何定义一个整型、 字符型、 实型变量, 以及对它们赋值 的方法,了解以上类型数据输出时所用格式转换符。2 .学会使用 C 的有关算术运算符, 以及包含这些运算符的表达式, 特别是自加(+)和自减(-)运算符的使用。3 .进一步熟悉C 程序
6、的编辑、编译、连接和运行的过程。二、实验内容1. 输入并运行以下程序:main( ) char c1,c2;c1=97;c2=98;printf( “ %cc n” ,c1,c2);printf( “ %dd 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,n%” d ,i,j,m,n);分别作以下改动并运行:程序改为:main( )in
7、t i=8,j=10;printf( “ %d,n%” d ,i+,j+);在的基础上,将 printf语句改为:printf(“ %d,%nd” ,+i,+j);再将 printf 语句改为:printf(“ %d,%d,%d,n%” d ,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=%nd” ,i,j,m,n);3. 请将下列给出的两个程序段分别输入计算机后,分析其运行结果: main() int num;num=32767;printf( “num=%dn ”,+n
8、um); main()1 int a=-2;printf( “%d, %dn ”,a, a-);实验三 最简单的 C 程序设计一、实验目的2 . 掌握 C 语言中使用最多的一种语句赋值语句的使用。3 .掌握数据的输入输出的方法,能正确使用各种格式转换符。二、实验内容1 . 上机输入以下程序:main( )int a,b;float c;scanf(“%d%d%f ”,&a,&b,&c);printf( “a=%-4d,b=%4d,c=%f,c=%.2fn ”,a,b,c,c);要使 a=3, b=4 , c=12.3456 ,在键盘上应如何输入?有几种方式?2 .若将输
9、入函数改为scanf(“%d, %d ,%f ”,&a,&b,&c); 应该如何输入数据?3 .上机输入以下程序:main( )int a; float b; char c;scanf(“%4d%5f%3c ”,&a,&b,&c);printf( “a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%cn ”,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
10、、 a%b每个算式占一行。如 a 等于 10, b 等于 6 , a+b 应输入为:10+6=165 .编写程序,用getchar函数读入两个字符cl、c2,然后分别用putchar函数和printf函数输出这两个字符。上机运行程序,比较用 printf 和 putchar 函数输出字符的特点。实验四 选择结构程序设计一、实验目的1 . 了解C 语言表示逻辑量的方法(以 0 代表“假” ,以 1 代表“真” );2 .学会正确使用逻辑运算符和逻辑表达式;3 .熟练掌握if 语句和 switch 语句。二、实验内容先编程序,解以下问题,然后上机调试运行程序。1. 有一个函数x x1y 2x 11
11、 x 103x 11 x 10用scanf函数输入x的值(分别为x<1、110、R 10三种情况),求y值。2 .给出一个百分制成绩,要求输出成绩等级A , B , C , D , E 。 90 分以上为'A', 8089分为B', 7079分为C', 6069分为D', 60分以下为E'。3 .给一个不多于5 位的正整数,要求: 求出它是几位数; 分别打印出每一位数字; 按逆序打印出各位数字,例如原数为321 ,应输出 123。实验五 循环控制一、实验目的1 . 熟悉用while 语句, do-while 语句和 for 语句实现循环的方
12、法。2 .掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等) 。二、实验内容编程序并上机调试运行。1 . 输入两个正整数,求其中最大公约数和最小公倍数。2 .输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。3 .用牛顿迭代法求方程2x3-4x2+3x-6=0 在 1.5 附近的根。牛顿迭代法的公式是x Xof(x)_ ,f (x)4 .打印出以下图案: * * *5 .编程求 1!+2!+3!+ +20!。实验六数组一、实验目的1 .掌握一维数组和二维数组的定义、赋值和输入输出的方法;2 .掌握字符数组和字符串函数的使用。3 .掌握与数组有关的算法(特别是排序
13、算法)。二、实验内容编程序并上机调试运行。1 .编写程序,用scanf函数输入10个整数的数列,先将整数按照从大到小的顺序进行 排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。2 .有15个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第 几个元素的值,如果该数不在数组中,则输出“无此数”,并且可以实现连续查找。15个数用赋初值的方法在程序中给出,要找的数用scanf函数输入。3 .将以下二维数组中数按列的顺序存放到一个一维数组中。二维数组的内容是11 22 33 4411 22 33 4411 22 33 44则一维数组中的内容是 11 11 11 22 22
14、 22 33 33 33 44 44 444 .将两个字符串连接起来,不要用strcat函数。5 .从键盘输入5个字符串,找出最长的字符串和最大的字符串。实验七函数一、实验目的1 .掌握定义函数的方法;2 .掌握函数实参与形参的对应关系,以及“值传递”的方式;3 .掌握函数的嵌套调用和递归调用的方法;4 .掌握全局变量和局部变量,动态变量和静态变量的概念和使用方法。二、实验内容编程序并上机调试运行之。1 .写一个判断素数的函数,在主函数输入一个整数,输出是否是素数的信息。2 .两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数, 并输出结果。两个整数在主函数中输入,并传送
15、给函数1,求出的最大公约数返回主函数,然后再与两个整数一起作为实参传递给函数2,以求出最小公倍数,返回到主函数输出最大公约数和最小公倍数。3 .已知二阶Fibonacci数列:0若 n=0Fib(n)= -J 1若 n=1I Fib(n-1)+Fib(n-2)其他情况定义递归函数求Fib(n)。4 .写一个函数完成下列任务:输入一个表示正整数的字符串,将字符串转换成对应的数字。例如,输入3个字符组成的字符串“ 123”,将它转换成整型数123。5 .设计一个含有多个菜单项的菜单演示程序。程序运行后,给出4个菜单项的内容和输入提示:1 .求最大公约数2 .求最小公倍数3 .判断素数4 .退出程序
16、选才i 1-4:5 用数字14来选择菜单项,其他输入则不起作用。实验八预处理命令一、实验目的1 .掌握宏定义的方法;2 .掌握文件包含处理方法;3 .掌握条件编译的方法。二、实验内容编程序并上机调试运行。1 .定义一个带参数的宏,使两个参数的值互换。在主函数中输入两个数作为使用宏的实 参,输出已交换后的两个值。说明:在程序主函数使用宏日只能用两个实参,如S),不能用三个参数。2 .设计输出实数的格式, 包括:(1) 一行输出一个实数;(2) 一行内输出两个实数;(3) 一行内输出三个实数。实数用“6.2f”格式输出。用一个文件“format.h”包含以上用#define命令定义的格式。 在自己
17、的文件(自己命名) 中用#include命令将"format.h”文件包含进来。在程序中用scanf函数读入三个实数给 f1,f2,f3。 然后用上面定义的三种格式分别输出f1;f1,f2;f1,f2,f3。3 .用条件编译方法实现以下功能:输入一行电报文字,可以任选两种输出,一为原文输出;一为将字母变成其下字母(如a变成b',,z变成'a'。其它字符不变)。用#de巾ne命令来控制是否要译成密码。 例如:#define CHANGE 1则输出密码。若#define CHANGE 0则不译成密码,按原码输出。用条件编译方法来处理。实验九指针一、实验目的1 .掌
18、握指针的概念,会定义和使用指针变量;2 .学会使用数组的指针和指向数组的指针变量;3 .学会使用字符串的指针和指向字符串的指针变量;4 .学会使用指向函数的指针变量;5 . 了解指向指针的指针的概念及其使用方法。二、实验内容编程序并上机调试运行程序(都要求用指针处理) 。1 .定义函数 void fun(int x ,int *max,int *min) ,找出数组 x 中的最大值和最小值,最 大值和最小值通过形参指针 max 和 min 传回。2 .编写一个函数comp(s1,s2)实现两个字符串的比较。如果s1=s2,则函数返回值为 0;如果slws2,返回它们二者第一个不同字符的ASCI
19、I码差值(如“BOY ”与“BAD ”,第二个字母不同,"O”与" A”之差为79-65=14);如果s1>s2, 则输出正值;如 s1<s2 则输出负值。两个字符串 s1,s2 由 main 函数输入, strcmp 函数的返回值也在main 函数输出。3 .从键盘输入一个字符串与一个指定字符, 调用函数, 将字符串中出现的指定字符全部 删除。4 .编程将从键盘输入的每个单词的第一个字母转换为大写字母, 输入时各单词必须用空 格隔开,用“ .”结束输入。5 .在主函数中输入 5 个字符串,用另一个函数对它们排序(要求用指针数组来完成) , 然后在主函数输出排好
20、序的字符串。实验十 结构体和共用体一、实验目的1 . 掌握结构体类型变量的定义和使用;2 .掌握结构体类型数组的概念和应用;3 .掌握链表的概念,初步学会对链表进行操作;4 .掌握共用体的概念与使用。二、实验内容编程序,然后上机调试运行。1 .有 3 个学生,每个学生的数据包括学号、三门课的成绩,要求用 input 函数实现从键 盘输入学生数据,用 average函数求每个人的平均分,用 output函数打印学生数据及平均成 绩。2 .建立一个带有头结点的单链表,每个结点包括:学号、年龄,并输出链表中所有结点 的数据。 在链表中查找年龄最大的结点, 并将链表中等于此年龄的结点删除 (年龄最大的
21、结 点可能不止一个) 。3 .将一个链表按逆序排列,即将链头当链尾,链尾当链头。4 .上机输入如下程序:main( )union btint k; char c2;a;a.k= -7;printf( “%o,%on ”,a.c0,a.c1);分析其运行结果。实验十一 位运算一、实验目的1 . 掌握按位运算的概念和方法,学会使用位运算符;2 .学会通过位运算实现对某些位的操作。二、实验内容编写程序,上机调试并运行。1 .编一个函数getbits,从一个16位的单元中取出某几位(即该几位保留原值,其余位为0)。函数调用形式为:getbits(value,n1,n2)value 为该 16 位数的值
22、, n1 为欲取出的起始位, n2 为欲取出的的结束位。如:getbits(0101675,5,8)表示对八进制数101675,取出其从左面起的第5位到第8位。要求把这几位数用八进制数打印出来。注意,应当将这几位数右移到最右端,然后用八进制形式输出。2 .利用位运算操作,实现交换两个变量的值。3 .将一个十六进制整数的各位循环左移 4 位,然后用十六进制形式输出。实验十二 文件一、实验目的1 . 掌握文件以及缓冲文件系统、文件指针的概念;2 .学会使用文件打开、关闭、读、写等文件操作函数。3 .学会用缓冲文件系统对文件进行简单的操作。二、实验内容编写程序并上机调试运行。1 .编程序求 100 以内的素数,分别将它输出到显示器屏幕和x.txt 文件中,要求每行5个数。2 .从键盘输入几本书的数据,每本书的数据包括条形码、书名和价格,将每项数据分别写入文本文件s.txt 和二进制文件s.d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖南城建职业技术学院《建筑环境数值模拟》2024-2025学年第一学期期末试卷
- 南阳医学高等专科学校《土动力学》2024-2025学年第一学期期末试卷
- 郑州财经学院《初中教师工作实务》2024-2025学年第一学期期末试卷
- 山东经贸职业学院《电脑表现Ⅱsketchup草图大师》2024-2025学年第一学期期末试卷
- (2025年标准)宠物绝育协议书
- 西北师范大学《作物栽培学实验》2024-2025学年第一学期期末试卷
- 福建艺术职业学院《建筑工程施工质量检测与验收》2024-2025学年第一学期期末试卷
- 急诊急救护理知识
- 山东城市服务职业学院《制浆造纸工厂设计》2024-2025学年第一学期期末试卷
- 制药质量基础知识培训课件
- 消防桌面应急预案方案(3篇)
- (2025年标准)校车修理协议书
- 2025年全国中小学校党组织书记网络培训示范班在线考试题库及答案
- 电力交易员试题及答案
- 膀胱冲洗临床指南
- DZ∕T 0270-2014 地下水监测井建设规范
- 数学基础模块上册课件
- 垂体瘤精品课件
- 《抽样技术》课件(完整版)
- 工程力学ppt课件(完整版)
- 锂离子电池正极材料 课件
评论
0/150
提交评论