c语言指导网站,c语言机指导.doc

c语言机指导.doc

C 语言实验指导 一、课程说明 (一)本课程的教学目的和要求 程序设计是计算机及其相关专业学生必须掌握的基本技能, 因此本课程不但要注重程序 设计语言基本知识的学习,更要注重程序设计技能的培养。通过上机实验,可以使学生加深 对课堂讲授内容的理解,循序渐进地掌握 C 语言的语法规则、算法的基本结构、程序设计 的技能;同时,使学生了解和熟悉 C 语言程序开发的环境,逐步掌握编辑、调试、运行程 序的方法,初步积累编程经验;并培养学生良好的程序设计风格及团队协作精神。 (二)实验步骤 1准备好上机所需的程序。手编程序应书写整齐,并经人工检查无误后才能上机,以 提高上机效率。对程序中自己有疑问的地方,应作出记号,以便在上机时给予注意。 2上机输入和调试自己所编的程序。一人一组,独立上机,上机过程中出现的问题, 除了是系统的问题以外,一般应自己独立处理。 3上机结束后,整理出实验报告,实验报告应包括以下内容 题目; 程序清单(加注释) ; 运行结果; 对运行情况所作的分析 本次调试程序取得的经验。 (三)教学重点与难点 1 C 语言程序开发的方法 2 选择结构与循环结构的实现 3 函数的定义、声明和调用 4 变量的数据类型、存储类别、作用域、生存期 5 数组的定义、赋值和引用 6 结构体类型、共用体类型的定义,结构体、共用体变量的定义、初始化和引用 7 指针的定义、使用 8 指针与函数指针作为函数的参数、函数返回指针值、指向函数的指针。 9 指针与数组 掌握指针和数组的关系通过指针引用数组元素、指针数组和带参 main 函数等。 10掌握字符串的指针和指向字符串的指针变量; 11链表的表示及相关算法的实现 12文件类型及相关函数的使用规则 二、课程内容 实验一 实验题目熟悉 C 语言的开发环境和 C 程序的上机步骤 实验目的和要求 1 了解 Turbo C 2.0 编译系统,熟悉各菜单的功能,掌握在该系统上编辑、编译、连接 和运行一个 C 程序的方法。 2 通过调试、运行简单的 C 程序,初步了解 C 语言源程序的特点。 实验内容 1 编写一个 C 程序,求一个圆的面积。 2 编写程序求任意三个数中的最大值。 学时2 学时 实验二 实验题目基本数据类型及数据的输入输出 实验目的和要求 1 了解 C 语言的数据类型,掌握整型、字符型、实型变量定义的方法、赋值的方法。 2 掌握常用的输入输出函数的使用方法,掌握各种格式说明符的功能并能熟练使用。 3 进一步熟悉 C 程序的编辑、编译和运行的过程。 实验内容 1 调试运行例 2.4、例 2.5、例 2.6、例 2.7、例 2.8、例 2.9、例 2.10。 2 课本练习与实践第三题 学时2 学时 实验三 实验题目运算符及表达式 实验目的和要求 1 掌握算术运算符、自增自减运算符、赋值运算符、关系运算符、逻辑运算符、条件 运算符、逗号运算符、位运算符的功能及对运算对象的要求。 2 掌握各运算符的优先级和结合性。 3 熟悉自动类型转换的规则及强制类型转换。 实验内容 1 调试运行例 3.1、例 3.4、例 3.5、例 3.8 2 课本练习与实践第六题 学时2 学时 实验四 实验题目顺序结构程序设计 实验目的和要求 1 掌握顺序结构程序的设计思想,领会顺序结构的程序执行时顺次执行的特点。 2 掌握赋值语句的特点、功能。 实验内容 1 己知三角形的底和高,求三角形的面积。 2 若己知某银行一年定期的存款年利率,输入存款额,计算三年后本利之和并输出。 学时2 学时 实验五 实验题目选择结构程序设计 实验目的和要求 1 掌握选择结构程序的设计思想,领会选择结构中控制语句与程序执行流程的关系。 2 了解和掌握单分支选择结构(if 语句) 、双分支选择结构(if-else 语句) 、多分支选 择结构(switch 语句)的实现。 3 掌握嵌套的 if 语句。 实验内容 1 调试运行例 4.8。 2 输入四个整数,要求按大小顺序输出。 3 编程序实现输入一个百分制成绩,要求输出成绩的等级A 、 B 、 C 、 D 、 E 。90 分以上为A ,8189 分为B ,7079 分为C ,6069 分为D , 60 分以下为E 。 4 编程序实现给出一个不多于 5 位的正整数,要求 求出它是几位数; 分别打印出每一位数字; 按逆序打印出各位数字,例如原数为 321,应输出为 123。 学时2 学时 实验六 实验题目循环结构程序设计 实验目的和要求 1 掌握循环结构程序的设计思想,领会循环结构中控制语句与程序执行流程的关系。 2 熟悉和掌握 while 语句、dowhile 语句和 for 语句的使用规则和流程。 3 掌握嵌套的循环结构的实现。 4 掌握 break 语句、continue 语句的功能及其异同。 5 掌握在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等) 。 实验内容 1 调试运行例 4.11、4.15、4.24。 2 输入两个正整数,求其中最大公约数和最小公倍数。 3 有一分数序列 1/2, 2/3, 3/4, 4/5, 5/6 ,求出这个数列的前 20 项之和。 4 利用如下无穷级数计算圆周率。 4- 3 4 5 4 - 7 4 9 4 - 11 4 要计算多少项才能得到值 3.14,3.141,3.1415,3.14159 5 公鸡五元一只,母鸡三元一只,小鸡一元三只,一百元钱要买一百只鸡,且必须包 含公鸡、母鸡和小鸡。编写程序,输出所有可能的方案。 学时4 学时 实验七 实验题目函数 实验目的和要求 1 掌握函数定义、函数声明、函数调用的方法。 2 领会函数调用时实参与形参的对应关系,以及主、被调函数之间的数据传递方式。 3 掌握函数的嵌套调用和递归调用的方法。 4 理解变量的作用域、生存期的概念,掌握不同存储类别的变量特点及使用规则。 实验内容 1 写一个判断素数的函数,在主函数输入一个整数,输出是否素数的信息。 2 用一个函数来实现将一行字符串中最长的单词输出。此行字符串从主函数传递给该 函数。 3 用递归法将一个整数转换成字符串。例如,输入 483,应输出字符串“483” 。N 的 位数不确定,可以是任意的整数。 4 求两个数的最大公约数和最小公倍数,用一个函数求最大公约数。用另一个函数根 据求出的最大公约数求最小公倍数。 用外部变量的方法。将两个整数的最大公约数、最小公倍数都设为全局变量。 不用外部变量,两个整数在主函数中输入,并传递给函数,求出的最大公约数返 回主函数,然后再与两个整数一起作为实参传递给函数 2,以求出最小公倍数,返回到 主函数输出最大公约数和最小公倍数。 学时4 学时 实验八 实验题目编译预处理 实验目的和要求 1 掌握宏定义的规则,领会带参数宏定义和函数调用的区别。 2 了解文件包含命令的功能和使用规则。 3 了解条件编译的特点和功能。 实验内容 1 调试运行例 6.1、例 6.2、例 6.3、例 6.4。 2 利用条件编译实现如果输入两个实数,则交换后输出;如果输入的是三个实数, 则只输出其中最大的数。 学时2 学时 实验九 实验题目数组 实验目的和要求 1掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2掌握字符数组和字符串函数的使用。 3掌握与数组有关的常用算法。 实验内容 1 用选择法对 10 个整数排序。10 个数用 scanf 函数输入。 2 有 15 个数存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中 第几个元素的值。如果该数不在数组中,则输出“无此数” 。以 15 个数用赋初值的 方法在程序中给出。 3 将两个字符串连接起来,不要用 strcat 函数。 4 在矩阵中若有元素在它所在的行最小,而在它所在的列最大,则称这样的元素为鞍 点。编程序查找一个矩阵中的鞍点,并输出。 学时2 学时 实验十 实验题目结构体和共用体 实验目的和要求 1 掌握结构体类型变量的定义和使用。 2 掌握共用体的概念与使用。 3 掌握用户自定义类型的特点和应用。 实验内容 1 有 5 个学生,每个学生的数据包括学号、姓名、三门课的成绩,从键盘输入 5 个学 生数据,要求打印出三门课总平均成绩,以及最高分的学生的数据(包括学号、姓 名、三门课的成绩、平均分数) 。要求用一个 函数输入 5 个学生数据;用一个 average 函数求总平均分;用 max 函数找出最高分学生数据;总平均分和最高分的 学生的数据都在主函数中输出。 2 13 个人围成一圈,从第 1 个人开始顺序报号 1、2、3。凡报到“3”者退出圈子, 找出最后留在圈子中的人原来的序号。 3 编写程序,根据用户输入的数字(112) ,输出相应的月份名。用枚举类型实现。 学时2 学时 实验十一 实验题目指针 实验目的和要求 1 掌握有关指针的概念,会定义和使用指针变量。 2 掌握指针和函数的关系 指针作为函数的参数、 函数返回指针值、 指向函数的指针。 3 掌握指针和数组的关系通过指针引用数组元素、指针数组和带参 main 函数等。 4 掌握字符串的指针和指向字符串的指针变量; 5 掌握链表的概念,初步学会对链表进行操作; 实验内容 1 请编写函数,对传送过来的三个数选出最大和最小数,并通过形参传回调用函数。 2 采用指针的方法逆置一维数组,用函数实现。 3 采用指针的方法转置二维数组,用函数实现。 4 设一个函数 pree,每次调用它时实现不同的功能。输入 a,b,c 三个数,第一次调用 时求 a,b,c 的最大者,第二次调用时求 a,b,c 的最小者,第三次调用时求 a,b,c 之和。 5 用指向指针的指针的方法对 n 个整数排序并输出。要求将排序单独写成一个函数。 n 和各整数在主函数中输入。最后在主函数中输出。 6 已知 L 是一个带头结点的单链表,链表中每个结点包含一个实型的数据域和指针 域。在链表中查找值最大的结点,要求分别编写函数实现 返回最大值; 返回最大值所在结点的地址值。 学时4 学时 实验十二 实验题目文件 实验目的和要求 1 掌握文件及缓冲文件系统、文件指针的概念。 2 学会使用文件打开、关闭、读、写等文件操作函数。 3 学会用缓冲文件系统对文件进行简单的操作。 实验内容 1 有 5 个学生,每个学生由门课的成绩,从键盘输入以上数据(包括学号、姓名、三 门课成绩) ,计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件 “stud”中。 2 将上题“stud”文件中的学生数据,按平均分进行排序处理,将已排序的学生数据 存入一个新文件“stusort”中。 3 将上题已排序的学生成绩文件进行插入处理。插入一个学生的三门课成绩。程序先 计算新插入学生的平均成绩,然后将它按成绩高低顺序插入,插入后建立一个新文 件。 学时2 学时

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值