第2章习题-数据的运算和表示方法
计算机导论 课后习题参考答案(第2章-数据的表示)
第2章数据的表示一、复习题1.给出计算机能处理的五种数据形式。
答:文本、数字、图像、音频、视频。
2.计算机如何处理所有的数据类型?答:采用统一的数据表示法(位模式)。
3.何为位模式?答:位是存储在计算机中的最小数据单位,它是 0 或 1。
位模式是一个由若干个位构成的序列,也被称为位流。
4.ASCII码与扩展ASCII码之间的区别是什么?答:ASCII码采用7位位模式,范围从0000000到 1111111。
扩展ASCII通过在ASCII码左边增加额外的0进行扩充,范围从00000000 t到 01111111。
扩展ASCII码中,每个位模式恰好占用一个字节存储空间。
6.位模式的长度与位模式所能表示符号的数量之间有何关系?答:位模式长度与位模式所能表示符号的数量之间满足对数关系。
即:符号数量=2长度7.位图图形表示法是如何以位模式来表示图像的?答:图像被分成像素矩阵, 每个像素是一个小点。
用位模式来表示每一个像素的颜色。
8.矢量图表示法与位图图形表示法相比有哪些优点?答:(1)矢量图可任意放大缩小,即缩放不变形。
(2)图象存储数据量小。
9.音频数据转换成位模式的步骤有哪些?答:采样,量化,编码,存储。
10.图像数据和视频数据有何关系。
答:视频是图像(帧)在时间上的表示。
多个帧按时间逐帧播放便形成动态图像。
存储视频的本质,就是逐帧存储每一个帧的图像。
二、选择题11~15 D、D、C、C、D 16~20 B、D、A、C、D21~25 D、B、D、C、A26~28 B、A、D三、练习题29.给定5个位,那么可以有多少种不同的5位模式表示形式?答:25=32(种)30.在一些国家,车牌号由两位十进制数字(0到9)组成,那么可以表示多少不同的车牌号?如果车牌号中不允许有0,则又可以表示多少不同的车牌号码?答:以表示的车牌号:10×10=100若车牌号中不允许有0,则可以的车牌号码:9×9=8131.重做30题,若在两位十进制数字的基础上增加三位,每位取值于大写的英文字母(A到Z)。
数据结构课后习题及解析第二章
例如m的初值为20;n=7,7个人的密码依次是:3,1,7,2,4,8,4,出列的顺序为6,1,4,7,2,3,5。
第二章答案
约瑟夫环问题
约瑟夫问题的一种描述为:编号1,2,…,n的n个人按顺时针方向围坐一圈,每个人持有一个密码(正整数)。一开始任选一个报数上限值m,从第一个人开始顺时针自1开始顺序报数,报到m时停止报数。报m的人出列,将他的密码作为新的m值,从他在顺时针方向上的下一个人开始重新从1报数,如此下去,直至所有的人全部出列为止。试设计一个程序,求出出列顺序。利用单向循环链表作为存储结构模拟此过程,按照出列顺序打印出各人的编号。
9.假设有一个循环链表的长度大于1,且表中既无头结点也无头指针。已知s为指向链表某个结点的指针,试编写算法在链表中删除指针s所指结点的前趋结点。
10.已知有单链表表示的线性表中含有三类字符的数据元素(如字母字符、数字字符和其它字符),试编写算法来构造三个以循环链表表示的线性表,使每个表中只含同一类的字符,且利用原表中的结点空间作为这三个表的结点空间,头结点可另辟空间。
r=p;
}
}
r->next=L->next;
printf("请输入第一个报数上限值m(m>0):");
scanf("%d",&m);
printf("*****************************************\n");
printf("出列的顺序为:\n");
q=L;
p=L->next;
7.试分别以不同的存储结构实现线性表的就地逆置算法,即在原表的存储空间将线性表(a1, a2..., an)逆置为(an, an-1,..., a1)。
计算机思维导论课程 第2章-计算基础练习题-带答案
答案:C
23. 十进制数 37.125 转换成八进制数是【 】。
A:45.1 B:25.2 C:35.2 D:37.125
答案:A
24. 十进制数 37.125 转换成十六进制数是【 】。
A:45.1 B:25.2 C:35.2 D:37.125
答案:B
25. 十六进制数 5BB 对应的十进制数是【 】。
答案:D
解析:X 的补码为 10011000,其反码为 11100111,原码为 11101000,故选 D
15. 在计算机中,8 位的二进制数可表示的最大无符号十进制数是【 】。
A:128 B:255 C:127 D:256
答案:B
解析:8 位的二进制数可表示的最大无符号二进制是 11111111,即十进制 2^8-1,即 255。
A:2645 B:1467 C:5434 D:2345
答案:B
26. 八进制数 56.42 转换成十进制数是【 】。
A:45.525 B:45.53125 C:46.525 D:46.53125
答案:D
27. 八进制数 371.53 转换成二进制数是【 】。
A:11101001. 101011 B:11110001.101011
19. 二进制数 1011.101 对应的十进制数是【 】。
A:11.625 B:13.625 C:11.75 D:13.75
答案:A
解析:按权展开
(1011.101)B = 1*2^3 + 0*2^2 + 1*2^1 + 1*2^0 + 1*2^(-1) + 0*2^(-2) + 1*2^(-3)
A:25.2 B:25.3 C:24.2 D:25.1
C语言练习题—基本数据类型和运算
C语⾔练习题—基本数据类型和运算第2章基本数据类型和运算练习题⼀、单项选择题1.下列数据中属于“字符串常量”的是()。
A.”a” B. {ABC} C. ’abc\0’ D. ’a’2.下列数据中属于“字符串常量”的是()。
A.ABC B. “ABC” C. ’abc’ D. ’a’3. 在PC机中,’\n’在内存占⽤的字节数是()。
A. 1B. 2C. 3D. 44. 在PC机中,”a\xff”在内存占⽤的字节数是()。
A. 5B. 6C. 3D. 45.字符串”ABC”在内存占⽤的字节数是()。
A. 3B. 4C. 6D. 86.字符串”\”ABCD\””在内存占⽤的字节数是()。
A. 4B. 6C. 7D. 87. 在C语⾔中,合法的长整型常数是()。
A. 0LB.C. 0.D. 2.1869e108.在C语⾔中,合法的短整型常数是()。
D. 0x2a9.下列数据中不属于“字符常量”的是()。
A. ‘\a’B. ‘\160’C. ‘070’D. 07010.char型常量在内存中存放的是()。
A. ASCII代码值B. BCD代码值C. 内码值D. ⼗进制代码值11.设整型变量m,n,a,b,c,d均为0,执⾏(m=a==b)||(n=c==d)后,m,n的值是()。
A. 0,0B. 0,1C. 1,0D. 1,112.设整型变量m,n,a,b,c,d均为1,执⾏“(m=a>b)&&(n=a>b)”后,m,n的值是()。
A. 0,0B. 0,1C. 1,0D. 1,113.设a为2,执⾏下列语句后,b的值不为0.5的是()。
A. b=1.0/aB. b=(float)(1/a)C. b=1/(float)aD. b=1/(a*1.0)14.设a为5,执⾏下列语句后,b的值不为2的是()。
A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:215. 执⾏语句“x=(a=3,b=a--)”后,x,a,b的值依次为()。
第2章--MATLAB数据及其运算-习题答案教学内容
第2章--M A T L A B数据及其运算-习题答案第2章 MATLAB数据及其运算习题2一、选择题1.下列可作为MATLAB合法变量名的是()。
D A.合计 B.123 C.@h D.xyz_2a 2.下列数值数据表示中错误的是()。
CA.+10 B.1.2e-5 C.2e D.2i3.使用语句t=0:7生成的是()个元素的向量。
A A.8 B.7 C.6 D.54.执行语句A=[1,2,3;4,5,6]后,A(3)的值是()。
B A.1 B.2 C.3 D.45.已知a为3×3矩阵,则a(:,end)是指()。
D A.所有元素 B.第一行元素C.第三行元素 D.第三列元素6.已知a为3×3矩阵,则运行a (1)=[]后()。
A A.a变成行向量 B.a变为2行2列C.a变为3行2列 D.a变为2行3列7.在命令行窗口输入下列命令后,x的值是()。
B >> clear>> x=i*jA.不确定 B.-1 C.1 D.i*j 8.fix(354/100)+mod(354,10)*10的值是()。
D A.34 B.354 C.453 D.439.下列语句中错误的是()。
BA.x==y==3 B.x=y=3C.x=y==3 D.y=3,x=y10.find(1:2:20>15)的结果是()。
CA.19 20 B.17 19C.9 10 D.8 911.输入字符串时,要用()将字符括起来。
C A.[ ] B.{ } C.' ' D." " 12.已知s='显示"hello"',则s的元素个数是()。
A A.9 B.11 C.7 D.1813.eval('sqrt(4)+2')的值是()。
BA.sqrt(4)+2 B.4 C.2 D.2, 214.有3×4的结构矩阵student,每个结构有name(姓名)、scores(分数)两个成员,其中scores是以1×5矩阵表示的5门课的成绩,那么要删除第4个学生的第2门课成绩,应采用的正确命令是()。
2第二章-计算机中数据信息表示法练习题答案
精品文档。
1欢迎下载 一、填空题1. 数的编码表示有 、 、 和 表示。
原码、反码、补码、移码2. 数的小数点表示有 、 表示。
定点、浮点3. 150.4D= B ,1001.01B= D 。
10010110. 0110011B 9.25D4. 7/16D= B ,19/64D = B 。
0.0111B 0.010011B5. [+0000000]原= ,[+0000000]原 。
(机器字长8位) 0,0000000 1,00000006. 设机器字长5位,十进制数7的原码= ,十进制数-7的原码= 。
7. 计算机系统是由 系统和 系统组成的;硬件系统由 和 组成。
硬件 软件 主机 外设8. 是指存储器中所有存储单元的总数目。
存储容量9. CPU 的工作节拍受主时钟控制,主时钟不断产生固定频率的时钟,主时钟的频率(f )叫CPU 的 。
度量单位是MHz 或 。
主频 GHz10. 指处理机运算器中一次能够完成二进制数运算的位数。
处理机字长二、判断题( √ )1. 零的原码表示不唯一。
( √ )2. 引入补码的目的是变减法为加法。
( √ )3. 正数:原码、反码、补码表示都相同( √ )4. 负数求补的规则:对原码,符号位保持不变,其余各位变反,末位加1。
( × )5. 负数求补的规则:对原码,符号位保持不变,其余各位变反。
( √ )6. 零的补码表示唯一。
( × )7. 零的补码表示不唯一。
( √ )8. 移码主要用来表示浮点数的阶码。
( √ )9. 移码与补码,仅符号位相反,其余各位相同。
( √ )10. 移码表示实际是把真值映射到了正数域,可按无符号数比较大小。
( × )11. 在数的移码表示中x>0,符号为0;x<0,符号为1。
三、简答题1. 写出机器字长8位,原码表示所对应的十进制整数和小数的表示范围。
整数范围:-127≤x ≤ +127或:-128 < x <+128小数范围: -(1-2-7 ) ≤ x ≤ 1 -2-7或: -1<x <+12. 规格化浮点补码加减运算的步骤是怎样的?3. 机器格式为×,×××;×.××××××,写出[X]原=±11/32的规格化浮点表示X= -11/32= -(23 +2+1)/25 =-(2-2+2-4 +2-5)= - 0.01011B = -0.1011× 2-1[X]原=1,001;1.1011004. 机器格式为定点:××××××××,写出X =+9/128和X =-9/128的定点表示。
C语言程序设计第2章数据类型与运算练习题及解答
C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。
1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。
语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。
在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。
6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。
第二章 练习题答案
第二章练习题2-1 在IBM PC微型计算机上,分别进行以下8位二进制数的运算后,标志寄存器中OF、ZF、SF、CF的值分别为多少?(1)10101011 + 01010101(2)11011010 + 11101101(3)01010101-00111110(4)10110011-01100010答案:(1)OF=0 ZF=1 SF=0 CF=1(2)OF=0 ZF=0 SF=1 CF=1(3)OF=0 ZF=0 SF=0 CF=0(4)OF=1 ZF=0 SF=0 CF=02-2 有两个字数据12H和AB12H分别存放在存储器的10016H和8BA00H中,请图示它们在存储器中的存放情况。
答案:10016H8BA00H2-3 在8086/8088中,某存储单元的逻辑地址如下,请算出它们的物理地址是多少?(1)4514H:017BH(2)F000H:0100H(3)2350H:1ABCH(4)10E0H:2020H答案:(1)452BBH(2)F0100H(3)24FBCH(4)12E20H2-4 如图所示,试写出地址为20021H、20024H、20026H字节单元的内容,以及地址为20022H、20024H、20026H的字单元内容。
20020H 20021H 20022H 20023H 20028H20024H 20025H 20026H 20027H答案:78H ,FAH ,06H ,DEBCH ,03FAH ,0806H2-5 设堆栈寄存器(SS )= 3E4BH ,程序中设置堆栈长度为200个字节,试计算出堆栈底部字单元物理地址、堆栈指针SP 初始值(即堆栈中没有数据时)和SP 初始值指向的物理地址。
答案:3E576H ,SP=0C8H(200),3E578H2-6 设(AX )= 1122H ,(BX )= 3344H ,(CX )= 5566H ,(SP )= 2000H ,试分析以下程序执行后AX 、BX 、CX 、SP 中的内容分别为多少?并画出堆栈变化的示意图。
2数据描述练习题
第二章数据描述练习题一、单项选择题1、频数分布表中落在某一特定类别的数据个数称为()A、组数B、频数C、众数D、中位数2 、饼图是利用圆形及圆内扇形的()来表示数值大小。
A、面积B、弧线长度C、角度D、颜色3 、条形图是利用宽度相同的条形的()来表述数据多少的图形。
A、面积B、高度或者长度C、频数D、类别4、若需要比较不同变量不同的结构差异,可采用的图形为()。
A、频数分布图B、条形图C、饼图D、环形图5、生成定量数据的频数分布表时,首先要对数据()。
A、分类B、确定组距C、分组D、确定组频数6、组距是指每一个组变量值中的()。
A、最大值与最小值之差B、组中值与最小值之差C、最大值与组中值之差D、组中值与众数之差7、可用来表述定性数据的统计图形()。
A、饼图B、直方图C、折线图D、散点图8、某组数据的集中趋势是指()。
A、该组数据的数值向其中心值的靠拢程度B、该组数据的数值远离其中心值的趋势和程度C、该组数据的数值向其中位数的靠拢程度D、该组数据的数值远离其中位值的趋势和程度9、某组数据的离散程度是指()。
A、该组数据的数值向其中心值的靠拢程度B、该组数据的数值远离其中心值的趋势和程度C、该组数据的数值向其中位数的靠拢程度D、该组数据的数值远离其中位值的趋势和程度10、下列指标中不能反映定性数据的集中趋势是的()。
A、百分比B、中位数C、平均数D、众数11、下列指标中不能反映定量数据的集中趋势的是()。
A、平均数B、中位数C、众数D、标准差12、某连续变量分为五组,第一组为40-50,第二组为50-60,第三组为60-70,第四组为70-80,第五组80 以上,依据规定()。
A 、50 在第一组,70 在第四组B 、60 在第二组,80 在第五组C 、70 在第四组,80 在第五组D 、80 在第四组,50 在第二组13 、对于一组数据:10 、25 、36 、40 、53 、69,中位数为()。
第2章 基本数据类型-习题(C语言)
第2章基本数据类型一.选择题1.不合法的字符常量是【】。
A) ‘\t’B) “B” C) ‘a’ D)’\x32’2.合法的字符常量是【】。
A) ‘\084’ B) ‘\84’ C) ‘ab’ D)’\x4A’3.C语言提供的合法的数据类型关键字是【】。
A) Float B) Signed C) integer D)char4.属于合法的C语言长整型常量的是【】。
A)2736 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是【】。
A)160 B)-0xcdg C)-01 D)-0x48a6.以下所列的C语言常量中,错误的是【】。
A)0xFF B)1.2e0.5 C)2L D)’\72’7.下面四个选项中,均是不正确的8进制数或16进制数的选项是【】。
A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -1238.下选项中不属于C语言的类型是【】。
A)signed short int B)unsigned long intB)unsigned int D)long short9.判断int x = 0xaffb1。
x的结果是【】。
A)赋值非法 B)溢出 C)为affb D)为ffbc10.下面选项中,是合法浮点数的是【】。
A)+1e0.5 B)-.60 C)123e D)-e311.在C语言中,要求参加运算的数必须是整数的运算符是【】。
A)/ B)* C)% D) =12.在C语言中,字符型数据在内存中存放形式是【】。
A)原码 B)BCD码 C)反码 D)ASCII码13. 下列语句中,不符合语法的赋值语句是【 】 。
A)a=7+b+c=a+7; B)a=7+b++ ;C)a=(7+b,b++,a+7); D)a=7+b,c=a+7;14. 下面非法的C 语言转义字符是【 】。
A)‘\b’ B)‘\0xf’ C)‘\037’ D)‘\’’15. 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为【 】A)6 B)7 C)8 D)916. 对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中,正确的是【 】。
C语言第二章 数据类型习题
第一章 C语言概述【题1.1】一个C程序的执行是从。
A)本程序的main函数开始,到main函数结束。
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束【题1.2】以下叙述正确的是。
A)在C程序中,main函数必须位于程序的最前面B)C程序的每行中只能写一条语句C)C语言本身没有输入输出语句D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误【题1.3】以下叙述不正确的是。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面【题1.4】C语言规定:在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后【题1.5】一个C语言程序时由。
A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成填空题【题1.6】C源程序的基本单位是【】【题1.7】一个C源程序中至少应包括一个【】【题1.8】在一个C源程序中,注释部分两侧的分界符分别为【】和【】【题1.9】在C语言中,输入操作是由库函数【】完成的,输出操作是由库函数【】完成的。
第二章数据类型、运算符与表达式2.1 选择题【题2.1】在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为。
A) char<int<long int<=float<doubleB) char=int <long int<=float<doubleC) char<int<long int=float=doubleD)char=int=long int<=float<double【 2.3】假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是。
C语言第二章习题及详解
C语言第二章习题及详解二、第二章1、设整型变量a的值为2,下列表达式值为1的是__。
(A)A)a%3B)a/3=0C)--a D)a++2.设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是__。
(B)A)a=5++操作数只能是变量B)a=b=c++C)a=%2D)b=a+1=2左边只能是单个变量,即变量1=变量2=。
3.下列式中,最终运算结果的数据类型不是单精度的表达式是__。
(A)A)(int)(3+3.0)B)1e-3fen:n必须为整数C)(float)(3)D)(int)3.0+3.04.字符串”ab\x41\\34cd\102y”的长度是_A_。
\xhh表示ASCII 码:例\x41,41是16进制的。
字符串含有’\0’。
’\102’也表示ASCII码,但102是8进制的,长度为10,储存空间占11个字节。
A)10B)12C)14D)185、变量是在程序运行过程中可改变的它的三要素是类型、名称、数值6.以下选项中合法的常量是?DA)’Internet’B)E_3变量C)02x D)0xfeL7.以下选项中合法的赋值表达式是?CA)d=8+a+f=d+6同2D B)d=(a+8)++同2AC)d=(8+e,e++,d+9)D)d=7+e++=d+78.main(){int x=5,y=3;float f;f=x/y;表示为整形printf(“f=%f\n”,f);}则程序的输出结果是?f=1.0000009.设整型变量x,y,z均为2,表达式(x++)+(y++)+(z++)的值是_A 先使用值再加加_。
A)6B)7C)8D)910.设int a=3,b=5;float x=7.5,y=3.5;则表达式(float)a+b/2+(int)x%(int)y;的值是6.0__。
*11.执行语句:int a;a=‘1’+1.5;后,正确的叙述是_D_。
A)a的值是字符‘3’B)a的值是浮点型C)不允许字符型和浮点型相加D)a的值是字符’1’的ASCII码值加上112.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是_B_。
数据结构第二章习题课
1、试描述头指针、头结点、开始结点的区别、并说明头指针和头结点的作用。
答:开始结点是指链表中的第一个结点,也就是没有直接前趋的那个结点。
链表的头指针是一指向链表开始结点的指针(没有头结点时),单链表由头指针唯一确定,因此单链表可以用头指针的名字来命名。
头结点是我们人为地在链表的开始结点之前附加的一个结点。
有了头结点之后,头指针指向头结点,不论链表否为空,头指针总是非空。
而且头指针的设置使得对链表的第一个位置上的操作与在表其他位置上的操作一致(都是在某一结点之后)。
2、何时选用顺序表、何时选用链表作为线性表的存储结构为宜?答:在实际应用中,应根据具体问题的要求和性质来选择顺序表或链表作为线性表的存储结构,通常有以下几方面的考虑:1) 基于空间的考虑。
当要求存储的线性表长度变化不大,易于事先确定其大小时,为了节约存储空间,宜采用顺序表;反之,当线性表长度变化大,难以估计其存储规模时,采用动态链表作为存储结构为好。
2) 基于时间的考虑。
若线性表的操作主要是进行查找,很少做插入和删除操作时,采用顺序表做存储结构为宜;反之,若需要对线性表进行频繁地插入或删除等操作时,宜采用链表做存储结构。
并且,若链表的插入和删除主要发生在表的首尾两端,则采用尾指针表示的单循环链表为宜。
3、在顺序表中插入和删除一个结点需平均移动多少个结点?具体的移动次数取决于哪两个因素?答:在等概率情况下,顺序表中插入一个结点需平均移动n/2个结点,删除一个结点需平均移动(n-1)/2个结点。
具体的移动次数取决于顺序表的长度n以及需插入或删除的位置i。
i 越接近n则所需移动的结点数越少。
4、为什么在单循环链表中设置尾指针比设置头指针更好?答:尾指针是指向终端结点的指针,用它来表示单循环链表可以使得查找链表的开始结点和终端结点都很方便,设一带头结点的单循环链表,其尾指针为rear,则开始结点和终端结点的位置分别是rear->next->next 和rear, 查找时间都是O(1)。
计算机系统结构第二章(习题解答)
计算机系统结构第⼆章(习题解答)1. 数据类型、数据表⽰和数据结构之间是什么关系?在设计⼀个计算机系统时,确定数据表⽰的原则主要有哪⼏个?答:略2. 假设有A 和B 两种不同类型的处理机,A 处理机中的数据不带标志位,其指令字长和数据字长均为32位。
B 处理机的数据带有标志位,每个数据的字长增加⾄36位,其中有4位是标志符,它的指令条数由最多256条减少⾄不到64条。
如果每执⾏⼀条指令平均要访问两个操作数,每个存放在存储器中的操作数平均要被访问8次。
对于⼀个由1000条指令组成的程序,分别计算这个程序在A 处理机和B 处理机中所占⽤的存储空间⼤⼩(包括指令和数据),从中得到什么启发?答:我们可以计算出数据的总数量:∵程序有1000条指令组成,且每条指令平均要访问两个操作数∴程序访问的数据总数为:1000×2=2000个∵每个数据平均访问8次∴程序访问的不同数据个数为:2000÷8=250对于A 处理机,所⽤的存储空间的⼤⼩为:bit4000032250321000MemMemMemdataninstructio A=?+?=+=对于B 处理机,指令字长由32位变为了30位(条数由256减少到64),这样,所⽤的存储空间的⼤⼩为:bit3900036250301000MemMemMemdataninstructio B=?+?=+=由此我们可以看出,由于数据的平均访问次数要⼤于指令,所以,采⽤带标志符的数据表⽰不会增加总的存储空间⼤⼩。
3. 对于⼀个字长为64位的存储器,访问这个存储器的地址按字节编址。
假设存放在这个存储器中的数据中有20%是独⽴的字节数据(指与这个字节数据相邻的不是⼀个字节数据),有30%是独⽴的16位数据,有20%是独⽴的32位数据,另外30%是独⽴的64位数据;并且规定只能从⼀个存储字的起始位置开始存放数据。
⑴计算这种存储器的存储空间利⽤率。
⑵给出提⾼存储空间利⽤率的⽅法,画出新⽅法的逻辑框图,并计算这种⽅法的存储空间利⽤率。
数据结构 第2章习题答案
第2章习题答案一、填空1. 【严题集2.2①】在顺序表中插入或删除一个元素,需要平均移动表中一半元素,具体移动的元素个数与表长和该元素在表中的位置有关。
2. 线性表中结点的集合是有限的,结点间的关系是一对一的。
3. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动n-i+1 个元素。
4. 向一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动n-i 个元素。
5. 在顺序表中访问任意一结点的时间复杂度均为O(1),因此,顺序表也称为随机存取的数据结构。
6. 【严题集2.2①】顺序表中逻辑上相邻的元素的物理位置必定相邻。
单链表中逻辑上相邻的元素的物理位置不一定相邻。
7. 【严题集2.2①】在单链表中,除了首元结点外,任一结点的存储位置由其直接前驱结点的链域的值指示。
8.在n个结点的单链表中要删除已知结点*p,需找到它的前驱结点的地址,其时间复杂度为O(n)。
二、判断正误(在正确的说法后面打勾,反之打叉)(×)1. 链表的每个结点中都恰好包含一个指针。
答:错误。
链表中的结点可含多个指针域,分别存放多个指针。
例如,双向链表中的结点可以含有两个指针域,分别存放指向其直接前趋和直接后继结点的指针。
(×)2. 链表的物理存储结构具有同链表一样的顺序。
错,链表的存储结构特点是无序,而链表的示意图有序。
(×)3. 链表的删除算法很简单,因为当删除链中某个结点后,计算机会自动地将后续的各个单元向前移动。
错,链表的结点不会移动,只是指针内容改变。
(×)4. 线性表的每个结点只能是一个简单类型,而链表的每个结点可以是一个复杂类型。
错,混淆了逻辑结构与物理结构,链表也是线性表!且即使是顺序表,也能存放记录型数据。
(×)5. 顺序表结构适宜于进行顺序存取,而链表适宜于进行随机存取。
错,正好说反了。
顺序表才适合随机存取,链表恰恰适于“顺藤摸瓜”(×)6. 顺序存储方式的优点是存储密度大,且插入、删除运算效率高。
数据结构第二章习题
数据结构第二章习题第2章线性表一、单选题1.线性表是具有n个_________的有限序列。
a、表元素B.字符C.数据元素D.数据项2。
线性表格是。
a.一个有限序列,可以为空b.一个有限序列,不可以为空c.一个无限序列,可以为空d.一个无限序列,不可以为空3.线性表采用链表存储时,其地址_________。
a、 U4。
列表中不连续的部分必须是U4。
a.可随机访问任一结点b.插入删除不需要移动元素c.不必事先估计存储空间d.所需空间与其长度成正比5.设线性表有n个元素,以下操作中,_________在顺序表上实现比在链表上实现效率更高。
a、输出I(1≤ 我≤ n) th元素值b.交换第1个元素与第2个元素的值c.顺序输出这n个元素的值d、输出与线性表中给定值x相等的元素序列号6.设线性表中有2n个元素,以下操作中,_________在单链表上实现要比在顺序表上实现效率更高。
a.删除指定的元素b、在最后一个元素后插入新元素。
C.按顺序输出前k个元素d.交换第i个元素和第2n-i-1个元素的值(i=0,1…,n-1)7.如果最常见的操作是获取第i个节点及其前体,请使用___________________。
a.单链表b.双链表c、与单链表相比,双链表的优点之一是。
a.插入和删除操作更简单b.可以进行随机访问c.可以省略表头指针或表尾指针d.访问前后相邻结点更灵活9.带头结点的单链表l为空的判定条件是_________。
a、 l==nullb.l->next==nullc.l->next==ld.l!=无效的10.在一个具有n个结点的有序单链表中插入一个新结点并仍然保持有序的时间复杂度是_________。
a、 o(1)b.o(n)c.o(n2)d.o(nlog2n)11.在一个长度为n(n>1)的带头结点的单链表h上,另设有尾指针r(指向尾结点),执行_________操作与链表的长度有关。
数据结构第2章基础习题-作业
第二章习题一判断题1.线性表的逻辑顺序与存储顺序总是一致的。
×2.顺序存储的线性表可以按序号随机存取。
3.顺序表的插入和删除操作不需要付出很大的时间代价,因为每次操作平均只有近一半的元素需要移动。
×4.线性表中的元素可以是各种各样的,但同一线性表中的数据元素具有相同的特性,因此是属于同一数据对象。
5.在线性表的顺序存储结构中,逻辑上相邻的两个元素在物理位置上并不一定紧邻。
×6.在线性表的链式存储结构中,逻辑上相邻的元素在物理位置上不一定相邻。
7.线性表的链式存储结构优于顺序存储结构。
8.在线性表的顺序存储结构中,插入和删除时,移动元素的个数与该元素的位置有关。
×9.线性表的链式存储结构是用一组任意的存储单元来存储线性表中数据元素的。
10.在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构。
×11.线性表中每个元素都有一个直接前驱和一个直接后继。
(×)12.线性表中所有元素的排列顺序必须由小到大或由小到小。
(×)13.静态链表的存储空间在可以改变大小。
(×)14.静态链表既有顺序存储结构的优点,又有动态链表的优点。
所以它存取表中第i个元素的时间与i无关。
(×)15.静态链表中能容纳元素个数的最大数在定义时就确定了,以后不能增加。
()16.静态链表与动态链表的插入、删除操作类似,不需要做元素的移动。
()17.线性表的顺序存储结构优于链式结构。
(×)18.在循环单链表中,从表中任一结点出发都可以通过前后的移动操作扫描整个循环链表。
(×)19.在单链表中,可以从头结点开始查找任何一个结点。
()20.在双链表中,可以从任何一结点开始沿同一方向查找到任何其他结点。
(×)二单选题 (请从下列A,B,C,D选项中选择一项)1.线性表是( ) 。
(A) 一个有限序列,可以为空; (B) 一个有限序列,不能为空;(C) 一个无限序列,可以为空; (D) 一个无序序列,不能为空。
大学计算机基础-第2章习题
习题一、单项选择题1. 组成计算机系统的两大部分是(硬件系统和软件系统)。
2. 通常所说的计算机的主机是指(CPU和内存)。
3. 控制器的功能是(指挥、协调计算机各相关硬件和软件工作)。
4.运算器的主要功能是进行(算术和逻辑)运算。
5. 微机硬件系统中最核心的部件是(CPU)。
6. 下列关于CPU的叙述中,正确的是(CPU能直接与内存储器交换数据)。
7. 在计算机中,每个存储单元都有一个连续的编号,此编号称为(地址)。
8. 1GB的准确值是(1024MB)。
9. 在微机的配置中常看到"P4 2.4G"字样,其中数字"2.4G"表示(处理器的时钟频率是2.4Hz)。
10. 一般情况下,外存中存放的数据在断电后(不会)丢失。
11. 计算机硬件能直接识别、执行的语言是(机器语言)。
12. 下列叙述中,正确的是(C)。
A. 内存中存放的只有程序代码B. 内存中存放的只有数据C. 内存中存放的既有程序代码又有数据D. 外存中存放的是当前正在执行的程序代码和所需的数据13. 在微机的外设中,既可以当作输出设备,又可以当作输入设备的是(D)。
A. 绘图仪B. 网络摄像头C. 手写笔D. 磁盘驱动器14. 当电源关闭后,下列关于存储器的说法中,正确的是(B)。
A. 存储在RAM中的数据不会丢失B. 存储在ROM中的数据不会丢失C. 存储在U盘中的数据会全部丢失D. 存储在硬盘中的数据会丢失15. 为了提高软件开发效率,开发软件时应尽量采用(高级语言)。
16. 微机内存一般按(字节)编址。
17. 和外存储器相比,内存储器的特点是(容量小,速度快,成本高)18. 计算机的技术性能指标主要是指(字长、主频、运算速度、内/外存容量)。
19. 在各类程序设计语言中,相比较而言,执行效率最高的是(机器语言编写的程序)。
20. 字长是CPU的主要性能指标之一,它表示(CPU一次能处理二进制数据的位数)。
C语言知识点:第2章 数据类型、运算符与表达式
主讲教师:杨剑
第 2 章:数据类型、运算符与表达式
1. 本章目标:
理解变量和常量的含义 熟悉基本数据类型 - int、char、float 和 double 使用算术运算符 理解类型转换 使用关系和逻辑运算符
2. 内存如何存放数据
电脑使用内存来记忆计算时所使用的数据 内存如何存储数据? 内存像旅馆.数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空
23. 复合赋值表达式
24. 赋值表达式和逗号运算符
赋值表达式 a=b=c=5;(从右向左计算) a +=a-=a*a
逗号运算符和逗号表达式 3+5,6+8 a=3*5,a*4
25. 习题
~7~
C 语言程序设计知识点
主讲教师:杨剑
有以下程序
main()
{
char a1=’M’,a2=’m’;
12. 单精度浮点型
float 在 C 语言中用于存储单精度浮点数 float 32 位 10-38 至 10+38 ,7 位有效数字 声明:
float price; 初始化:
float score = 11.3; score = 65.90;
13. 双精度浮点型
double 32 位 16 位有效数字 声明:
const float PI=3.14; S=PI*r*r; //等价于 3.14*r*r const 关键字的作用就是“冻结”一个量,它的值不能被修改,是一个只读(read only) 量。 优点:比数值常量可读性好、修改容易
18. 符号常量 2(宏常量)
还可用宏定义符号常量 语法:#define 符号名 常量值 例: 计算圆的周长时
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2章数据的表示方法和运算红色字体的是作业,请大家自行完成。
一、判断题1.在数字计算机中所以采用二进制是因为二进制的运算最简单。
2.在所有的进位计数制中,整数部分最低位的权都是1。
3.某R进位计数制,其左边一位的权是其相邻的右边一位的权的R倍。
4.计算机表示的数发生溢出的根本原因是计算机的字长有限。
5.表示定点数时,若要求数值0在计算机中唯一地表示为全0,应采用补码。
6.浮点数的取值范围由阶码的位数决定,而精度由尾数的位数决定。
7.CRC校验码的生成和检验大多采用软件实现。
答:正确。
8.若浮点数的尾数用补码表示,那么规格化的浮点数是指尾数数值位的最高位是0(正数)或是1(负数)。
9.在实际应用中,奇偶校验多采用奇校验,这是因为奇校验中不存在全“0”代码,在某些场合下更便于判别。
答:正确。
10.若[x]补>[y]补,不一定满足x>y。
答:正确。
二、选择题1.下列各种数制的数中最小的数是。
A.(101001)2 B.(101001)BCD C.(52)8 D.(233)H2.下列各种数制的数中最大的数是。
A.(1001011)2 B.75 C.(112)8 D.(4F)H3.1010AH是。
A.表示一个二进制数 B.表示一个十六进制数C.表示一个十进制数 D.表示一个错误的数4.二进制数215转换成二进制数是(1),转换成八进制数是(2),转换成十六进制数是(3)。
将二进制数01100100转换成十进制数是(4),转换成八进制数是(5),转换成十六进制数是(6)。
(1)A.11101011B B.11101010B C.10100001B D.11010111B(2)A.327 B.268.75 C.252 D.326(3)A.137H B.C6H C.D7H D.EAH(4)A.101 B.100 C.110 D.99(5)A.123 B.144 C.80 D.800(6)A.64 B.63 C.100 D.0AD5.ASCII码是对(1)进行编码的一种方案,它是(2)的缩写。
(1)A.字符 B.汉字 C.图形符号 D.声音(2)A.余3码 B.十进制数的二进制编码C.格雷码 D.美国标准信息交换代码6.在一个8位二进制数的机器中,补码表示数的范围从(1)(小)到(2)(大),这两个数在机器中的补码表示分别为(3)和(4),而数0的补码表示为(5)。
(1)、(2):A.-256 B.-255 C.-128 D.-127 E.0F.+127 G.+128 H.+255 I.+256(3)、(4)、(5):A.00000000 B.10000000 C.01111111 D.11111111E.00000000或10000000 F.01111111或11111111G.00000000或11111111 H.10000000或011111117.将十进制数15/2表示成二进制浮点规格化数(阶符1位,阶码2位,数符1位,尾数4位)是。
A.01101111 B.01101110 C.01111111 D.111111118.十进制数5的单精度浮点数IEEE754代码为。
A.01000000101000000000000000000000B.11000000101000000000000000000000C.01100000101000000000000000000000D.11000000101000000000000000000000解:答案为A。
9.能发现两位错误并能纠正一位错的编码是。
A.CRC码 B.海明码 C.偶校验码 D.奇校验码解:答案为B。
10.在大量数据传送中常用的且有效的检验法是。
A.CRC码 B.海明码 C.偶校验码 D.奇校验码解:答案为A。
三、填空题1.计数制中使用的数据个数被称为。
答:基数。
2.在用码表示的机器数中,零的编码是唯一的。
答:补码。
3.一个定点数由和两部分组成。
根据小数点位置不同,定点数据有和两种表示方法。
答:符号位,数值域,纯小数,纯整数(顺序可变)。
4.移码常用来表示浮点数的部分,移码和补码比较,它们除外,其他各位都。
答:阶码,符号位,相同。
5.在浮点加减法运算中,当运算结果的尾数的绝对值大于1时,需要对结果进行,其操作是。
答:向右规格化,尾数右移一位,右边补一个0,阶码减1,直到尾数绝对值≥0.5。
四、计算题1.用二进制数表示一个四位十进制的整数最少需要几位(不含符号位)。
解:2X=104,N=4×1/㏒2=14位。
2.某机器字长32位,定点表示,其中31位表示尾数,1位是符号位,问:⑴定点原码整数表示时,最大正数是多少?最小负数是多少?⑵定点原码小数表示时,最大正数是多少?最小负数是多少?。
3.写出下列二进制数的原码、反码、补码和移码。
(1)±1011 (2)±0.1101 (3)±0解:①(+1011)原=01011 (-1011)原=11011(+1011)反=01011 (-1011)反=10100(+1011)补=01011 (-1011)补=10101(+1011)移=11011 (-1011)移=00100②(+0.1101)原=0.1101 (-0.1101)原=1.1101(+0.1101)反=0.1101 (-0.1101)瓜=1.0010(+0.1101)补=0.1101 (-0.1101)补=1.0011(+0.1101)移=0.1101 (-0.1101)移=0.0011③(+0.0000)原=00000 (-00000)原=10000(+0.0000)反=00000 (-00000)反=11111(+0.0000)补=00000 (-00000)原=00000(+0.0000)移=10000 (-00000)原=100004.某机器字长16位,浮点表示时,其中含1位阶符、5位阶码、1位尾符、9位尾数,请写出它能表示的最大浮点数和最小浮点数。
5.字符“F”的ASCII码为46H,请写出它的奇校验码和偶校验码(假定校验位加在最高位)。
解:字符“F”的ASCII码为46H,奇校验码为10110110(B6H),偶校验码为00110110(36H)。
6.最少用几位二进制数即可表示任一五位长的十进制正整数?解:五位长的十进制正整数中,最大的数99999满足条件:216(=65536)<99999<217(=131072),故最少用17位二进制数即可表示任一五位长的十进制正整数。
7.设浮点数字长为32位,欲表示±6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取一位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?8.什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式?解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。
若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。
9.设机器数字长为16位,写出下列各种情况下它能表示的数的范围。
设机器数采用一位符号位,答案均用十进制表示。
(1)无符号数;(2)原码表示的定点小数;(3)补码表示的定点小数;(4)补码表示的定点整数;(5)原码表示的定点整数;(6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。
分别写出正数和负数的表示范围;(注:加条件:阶原尾原非规格化数。
)(7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。
解:各种表示方法数据范围如下:(1)无符号整数:0 ~ 216 - 1,即:0 ~ 65535;(2)原码定点小数: 1 - 2-15 ~ -(1 - 2-15)(3)补码定点小数: 1 - 2-15 ~ - 1(4)补码定点整数:215 - 1 ~ -215,即:32767 ~ -32768;(5)原码定点整数:215 - 1 ~ -(215 - 1),即:32767 ~ -32767;(6)据题意画出该浮点数格式:1 5 1 9当采用阶原尾原非规格化数时:最大正数=0,11 111;0.111 111 111最小正数=1,11 111;0.000 000 001则正数表示范围为:231⨯(1-2-9)~2-31⨯2-9最大负数=1,11 111;1.000 000 001最小负数=0,11 111;1.111 111 111则负数表示范围为:2-31⨯(-2-9)~ -231⨯(1-2-9)(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大正数=0,11 111;0.111 111 111最小正数=1,00 000;0.100 000 000其对应的正数真值范围为:231⨯(1-2-9)~2-32⨯2-1最大负数=1,00 000;1.011 111 111最小负数=0,11 111;1.000 000 000其对应的负数真值范围为:-2-32⨯(2-1+2-9)~ 231⨯(-1)10.设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。
(1)A=-87, B=53,求A-B;(2)A=115, B=-24,求A+B。
注意:1、单符号位运算要用单符号位的判断方法判溢出;2、结果的真值形式上要和原始数据一致。
11.用原码一位乘和补码一位乘(Booth算法)计算x·y。
x= 19, y= 3512.对于尾数为40位的浮点数(不包括符号位在内),若采用不同的机器数表示,试问当尾数左规或右规时,最多移位次数各为多少?解:对于尾数为40位的浮点数,若采用原码表示,当尾数左规时,最多移位39次;反码表示时情况同原码;若采用补码表示,当尾数左规时,正数最多移位39次,同原码;负数最多移位40次。
当尾数右规时,不论采用何种码制,均只需右移1次。
13.按机器补码浮点运算步骤计算[x+y]补。
x=2-011×0.101100, y=2-010×(-0.011100)五、简答题1.试比较定点带符号数在计算机内的四种表示方法。
答:带符号数在计算机内部的表示方法有原码、反码、补码和移码。
原码表示方法简单易懂,实现乘、除运算简单,但用它实现加、减运算比较复杂。
补码的特点是加、减法运算规则简单,正负数的处理方法一致。
反码通常只用来计算补码,由于用反码运算不方便,在计算机中没得到实际应用。