《C语言程序设计基础》实验实施计划表及实验说明_第1页
《C语言程序设计基础》实验实施计划表及实验说明_第2页
《C语言程序设计基础》实验实施计划表及实验说明_第3页
《C语言程序设计基础》实验实施计划表及实验说明_第4页
《C语言程序设计基础》实验实施计划表及实验说明_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

表1 实验实施计划 信息工程学院 课程负责人或任课教师用表程序设计基础实验教学实施计划课程综述程序设计基础是计算机科学与技术、软件工程、电子信息工程专业的一门专业基础课,是多门后续专业课程的先导课。本课程的教学目的是使学生掌握有关C程序设计的基本概念、基本结构、基本方法与技巧,具备利用C语言进行程序设计的基本素质,拥有用C语言编写程序和上机调试的能力,为后续课程的学习打下坚实的基础。实验设置总体说明程序设计基础是一门实践性很强的课程。通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。通过9个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。所有实验必须独立完成。实验名称(选做实验后面加*号)1C语言编程环境、简单C程序实验 (2)2数据类型、运算符与表达式实验 (2)3选择结构程序设计实验 (4)4循环结构程序设计实验 (4)5数组实验 (4)6函数实验 (4)7指针实验 (2)8结构体和共用体实验 (4)9文件实验 (4)实验占课程总课时、学分比例情况实验占课程总课时(80学时)的2/5合计32学时、占课程总学分(4学分)的37.5%。实验资料存档形式(纸质/光盘)光盘注:该表由课程负责人或任课教师填写,并于每学期初随教学进度表一起交教务科。 填写人: 2010 年 8 月 31 日C程序设计实验说明实验一:C语言编程环境、简单C程序实验实验目的:了解C语言的编程环境,初步掌握在Eclipse CDT + gcc + gdb环境下对C程序进行编辑、编译和运行的基本方法和步骤。用printf函数实现一个简单的文本输出程序。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:1. 启动Eclipse CDT;2. 初步了解Eclipse CDT + gcc + gdb集成环境的界面和主要功能;3. 创建一个新的空工程,并向工程添加源代码文件;4. 关闭工程、重新打开工程;5. 编写简单C程序(只有printf语句),编译、运行该程序。6. 在gdb中单步执行程序;实验主要步骤:1启动Eclipse CDT开发平台;2新建一个空工程;3. 向工程添加文件;4. 关闭和删除工程;5. 通过“import”导入工程;6. 编写并运行最简单的C语言程序(main函数中没有任何语句);7. 用printf函数实现图形/文字输出,输出内容可以是以下字符图形中的一种,也可以是其他自己设计的图形。(1)下雨啦 , , , , 田田田田 (2)|/.-.-/.(.)+-oOOo-(_)-oOOo-+| | 祝 你 快 乐! | |+-0O-+(3)* * * 天氣冷了,送你一件毛衣,* 小心別著涼了!(4) 祝你快乐!评分标准:1. 实验报告是否规范、完整(10 %);2. 源代码排版是否规范(10 %);3. 程序能否正确运行(30 %);4. 输出结果及程序的难易程度(50 %);实验报告形式(纸质/电子):电子填写人签名: 填写日期:2010年 6 月10 日实验二:数据类型、运算符与表达式实验实验目的:理解数据类型概念,掌握整数、实数、字符三种基本数据类型概念及其实用,理解常量和变量的含义,理解赋值、算术运算等基本运算的含义。能用printf, scanf函数实现具有简单输入/出功能的C语言程序。正确理解变量、运算符和表达式的含义;能够用算术运算、赋值等语句实现简单的顺序结构程序。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:问题一:运用printf, scanf函数、算术运算和赋值语句,实现具有简单输入/出功能的C语言程序。问题二:输入一个以秒为单位的表示时间的整数,输出与该整数相等的小时、分钟、秒表示法。例如:输入:7322输出:2小时2分2秒 问题三:输入一个字符,输出该字符对应ASCII码值的八进制、十进制和十六进制表示。例如:输入:e输出:OCT: 145DEC: 101 HEX: 65实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1. 实验报告是否规范、完整(10%);2. 源代码排版是否规范(10%);3. 程序能否正确运行(30 %);4. 输出结果及程序的难易程度(50 %);实验报告形式(纸质/电子):电子填写人签名: 填写日期:2010年6 月 10日实验三:选择程序设计实验实验目的:正确理解逻辑量、关系表达式、逻辑表达式;熟练掌握if语句和switch语句;结合程序学会一些简单的算法;学习如何调试C程序。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:问题一:编写一个完整的程序,运行时向用户提问:“你考试考了多少分?(0100)”,接收输入后判断其等级并显示出来。规则如下:等级分数范围优90 = 分数 = 100良80 = 分数 90中60 = 分数 80差0 = 分数 60问题二:输入一个表示月份的整数,输出该月中的两个节气,如果输入不符合要求,则显示错误信息。例如:输入:3输出:这个月的节气有:惊蛰、春分问题三:输入三个正整数,分别代表一个日期的年、月、日,计算并在屏幕上显示输入日期后一天的年、月、日。例如:输入:2007 2 28输出:2007 3 11)检查年月日的合法性:如月份在1, 12范围内取值,每个月份的日取值范围为:1, 3, 5, 7, 8, 10, 12: 1, 314, 6, 9, 11: 1, 302: 闰年:1, 29,不是闰年:1, 28 2) 能正确处理边界日期每个月的最后一天实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果实验报告形式(纸质/电子):电子填写人签名: 填写日期:2010年 6 月 24 日实验四:循环程序设计实验实验目的:熟练掌握用while语句,do-while语句和for语句实现循环的方法,结合循环程序设计掌握一些简单算法,进一步学习调试程序的方法和技巧。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:分别用while, do-while和for语句完成:求自然数1100之和并输出。问题二:分别用for和while语句实现以下程序:从键盘输入一个数字n,表示即将输入的数据个数,然后输入n个整数,求这n个整数的最大值、最小值和平均值。例: 输入: 5 4 3 29 45 8输出: 最大值:45 最小值:3 平均值:17.8问题三:输入一个整数,将各位数字反转后输出。例:输入: 256输出:652 实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日实验五 数组实验实验目的:正确理解函数的含义,掌握C语言函数的基本结构以及函数声明、定义和使用的方法。能够通过函数实现代码重用。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:从键盘输入10个整数并将它们存放于一个数组中,对这些整数进行从小到大排序(数组第一个单元存放最小数,最后一个单元存放最大数),最后输出排序后数组各单元的数值。问题二:分别用一维数组和二维数组存放以下图形,然后分别用循环语句输出该图形:* * * * * * * * * * * * * * *实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果2在调试过程出现的错误及你是如何纠正的?还存在哪些问题? 实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日实验六:函数实验实验目的:正确理解函数的含义,掌握C语言函数的基本结构以及函数声明、定义和使用的方法。能够通过函数实现代码重用。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:用C语言实现strcmp和strcat这两个字符串处理函数;问题二:编写一个身份证号处理程序,根据输入的两个身份证号比较两个人的年纪大小。为了完成该任务,需要编写三个函数getYear, getMonth, getDay,从身份证号码中提取出生年、月、日。函数声明如下:int getYear(char chSNumber);int getMonth(char chSNumber);int getDay(char chSNumber);18位身份证例子:33010419720807024315位身份证例子:330104720807024问题三:设计函数检查身份证号校验码的正确性,该函数的原型和输入/出分别为:int Verifier(char chSNumber);输入:表示身份证号的字符串;输出:1-正确,0-错误注:18位身份证号码中的最后一位是校验码,它根据前面17位数字自动生成,校验码计算过程为:先求17位数的加权和S,然后求S对11的模,根据求模结果得到对应的校验码,主要公式及数据如下:(1)十七位数字本体码加权求和公式S = Sum(Ai * Wi), i = 0, . , 16,先对前17位数字的权求和 其中,Ai:表示第i位置上的身份证号码数字值,Wi:表示第i位置上的加权因子:Wi: 7 9 10 5 8 4 2 1 6 3 7 9 10 5 8 4 2 (2)计算模 Y = mod (S, 11) (3)通过模得到对应的校验码 Y: 0 1 2 3 4 5 6 7 8 9 10 校验码: 1 0 X 9 8 7 6 5 4 3 2该问题通过比较计算得到的校验码和身份证最后一位数字是否相等来验证身份证校验码是否正确。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果2在调试过程出现的错误及你是如何纠正的?还存在哪些问题? 实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日实验七:指针实验实验目的:通过实验进一步正确理解指针变量和地址的概念,掌握指针变量的赋值、运算,以及通过指针引用变量的方法;理解数组名与地址值之间的关系,能正确使用字符串指针和指向字符串的指针变量。正确理解数组的含义,掌握数组在计算机中的组织。能够用数组组织数据,并对数组进行相应存取访问。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:使用指针的方法,编写解决下面问题的程序,然后上机输入程序并调试运行程序。问题一:编写函数“replace”,以字符串为输入参数,实现如下功能:该函数将输入字符串中的所有空格替换为破折号“-”,并返回被替换的空格数目。例如,代码: char string = The cat sat; n = replace(string);执行后,字符串string变成“The-cat-sat”,n的值变成2。问题二:利用指针编写一个自己的求字符串长度的函数: int length(char * str) 并通过主函数调用、验证length()函数。问题三:编写一个程序,从键盘输入一个字符串(长度小于20),逆序输出该字符串。例如: 输入:prog5rev 逆序输出:ver5gorp 实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 按题目要求输入原始数据,仔细检查输出结果,排除错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单2谈谈你在使用指针和字符串编写和调试程序的过程中经验和体会(碰到哪些问题,你是如何解决的?使用指针特别应该注意的地方等)。实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日实验八:结构体与共用体实验实验目的:理解结构体的含义,能够定义和熟练使用结构体类型;掌握指针的高级使用方法。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:1. 创建一个复杂数据(结构体)类型,该类型的变量能够存放一个学生的信息,包括:学号、姓名、性别以及三门课程的成绩(C程序设计、计算机科学导论和大学英语),要求性别用中文“男/女”表示。2. 新建链表存放以下三个学生的信息(链表的每一个节点存放一个学生的信息):0764181057林婷婷女8790780764181058刘俊伟男9965560764181060卢京京女8090963. 列出平均分高于80分的学生姓名,学号和平均成绩,如:林婷婷 0764181057 85.04. 向链表中插入一个学生,该生信息为:0764181059戴国锋男8192895. 从链表中删除“计算机科学导论”课程成绩低于70分的学生。6编写一个遍历输出该链表全体数据的函数,并在新建、插入、删除等操作后调用以验证程序的正确性。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 按题目要求输入原始数据,仔细检查输出结果,排除错误,直到程序正确为止。评分标准:1. 结构体定义(25%)2. 链表操作创建(15%),查询(15%)插入(15%),删除(15%),遍历输出函数(15%)。实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日实验九:文件实验实验目的:理解文件的概念,掌握文件操作基本函数的使用。实验环境(硬/软件要求): Windows 2000 (XP) + Eclipse CDT + gcc + gdb实验内容:问题一:编写程序实现两个文件的合并功能;问题二:编写程序实现文件内容搜索功能:从键盘输入文件名和待搜索单词,程序搜索该文件并输出搜索结果,如果单词在文件中出现多次,则需输出具体出现次数,例如:输入:c:computerreadme.txt phone输出:单词“phone”一共在文件“c:computerreadme.txt”中出现35次。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单2谈谈你在使用文件编写和调试程序的过程中经验和体会(碰到哪些问题,你是如何解决的?)实验报告形式(纸质/电子):电子填写人签名: 填写日期:年 月 日Eclipse CDT开发平台gcc编译器gcc简介GCC(GNU Compiler Collection,GNU编译器套装),是一套由GNU开发的编程语言编译器。它是一套以GPL及LGPL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论