第七章--偏移
- 格式:ppt
- 大小:10.76 MB
- 文档页数:42
C语⾔教材第七章指针实验第七章指针第⼀部分知识训练【知识要点】1. 地址与指针指针变量的概念:⽤⼀个变量专门来存放另⼀个变量的地址。
2. 指向变量的指针变量指针变量的形式:基类型 *指针变量名;&: 取地址运算符;*:指针运算符。
3. 指针与数组引⽤⼀个数组元素可以⽤下标法和指针法;可以⽤数组名作函数的参数。
4.指针与函数函数指针变量定义的⼀般形式为:类型说明符 (*指针变量名)();⼀个函数的返回值可以是⼀个函数。
【典型习题与解析】5. char * const p;char const * pconst char *p上述三个有什么区别?【解析】char * const p; //常量指针,p的值不可以修改;char const * p;//指向常量的指针,指向的常量值不可以改;const char *p; //和char const *p。
6. main(){int a[5]={1,2,3,4,5};int *ptr=(int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}输出结果是什么?【解析】答案:输出:2,5*(a+1)就是a[1],*(ptr-1)就是a[4],执⾏结果是2,5。
&a+1不是⾸地址+1,系统会认为加⼀个a数组的偏移,是偏移了⼀个数组的⼤⼩(本例是5个int)。
1)&a是数组指针,其类型为 int (*)[5];⽽指针加1要根据指针类型加上⼀定的值,不同类型的指针+1之后增加的⼤⼩不同。
2)a是长度为5的int数组指针,所以要加 5*sizeof(int),所以ptr实际是a[5],但是prt与(&a+1)类型是不⼀样的(这点很重要),所以prt-1只会减去sizeof(int*) a,&a的地址是⼀样的,但意思不⼀样。
3)a是数组⾸地址,也就是a[0]的地址,&a是对象(数组)⾸地址,a+1是数组下⼀元素的地址,即a[1],&a+1是下⼀个对象的地址,即a[5]。
第3讲电容器和电容带电粒子在电场中的运动见学生用书P110微知识1 电容器及电容1.电容器(1)组成:两个彼此绝缘且又相互靠近的导体组成电容器,电容器可以容纳电荷。
(2)所带电荷量:一个极板所带电荷量的绝对值,两极板所带电荷量相等。
(3)充、放电①充电:把电容器接在电源上后,电容器两个极板分别带上等量异号电荷的过程,充电后两极间存在电场,电容器储存了电能。
②放电:用导线将充电后电容器的两极板接通,极板上电荷中和的过程,放电后的两极板间不再有电场,同时电场能转化为其他形式的能。
2.电容(1)定义:电容器所带的电荷量与两极板间电势差的比值。
(2)公式:C=QU=ΔQ ΔU。
(3)物理意义:电容是描述电容器容纳电荷本领大小的物理量,在数值上等于把电容器两极板的电势差增加1 V所需充加的电荷量,电容C由电容器本身的构造因素决定,与U、Q无关。
(4)单位:法拉,符号F,与其他单位间的换算关系:1 F=106μF=1012pF。
3.平行板电容器的电容平行板电容器的电容与平行板正对面积S、电介质的介电常数εr成正比,与极板间距离d 成反比,即C =εr S 4πkd 。
微知识2 带电粒子在电场中的加速和偏转 1.带电粒子在电场中的加速 (1)运动状态的分析:带电粒子沿与电场线平行的方向进入匀强电场,受到的电场力与运动方向在同一条直线上,做匀变速直线运动。
(2)用功能观点分析:电场力对带电粒子做的功等于带电粒子动能的增量,即qU =12m v 2-12m v 20。
2.带电粒子的偏转(1)运动状态:带电粒子受到恒定的与初速度方向垂直的电场力作用而做类平抛运动。
(2)处理方法:类似于平抛运动的处理方法①沿初速度方向为匀速运动,运动时间t =l v 0。
②沿电场力方向为匀加速运动,a =F m =qE m =qU md 。
③离开电场时的偏移量y =12at 2=ql 2U 2m v 20d。
④离开电场时的偏转角tan θ=v ⊥v 0=qlU m v 20d。
课后习题(第七章)1、为了缩短指令中地址码的位数,应采用( B )寻址。
A、立即数B、寄存器C、直接D、间接2、指令系统中采用不同寻址方式的目的主要是( B )A. 可降低指令译码难度B. 缩短指令字长、扩大寻址空间、提高编程灵活性C. 实现程序控制D. 提高指令执行速度3、零地址运算指令在指令格式中不给出操作数地址,它的操作数来源自( C )A. 立即数和栈顶B. 暂存器C. 栈顶或隐含约定的位置D. 存储器4、单地址指令中,为完成两个数的算术运算,除地址译码指明的一个操作数外,另一个数常采用( C )A. 堆栈寻址方式B. 立即寻址方式C. 隐含寻址方式D. 基址寻址方式5、二地址指令中,操作数的物理位置安排,描述正确的是( C )A. 两个主存单元(且依然在现指令系统中采用)B. 栈顶和次栈顶C. 主存单元或寄存器D. 两个同时为寄存器不允许使用6、操作数在寄存器中的寻址方式称为( C )寻址A. 直接B. 立即C. 寄存器直接D. 寄存器间接7、寄存器间接寻址方式中,操作数在( C )A. 通用寄存器B. 堆栈C. 主存单元D. I/O外设中8、变址寻址方式中,操作数的有效地址是( C )A. 基址寄存器内容加上形式地址B. 程序计数器内容加上形式地址C. 变址寄存器内容加上形式地址D. 形式地址本身9、采用基址寻址可扩大寻址范围,且( B )A. 基址寄存器内容由用户确定,在程序执行过程中一般不可变B. 基址寄存器内容由操作系统确定,在程序执行过程中一般不可变C. 基址寄存器内容由用户确定,在程序执行过程中可随意变化D. 基址寄存器内容由操作系统确定,在程序执行过程可随意变化10、变址寻址和基址寻址的有效地址形成方式类似,但是( C )A. 变址寄存器内容在程序执行过程中是不可变的B. 在程序执行过程中,变址寄存器和基址寄存器的内容可以随意变化C. 在程序执行过程中,变址寄存器的内容可随意变化D. 以上均不对11、堆栈寻址中,设A为累加器,SP为栈顶指针,[SP]为其指向的栈顶单元,如果进栈的动作顺序是(SP)-1SP,(A)[SP],那么出栈的动作顺序是( A )A. [SP] (A),(SP)+1SPB. (SP)+1SP,[SP] (A)C. (SP)-1SP,[SP] (A)D. [SP] (A),(SP)-1SP12、设变址寄存器为X,形式地址为D,某机具有先变址再主存间址的寻址方式,则这种寻址方式的有效地址为( C )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D13、设变址寄存器为X,形式地址为D,某机具有先主存间址再变址的寻址方式,则这种寻址方式的有效地址为( B )A. EA=(X)+DB. EA=(X)+(D)C. EA=((X)+D)D. EA=((X))+D14、运算型指令的寻址和转移类指令的寻址不同点在于( A )A. 前者取操作数,后者决定程序转移地址B. 前者计算转移地址,后者取操作数C. 前者是短指令,后者是长指令D. 前者是长指令,后者是短指令15、指令的寻址方式有顺序和跳跃两种,采用跳跃寻址方式可以实现( C )A. 程序的条件转移B. 程序的无条件转移C. 程序的条件转移和无条件转移D. 以上均不对16、设相对寻址的转移指令占两个字节,第一个字节是操作码,第二个字节是相对位移量(补码表示),若CPU每当从存储器取出一个字节时,即自动完成(PC)+1PC。
2. 试简单说明下列协议的作用:IP、ARP、RARP和ICMP。
答:IP协议:实现网络互连。
使参与互连的性能各异的网络从用户看起来好像是一个统一的网络。
ARP协议:完成IP地址到MAC地址的映射。
RARP:使只知道自己硬件地址的主机能够知道其IP地址。
ICMP:允许主机或路由器报告差错情况和提供有关异常情况的报告。
5. 试说明IP 地址与硬件地址的区别。
为什么要使用这两种不同的地址?答:IP地址在IP数据报的首部,而硬件地址则放在MAC帧的首部。
在网络层以上使用的是IP地址,而链路层及以下使用的是硬件地址。
在IP层抽象的互连网上,我们看到的只是IP数据报,路由器根据目的站的IP地址进行选路。
在具体的物理网络的链路层,我们看到的只是 MAC 帧,IP 数据报被封装在 MAC 帧里面。
MAC帧在不同的网络上传送时,其MAC帧的首部是不同的。
这种变化,在上面的IP层上是看不到的。
每个路由器都有IP 地址和硬件地址。
使用IP地址与硬件地址,尽管连接在一起的网络的硬件地址体系各不相同,但IP层抽象的互连网却屏蔽了下层这些很复杂的细节,并使我们能够使用统一的、抽象的IP地址进行通信。
6.(1)子网掩码为255.255.255.0代表什么意思?(2)一网络的子网掩码为255.255.255.248,问该网络能够连接多少台主机?(1)一A类网络和一B类网络的子网号subnet-id分别为16bit的8bit,问这两个网络的子网掩码有何不同?(2)一个B类地址的子网掩码是255.255.240.0。
试问在其中每一个子网上的主机数最多是多少?(3)一个A类地址的子网掩码为255.255.0.255。
它是否为一个有效的子网掩码?(4)某个IP地址的十六进制表示是C22F1481,试将其转换为点分十进制的形式.这个地址是哪一类IP 地址?(5)C类网络使用子网掩码有无实际意义?为什么?答:(1)C类地址对应的子网掩码值。