《程序设计基础》实验实施计划表及实验说明(2012版 胡斌).doc_第1页
《程序设计基础》实验实施计划表及实验说明(2012版 胡斌).doc_第2页
《程序设计基础》实验实施计划表及实验说明(2012版 胡斌).doc_第3页
《程序设计基础》实验实施计划表及实验说明(2012版 胡斌).doc_第4页
《程序设计基础》实验实施计划表及实验说明(2012版 胡斌).doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

表1 实验实施计划 杭州师范大学信息科学与工程学院 课程负责人或任课教师用表程序设计基础实验教学实施计划课程综述程序设计基础是计算机科学与技术、软件工程、电子信息工程专业的一门专业基础课,是多门后续专业课程的先导课。本课程的教学目的是使学生掌握有关C程序设计的基本概念、基本结构、基本方法与技巧,具备利用C语言进行程序设计的基本素质,拥有用C语言编写程序和上机调试的能力,为后续课程的学习打下坚实的基础。实验设置总体说明程序设计基础是一门实践性很强的课程。通过实验使学生加深对课堂讲授的概念、语法、算法、编程技术的理解;熟悉C程序设计的开发环境;掌握程序设计和调试的基本技能。并通过实践激发学生进一步学习的积极性,培养学生的学习兴趣和创新思维。通过9个实验,使学生经过一定数量的上机训练,了解和掌握C程序设计的环境、程序的数据表示、程序的执行流程控制、程序的整体结构等C程序设计的基本概念和应用技术。所有实验必须独立完成。实验名称(选做实验后面加*号)1C语言编程环境、简单C程序实验2数据类型、运算符与表达式实验3程序控制结构基础实验4数组、函数基础实验5指针基础实验6程序控制结构进阶实验7数组、函数进阶实验8结构体和共用体实验9文件实验实验占课程总课时、学分比例情况实验占课程总课时(80学时)的2/5合计32学时、占课程总学分(4学分)的37.5%。实验资料存档形式(纸质/光盘)光盘注:该表由课程负责人或任课教师填写,并于每学期初随教学进度表一起交教务科。 填写人:胡斌 2012 年 8 月 31 日C程序设计实验说明实验一:C语言编程环境、简单C程序实验实验目的:了解C语言的编程环境,初步掌握在Visual studio2010环境下对C程序进行编辑、编译和运行的基本方法和步骤。用printf函数实现一个简单的文本输出程序。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:1. 启动Visual studio2010;2. 初步了解Visual studio2010集成环境的界面和主要功能;3. 创建一个新的解决方案,并向其中添加源代码文件;4. 关闭、重新打开解决方案;5. 编写简单C程序(只有printf语句),编译、运行该程序。6. 单步执行程序;实验主要步骤:1启动Visual studio2010开发平台;2新建一个解决方案;3. 向解决方案中添加文件;4. 关闭和删除解决方案;5. 导入已有解决方案;6. 编写并运行最简单的C语言程序(main函数中没有任何语句);7. 用printf函数实现图形/文字输出,输出内容可以是以下字符图形中的一种,也可以是其他自己设计的图形。(1)下雨啦 , , , , 田田田田 (2)|/.-.-/.(.)+-oOOo-(_)-oOOo-+| | 祝 你 快 乐! | |+-0O-+(3)* * * 天氣冷了,送你一件毛衣,* 小心別著涼了!(4) 祝你快乐!评分标准:1. 实验报告是否规范、完整(10 %);2. 源代码排版是否规范(10 %);3. 程序能否正确运行(30 %);4. 输出结果及程序的难易程度(50 %);实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验二:数据类型、运算符与表达式实验实验目的:理解数据类型概念,掌握整数、实数、字符三种基本数据类型概念及其实用,理解常量和变量的含义,理解赋值、算术运算等基本运算的含义。能用printf, scanf函数实现具有简单输入/出功能的C语言程序。正确理解变量、运算符和表达式的含义;能够用算术运算、赋值等语句实现简单的顺序结构程序。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:问题一:运用printf, scanf函数实现一个能够进行整数和实数加、减、乘、除运算的程序。问题二:输入一个以秒为单位的表示时间的整数,输出与该整数相等的小时、分钟、秒表示法。例如:输入:7322输出:2小时2分2秒 问题三:输入一个字符,输出该字符对应ASCII码值的八进制、十进制和十六进制表示。例如:输入:e输出:OCT: 145DEC: 101 HEX: 65实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1. 实验报告是否规范、完整(10%);2. 源代码排版是否规范(10%);3. 程序能否正确运行(30 %);4. 输出结果及程序的难易程度(50 %);实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验三:程序控制结构基础实验实验目的:正确理解逻辑量、关系表达式、逻辑表达式;熟练掌握if语句;结合程序学会一些简单的算法;学习如何调试C程序。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:问题一:编写一个完整的程序,运行时向用户提问:“你考试考了多少分?(0100)”,接收输入后判断其等级并显示出来。规则如下:等级分数范围优90 = 分数 = 100良80 = 分数 90中60 = 分数 80差0 = 分数 60问题二:输入三个正整数,分别代表一个日期的年、月、日,计算并在屏幕上显示输入日期后一天的年、月、日。例如:输入:2007 2 28输出:2007 3 1程序需满足以下要求:1)检查年月日的合法性:如月份在1, 12范围内取值,每个月份的日取值范围为:1, 3, 5, 7, 8, 10, 12: 1, 314, 6, 9, 11: 1, 302: 闰年:1, 29,不是闰年:1, 28 2) 能正确处理边界日期:每个月的最后一天问题三:分别用while语句实现以下程序:从键盘输入一个数字n,表示即将输入的数据个数,然后输入n个整数,求这n个整数的最大值、最小值和平均值。例: 输入: 5 4 3 29 45 8输出: 最大值:45 最小值:3 平均值:17.8问题四:用goto, while语句完成:求自然数1100之和并输出。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验四 数组、函数基础实验实验目的:正确理解函数的含义,掌握C语言函数的基本结构以及函数声明、定义和使用的方法。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:从键盘输入10个整数并将它们存放于一个数组中,对这些整数进行从小到大排序(数组第一个单元存放最小数,最后一个单元存放最大数),最后输出排序后数组各单元的数值。问题二:编写函数,分别以数组和整数作为输入参数,判断一个年份是否为闰年;问题三:编写一个函数,输入一个整数,逆序输出该数,如输入253,输出352;实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果2在调试过程出现的错误及你是如何纠正的?还存在哪些问题? 实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验五:指针基础实验实验目的:通过实验正确理解指针变量和地址的概念,掌握指针变量的赋值、运算,以及通过指针引用变量的方法。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:使用指针的方法,编写解决下面问题的程序,然后上机输入程序并调试运行程序。问题一:定义一个普通变量(类型自选)和一个相同类型的指针变量,通过指针变量对非指针变量进行读写操作。问题二:定义一个指针变量(类型自选)并通过该变量进行读写操作。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 按题目要求输入原始数据,仔细检查输出结果,排除错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单2谈谈你在使用指针和字符串编写和调试程序的过程中经验和体会(碰到哪些问题,你是如何解决的?使用指针特别应该注意的地方等)。实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验六:程序控制结构进阶实验实验目的:熟练掌握用do-while语句、for语句以及break/continue语句实现循环的方法,结合循环程序设计掌握一些简单算法,进一步学习调试程序的方法和技巧。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:用switch语句解决以下问题:输入一个表示月份的整数,输出该月中的两个节气,如果输入不符合要求,则显示错误信息。例如:输入:3输出:这个月的节气有:惊蛰、春分问题二:分别用do-while和for语句完成:求自然数1100之和并输出。问题三:输入一个正整数,并开始以下计算序列:如果数的当前值为偶数,则将它置为原值的1/2,如果是奇数,则将该数乘以3再加1。重复该过程直至该数变为1,同时输出该过程的计算步数。例:输入: 9输出:下一个值: 28下一个值: 14下一个值: 7下一个值: 22下一个值: 11下一个值: 34下一个值: 17下一个值: 52下一个值: 26下一个值: 13下一个值: 40下一个值: 20下一个值: 10下一个值: 5下一个值: 16下一个值: 8下一个值: 4下一个值: 2最终数值: 1, 一共计算了19步。实验主要步骤:1. 输入编写好的源代码。2. 编译源程序,修正所有的编译错误。3. 用不同的输入数据,仔细检查输出结果,纠正可能的语义错误,直到程序正确为止。评分标准:1带必要注释的各个程序源代码清单,运行结果实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验七:数组、函数进阶实验实验目的:通过实验熟悉二维数组、复杂函数以及递归函数的定义和使用。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:设计算法解决以下问题,并用C语言实现这些算法:问题一:分别用一维数组和二维数组存放以下图形,然后分别用循环语句输出该图形:* * * * * * * * * * * * * * *问题二:编写一个身份证号处理程序,根据输入的两个身份证号比较两个人的年纪大小。为了完成该任务,需要编写三个函数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在调试过程出现的错误及你是如何纠正的?还存在哪些问题? 实验报告形式(纸质/电子):电子填写人签名: 胡斌 填写日期:2012年 8 月31 日实验八:结构体与共用体实验实验目的:理解结构体的含义,能够定义和熟练使用结构体类型;掌握指针的高级使用方法。实验环境(硬/软件要求): Windows 7 (XP) + Visual studio2010实验内容:1. 创建一个复杂数据(结构体)类型,该类型的变量能够存放一个学生的信息,包括:学号、姓名、性别以及三门课程的成绩(C程序设计、计算机科学导论和大学英语),要求性别用中文“男/女”表示。2. 新建链表存放二十个以上学生的信息(链表的每一个节点存放一个学生的信息),如:0764181057林婷婷女8790780764181058刘俊伟男9965560764181060卢京京女8090960764181063王亚明男8790960764181064李俊男9188963. 列出平均分高于80分的学生姓名,学号和平均成绩;4. 向链表中插入一个学生,如:0764181059戴国锋男8192895. 从链表中删除“计算机科学导论”课程成绩低于70分的学生。6编写一个遍历输出该链表全体数据的函数,并在新建、插

温馨提示

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

评论

0/150

提交评论