顺序结构与逻辑运算实验报告

 实验 2

 顺序结构与逻辑运算

 1. 实验目的和要求 (1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。

 (2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。

 (3)能够正确使用逻辑运算符和逻辑表达式。

 (4)学会运用逻辑表达式或关系表达式等表示条件。

 (5)熟练掌握 if 语句和 switch 语句,掌握条件表达式构成的选择结构。

 (6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。

 (7)学会编写简单程序。

 2. 实验内容:实验指导书中的实验三和实验四 3. 实验步 骤及结果 实验三部分:

 3-1-1 该程序正确的源程序代码(或窗口截图):

 程序运行结果画面如下:

 3-1-2 该程序正确的源程序代码(或窗口截图):

  程序运行结果画面如下:

 3-2-1 该程序完整的源程序代码(或窗口截图):

 程序运行结果画面如下:

 3-2-2 该程序完整的源程序代码(或窗口截图):

  程序运行结果画面如下:

 3-3 注意:这道程序我们不按书中提示进行,而在 VC 环境下进行调试。

 语法错误和逻辑错误的区别何在? 语法了 错误是指编译的程序中破坏了 C 语言固有的语法规则,比如缺 少或者多添了一个字母符号,一个标点符号,或者缺少群头文件等,导致程序合 无法编译和运行;逻辑错误是指代码符合 C 语言规范,程序可以运行,但是结果有误,通常是语句逻辑有误。

 如何启动单步调试? 点击【 组建 】

 按钮下的 【 开始调试 】

 选项 , 在新出现的对话框中点击【 【step into 】按钮,每条语句便可单独执行。

 要使程序运行到“ss=(k…”这一行暂停下来,该如何操作? 光标 放在目标行前 , 点击 项目栏的【remove breakpoint 】程序便可在目标处暂停。

 怎样终止调试状态(程序复位)? 点击【 【step over 】程序便可 在目标处暂停调试。

 单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第 2 种,不跟踪到自定义函数内部):1. 单击调试菜单中的【step into 】跟踪到自定义函数内部。2. 单击调试菜单中的【step over 】不跟踪到自定义函数内部 在本题中,假设要在运行第 2 条语句(即 scanf 语句后),要马上观察 i,j,k,ss,m,n 的变量的值,操作方法:于 光标放于 scanf 行前,单击调试菜单中的【查看】运行到 scanf 语句,输入任意的整形变量的值。请把观察这些变量时的画面粘贴到下面:

 通过这道题单步调试,你对 i++和++i 及 i—和—i 应该有了更直观的理解,他们的区别在于:

 i++(i--)是 是给 先赋值给 i 再加( 减)1 参与运算; 而++i(--i) 是先给变量加( 减)1 ,再用变化的值参与运算。

 3-4 请回答书中问题 问题(1)c1 ,c2 应定义为字符型。

 问题(2)将 将 c1,c2 定义为字符型用 printf 函数输出。

 问题(3)

 在一些情况下可以相互替换,有时不能替换。这是因为字符型表示的数值范围在-128~127 之间,而就有符号基本整形所表示的数值范围在-32768~32767 之间,有符号 短整形的数值范围在-32768~32767 之间,还有其它整形的数值范围也于字符型不同,但两者相同的部分可以相互转换。

 程序运行结果画面如下:

 3-5 该程序的源程序代码(或窗口截图):

 运行结果画面:

 3-7 该程序的源程序代码(或窗口截图):

  运行结果画面:

  实验四

 逻辑运算和判断选取控制

 4-1-a 该程序正确的源程序代码(或窗口截图):

 运行结果画面:

 4-1-b 该程序正确的源程序代码(或窗口截图):

  运行结果画面:

 4-1-c 该程序正确的源程序代码(或窗口截图):

 运行结果画面:

 4-2-1 该程序完整的源程序代码(或窗口截图):

  运行结果画面:

 4-2-2 该程序完整的源程序代码(或窗口截图):

 运行结果画面:

 4-3 该程序完整的源程序代码(或窗口截图):

 运行结果画面:

 4-4 运行结果画面:

 4-5 该程序的源程序代码(或窗口截图):

  运行结果画面:

 *4-6 该程序的源程序代码(或窗口截图):

 运行结果画面:

  4 实验小结 通过本次实验我掌握了函数的输入输出,以及 if 和 switch 的使用,掌握了一些基本的调试功能,懂得了一些简单程序的编写,会简单追踪调试程序,理清了顺序结构中语句的执行过程。