C++第5章习题解答

合集下载

第5章 相平衡习题解答

第5章 相平衡习题解答
解:(1)由表中的数据,绘制水(A) -醋酸(B)系统的温度-组成图如下:
⑵ 图中,组成为 xB=0.800 的液相的泡点: t 110.2 C ; ⑶ 图中,组成为 yB =0.800 的气相的露点: t 112.8 C ; ⑷ 求 105℃时气-液平衡两相的组成: xB 0.417 , yB 0.544 ;
xB
1
xA
0.541
p pA pB 54.22 0.459 136.12 0.541 98.53kPa
yA
pA pA pB
54.22 0.541
0.2526
54.22 0.459 136.12 0.541
yB
pB pA pB
136.12 0.459
0.7474
54.22 0.459 136.12 0.541
答: ⑴ p=98.54kPa,yB=0.7476;⑵ p=80.40kPa,xB=0.3197; ⑶ yB=0.6825,xB=0.4613,nB(l)=1.709mol,nB(g)=3.022mol 5-7 在 101.325kPa 下,水(A) -醋酸(B)系统的气-液平衡数据如下:
t/℃
100
100 92 0.45
2.415
mB (2.415 100 / 92) 18 23.91kg
第五章 相平衡习题解答
5-1 指出下列平衡系统中的物种数 S、组分数 C、相数 P 和自由度数 f。 ⑴ C2H5OH 与水的溶液; ⑵ I2(s)与 I2(g)成平衡; ⑶ NH4HS(s)与任意量的 H2S(g)及 NH3(g)达到平衡; ⑷ NH4HS(s)放入抽空的容器中分解达平衡; ⑸ CaCO3(s)与其分解产物 CaO(s)和 CO2(g)成平衡; ⑹ CHCl3 溶于水中、水溶于 CHCl3 中的部分互溶系统及其蒸气达到相平衡。 解:(1)物种数 S=2,组分数 C=2、相数 P=1,自由度数 f=C-P+2=3;

C语言1-5章复习题及参考答案

C语言1-5章复习题及参考答案

一.选择题1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。

A .-3 B.9 C.-12 D.62、若有定义:int a=8, b=5, c; 执行语句 c=a/b+0.4; 后,c的值为()。

A .1.4 B.1 C.2.0 D.23、有如下程序:void main(){int i,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}该程序的执行结果是()。

A .6 B.3 C.死循环 D.04、下列关于表达式的描述中,错误的是()。

A . 常量和变量都是表达式。

B. 运算符类型对应表达式的类型。

C. 每一个表达式都有自己的值。

D. 表达式必须以分号结尾。

5、C语言中,合法的长整型常数是()。

A . '\t' B.” A” C.65 D.a6、若已定义 x 和 y为double 类型,则表达式 x=1;y=(x+3)/2 的值是()。

A .1 B.2 C.2.00000 D.2.500007、表达式:10!=9的值是()。

A . true B. 非零值 C.0 D.18、以下程序的输出结果是()。

#include<stdio.h>void main(){printf("%d\n", NULL);}A . 不确定的 B.0 C.-1 D.19、请选出合法的C语言赋值语句。

()A . a=b=58 B.i++; C. a=58,b=58 D. k=int(a+b);10、假设 int b=2; 表达式(b>>2)/(b>>1)的值是()。

A .0 B.2 C.4 D.811、关于语句printf(“hello world\n”);,下列描述中错误的是()。

A . printf()是格式化输出函数,用于输出信息。

B. printf()括号中的内容为函数的参数。

第5章习题解答

第5章习题解答

第5章汇编语言程序设计习题参考答案1.(1) BUFF DB 240 DUP(?)(2) xx DB “BYTE”,”WORD”2.:0000H,则内存分配如下:V AR1V AR2V AR3V AR4V AR53.(1) 段的类型:段的类型有4种,分别是代码段、数据段、堆栈段和附加段。

(2) 段的定义:定义段使用伪指令SEGMENT/ENDS来定义的。

即:段名SEGMENT [定位类型] [组合类型] […类别‟]……段名ENDS(3) 选项的作用和含义:定位类型:告诉汇编程序如何确定逻辑段的边界在存储器的位置,共有4种。

①BYTE:表示逻辑段从字节的边界开始,即本段的起始地址紧接前一段。

②WORD:表示逻辑段从字的边界开始,即本段的起始地址必须是偶数。

③PARA:表示逻辑段从节的边界开始,即本段的起始地址后4位为0。

④PAGE:表示逻辑段从节的边界开始,即本段的起始地址后8位为0。

组合类型:告诉汇编程序当装入存储器时各个逻辑段如何进行组合,共有6种。

①不组合:如果缺省,则不组合。

② PUBLIC:对于不同逻辑段只要有相同段名就把他们集中成一段装入内存。

③ STACK:同PUBLIC相同,但仅限于堆栈段。

④ COMMON:对于不同逻辑段若有相同的段名,则都从同一地址装入。

⑤ MENORY:表示在几个逻辑段连接时,本段定位在地址最高的地方。

⑥ AT 表达式:表示以表达式的值来定位段地址。

‘类别’:在连接时决定各逻辑段的装入顺序。

4. 假设程序中有4个不同类型的段,则名为initprogram宏指令的宏定义如下:initprogram MACRO csname,dsname,esname,ssnameASSUME CS:csname,DS:dsname,ES:esname,SS:ssnameSTART: MOV AX,dsnameMOV DS,AXMOV AX,esnameMOV ES,AXMOV AX,ssnameMOV SS,AXENDM5.假设需传送的数据块为字节数据块,则名为Datastranaction宏指令的宏定义如下:Datastranaction MACRO buffer1,buffer2,lengthLEA SI,buffer1LEA DI,buffer2MOV CX,lengthCLDREP MOVSBENDM6.有效地指令为:(2)、(5)、(9)无效的指令为:(1) 数据类型不一致(3) 两个操作数不能同时为存储器操作数(4) CS不能作为目的操作数(6) 不能用两个变址寄存器作有效地址分量(7) 一个操作数不能是两个变量名的表达式(8) 基址和变址只能相加不能相减(10) 目的操作数不能是立即数(11) 在有效地址中不能减基址或变址严格地说:(9)也不对,因为没有指出存储器的数据类型,即操作数类型不明确。

第5章思考题和习题解答

第5章思考题和习题解答

第五章 电气设备的选择5-1 电气设备选择的一般原则是什么?答:电气设备的选择应遵循以下3项原则:(1) 按工作环境及正常工作条件选择电气设备a 根据电气装置所处的位置,使用环境和工作条件,选择电气设备型号;b 按工作电压选择电气设备的额定电压;c 按最大负荷电流选择电气设备和额定电流。

(2) 按短路条件校验电气设备的动稳定和热稳定 (3) 开关电器断流能力校验5-2 高压断路器如何选择? 答:(1)根据使用环境和安装条件来选择设备的型号。

(2)在正常条件下,按电气设备的额定电压应不低于其所在线路的额定电压选择额定电压,电气设备的额定电流应不小于实际通过它的最大负荷电流选择额定电流。

(3)动稳定校验(3)max shi i ≥ 式中,(3)sh i 为冲击电流有效值,max i 为电气设备的额定峰值电流。

(4)热稳定校验2(3)2th th ima I t I t ∞≥式中,th I 为电气设备在th t 内允许通过的短时耐热电流有效值;th t 为电气设备的短时耐热时间。

(5)开关电器流能力校验对具有分断能力的高压开关设备需校验其分断能力。

设备的额定短路分断电流不小于安装地点最大三相短路电流,即(3).max cs K I I ≥5-3跌落式熔断器如何校验其断流能力?答:跌落式熔断器需校验分断能力上下限值,应使被保护线路的三相短路的冲击电流小于其上限值,而两相短路电流大于其下限值。

5-4电压互感器为什么不校验动稳定,而电流互感器却要校验?答:电压互感器的一、二次侧均有熔断器保护,所以不需要校验短路动稳定和热稳定。

而电流互感器没有。

5-5 电流互感器按哪些条件选择?变比又如何选择?二次绕组的负荷怎样计算? 答:(1)电流互感器按型号、额定电压、变比、准确度选择。

( 2)电流互感器一次侧额定电流有20,30,40,50,75,100,150,200,400,600,800,1000,1200,1500,2000(A )等多种规格,二次侧额定电流均为5A ,一般情况下,计量用的电流互感器变比的选择应使其一次额定电流不小于线路中的计算电流。

第5章 相平衡习题解答

第5章 相平衡习题解答
T 5216 357.1, t T 273.15 83.94C 14.61
5-5 根据下面给出的 I2 的数据,绘制相图。(已知: s l )
三相点
临界点
熔点
t/℃
113
512
114
p/kPa
12.159
11754
101.325
解:碘的相图如下:
答:t=84℃
沸点 184 101.325
解:(1)由表中的数据,绘制水(A) -醋酸(B)系统的温度-组成图如下:
⑵ 图中,组成为 xB=0.800 的液相的泡点: t 110.2 C ; ⑶ 图中,组成为 yB =0.800 的气相的露点: t 112.8 C ; ⑷ 求 105℃时气-液平衡两相的组成: xB 0.417 , yB 0.544 ;
答:⑴ S=2,C=2,P=1,f=2; ⑵ S=1,C=1,P=2,f=1; ⑶ S=3,C=3,P=2,f=2; ⑷ S=3,C=1,P=2,f=1; ⑸ S=3,C=2,P=2,f=2; ⑹ S=2,C=2,P=3,f=1
5-2 试求下列平衡系统的组分数 C 和自由度数 f 各是多少? ⑴ 过量的 MgCO3(s)在密闭抽空容器中,温度一定时,分解为 MgO(s)和 CO2(g); ⑵ H2O(g)分解为 H2(g) 和 O2(g); ⑶ 将 SO3(g)加热到部分分解; ⑷ 将 SO3(g)和 O2(g)的混合气体加热到部分 SO3(g)分解。 解:(1)物种数 S=3,组分数 C=2、相数 P=3,自由度数 f*=C-P+1=0;
所以,压力降到 98.53kPa 时,开始产生气相,此气相的组成 yB=0.7474;
(2)当气相组成: yB 0.541时,
yB

编译原理 第5章习题解答

编译原理 第5章习题解答

第五章习题解答5.1 设一NDPDA识别由下述CFG定义的语言,试给出这个NDPDA的完整形式描述。

S→SASCS→εA→AaA→bC→DcDD→d5.2 消除下列文法的左递归:① G[A]:A→BX∣CZ∣WB→Ab∣BcC→Ax∣By∣Cp② G[E]:E→ET+∣ET–∣TT→TF*∣TF/FF→(E)∣i③ G[X]:X→Ya∣Zb∣cY→ Zd∣Xe∣fZ→X e∣Yf∣a④ G[A]:A→Ba|Aa|cB→Bb|Ab|d5.3 设文法G[<语句>]:<语句>→<变量>: = <表达式>|if<表达式>then<语句>|if<表达式>then<语句>else<语句> <变量>→i<表达式>→<项>|<表达式>+<项><项>→<因子>|<项>*<因子><因子>→<变量>|′(′<表达式>′)′试构造该文法的递归下降子程序。

5.4 设文法G[E]:E→ TE'E'→ + E∣εT→ FT'T'→ T∣εF→ PF'F'→ *F∣εP→ (E)∣ a∣^①构造该文法的递归下降分析程序;②求该文法的每一个非终结符的FIRST集合和FOLLOW集合;③构造该文法的LL(1)分析表,并判断此文法是否为LL(1)文法。

5.5 设文法G[S]:S→ SbA∣aAB→ SbA→ Bc①将此文法改写为LL(1)文法;②求文法的每一个非终结符的FIRST集合和FOLLOW集合;③构造相应的LL(1)分析表。

5.6 设文法G[S]:S→ aABbcd∣εA→ ASd∣εB→ SAh∣eC∣εC→ Sf∣Cg∣εD→ aBD∣ε①求每一个非终结符的FOLLOW集合;②对每一个非终结符的产生式选择,构造FIRST集合;③该文法是LL(1)文法。

电工技术习题答案第5、6章 习题

电工技术习题答案第5、6章 习题

第5章 习题解答5.1 在图5.1所示电路中,12100V,1,99,10F E R R C μ==Ω=Ω=,试求:(1)S 闭合瞬间,各支路电流及各元件端电压的值;(2)S 闭合后到达稳定状态时中各电流和电压的值;(3)当用电感元件L =1H 替换电容元件后再求(1),(2)两种情况下各支路的电流及各元件端电压的值。

解:(1)S 闭合瞬间,由于电容C 的电荷0)0(,0C 0==-u q ,所以0)0()0(C C ==-+u u ,即C 可视为短路,2R 被短接,20i =。

此时(2)S 闭合后,电路达到稳定状态时,由于E 为直流电动势,所以C 视为开路,则10i =1R 11A 11V u iR ==⨯Ω=2C R 21A 9999V u u iR ===⨯Ω=(3)当用电感元件替换电容元件后,S 闭合瞬间,由于S 闭合前电感中电流为零,即L (0)0i -=,且电感元件中电流不能跃变,所以L L 1(0)(0)0i i i +-===电感在S 闭合瞬间L 视为开路,所以此时212100V1A 199E i i R R ====+Ω+Ω1R 11A 11V u iR ==⨯Ω=2R 21A 9999V u iR ==⨯Ω=11100V100A 1E i i R ====Ω2R C (0)0u u +==212100V1A199E i i R R ====+Ω+Ω1R 1100A 1100Vu iR ==⨯Ω=22L R 99V u u ==S 闭合后,且电路达到稳定状态时,在直流电动势E 作用下,电感元件L 视为短路,则2R 被短路。

所以,11100V 100A 1E i i R ====Ω 20i = 2L R 0u u ==1R 1100A 1100V u iR ==⨯Ω=5.2 在图5.2所示电路中,已知126V,6A ,3E I R R ====Ω。

当电路稳定后,在t =0时将两个开关同时闭合。

第5章 循环结构程序设计习题解答

第5章 循环结构程序设计习题解答

第5章循环结构程序设计习题解答1.输入n个整数,求这n个数之中的偶数平均值,并输出。

#include<stdio.h>void main(){int n,i,x,k=0,s=0;printf("Input a number(n):");scanf("%d",&n);printf("Input %d numbers:",n);for(i=0;i<n;i++){scanf("%d",&x);if(x%2==0){s+=x;k++;}}s/=k;printf("average=%d\n",s);}2.输入一串字符,直到输入一个星号*为止,统计(输出)其中字母个数和数字字符个数。

#include<stdio.h>void main(){int n=0,m=0;char c;printf("Input a string character:");do{scanf("%c",&c);if(c>='0'&&c<='9')n++;else if(c>='A'&&c<='Z'||c>='a'&&c<='z')m++;}while(c!='*');printf("number_char=%d\n",n);printf("letter_char=%d\n",m);}3.从键盘输入一正整数n,计算该数各位数字之和并输出。

例如,输入数是5246,则计算5+2+4+6=17并输出。

#include<stdio.h>void main(){int n,r,m=0,s=0;printf("Input a number(int):");scanf("%d",&n);do{r=n%10;s=s+r;n/=10;if(m==0)printf("%d",r);//加式中的第1项不带“+”elseprintf("+%d",r);m++;}while(n>0);printf("=%d\n",s);}4.输入一个字符串,将其中的大写字母改为小写字母,小写字母改为大写字母,然后输出。

计算机系统第5章习题解答

计算机系统第5章习题解答

第五章习题解答[习题5.3]假设一条指令的执行过程分为“取指令”、“分析”和“执行”三段,每一段的执行时间分别为Δt 、2Δt 和3Δt 。

在下列各种情况下,分别写出连续执行n 条指令所需要的时间表达式。

(1)顺序执行方式。

(2)仅“取指令”和“执行”重叠。

(3)先行控制方式。

[解答](1)顺序执行需要的时间如下:t 6n n t)3t 2t (∆=⨯∆+∆+∆=T(2)取指令和执行重叠,即一次重叠执行方式,我们假设第n+1条指令的取指令和第n 条指令的执行同时结束,那么所需要的时间为:t t n n t t t T ∆+∆=⨯∆+∆+∆=5)32((3)采用先行控制以后:t t n n t t t T ∆+∆=⨯∆+∆+∆=3332[习题5.7] 一条线性流水线有4个功能段组成,每个功能段的延迟时间都相等,都为Δt 。

开始5个Δt ,每间隔一个Δt 向流水线输入一个任务,然后停顿2个Δt ,如此重复。

求流水线的实际吞吐率、加速比和效率。

[解答]流水线的时空图如下:我们可以看出,在(11n+1)Δt 的时间内,可以输出5n 个结果,如果指令的序列足够长(n →∞),并且指令间不存在相关,那么,吞吐率可以认为满足:)(115)/111(5)111(5∞→∆=∆+=∆+=n ttn tn n Tp加速比为:)(1120/1112011120)111(45∞→=+=+=∆+∆⨯=n nn n tn t n S从上面的时空图很容易看出,效率为:)(115/1115)111(4200∞→=+=∆+⨯∆=⨯=n ntn t n T k T E k[习题5.8]用一条5个功能段的浮点加法器流水线计算∑==101i i A F 。

每个功能段的延迟时间均相等,流水线的输出端和输入端之间有直接数据通路,而且设置有足够的缓冲寄存器。

要求用尽可能短的时间完成计算,画出流水线时空图,并计算流水线的实际吞吐率、加速比和效率。

大学物理基础教程答案第05章习题分析与解答

大学物理基础教程答案第05章习题分析与解答

5-1 若理想气体的体积为V ,压强为p ,温度为T ,一个分子的质量为m ,k 为玻尔兹曼常数,R 为摩尔气体常数,则该理想气体的分子数为( )。

(A )PV m (B )PV kT (C )PV RT (D ) PVmT解:由N p nkT kT V ==得,pVN kT=,故选B 5-2 两个体积相同的容器,分别储有氢气和氧气(视为刚性气体),以1E 和2E 分别表示氢气和氧气的内能,若它们的压强相同,则( )。

(A )12E E = (B )12E E > (C )12E E < (D ) 无法确定 解:pV RT ν=,式中ν为摩尔数,由于两种气体的压强和体积相同,则T ν相同。

又刚性双原子气体的内能52RT ν,所以氢气和氧气的内能相等,故选A 5-3 两瓶不同种类的气体,分子平均平动动能相同,但气体分子数密度不同,则下列说法正确的是( )。

(A )温度和压强都相同 (B )温度相同,压强不同 (C )温度和压强都不同(D )温度相同,内能也一定相等解:所有气体分子的平均平动动能均为32kT ,平均平动动能相同则温度相同,又由p nkT =可知,温度相同,分子数密度不同,则压强不同,故选B5-4 两个容器中分别装有氦气和水蒸气,它们的温度相同,则下列各量中相同的量是( )。

(A )分子平均动能 (B )分子平均速率 (C )分子平均平动动能 (D )最概然速率解:分子的平均速率和最概然速率均与温度的平方根成正比,与气体摩尔质量的平方根成反比,两种气体温度相同,摩尔质量不同的气体,所以B 和D 不正确。

分子的平均动能2i kT ε=,两种气体温度相同,自由度不同,平均动能则不同,故A 也不正确。

而所有分子的平均平动动能均为k 32kT ε=,只要温度相同,平均平动动能就相同,如选C 5-5 理想气体的压强公式 ,从气体动理论的观点看,气体对器壁所作用的压强是大量气体分子对器壁不断碰撞的结果。

编译原理教程课后习题答案——第五章

编译原理教程课后习题答案——第五章

第五章代码优化5.1 完成以下选择题:(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. 满足对称性【解答】(1) d (2) c (3) b (4) d (5) d5.2 何谓局部优化、循环优化和全局优化?优化工作在编译的哪个阶段进行?【解答】优化根据涉及的程序范围可分为三种。

(1) 局部优化是指局限于基本块范围内的一种优化。

一个基本块是指程序中一组顺序执行的语句序列(或四元式序列),其中只有一个入口(第一个语句)和一个出口(最后一个语句)。

对于一个给定的程序,我们可以把它划分为一系列的基本块,然后在各个基本块范围内分别进行优化。

通常应用DAG方法进行局部优化。

(2) 循环优化是指对循环中的代码进行优化。

例如,如果在循环语句中某些运算结果不随循环的重复执行而改变,那么该运算可以提到循环外,其运算结果仍保持不变,但程序运行的效率却提高了。

循环优化包括代码外提、强度削弱、删除归纳变量、循环合并和循环展开。

5.3 将下面程序划分为基本块并作出其程序流图。

read(A,B)F=1C=A*AD=B*Bif C<D goto L1E=A*AF=F+1E=E+Fwrite(E)haltL1: E=B*BF=F+2E=E+Fwrite(E)if E >100 goto L2haltL2: F=F-1goto L1【解答】先求出四元式程序中各基本块的入口语句,即程序的第一个语句,或者能由条件语句或无条件转移语句转移到的语句,或者条件转移语句的后继语句。

人工智能教程习题及答案第5章习题参考解答

人工智能教程习题及答案第5章习题参考解答

⼈⼯智能教程习题及答案第5章习题参考解答第五章搜索策略习题参考解答5.1 练习题5.1 什么是搜索?有哪两⼤类不同的搜索⽅法?两者的区别是什么?5.2 ⽤状态空间法表⽰问题时,什么是问题的解?求解过程的本质是什么?什么是最优解?最优解唯⼀吗?5.3 请写出状态空间图的⼀般搜索过程。

在搜索过程中OPEN表和CLOSE表的作⽤分别是什么?有何区别?5.4 什么是盲⽬搜索?主要有⼏种盲⽬搜索策略?5.5 宽度优先搜索与深度优先搜索有何不同?在何种情况下,宽度优先搜索优于深度优先搜索?在何种情况下,深度优先搜索优于宽度优先搜索?5.6 ⽤深度优先搜索和宽度优先搜索分别求图5.10所⽰的迷宫出路。

图5.10 习题5.6的图5.7 修道⼠和野⼈问题。

设有3个修道⼠和3个野⼈来到河边,打算⽤⼀条船从河的左岸渡到河的右岸去。

但该船每次只能装载两个⼈,在任何岸边野⼈的数⽬都不得超过修道⼠的⼈数,否则修道⼠就会被野⼈吃掉。

假设野⼈服从任何⼀种过河安排,请使⽤状态空间搜索法,规划⼀使全部6⼈安全过河的⽅案。

(提⽰:应⽤状态空间表⽰和搜索⽅法时,可⽤(N m,N c)来表⽰状态描述,其中N m和N c分别为传教⼠和野⼈的⼈数。

初始状态为(3,3),⽽可能的中间状态为(0,1),(0,2),(0,3), (1,1),(2,1),(2,2),(3,0),(3,1),(3,2)等。

)5.8 ⽤状态空间搜索法求解农夫、狐狸、鸡、⼩⽶问题。

农夫、狐狸、鸡、⼩⽶都在⼀条河的左岸,现在要把它们全部送到右岸去。

农夫有⼀条船,过河时,除农夫外,船上⾄多能载狐狸、鸡和⼩⽶中的⼀样。

狐狸要吃鸡,鸡要吃⼩⽶,除⾮农夫在那⾥。

试规划出⼀个确保全部安全的过河计划。

(提⽰:a.⽤四元组(农夫,狐狸,鸡,⽶)表⽰状态,其中每个元素都可为0或1,0表⽰在左岸,1表⽰在右岸;b.把每次过河的⼀种安排作为⼀个算符,每次过河都必须有农夫,因为只有他可以划船。

电工技术(第三版 席时达)教学指导、习题解答 第五章

电工技术(第三版 席时达)教学指导、习题解答 第五章

第五章 电路的瞬态分析【引言】①○2当电路发生接通、断开、联接方式改变及电路参数突然变化时,电路将从一种稳态变换到另一种稳态,这一变换过程时间一般很短,称为瞬态过程或简称瞬态(也称暂态过程或过渡过程)。

○3学习目的和要求1、了解产生瞬态过程的原因和研究瞬态过程的意义。

2、掌握分析一阶电路的三要素法。

理解初始值、稳态值、时间常数的概念。

3、理解RC电路和RL电路瞬态过程的特点。

4、了解微分电路和积分电路本章重点:分析一阶电路的三要素法,RC电路的充放电过程。

本章难点:初始值的确定。

5-1 瞬态过程的基本知识一、电路中的瞬态过程【演示】用根据图5-1-1制作的示教板。

观察开关S 合上瞬间各灯泡点亮的情况。

稳定状态(简称稳态)瞬态分析的目的 交流电路:电压、电流为某一稳定的时间函数直流电路:电压、电流为某一稳定值掌握瞬态过程规律,获得各种波形的电压和电流。

防止出现过电压或过电流现象,确保电气设备安全运行。

【讲授】开关S合上瞬间二、换路定律【讲授】①换路定律是表述换路时电容电压和电感电流的变化规律的,即换路瞬间电容上的电压和电感中的电流不能突变。

②设以换路瞬间作为计时起点,令此时t=0,换路前终了瞬间以t=0—表示,换路后初始瞬间以t =0+表示。

则换路定律可表示为:u C(0+)= u C(0—)换路瞬间电容上的电压不能突变i换路瞬间电感中的电流不能突变【说明】①换路定律实质上反映了储能元件所储存的能量不能突变。

因为W C=21CuC2、W L=21LiL2,u C和i L的突变意味着能量发生突变,功率p=twdd趋于无穷大,这是不可能的。

②当电路从一种稳定状态换路到另一种稳定状态的过程中,u C和i L必然是连续变化的,不能突变。

这种电流和电压的连续变化过程就是电路的瞬态过程。

③电阻是耗能元件,并不储存能量,它的电流、电压发生突变并不伴随着能量的突变。

因此由纯电阻构成的电路是没有瞬态过程的。

第5章-习题解答

第5章-习题解答

第5章-习题解答第5章 习题与答案5-1 机械波的表达式为y = 0.03cos6π(t + 0.01x ) (SI) ,则 [ ](A) 其振幅为3 m (B) 其周期为s 31 (C) 其波速为10 m/s (D) 波沿x 轴正向传播 [答案:B]5-2 一平面简谐波,波速u =5m · s -1. t = 3 s 时波形曲线如题5-2图所示. 则x =0处的振动方程为[ ](A)y =2×10-2cos(πt /2-π/2) ( S I ) . (B) y =2×10-2cos(πt +π ) ( S I ) . (C) y =2×10-2cos(πt /2+π/2) ( S I ) . (D) y =2×10-2cos(πt -3π/2)( SI ) . [答案:A]5-3 如题5-3图所示,两相干波源s 1和s 2相距λ/4(λ为波长), s 1ux y (10· · · · · · · 0 5 1122- PSS题5-2图题5-3图的位相比s 2的位相超前π/2 ,在s 1、s 2的连线上, s 1外侧各点(例如P 点)两波引起的两谐振动的位相差是[ ](A) 0 . (B) π . (C) π /2 . (D) 3π/2 . [答案:B]5-4 一平面简谐波沿ox 正方向传播,波动表达式为]2)42(2cos[10.0π+-π=x t y (SI),该波在t = 0.5 s 时刻的波形如题5-5图中的哪一个? [ ] [答案:B]5-5 横波以波速u 沿x 轴负方向传播.t 时刻波形曲线如题5-5图所示.则该时刻 [ ]题5-4图-(A) A 点振动速度大于零 (B)B 点静止不动(C) C 点向下运动(D) D 点振动速度小于零 [答案:D]5-6 一平面简谐波沿x 轴正方向传播,t = 0 时刻的波形如题5-6图所示,则P 处质点的振动在t = 0时刻的旋转矢量图是[ ][答案:A]5-7 一简谐波沿x 轴正方向传播,t = T /4时的波形曲线如题5-7图所示.若振动以余弦函数表示,且此题各点振动的初相取-π 到π 之间的值,则 [ ] (A) O 点的初相为0=φωS A O ′ωSA ωωSAO ′(A)(B)(C)(D)S题5-5图题5-6图(B) 1点的初相为π-=211φ(C) 2点的初相为π=2φ(D) 3点的初相为π-=213φ[答案:D]5-8 在驻波中,两个相邻波节间各质点的振动[ ](A) 振幅相同,相位相同 (B) 振幅不同,相位相同(C) 振幅相同,相位不同 (D) 振幅不同,相位不同 [答案:B]5-9 一平面简谐波在弹性媒质中传播,在媒质质元从平衡位置运动到最大位移处的过程中:[ ](A) 它的动能转化为势能. (B) 它的势能转化为动能. (C) 它从相邻的一段质元获得能量其能量逐渐增大.(D) 它把自己的能量传给相邻的一段质元,题5-7图其能量逐渐减小. [答案:D]5-10 一横波的波动方程是))(4.0100(2sin 02.0SI x t y -=π,则振幅是__________,波长是__________,频率是__________,波的传播速度是__________。

第五章习题解答与问题

第五章习题解答与问题

9.设
f (x)
=
1 1+ x2
,在-5≤x≤5 上取
n = 10,按等距结点求分段线性插值函数Ih(x),
计算各结点间中点处的Ih(x)和f(x) 的值,并估计误差。 解:因为 f(xk) = 1/(1+ k2),(k = -5,…,-1,0,1,…,5)分段线性插值函数为
∑ I h
( x)
=
5
lk
y2 y2
− −
y) y1 )
u1
+
(x (x2
− −
x1 )( y2 x1 )( y2
− −
y) y1 )
u2
+
(x (x2
− −
x1 )( y − y1 ) x1 )( y2 − y1 )
u3
+
( x2 − x)( ( x2 − x1 )(
y2 y2
− −
y) y1 )
u4
二、例题
1. 在代数插值问题中,x0,x1,……,xn是(n+1)个互异的插值结点,由这(n+1)个结点构
F (t) = f (t) − H (t) − C ( x)(t − xk )2 (t − xk+1 )2
显然,F(t)有三个零点xk, x, xk+1,由Roll定理知,存在F’(t)的两个零点t0,t1 满足xk<t0<t1<xk+1,
而xk和xk+1 也是F’(x)的零点,故F’(x)至少有四个相异零点. 反复应用Roll定理,得F(4)(t)至少
∑ P( x) = n Aj
ω(x) j=0 x − x j
5. 设x0,x1,……,xn是(n+1)个互异的插值结点,ω(x) = (x – x0) (x – x1)……(x – xn), 试证明n阶差商的函数值表达式

矩阵理论第五章课后习题解答

矩阵理论第五章课后习题解答

第五章课后习题解答1. 设000c c=cc c c A .讨论c 取何值时A 为收敛矩阵. 解:由于()()22c cλ=cc c c c c λλλλλ-----=+---3E A ,所以A 的特征值为12c λ=,23c λλ==-,于是=A ()2r c ,而矩阵A 收敛的充要条件是<A ()1r 即1122c -<<. 2. 若()lim k k →∞=AA ,证明()lim k k →∞=A A ,其中(),k m n ⨯∈A A C , 为m n ⨯C 中的任何一种矩阵范数,并问该命题的逆命题是否成立,为什么?证:由于()()lim lim 0k k k k →∞→∞=⇔-=AA A A ,再利用矩阵范数的三角不等式推知()()k k -≤-AA A A ,所以有()lim 0k k →∞-=A A ,即()lim k k →∞=AA .该命题的逆命题不成立,例如取⎛⎫- ⎪= ⎪ ⎪⎝⎭A ()1(1)10k k k ,⎛⎫= ⎪⎝⎭A 1010,并取矩阵范数为Frobenius范数,则有→∞→∞===A A ()lim limk k k ,但→∞A ()lim k k 不存在,所以→∞≠AA ()lim k k .3. 设()()()(),,lim lim k m n k n l k k k k ⨯⨯→∞→∞∈∈==AC B C A A,B B,证明()()lim k k k →∞=A B AB .证:→∞→∞=⇔-=A BAB A B AB ()()()()lim lim 0k k k k k k ,利用矩阵范数的性质有-=-+-A BAB A B AB AB AB ()()()()()()k k k k k k≤-+-AA B A B B ()()()()()k k k≤-+-B A A A B B ()()()()k k k由已知条件→∞→∞==AA B B ()()lim ,lim k k k k 及第2题结论知→∞-=A A ()lim 0,k k→∞-=B B ()lim 0k k ,→∞=B B ()lim k k .由此可见上面不等式的右边趋于0, 所以→∞-=A B AB ()()lim 0k k k .4. 设()()()1lim ()k n n k k k ⨯-→∞∈=AC ,A A,A 和1-A 都存在,证明()11lim()k k --→∞=A A .证:记adj A 为矩阵A 的伴随矩阵,ij A 为A 中元素ij a 的代数余子式,则()()1()adj ()det k k k -=A A A, 其中adj ⎛⎫ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭A A A A A A A A A A ()()()11211()()()()12222()()()12.k k k n k k k k n k k k nn nn易知(k)ij A 是A ()k 中元素的1n -次多项式,由多项式函数的连续性知(k)ij ij =A →∞A lim k ,故adj adj →∞=AA ()lim k k .同理d e t A ()k 是A ()k 中元素的n 次多项式,所以det det →∞=≠AA ()lim 0k k ,于是adj adj det det --→∞→∞===A A A A AA ()()11()lim ()lim k k k k k . 5. 设矩阵级数∞=∑A ()k k收敛(绝对收敛),证明()k k ∞=∑PAQ 也收敛(绝对收敛),且 ()()00k k k k ∞∞==⎛⎫= ⎪⎝⎭∑∑PA Q P A Q , 其中()k m n s m n l ⨯⨯⨯∈∈∈AC ,P C ,Q C .证:记 ()()()0()N NN k k k k ====∑∑SPA Q P A Q ,于是()()()()0lim (lim )()N k N k k N N k k k ∞∞→∞→∞======∑∑∑PAQ SP A Q P A Q可见若∞=∑A ()k k收敛,则()k k ∞=∑PAQ 也收敛.如果()k k ∞=∑A绝对收敛,则()0k k ∞=∑A 收敛.又由于≤≤PA Q PA Q A ()()()k k k c ,其中c 是与k 无关的正常数,由比较判别法知()k k ∞=∑PA Q 收敛,故()0k k ∞=∑PA Q 也绝对收敛.6. 讨论下列幂级数的敛散性:⑴ 2117113kk k ∞=⎛⎫ ⎪--⎝⎭∑; ⑵ 018216kkk k ∞=-⎛⎫⎪-⎝⎭∑. 解: (1) 设1713⎡⎤=⎢⎥--⎣⎦A可求得A 的特征值为221-==λλ,所以=A ()2r . 幂级数∑∞=121k k x k的收敛半径为1)1(lim lim 221=+==∞→+∞→k k a a r k k k k . 由=>A ()2r r 知矩阵幂级数211k k k∞=∑A 发散.(2) 设1821-⎡⎤=⎢⎥-⎣⎦B ,可求得B 的特征值为31-=λ,52=λ,所以()=B 5r .又因幂级数∑∞=06k kk x k 的收敛半径 6166lim lim 11=+==+∞→+∞→k k a a r k k k k k k ,<B ()r r ,所以矩阵幂级数06kkk k ∞=∑B 绝对收敛. 7. 计算00.10.70.30.6kk ∞=⎛⎫⎪⎝⎭∑.解:设0.10.70.30.6⎡⎤=⎢⎥⎣⎦A ,由于0.91∞=<A ,故矩阵幂级数0kk ∞=∑A 收敛,且其和为1472()393-⎡⎤-=⎢⎥⎣⎦E A . 8. 设,n n⨯∈=A B C,AB BA ,证明sin()sin cos cos sin cos()cos cos sin sin +=++=-A B A B A B,A B A B A B .证:由=AB BA ,有e e e +=A B A B,()()11sin()()()22i i i i i i e e e e e e i i +-+--+=-=-A B A B A B A B A B 1[(cos sin )(cos sin )(cos sin )(cos sin )]2i i i i i=++---A A B B A A B Bsin cos cos sin =+A B A B同理可证:cos()cos cos sin sin +=-A B A B A B .9. 设210001010⎛⎫ ⎪= ⎪ ⎪⎝⎭A ,求te A ,sin t A .解:()()()31120λλλλ-=+--=E A求得A 的特征值为11-=λ,12=λ,23=λ,于是存在可逆矩阵111310310-⎡⎤⎢⎥=-⎢⎥⎢⎥⎣⎦P ,101110336642--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦P 使得1112--⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦P AP . 再根据矩阵函数值公式得 ()21,,t t t t e diag e e e --=A P P⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+--++---=------t t tt t t t t t t t tt t t e e e e e e e e e e e e e e e 33330333303234661222 ()()1sin sin ,sin ,sin 2t diag t t t -=-A P P=sin 24sin 22sin 2sin 24sin 1006sin 606sin 0tt t t t t t --⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦10. 设126103114--⎛⎫⎪=- ⎪ ⎪--⎝⎭A ,求,cos .t e t A A解:由 ()λλλλλ+--=-=-=-E A 331261310114得A 的特征值1λ=,解齐次线性方程组3()0-=A E x ,即2261130113x --⎛⎫⎪--= ⎪ ⎪--⎝⎭得1λ=的两个无关特征向量12(1,1,0),(2,1,1)T T αα=-=.又对2α,因非齐次方程组322()βα-=A E 相容,故可求得解2(1,0,0)T β=-.由122,,ααβ构造可逆矩阵121110010--⎛⎫ ⎪= ⎪ ⎪⎝⎭P ,1011001113--⎛⎫ ⎪= ⎪ ⎪--⎝⎭P ,使 1100011001-⎛⎫⎪= ⎪ ⎪⎝⎭P AP 为A 的Jordan 标准形.于是1001210001112260110000113000100011313t tt t t t t t t t e e t t t e P e te P e te e t t t e e t t t -⎛⎫⎛⎫-----⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪===-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪----+⎝⎭⎝⎭⎝⎭⎝⎭⎝⎭A1cos 002sin cos 2sin 6sin cos 0cos sin sin cos sin 3sin 00cos sin sin cos 3sin t t t tt t t t t t t t t t t t t t t t t t t t t t t -+-⎛⎫⎛⎫ ⎪ ⎪=-=+- ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭A P P .11. 设1000110001100011⎛⎫ ⎪ ⎪= ⎪ ⎪⎝⎭A ,求ln A . 解:方法一:事实上,可证明()[()]TTf f =A A 成立. 本题中TA 为一约当标准形矩阵,由()ln()f =A A 知(1)0,(1)1,(1)1,(1)2f f f f ''''''===-=.所以(1)(1)110(1)(1)012!3!2310(1)11(1)(1)01ln()[ln()]102!2201(1)(1)11100(1)32TTT T f f f f f f f f f f '''''⎛⎫⎛⎫⎛⎫'-⎪ ⎪ ⎪⎪ ⎪ ⎪''⎪⎪ ⎪'-====-⎪⎪ ⎪⎪⎪ ⎪' ⎪⎪ ⎪- ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭A A方法二:对A 求得P ,使得11111111-⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎣⎦P AP J ,再得到1000010001ln ln 1002111032-⎡⎤⎢⎥⎢⎥⎢⎥=⋅⋅=-⎢⎥⎢⎥⎢⎥-⎢⎥⎣⎦A P J P .12. 设()t A 和1()t -A 均为n 阶可微矩阵,证明111()()()()d t d t t t dt dt ---⎛⎫=- ⎪⎝⎭A A A A .证:对1()()t t -=A A E 两端关于t 求导数可得11()()()()0d t d t t t dt dt--⋅+⋅=A A A A . 两边左乘1()t -A 并移项即得111()()()()d t d t t t dt dt ---⎛⎫=- ⎪⎝⎭A A A A .13. 设()(),T m n f tr ⨯=∈X X X X R ,求dfd X. 解: 这是数量函数对矩阵变量的导数.设()ijm nx ⨯=X ,则()()2211m nT st Fs t f x tr =====∑∑X XX X . 又因为()21,2,,;1,2,,ij ijfx i m j n x ∂===∂ ,所以 ()22ij m n ijm ndf f x d x ⨯⨯⎛⎫∂=== ⎪ ⎪∂⎝⎭X X . 14. 设,,()m nn F ⨯∈∈=A Rx R x Ax ,求()(),dF dF d d Tx x x x . 解:设 ()ijm na ⨯=A ,12(,,,)Tn x x x =x , 由于111(),,Tn nk k mk k k k F a x a x ==⎛⎫== ⎪⎝⎭∑∑x Ax所以()1,,,T i mi i F a a x ∂=∂ ()11111,,,,,,,,.TTm n mn n dF F F a a a a d x x ⎛⎫∂∂== ⎪∂∂⎝⎭x 而 11111,,n T nm mn a a dF F Fd x x aa ⎡⎤⎛⎫∂∂⎢⎥=== ⎪⎢⎥∂∂⎝⎭⎢⎥⎣⎦Ax .15. 设(),det 0,det n n f ⨯∈≠=X R X X X .证明1(det )()T dfd -=X X X. 证:设()ijn nx ⨯=X ,记ij x 的代数余子式为ij X ,X 的伴随矩阵为adj X .将det X 按第i 行展开,得11()i i ij ij in in f =det x x x =++++X X X X X ,所以(),1,2,,ij ijfi j n x ∂==∂X ,从而有()()()()()11det (det )T T Tij n n df adj d --⨯====X X X X X X X.。

数据结构(C语言版)第4-5章习题答案

数据结构(C语言版)第4-5章习题答案

第4~5章串和数组自测卷答案一、填空题(每空1分,共20分)1. 不包含任何字符(长度为0)的串称为空串;由一个或多个空格(仅由空格符)组成的串称为空白串。

(对应严题集4.1①,简答题:简述空串和空格串的区别)2. 设S=“A;/document/Mary.doc”,则strlen(s)= 20 , “/”的字符定位的位置为3。

4. 子串的定位运算称为串的模式匹配;被匹配的主串称为目标串,子串称为模式。

5. 设目标T=”abccdcdccbaa”,模式P=“cdcc”,则第 6 次匹配成功。

6. 若n为主串长,m为子串长,则串的古典(朴素)匹配算法最坏的情况下需要比较字符的总次数为(n-m+1)*m。

7. 假设有二维数组A6×8,每个元素用相邻的6个字节存储,存储器按字节编址。

已知A的起始存储位置(基地址)为1000,则数组A的体积(存储量)为288 B ;末尾元素A57的第一个字节地址为1282 ;若按行存储时,元素A14的第一个字节地址为(8+4)×6+1000=1072 ;若按列存储时,元素A47的第一个字节地址为(6×7+4)×6+1000)=1276 。

(注:数组是从0行0列还是从1行1列计算起呢?由末单元为A57可知,是从0行0列开始!)8. 〖00年计算机系考研题〗设数组a[1…60, 1…70]的基地址为2048,每个元素占2个存储单元,若以列序为主序顺序存储,则元素a[32,58]的存储地址为8950 。

答:不考虑0行0列,利用列优先公式:LOC(a ij)=LOC(a c1,c2)+[(j-c2)*(d1-c1+1)+i-c1)]*L得:LOC(a32,58)=2048+[(58-1)*(60-1+1)+32-1]]*2=89509. 三元素组表中的每个结点对应于稀疏矩阵的一个非零元素,它包含有三个数据项,分别表示该元素的行下标、列下标和元素值。

C++第五章习题解答

C++第五章习题解答

二、阅读程序,写出运行结果
1. yes 3 not 4
2. 4
3. 12
25 16 9 2 1
4. 21234
5. m=5n=3
6. 911
三、程序填空
1. 该程序功能:对x=1,2,...,10,求f(x)=x*x-5*x+sin(x)的最大值。
{
if (max1<*p) max1=*p;
sum=sum+*p;
p++;
}
_______*p1=max1_________;
_______*p2=sum/N_________;
}
void main()
习 题
一、选择题
1. 下列叙述错误的是____A_____。
A. 主函数中定义的变量在整个程序中都是有效的
B. 复合语句中定义的变量只在该复合语句中有效
C. 其它函数中定义的变量在主函数中不能使用
D. 形式参数是局部变量
2. 若函数的形参为一维数组,则下列说法中错误的是____B、才_____。
if(sub[k]== '\0')_____ return(i)______;
}
return 0;
}
4. 函数root为用二分法求方程f(x)=0在[x1,x2]的实根,精度为eps。二分法求根的基本思想为 f(x)在区间[a,b]上连续,f(a) 与 f(b)异号,区间中点 c=(a+b)/2 的 f(c) 符号和 f(a) 符号确定 c 代替 a 或 b,使根所在区间每次减半,直到|a- b|<eps或|f(c)|<eps,c 即为所求的根,其中eps为精度。下面程序为求方程x3-5x2+16x-80=0在[1,7]区间的实根,精度取10-6。

第5章习题解答

第5章习题解答

第5章思考题及习题5参考答案一、填空1.如果采用晶振的频率为3MHz,定时器/计数器T x(x=0,1)工作在方式0、1、2下,其方式0的最大定时时间为,方式1的最大定时时间为,方式2的最大定时时间为。

答:,,1024µs2.定时器/计数器用作计数器模式时,外部输入的计数脉冲的最高频率为系统时钟频率的。

答:1/243.定时器/计数器用作定时器模式时,其计数脉冲由提供,定时时间与有关。

答:系统时钟信号12分频后,定时器初值4.定时器/计数器T1测量某正单脉冲的宽度,采用方式可得到最大量程若时钟频率为6MHz,求允许测量的最大脉冲宽度为。

答:方式1定时,。

5. 定时器T2 有3种工作方式:、和,可通过对寄存器中的相关位进行软件设置来选择。

答:捕捉,重新装载(增计数或减计数),波特率发生器,T2CON6. AT89S52单片机的晶振为6MHz,若利用定时器T1的方式1定时2ms,则(TH1)= ,(TL1)= 。

答:FCH,18H。

二、单选1.定时器T0工作在方式3时,定时器T1有种工作方式。

种种 C.3种D.4种答:C2. 定时器T0、T1工作于方式1时,其计数器为位。

位位位位答:B3. 定时器T0、T1的GATE x=1时,其计数器是否计数的条件。

A. 仅取决于TR x状态B. 仅取决于GATE位状态C. 是由TR x和INT x两个条件来共同控制D. 仅取决于INT x的状态答:C4. 定时器T2工作在自动重装载方式时,其计数器为位。

位 B. 13位位 D. 16位答:D5. 要想测量INT0引脚上的正单脉冲的宽度,特殊功能寄存器TMOD的内容应为。

B. 09H D. 00H答:B三、判断对错1.下列关于T0、T1的哪些说法是正确的。

A.特殊功能寄存器SCON,与定时器/计数器的控制无关。

对B.特殊功能寄存器TCON,与定时器/计数器的控制无关。

错C.特殊功能寄存器IE,与定时器/计数器的控制无关。

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

(3)较低各维 (4)最高维 5.1.5 指针变量保存了另一变量的 (1)值,不可以任意给指针变量赋一 个地址值,只能赋给它 (2) 和 (3) 的地址。使用变量名来访问 变量,是按 (4) 来直接存取变量称为 (5) 方式;而借助指针变 量取得另一变量的地址,访问该变量称为 (6) 方式。 答案:(1)地址 (2)NULL (3)已经分配了内存的变量的地址 (4)按变量的地址 (5)直接访问 (6)间接访问 5.1.6 固定指向一个对象的指针,称为 (1) ,即 (2) ,定义时const放 在 (3) 。而指向“常量”的指针称为 (4) ,指针本身可以指向别 的对象,但 (5) ,定义时const放在 (6) 。 答案:(1)指针常量 (2)指针本身是常量 (3)const放在类型说明之后,变量名之前 (4)常量指针 (5)不能通过该指针修改对象 (6)const放在类型说明之前 5.1.7 数组名在表达式中被自动转换为指向 (1) 的指针常量,数组名是 地址,但数组名中放的地址是 (2) ,所以数组名 (3) 。这样数 组名可以由 (4) 来代替,C++这样做使用时十分方便,但丢失了 数组的另一要素 (5) ,数组名是指向数组 (6) 的指针,而不是 指向数组 (7)的。编译器按数组定义的大小分配内存,但运行时 对 (8) 不加检测,这会带来无法预知的严重错误。 答案:(1)数组第一个元素 (2)不可改变的 (3)称指针常量 (4)指针 (5)数组元素的数量 (6)元素 (7)整体
return 0; } 5.4 将[例5.5]改用一维数组,附加行、列参数,实现通用算法。 解:用一维数组,附加行、列参数,实现通用算法难度大。 #include <iostream> #include <iomanip> using namespace std; void inverse(int [], int [],int,int);//注意数组最高维可缺省,例5.5因初学未 省 void multi(int [], int [], int [],int,int,int); void output(int [],int,int); int main(){ int middle[6*3], result[6*4];//注意写作6*3等可清楚看出矩阵的行列 int matrix1[3*6]={8,10,12,23,1,3,5,7,9,2,4,6,34,45,56,2,4,6}; int matrix2[3*4]={3,2,1,0,-1,-2,9,8,7,6,5,4}; output(matrix1,3,6); inverse(matrix1,middle,3,6); output(middle,6,3); output(matrix2,3,4); multi(middle,matrix2,result,6,3,4); output(result,6,4); return 0; } void inverse(int matrix1_1[],int middle_1[],int a,int b){ int i,j; for (i=0;i<a;i++) for (j=0;j<b;j++) middle_1[i+j*a]=matrix1_1[i*b+j]; return; } void multi(int middle_1[],int matrix2_1[],int result_1[],int a,int b,int c){ int i,j,k; for (i=0;i<a;i++){ for (j=0;j<c;j++){ result_1[i*c+j] = 0; for (k=0;k<b;k++)
答:最佳方法是用函数模板,多维数组用模板类型参数传递,各维的大 小作为参数传递。也可以用一维数组加各维的大小都作为参数传递。 5.2.5 解释运算符“*”和“&”的作用,运算符“.”和“->”的作用。 答:在应用指针变量时,“*”是间接引用(dereference)运算符,作用于 一个指针类型的变量,访问该指针所指向的内存数据。因结果是内存中 可寻址的数据。“&”是取地址运算符,作用于内存中一个可寻址的数据 (如:变量,对象和数组元素等等),操作的结果是获得该数据的地 址。 运算符“.”和“->”是成员访问运算符(Member Access Oprator)。在对 象或结构外部去访问公有的数据成员或函数成员时,是在对象名后 加“.”(点操作符),再加成员函数名或函数名就可以了。但是这些成员 必须是公有的成员,只有公有成员才能在对象的外面对它进行访问。当 用指向对象和结构变量的指针访问其公有成员时,则只要在指针变量名 后加 “->” (箭头操作符),再加公有成员名就可以了。 5.2.6 什么是this指针?简述它的作用。 答:当我们在对象的外部访问该对象的公有成员时,必须指明是哪一个 对象。但是当我们用对象的成员函数来访问本对象的成员时,在成员函 数中只要给出成员名就可以实现对该对象成员的访问。但同一个类创建 的多个对象共用同一份成员函数的拷贝。既然是同一份拷贝,那么成员 函数又怎么知道是取哪一个对象的成员数据呢?其实每一个对象有一个 隐藏的this指针,它始终指向该对象,并将该指针作为一个参数自动传 递给该成员函数。这就是说,成员操作符总是要使用的,只不过在对象 内是隐式的,即在对象内省略了this指针。 5.2.7 指针变量与整型量的加减运算代表什么意义? 答:指针变量与整型量的加减表示移动指针,以指向当前目标前面或后 面的若干个位置的目标。指针与整型量i的加减等于指针值(地址)与 i*sizeof(目标类型)积的加减,得出新的地址。 5.2.8 设a为数组名,那么a++是否合法?为什么? 答:非法。因为a是指针常量。 5.2.9 指针作为函数的参数时,它传递的是什么?实参要用什么?而使 用引用时实参要用什么?何时只能用指针而不能用引用? 答:是地址,是指针所指向的变量或对象的内存首地址,在物理上讲我
二、编程与综合练习题
5.3 打印杨辉三角形(10行)。使用二维数组并利用每个系数等于其肩 上两系数之和。 解:好的算法无特例,二维数组共用11列,第1列全0,方便计算 #include<iostream> using namespace std; int main(){ int a[10][11]={0,1},i,j; //初始化时写好第1行,其余各行全0 for(i=1;i<10;i++) //为了全部算法无特例,共用11列,第1列全 0,方便计算 for(j=1;j<=i+1;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; for(i=0;i<10;i++){ for(j=1;j<=i+1;j++) cout<<a[i][j]<<'\t'; cout<<endl; }
第五章 数组与指针习题
一、.基本概念与基础知识自测题
5.1 填充题 5.1.1 数组定义时有三个要素:数组名,数组元素的 (1) 和数组元素的 (2) 。按元素在数组中的位置进行访问,是通过 (3) 进行的, 称为 (4) 或 (5) 访问。为了使数组声明中数组的大小修改更为 方便,总是将 (6) 用于声明数组长度。 答案:(1)类型 (2)数量 (3)下标运算符 (4)下标 (5)索引 (6)常变量 5.1.2 C/C++中的多维数组用的是一个 (1) 的定义,即多维数组的基本 定义是 (2) 构成的数组,三维数组的元素是 (3) 。 答案:(1)嵌套 (2)以数组作为元素 (3)二维数组 5.1.3 计算机内存是一维编址的,多维数组在内存中的存储 (1) , C/C++多维在内存中的排列是 (2) 方式,即越 (3) 的下标变化 (4) 。设数组a有m行n列,每个元素占内存u个字节,则a[i][j]的 首地址为 (5) + (6) 。 答案:(1)必须要转化为一维方式, (2)按行方式 (3)右 (4)越快 (5)a数组的首地址 (6)(i*n+j)*u 5.1.4 对于多维数组, (1) 的大小是确定的,所谓“不检查数组边界”只 是不检查 (2) 的边界,而 (3) 的边界是在控制之中的,所 以多维数组名作为函数的参数只可以 (4) 缺省。 答案:(1)较低各维的 (2)最高维(第一维)
result_1[i*c+j]+=middle_1[i*b+k]*matrix2_1[k*c+j]; } } return; } void output(int max_1[],int a,int b){ for (int i=0;i<a;i++){ for (int j=0;j<b;j++) cout <<setw(4)<<max_1[i*b+j]<<" "; cout<<'\n'; } cout<<endl; return; } 5.5 编写函数int atoi(char s[ ]),将字符串s转化为整型数返回。注意负数 处理方法。 解:用指针处理字符串非常方便。使用符号位来处理负数。 #include<iostream> using namespace std; int atoi(char s[]){ int temp=0,f=1,i=0; while(s[i]!='\0'&&s[i]!='-'&&(s[i]<'0'||s[i]>'9')) i++;//去除串前部无效字 符 if(s[i]=='-'){//读负号 f=-1; i++; } if(s[i]<'0'||s[i]>'9') cout<<"error!"<<endl;//串非法时,输出提示,返回0 while(s[i]>='0'&&s[i]<='9'){//转换数字串 temp=temp*10+s[i]-48; i++; } return f*temp; } int main(){ char num[20];
相关文档
最新文档