版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础实验指导书2009-2010学年第二学期09级学生长春工业大学软件学院2009-12-31程序设计基础实验指导书目 录目 录I一、实验目的1二、实验内容1三、实验要求1实验一 熟悉实验环境3实验目的3实验内容演示类实验3实验内容设计类实验4实验二 常量和变量的使用5实验目的5实验内容演示类实验5实验内容设计类实验6实验三 输入/输出操作8实验目的8实验内容演示类实验8实验内容设计类实验10实验四、五 基本控制结构11实验目的11实验内容演示类实验11实验内容设计类实验13实验六 数组的使用15实验目的15实验内容演示类实验15实验内容设计类实验15实验七 结构体的使用17实验目的1
2、7实验内容演示类实验17实验内容设计类实验17实验八 字符串的操作18实验目的18实验内容演示类实验18实验内容设计类实验18实验九 函数的嵌套调用和递归调用20实验目的20实验内容演示类实验20实验内容设计类实验20实验十 文件的操作22实验目的22实验内容演示类实验22实验内容设计类实验22附件一:实验报告的一般格式22附件二:程序常见错误分析231、Undefined symbol xxxxxx232、Possible use of xxxxxx before definition233、Possible incorrect assignment244、Statement missing
3、 ;245、Misplaced else246、If(While、Do-while)statement missing (或If (While、Do-while)statement missing )257、Function definition out of place258、Size of structure or array not known259、Lvalue required2510、Constant expression required2611、Type mismatch in redeclaration of xxxxxx26II一、实验目的程序设计基础上机实验的目的主要是在
4、深入理解和掌握课程中的基本概念和原理的基础上培养学生用计算机程序设计来解决实际问题的意识,训练和提高学习者的程序设计能力和程序调试能力。二、实验内容1整个学期程序设计基础的上机实践共有10个,20学时。从实验一“熟悉实验环境”,到最后一个实验“文件的操作”,都本着由浅入深、由易到难、逐步深入的原则,给出了不同的上机程序。一般每个实验中分为“演示类实验”和“设计类实验”两部分,“演示类实验”多为书中示例的实现,旨在帮助学生更好地理解书中基础理论及算法实现,该类实验要求学生必须实现;“设计类实验”则多为学生自主设计类题目,旨在提高学生的程序设计思想及创新能力,有约二至四个不同难度的程序,学生可根据
5、自己的实际情况选做。对一些有难度的题目,实验中都给出了问题的算法和参考程序,有助于学习者参考。该类实验不做为课上考查。2每次实验后要求学生提交手写的实验报告,这也是整个实验过程的一个重要环节。通过写上机报告,可以促使学生对每次实验做一个总结,从而不断积累经验,提高程序设计及调试的能力,同时还可以提高其它软件的综合运用能力。实验报告的格式参照附件一。三、实验要求上机实验一般经历上机前的准备(编程)、上机调试运行和实验后的总结三个步骤。1上机前的准备 根据问题,进行分析,选择适当算法并编写程序。上机前一定要仔细检查程序(称为静态检查)直到找不到错误(包括语法和逻辑错误)。分析可能遇到的问题及解决的
6、对策。准备几组测试程序的数据和预期的正确结果,以便发现程序中可能存在的错误。 上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄写或复制一个别人编写的程序,到头来自己一无所获。2上机输入和编辑程序,并调试运行程序 首先调用Dev C+集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程序(扩展名为OBJ)。下一步是调用连接程序,产生可执行程序(扩展名为EXE)。使用预先准备的测试数据运行程序,观察是否得到预期的正确结果。若有问题,则仔细调试
7、,排除各种错误,直到得到正确结果。在调试过程中,要充分利用Dev C+集成开发环境提供的调试手段和工具,例如单步跟踪、设置断点、监视变量值的变化等。整个过程应自己独立完成。不要一点小问题就找老师,学会独立思考,勤于分析,通过自己实践得到的经验用起来更加得心应手。3整理上机实验结果,写出实验报告 实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告。 实验一 熟悉实验环境实验目的1 熟悉Dev C+的实验环境。(操作步骤详见Dev-C+简明使用手册(C语言版)v1.1)2 掌握Dev C+主菜单中常用菜单的功能。3 熟练地进入Dev C+编辑界面,熟练地输入和修改源程序。4 掌握
8、程序的编译和运行的过程。5 掌握和理解程序的结构。实验内容演示类实验【问题1】在屏幕上输出“Hello World!”。(教材P28)【程序】【要求】1、理解和掌握程序的结构。 2、在实验报告中总结在该程序调试过程中所遇到的问题。【问题2】求两个整数中较大者。(教材P28)【程序】程序如下:【要求】1、理解和掌握多函数程序的结构。 2、在实验报告中总结在该程序调试过程中所遇到的问题。实验内容设计类实验【问题1】任意输入两个整数,并求这两个整数中较大者。【问题2】任意输入两个自然数,并求这两个自然数的最大公约数。(参见P22)实验二 常量和变量的使用实验目的1 进一步熟悉Dev C+编程环境的使
9、用方法;2 熟悉各种常量的表示方法;3 熟悉变量的概念、声明、初始化、赋值等;实验内容演示类实验【问题1】验证C语言中获取变量地址的运算符“&”。(P55)【程序】【要求】1、在实验报告中写明运行结果。 2、在实验报告中总结在该程序调试过程中所遇到的问题。【问题2】给定圆的半径,求圆的面积。(P66)【程序】【要求】1、掌握变量的赋值操作。 2、在实验报告中总结在该程序调试过程中所遇到的问题。实验内容设计类实验【问题1】编程求出整型int、实型float、字符型char三种类型在你所用的机器上占内存的字节数。【程序】【要求】1、在实验报告中写明运行结果。 2、了解各种类型的长度; 3、在实验报
10、告中总结在该程序调试过程中所遇到的问题。【问题2】编程输出整型int、实型float、字符型char三种类型变量的值和地址。实验三 输入/输出操作实验目的1进一步掌握C程序的编辑、编译、连接和运行的过程。2熟练使用C的各种表达式。3熟练掌握输入、输出函数的使用。实验内容演示类实验【问题一】练习键盘上不同输入方式的输出结果有什么不同。(P94)【程序】【要求】1、a,b,c,d的ASCII码分别为97,98,99,100,“空格”和“回车”的ASCII码分别为“32”和“10”。用以下几种输入方式验证一下键盘上不同输入方式的输出结果有什么不同:abababc 2、在实验报告中写明运行结果。 3、
11、在实验报告中总结在该程序调试过程中所遇到的问题。【问题2】将表达式的值转换成字符类型并输出到终端(P95)【程序】【要求】1、熟悉putchar的用法; 2、在实验报告中写明运行结果。 3、在实验报告中总结在该程序调试过程中所遇到的问题。【问题3】从键盘上输入一个小写英文字母,将其转换为对应的大写英文字母。(P98)【程序】【要求】1、熟练掌握输入、输出函数的使用。 2、在实验报告中总结在该程序调试过程中所遇到的问题。实验内容设计类实验【问题1】编程序,输出如下图形:* * * *【问题2】编写程序,实现下面的输出格式和结果( 表示空格):a= 5,b= 7,a-b=-2,a/b= 71%c1
12、=COMPUTER,c2=COMP ,c3= COMPx=31.19,y= -31.2,z=31.1900s=3.11900e+002,t= -3.12e+001【问题3】运行下述程序,分析输出结果。main( ) int a=10;long int b=10;float x=10.0;double y=10.0;printf(a = %d, b = %ld, x = %f, y = %lfn,a,b,x,y);printf(a = %ld, b = %d, x = %lf, y = %fn,a,b,x,y);printf(x = %f, x = %e, x = %gn,x,x,x);从此题的
13、输出结果认识各种数据类型在内存的存储方式。实验四、五 基本控制结构实验目的1 掌握顺序结构程序的设计方法;2 熟悉选择结构程序设计。3 熟练使用if语句进行程序设计。4 使用switch语句实现多分枝选择结构。5. 熟练掌握三种循环语句的应用。6. 熟练掌握循环结构的嵌套。7. 练习调试与修改程序。实验内容演示类实验【问题1】水仙花数。所谓水仙花数是指一个三位数,其各位数字的立方和等于该数本身。要求从键盘输入一个三位数,判断该数是否是一个水仙花数。(P104)【程序】【要求】1、掌握顺序结构程序的设计方法;2、验证以下哪些是水仙花数:153,371,8208,54748,92728。在实验报告
14、中写明答案。 3、在实验报告中总结在该程序调试过程中所遇到的问题。【问题2】欧几里德算法:辗转相除法求两个自然数的最大公约数。【程序】见P110【要求】1、掌握选择结构程序的设计方法;2、验证以下几组数的最大公约数:118和295;183和427。在实验报告中写明答案。 3、在实验报告中总结在该程序调试过程中所遇到的问题。【问题3】计算n!。【程序】见P112【要求】1、用当型循环结构程序设计方法实现;2、求出以下几个数的阶乘:9,15,30。在实验报告中写明答案。 3、在实验报告中总结在该程序调试过程中所遇到的问题。【问题4】计算n!。【程序】见P114【要求】1、用直到型循环结构程序设计方
15、法实现;2、比较两种实现方法的不同。 3、在实验报告中总结在该程序调试过程中所遇到的问题。【问题5】歌德巴赫猜想:任意大于2的偶数可以分解为两个素数之和,例如20=17+3, 80=73+7。【程序】见P130【要求】1、掌握循环结构的嵌套;2、验证以下几个偶数可以分解为哪两个素数之和:56,128,2856。在实验报告中写明答案。 3、在实验报告中总结在该程序调试过程中所遇到的问题。实验内容设计类实验【问题一】设计复合语句实现交换两个变量的值。【问题二】用scanf函数输入一个年份year,计算这一年2月份的天数days,然后用输出函数printf输出days。实验步骤与要求:(1)有变量定
16、义为整型。(2)输入前要加提示语句。(3)输出结果前要有必要的文字说明。说明:(1)闰年的条件是:year能被4整除但不能被100整除,或者year能被400整除。(2)如果year是闰年,则2月份的天数为29天,不是闰年则为28天。【问题三】编写程序,输入奖金数a,计算并输出税率、应缴税款和实得奖金数。奖金 税率a500 0.00500a1000 0.051000a2000 0.082000a5000 0.105000a 0.15实验步骤与要求:(1) 用if语句编程,自变量和函数值均为双精度类型(2) 用scanf函数输入奖金数a,输出结果采用以下形式:a=具体值 rate=税率值 tax
17、=应缴税款 profit=实得奖金数(3) 分别输入a=280,512,1000,4250,5100,运行该程序(4) 用ifelse if语句和switch语句编程。【问题四】3 编写程序实现输入整数n,输出如下所示由数字组成的菱形。(图中n=5) 11 2 11 2 3 2 11 2 3 4 3 2 11 2 3 4 5 4 3 2 11 2 3 4 3 2 11 2 3 2 11 2 11 实验六 数组的使用实验目的1掌握数组的定义、赋值和输入输出的方法。2学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组的插入等)。3. 掌握C语言中字符数组和字符串处理函数的使用。4掌握在字
18、符串中删除和插入字符的方法。实验内容演示类实验【问题一】舞林大会:某学校组织现代舞比赛,聘请了N名评委为参赛选手打分,评分原则是去掉一个最高分和一个最低分,取剩下评分的平均值 作为该选手的最后得分。评委给出的评分范围为0,10,并且可以是小数。假设评委的评分由键盘输入,要求输出参赛选手的最终得分。【程序】见P142【要求】1、掌握使用一维数组进行程序设计的方法。2、验证N=5,评委分数分别为7.9,8.2,9.0,7.6,8.6N=8,评委分数分别为9.6,9.8,9.5,8.9,9.5,9.6,9.8,9.7 时,选手的最后得分。在实验报告中写明答案。 3、在实验报告中总结在该程序调试过程中
19、所遇到的问题。【问题二】求二维数组rmn的最大值元素。【程序】见P149【要求】1、掌握使用二维数组进行程序设计的方法。 2、在实验报告中总结在该程序调试过程中所遇到的问题。实验内容设计类实验【问题一】调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。main( ) int i,n,a10,av;for(i=0;in;i+)scanf(%d,ai);for(i=0;id)for(k=0;kb) t=a;a=b;b=t; else ;6、If(While、Do-while)statement missing (或If (While
20、、Do-while)statement missing )检查:(1)括号不配对 7、Function definition out of place检查:(1)函数定义位置是否有错 函数定义不能出现在另一函数内。(2)函数内的说明是否有类似于带有一个参数表的函数开始 例如,在函数中定义数组时误用了圆括号,就会被误认为是一个函数定义。8、Size of structure or array not known检查:(1)表达式中是否出现未定义的结构或数组(2)定义结构或数组的语句有错 如:数组的定义要求用方括号,如果是二维数组或多维数组在定义和引用时必须将每一维的数据分别用方括号括起来,即定义二维数组a3,5是错误的,而应用a35。9、Lvalue required检查:(1)赋值号左边是否是一个地址表达式 赋值号左边必须是一个地址表达式,包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院感染暴发报告及处置管理规范试题带答案
- 幼儿园体格锻炼总结(2篇)
- 2026年中国机械科学研究总院集团有限公司人员招聘考试参考试题及详细答案解析
- 高中数学必修第一册 教学设计 集合的枚举法与描述法深度教学
- 2026年国联证券人员招聘笔试参考题库及详细答案解析
- 2025下半年小学教师资格证《综合素质》试题及答案解析
- 小学六年级音乐《长江之歌》合唱教学设计
- 高三地理一轮复习资源、能源安全与国家安全教学设计
- 2025医疗器械培训试题(含答案)
- 2025质量知识竞赛试题题库含参考答案
- AQ3067-2026重大事故隐患判定准则专项培训考核试卷-答案卷
- 【应用方案】2026智慧农业农业机器人智能感知与精准作业一体化设计方案
- 2026事业单位笔试-云南-云南财务(医疗招聘)历年参考题库含答案详解
- 《计算政治学概论》课件 第1-8章 计算政治学的起源与发展-数字社会治理
- CSCO非小细胞肺癌诊疗指南(2026版)
- 2025湖南长沙矿山研究院发布校招招聘52人笔试历年典型考点题库附带答案详解
- 压缩空气储能地下洞库施工方案
- T∕CCEAS008-2026 建设工程造价咨询成果文件质量标准
- 自密实混凝土施工方法及浇筑管控要点
- 冻品食材配送服务方案
- 电力重大事故隐患判定与治理监督规定(2026版)深度解读课件
评论
0/150
提交评论