《程序设计》实验讲义_第1页
《程序设计》实验讲义_第2页
《程序设计》实验讲义_第3页
《程序设计》实验讲义_第4页
《程序设计》实验讲义_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

信息 学院 本科教学实验讲义本科教学实验讲义 实验 课程名称 实验 课程名称 程序设计程序设计 贵州财经学院教务处制表贵州财经学院教务处制表 1 程序设计实验教学讲义程序设计实验教学讲义 英文名称 The Programming of C 适用对象 计科专业 软件工程专业 学时学分 共 64 学时 实验 16 学时 3 学分 一 实验的目的一 实验的目的 本课程是学生进行程序设计的入门课 它是学生今后从事计算机程序设计的基础 也是 学习计算机其它专业课程 如数据结构 软件工程 面向对象的程序设计 编译原理等 的基础 C 程序设计课程是一门实践性很强的课程 需要同学们认真而扎实地练习 按时 完成作业 通过实验 使学生掌握 C 语言的基本语法 基本操作 程序设计的基本概念与 编程技术 并能运用所学知识解决实际问题 为以后学习面向对象的程序设计及其它专业 课程打下扎实的基础 二 实验开设对象二 实验开设对象 本实验开设对象计科 软件工程专业本科学生 实验为必修内容 四 指导教师要求四 指导教师要求 本实验课程教学配 1 名教师担任实验指导教师 实验室人员配合指导 指导教师应在实 验前阐述实验目的 基本方法 基本技术 实验要求等 指导学生在规定的时间内完成相 关课程实验 五 实验设备配置五 实验设备配置 每人配置 1 台电脑 安装有 VC 6 0 系统和其他相关组件 要求具有上网条件 六 考核与报告六 考核与报告 1 实验完成后 学生实验过程简要写到实验报告中 并完成心得体会和问题 符合实 验教学的要求 并得到指导教师的认可 2 指导教师对每份实验报告进行审阅 2 实实验验一一 C C 语语言言程程序序初初步步 必必做做 一 实验题目 C 程序的运行环境和编辑程序的方法 二 实验课时 课内 2 课时 三 实验目的 1 熟悉 C 语言运行环境 2 掌握 语言程序的书写格式和 语言程序的结构 3 掌握 C 语言上机步骤 了解运行一个 C 程序的方法 4 本实验可在学习完教材第一章后进行 四 实验步骤 静态地检查上述程序 改正程序中的错误 在编辑状态下照原样键入上述程序 编译并运行上述程序 记下所给出的出错信息 按照事先静态检查后所改正的情况 进行纠错 再编译执行纠错后的程序 如还有错误 再编辑改正 直到不出现语法错误为止 五 实验内容和要求 1 熟悉上机环境及常用命令 2 编写输出 Hello World 的第一个程序 3 验证两个数比较大小程序 4 有下面的 程序 目的是想计算由键盘输入的任意两个整数的积 exl c include stdio h main scanf x y scanf x y a x y 2 printf The average is a 调试无语法错误后 分别使用下列测试用例对上述程序进行测试 序号测试用例预计结果实际结果备注 126 213 3 2 6 4 1 3 5 26 6 13 710 83280033000 9 3280033000 4 分析上述哪几组测试用例较好 通过测试 你发现程序有什么错误了吗 若有错误 请指出错误原因 2 操作符 sizeof 用以测试一个数据或类型所占用的存储空间的字节数 请编写一个程序 测试各基本数据类型所占用的存储空间大小 3 编写一个 语言程序 测试下列各表达式 i j i 1 j 1 i j i j i j i j 要求在各表达式中 i 和 j 都分别有相同的初值 在实验中注意下列问题 哪些表达式是错误的 为什么 理解 i i 的意义和优先级别 4 编写一个程序 测试常用的十个运算符的优先顺序 选作 实实验验三三 输输入入与与输输出出 选选做做 一 实验题目 输入 输出及顺序结构程序设计 二 实验课时 课内 2 课时 三 实验目的 1 掌握 语言程序输入 输出的方法和格式 2 理解程序的顺序结构 四 实验步骤 1 完成实验内容 2 总结在 printf 函数中可以使用的各种格式指定符 并给出样例 3 总结在 printf 函数中可以使用的各转义字符及其功能 五 实验内容和要求 输入并编辑下面的程序 main int a b float c d long e f unsigned int u v char c1 c2 scanf d d a b 5 scanf f f c d scanf ld ld e f scanf o o u v scanf c c c1 c2 printf n printf a 7d b 7d n printf c 10 2f d 10 2f n printf e 17ld f 17ld n printf u o d o n printf c1 c d c n 这个程序有语法错误吗 为什么 调试上述程序无语法错误后 用下面的测试数据 对程序进行测试 a 123 b 456 c 17 6 d 71837 65 e 70000 f u 62000 v 58765 c1 a c2 b 分析运行结果 特别注意输入 c1 c2 的值是什么 什么原因 将输入 e 和 f 的语句改为 scanf d d 再用上述测试数据测试并分析结果 将输入 u v 的语句改为 scanf d d 再用上述测试数据测试并分析结果 将输出 e f 的语句改为 printf e 17d f 17d n e f 再用上述测试数据测试并分析结果 将输出 u v 的语句改为 printf u u v u n u v 或 printf u d v d n u v 再用上述测试数据测试并分析结果 请读者自己修改程序和改变数据输入的形式 分析各种情况下的输入与输出 在 scanf c c 验证转义字符 n 与 r 的意义有何不同 实实验验四四 分分支支程程序序设设计计 选选做做 一 实验题目 选择语句的演练 二 实验课时 课内 2 课时 三 实验目的 1 了解条件与程序流程的关系 6 a 1 if a 2 x 1 x x 1 为了更容易明白程序的逻辑结构 我们用下图所示流程图来加以描述 y n y n 要求增加一些输入语句和输出语句 以便使上述程序能在不同的 a b 和 x 值下运行 并且 能观察程序流程经过 覆盖 了哪些语句 哪些分支及哪些路径 2 记下分别使用下列各组数据运行时的操作流程 a 1 b 1 x 1 a 1 b 1 x 2 a 3 b 0 x 1 7 a 2 b 1 x 4 a 2 b 1 x 1 a 1 b 0 x 2 a 2 b 1 x 1 a 3 b 0 x 2 选做题目 1 从键盘上输入三个数 让它们代表三条线段的长度 请写一个判断这三条线段所组成的 三角形属于什么类型 不等边 等腰 等边或不构成三角形 的 C 程序 2 请设计测试数据对自己的程序进行测试 实实验验五五 循循环环结结构构程程序序设设计计 必必做做 一 实验题目 循环结构程序设计 二 实验课时 课内 2 课时 三 实验目的 1 掌握在程序设计条件型循环结构时 如何正确地设定循环条件 以及如何控制循环 的次数 2 了解条件型循环结构的基本测试方法 3 掌握如何正确地控制计数型循环结构的次数 4 了解对计数型循环结构进行测试的基本方法 5 了解在嵌套循环结构中 提高程序效率的方法 四 实验步骤 1 完成试验内容 2 总结测试条件循环结构的一般方法 3 如何测试计数型循环结构的控制表达式中的错误 4 从实验中你得到了哪些提高嵌套循环程序效率的启示 五 实验内容和要求 1 下面是一个计算 e 的近似值 使误差小于给定的 的程序 main double e 1 0 x 1 0 y detax int i 1 printf n please input enter a error scanf lf y 1 x while y detax x x i y 1 x e e y 8 i printf 12 10lf e 1 阅读上面的程序 写出程序所依据的计算公式 2 当输入的 detax 各是什么值时 能分别使程序按下面的要求运行 不进入循环 只循环一次 只循环两次 进入死循环 程序将永远循环下去 为了能知道程序循环了多少次 应该在程序中增加一条什么样的语句 3 原程序中 while 语句中的 y detax 分别换成 y detax y detax y detax y detax 观察程序运行将会有什么变化 假如不知道机器内的程序中的各语句实际上是什么 分别输入什么样的 detax 来测试 出 while 语句的循环条件写错了 4 把原程序中 while 语句之前的 y 1 x 语句去掉 观察程序的运行将会发生什么 样的变化 假如不知道机器内的程序实际上是怎么写的 输入什么样的 detax 就能测试出少了上 述这条语句 5 若把原程序中的 i 换成 i 观察程序的运行发生了什么变化 假如不知道这条语句到底是怎么写的 输入什么样的 detax 就能测试出这条语句写错了 6 把原程序中的 while 结构改写成 do while 结构 再分别按上述的 2 3 两步 进行实验 选作 2 有 1 2 3 4 个数字 能组成多少个互不相同且无重复数字的三位数 都是多少 设计程序实现并调试 3 用 100 元兑换成 20 5 2 1 元的零钞 共有多少种兑换方法 要求每种至少有 1 种 要求输出计算的次数 选作题目 猴子吃桃问题 猴子第一天摘下若干个桃子 当即吃了一半 还不瘾 又多吃 了一个 第二天早上又将剩下的桃子吃掉一半 又多吃了一个 以后每天早上都吃了前一天 剩下的一半零一个 到第 10 天早上想再吃时 见只剩下一个桃子了 求第一天共摘了多少 实实验验六六 文文件件 必必做做 一 实验题目 文件 二 实验课时 课内 2 课时 三 实验目的 文件和文件指针的概念以及文件的定义方法 了解文件打开和关闭的概念及方法 掌握有关文件的函数 四 实验步骤 9 完成试验内容 五 实验内容和要求 编写程序 要求从键盘输入一个字符串 然后将其以文件形式存到磁盘上 磁盘 文件名为 file1 dat 从磁盘文件 file1 dat 读入一行字符 将其中所有小写字母改为大写字母 然后输 出到磁盘文件 file2 dat 中 已有两个文本文件 今要求编程序从这两个文件中读出各行字符 逐个比较这两 个文件中相应的行和列上的字符 如果遇到互不相同的字符 输出它是第几行第几列 的字符 实实验验七七 数数组组 必必做做 一 实验题目 数组 二 实验课时 课内 2 课时 三 实验目的 1 掌握数组定义的规则 2 掌握 C 语言数组的基本用法 四 实验步骤 1 完成试验内容 2 通过实验 分析定义与引用数组的区别 五 实验内容和要求 1 编写程序 测试下列数组的定义方式是否正确 1 main int n scanf d int a n 2 main const int n 10 int a n 10 3 include define M 10 main int a M 4 main int a 2 2 4 5 include define M 2 define N 8 main int a M N 通过这一实验 可以说明什么问题 2 运行下面的 C 程序 根据运行结果 可以说明什么 main int num 5 1 2 3 4 5 inti i for i 0 i 5 i printf d num i 3 从键盘输入一字符串 然后按逆序存放并输出 4 操作符 printf d n sum x y int sum a b int a b return a b 2 编写并调试一个求 n n 为整数 的递归函数 希望能在程序运行过程中动态地显 示递归函数被调用的轨迹 3 使用递归和递推公式分别计算Fabonacci 数列 数列 分别两种方式求 10 20 30 40 50 递增测试直到计算时间超过 3 分钟 比较两种方法的运算 时间并分析原因 实实验验九九 指指针针 选选做做 一 实验题目 指针 二 实验课时 课内 2 课时 三 实验目的 1 熟悉指针的正确用法 12 四 实验步骤 1 完成试验内容 2 讨论数组与指针的联系 五 实验内容和要求 1 指出下面程序错误的原因 main int x 10 y 5 px py px py px py printf px d py d px py 2 下面的程序试图有如下运行结果 which style you want to Capital c or uncapital a c COMPUTER Which sytle you want to Capital c or uncapital a u computer 请调试下面的程序 使其有如上执行结果 include main char s char c printf which style you want to ln printf capital c or uncapital a c getchar if c c strcpy s COMPUTER else strcpy s computer put s 分析出错原因 3 下面的程序能获得上述运行结果吗 main char S COMPUTER char c printf which style you want to n printf capital c or uncapital u c getchar 13 if c c put s else s computer puts s 分析出错原因 4 设计一个 C 程序 用以测试下列各表达式的运算 1 y px 2 y py 3 y py 4 y ppx 实实验验十十 结结构构及及共共用用体体 选选做做 一 实验题目 结构及共用体 二 实验课时 课内 2 课时 三 实验目的 1 掌握结构体类型方法以及结构体变量的定义和引用 2 掌握指向结构体变量的指针变量的应用 特别是链表的应用 3 掌握运算符 和 的应用 4 共用体的概念和应用 四 实验步骤 完成试验内容 五 实验内容和要求 1 编写程序 有 4 名学生 每

温馨提示

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

最新文档

评论

0/150

提交评论