计算机基础大作业完整版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学生实验报告

(理工类)

课程名称:计算机系统基础I专业班级:

学生学号:学生姓名:

所属院部:计算机工程学院指导教师:

2019——2020学年第 1 学期

金陵科技学院教务处制

实验报告书写要求

实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。

实验报告书写说明

实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。

填写注意事项

(1)细致观察,及时、准确、如实记录。

(2)准确说明,层次清晰。

(3)尽量采用专用术语来说明事物。

(4)外文、符号、公式要准确,应使用统一规定的名词和符号。

(5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。

实验报告批改说明

实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。

实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:数据的表示实验学时: 2 同组学生姓名:无实验地点:

实验日期:实验成绩:

批改教师:批改时间:

一、实验目的和要求

熟悉数值数据在计算机内部的表示方式,掌握相关的处理语句。二、实验仪器和设备

硬件环境:IA-32

软件环境:Linux ubuntu14.04,C语言,gcc

三、实验内容与过程

1、实验内容

1.“-2 < 2”和“-2 < 2u”的结果一样吗?为什么?请编写程序验证。

2.运行下图中的程序代码,并对程序输出结果进行分析。

3.运行下列代码,并对输出结果进行分析。

#include

void main()

{

union NUM

{

int a;

char b[4];

} num;

num.a = 0x12345678;

printf("0x%X\n", num.b[2]);

}

4.请说明下列赋值语句执行后,各个变量对应的机器数和真值各是多少?编写一

段程序代码并进行编译,观察默认情况下,编译器是否报warning。如果有

warning信息的话,分析为何会出现这种warning信息。

int a = 2147483648;

int b = -2147483648;

int c = 2147483649;

unsigned short d = 65539;

short e = -32790;

5.编译运行以下程序,并至少重复运行3次。

void main()

{

double x=23.001, y=24.001, z=1.0;

for (int i=0; i<10; i++) {

if ((y-x)==z)

printf("equal.n");

else

printf("not equal\n");

x += z;

y += z;

printf("%d, %f , %f\n”, i, x, y);

}

}

要求:

(1)给出每次运行的结果截图。

(2)每次运行过程中,是否每一次循环中的判等结果都一致?为什么?

(3)每次运行过程中,每一次循环输出的i、x和y的结果分别是什么?为什么?

2、实验步骤

1. 进入linux系统,在shell终端的提示符后输入gedit,编写C语言源程序。

gedit

输入实验内容1的源程序并以SAMPLE.C为文件名将文件存盘。

2. 用GCC 对源文件SAMPLE.C进行编译并产生目标文件SAMPLE.O,汇编语言

程序SAMPLE.S。

gcc –s –o SAMPLE.S SAMPLE.C

gcc –g –o SAMPLE.O SAMPLE.C

3. 用GDB跟踪执行SAMPLE。

gdb SAMPLE

4. 观察程序执行情况并记录运行结果。

5. 依照上述四个步骤,完成对其余实验内容的操作。

四、实验结果与分析

(1)

#include

void main()

{

int a,c;

a=(-2<2)?1:0;

c=(-2<2u)?1:0;

printf("%d\n%d\n",a,c); }

正数的原码,反码,补码都一样。而负数在计算机里是按补码存放和运算的。-2在内存中的存储方式为1111,1111,1111,1111,11111,11111,1111,1110B即fffffffeH,最高位为符号位,2在内存中的存储方式为0000,0000,0000,0000,0000,0000,0000,0010B 即2H,最高位为符号位,2u在内存中存储的方式为0000,0000,0000,0000,0000,0000,0000,0010B即2H,最高位不再是符号位。所以-2<2是符号位的比较,即-2<2是正确的。-2<2u是有符号数和无符号数之间的比较,此时编译器会把有符号数自动转无符号数,所以-2=2。

-2<2,是有符号数的比较,即2+(-2)=f f f f f f f eH+f f f f f f f e H=1FFFFFFFCH=[-4]补,最高位符号位溢出,所以证明被减数的符号是负号,即-2<2是正确的。.

有符号数和无符号数的比较。系统会自动把有符号数转换成无符号数。

fffffffeH=4294967294D<2D(是错误的)=2H

相关文档
最新文档