实验2 基本数据处理.doc_第1页
实验2 基本数据处理.doc_第2页
实验2 基本数据处理.doc_第3页
实验2 基本数据处理.doc_第4页
实验2 基本数据处理.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

725da714cd42c400bae1c665eb9d2773.pdf (广东海洋大学计算中心 匡珍春制作)实验二 基本数据处理(2学时)实验前必须做的操作新建文件夹:1、先在对应的K:盘上建立一个父文件夹(用来存放本人整个学期的作业),格式为:“专业+班级+学号+姓名”,如:工业1091班、学号为05的匡珍春同学,其父文件夹名称为:工业109105匡珍春,然后在此父文件夹下建立子文件夹,名称为:实验2(用来存放实验2需要上交的文件)。2、在E:盘上建立一个以本人姓名为名称的文件夹(本次实验的工作文件夹),例如:E:匡珍春【实验目的】1、 进一步熟悉C程序的集成开发环境 Visual C+。2、 掌握C语言数据类型的概念,熟悉如何定义整型、字符型、实型变量。3、 学会使用C语言的有关算术运算符,能正确地运用它们构成表达式。4、 掌握不同类型数据运算时数据类型的转换规则。5、 了解表达式语句,尤其是赋值语句。6、 进一步了解C语言程序的基本框架及结构特点。7、 掌握简单C程序的查错方法。8、 尝试编写简单的C程序。【实验内容】实验任务一:进一步熟悉C程序的集成开发环境VC+,掌握简单C程序的查错方法。编程及调试实例2-1:求华氏温度 100F 对应的摄氏温度。计算公式:C=(5/9)(F-32),式中:C表示摄氏温度,F表示华氏温度。并以文件名temperature1.c最终保存在实验2文件夹里。(需要存盘)操作步骤:(1)按照实验一中介绍的步骤,输入源程序并保存。(2)实验一中我们使用菜单完成编译、连接和运行,现在介绍工具栏的使用方法。在工具栏或菜单栏上单击鼠标右键,出现如图2.1所示的整个工具箱,在组建工具条前打上一个“”,该工具条就显示出来了(如图2.2所示)。图2.2中,第一个按钮“Compile”或“Ctrl+F7”表示编译,第二个按钮“Build”或“F7”表示构件,第四个按钮“Build Execute”或“Ctrl+F5”表示运行。图2.1 显示整个工具箱图2.2 编译工具条(3)用鼠标单击“编译”工具条中的“Compile”,编译时出现的第一个出错信息是:Cannot open include file: stdoi.h: No such file or directory双击该出错信息,箭头指向源程序的第1行,错误信息指出不能打开“stdoi.h”文件,因为stdio.h被误写为stdoi.h。改正为stdio.h后,重新编译,新产生的第一个错误信息是: fahr : undeclared identifier双击该出错信息,箭头指向源程序的第4行,错误信息指出“fahr”变量没有定义,仔细观察发现fahr前的分号应该是逗号。将fahr前的分号改为逗号后,重新编译,编译正确。(4)用鼠标单击“编译”工具条中的“Build”,连接正确。(5)用鼠标单击“编译”工具条中的“Build Execute”,运行结果为:fahr = d, celsius = 100不符合题目的要求,仔细检查源程序,发现函数printf()中的d应为%d,改正后,重新编译、连接和运行,运行结果与题目要求的结果一致,程序调试结束。编程及调试练习2-1:求华氏温度150F 对应的摄氏温度。计算公式:,式中:C表示摄氏温度,F表示华氏温度。输入输出示例:fahr = 150, celsius = 65F 读者运行自己编写或修改的程序得到的结果,应该与题目中给出的输入输出示例完全一致,包括输入输出格式。 如果改用公式计算华氏温度1500F所对应的摄氏温度,这两个公式的计算结果是否一样?为什么?编程及调试练习2-2:求摄氏温度26C 对应的华氏温度。计算公式:,式中:C表示摄氏温度,F表示华氏温度。并以文件名temperature2.c最终保存在实验2文件夹里。(需要存盘)输入输出示例:celsius = 26, fahr = 78 如何求摄氏温度65C所对应的华氏温度?实验任务二:学会使用C语言的有关算术运算符,能正确地运用它们构成表达式;掌握不同类型数据运算时数据类型的转换规则。程序分析实例2-1:输入、运行下面的程序,并分析、验证运行结果。(无需存盘)(1) 运行此程序,查看运行结果。 (2) 在此基础上,即在printf(“%c %cn”,c1,c2);后面增加一条语句:printf(“%d %dn”,c1,c2);再运行,并分析结果。(3) 将第2行的内容即char c1, c2改为:int c1,c2; 再使之运行,并观察结果。(4) 将第 3、4行改为:c1 =a; /* 不用单撇号 */c2 =b;再使之运行,分析其运行结果。 (5) 将第 3、4行改为:c1 = “a”; /* 用双撇号*/ c2 = “b”;再使之运行,分析其运行结果。(6) 再将第 3、4行改为:c1 = 300; /* 用大于255的整数 */c2 = 400; 再使之运行,分析其运行结果。 说明:字符是以ASCII码的形式存放在计算机内存中,而且字符是占一个字节,整数占两个字节。整数300所对应的二进制形式为0000000100101100,所以转换成字符时只取该字符的低八位,即蓝色部分的00101100,它所对应的十进制为44,而ASCII码为十进制44所对应的字符为逗号“,”。程序分析实例2-2:输入、运行下面的程序,并分析、验证运行结果,体会数据输出转化的规则。并以文件名c01.c最终保存在实验2文件夹里。(需要存盘)程序分析实例2-3:输入、运行下面的程序,并分析、验证运行结果。重点分析、体会数据输出转化的规则。并以文件名c02.c最终保存在实验2文件夹里。(需要存盘)【特别说明】:以下程序主要考察各变量在内存的存放形式,以及它们之间相互赋值输出后的显示。由于本教材是以TC系统为基础编写的,程序运行结果与在visual c+系统上运行会有不同的地方。其中在TC系统中,int、short占2个字节,long占内存4个字节;而在visual c+中short占内存2个字节,int和long均占4个字节。因此它们数的表示范围会与同学们分析的有区别。请对照程序和运行结果分析:(1) 将一个负整数赋给一个无符号的变量,会得到什么结果? 画出它们在内存中的表示形式。(2) 将一个大于32767的长整数赋给整型变量,会得到什么结果?画出它们在内存中的表示形式。(3) 将一个长整数赋给无符号的变量,会得到什么结果(分别考虑该长整数的值大于或等于65535 以及小于65535 的情况)。画出它们在内存中的表示形式。上机时可以改变程序中各变量的值,再运行比较。例如:a = 65580, b = 40000, e = 65535, f = 65580。程序分析实例2-4:输入、运行下面的程序,并分析、验证运行结果。重点分析、体会自增(+)和自减(-)运算符的用法。并以文件名c03.c最终保存在实验2文件夹里。(需要存盘)(1) 运行程序,注意i, j, m, n各变量的值。(2) 分别作以下改动再运行。(A) 将第4、5行改为:m=i+;n=+j;再运行。(B) 将程序改为:再运行。(C) 在(B)的基础上,将printf语句改为:printf(“%d, %dn”, +i, +j);(D) 将printf语句改为:printf(“%d, %d, %d, %dn”, i, j, i+, j+); 再运行。从以上(B)、(C)、(D)题的结果分析printf()函数的参数运算顺序是从左向右,还是从右向左?(E) 将程序改为:再运行。程序分析实例2-5:输入、运行下面的程序,并分析、验证运行结果。分析、体会各种类型的常量的表示及其输出方式;掌握宏定义的含义和用法,并以文件名c04.c最终保存在实验2文件夹里。(需要存盘)【特别说明】:在上机前先理论上分析程序,写出应得结果,上机运行后将二者对照。【问题】:将#define N 12改为如下形式,再运行,查看结果并分析结果。#define N (12+23)实验任务三:尝试编写简单的C程序。1、以下提供的程序流程图及程序maximum.c是求解三个整数中的最大数,请仿照此编程求解三个整数中的最小数。并以文件名minimum.c最终保存在实验2文件夹里。(需要存盘)maximum.c的源程序清单如下:#include void main( ) int a,b,c,max; printf(“请从键盘上输入三个整数:”); scanf(“%d%d%d”, &a, &b, &c); if (ab) max=a; else max=b; if (maxc) max=c; printf(“%d %d和%d的最大值为:%dn”, a, b, c, max);2、编程实现水与醋的交换。并以文件名exchange.c最终保存在实验2文件夹里。(需要存盘)提示:水与醋的交换是一个非数值模型,我们可以将它抽象成一个数值模型,即用两个不同的整数分别代表水与醋,例如可用10代表水,20代表醋。联想现实生活中水与醋的交换过程需要用到三个杯子,且杯子里装的东西可以发生变化,对应到C语言程序中就是三个变量,这也就是说我们在编写此程序时需要定义三个变量如int a, b, c;假设交换前a杯里装的是水,b杯里装的是醋,那么交换后应变成a杯里装醋,b杯里装水。因为我们是用任意的两个整数(这两个整数是从键盘上键入的)来分别代表水与醋的,所以应该用语句scanf(“%d%d”, &a, &b);现实生活中水与醋的交换需要经过以下三步:step1 将a杯里的水倒入c空杯子里,此时a杯子就变为空;step2 将b杯里的醋倒入a空杯子里,此时b杯子就变为空;step3 将c杯里的水倒入b空杯子里。现实生活中倒水的过程对应到C语言程序中就是赋值语句,而且现实生活中大多数人都是右撇子,倒水的时候是左手拿空杯子,右手拿装有东西的杯子,对应到C语句中就是空杯子所对应的变量放在赋值号(=)的左边,赋值号的右边是装有东西的杯子所对应的变量,这样一来,对应的C语句序列应该如下所示: c=a; a=b; b=c;水醋 即交换前: 水 醋水 a b c交换的第一步: a 右手拿装水的杯子a,左手拿空杯c; c=a; c b交换的第二步: 右手拿装醋

温馨提示

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

评论

0/150

提交评论