互联网程序设计第四章简答题
第四章简答题
1.前几章为什么要使用流的复合机制?请根据表1.1中的基本流,给出两个读取文件的复合流设计,给出两个存储文件的复合流设计。
答:因为提高了读取效率。
读取文件复合流:
①DatalnputStream in=new DatalnputStream(
new BufferedlnputStream(
new FilelnputStream(file)));
②FilelnputStream in=new FilelnputStream(
new BufferedlnputStream(
new FilelnputStream(file)));
存储文件复合流:
①DataOutputStream in=new DataOutputStream(
new BufferedOutputStream(
new FileOutputStream(file)));
②FileOutputStream in=new FileOutputStream(
new BufferedOutputStream(
new FileOutputStream(file)));
2.简述Java基本I/0与NIO的区别和联系。
答:区别:
NIO:优势在于一个线程管理多个通道;但是数据的处理将会变得复杂;如果需要管理同时打开的成千上万个连接,这些连接每次只是发送少量的数据,采用这种;
传统的IO:适用于一个线程管理一个通道的情况;因为其中的流数据的读取是阻塞的;如果需要管理同时打开不太多的连接,这些连接会发送大量的数据;IO是面向流的,NIO是面向缓冲区的。IO流是阻塞的,NIO流是不阻塞的。
联系:NIO与原来的IO有同样的作用和目的,但是使用的方式完全不同,NIO支持面向缓冲区的、基于通道的IO操作。NIO将以更加高效的方式进行文件的读写操作。
3.Java NIO引入了选择器Selector的概念,请描述其工作机制并参考
4.6节写出关键性的代码。
答:privatevoidbtnStartActionPerformed(java.awt.event.ActionEventevt){…∥启动服务器
new Thread(new Runnable(){
@Override public void run(){
try{
while(true){/轮询各通道状态,处理连接和会话
int nKeys=selector.select();//查询令牌集合
if(nKeys==0)continue;//没有就绪令牌,越过下面步骤,开始新一轮查询Set
SelectionKey key=it.next();/取出下一个令牌
if(key.isAcceptable()){//如果是连接事件
doAccept(key);//建立连接,创建新会话通道
]else if(key.isReadable()){//如果是读数据事件
doRead(key);//接收数据
it.remove();//从就绪集合中删除处理过的令牌
}//end while}//end while
}catch(IOException ex){}
}//end run
}).start();
}//end btnStartActionPerformed
4.参考4.7节图4.23简述Selector的轮询机制。
答:①Selector查询开始,用select()方法查询令牌集合
②当集合为空时重复查询,不为空时获取就绪令牌的集合readyKeys并遍历集合
③集合为空重新进行遍历,不为空则取下一个令牌
④处理连接,连接令牌时确认是否是数据令牌,是则读写数据,否则删除令牌
5.JavaNIO进行通道的读写转换时需要用到flip()方法,为什么?请先参考4.11节写出读写转换的关键性代码。
答:Buffer中的flip()方法涉及Buffer中定义的capacity、position、limit 三个成员变量,capacity在创建缓冲区时确定,表示缓冲区的容量;position是变化的,相当于一个当前指针,指向当前读写位置;在写模式下,limit表示最多能写入数据量的上限,在读模式下,limit表示最多能够读取的数据量,其最大值为capacity,最小值为0。
关键代码:
sendBuff.clear(); //清空发送缓冲区
sendBuff=ByteBuffer.wrap("Paper".getBytes(charset)); //Paper字符串包装到缓冲区clientChannel.write(sendBuff); //首先告诉服务器自己的选择
recvBuff.clear(); //清空接收缓冲区
clientChannel.read(recvBuff);//接收来自服务器的回复
recvBuff.flip(); //指针回到数据起点
String serverSide=charset.decode(recvBuff).toString(); //解码服务器返回字符串
机械制造基础简答题培训课件
一.简要回答下列问题(30分,每题3分) 1. 刀具前角γ0是在那一平面内测量的? 正交平面(主剖面)。 2. 麻花钻磨钝后刃磨哪个面? 主后刀面。 3. 齿轮滚刀用钝后,刃磨哪个面?前刀面。 4. 中碳钢与合金钢哪个切削加工性好? 中碳钢。 5. 高速钢刀具加工灰铸铁毛坯表面是否合适,为什么?不合适,铸件表面硬层将使刀具迅速磨损。 6. C A6140车床机动纵向进给时开动快速电机是否可以,为什么?可以,因为有超越离合器。 7. M 1432A 万能外圆磨床砂轮与内圆磨具主轴均采用皮带传动,换成齿轮传动行不行,为什么? 不行,因为是高速传动,用齿轮振动大。 8. 无心磨床加工时工件轴向进给力从何而来? 导轮轴线相对砂轮轴线倾斜一个角度,使得与工件接触点的线速度矢量具有轴向进给分量。 9. 成型法加工斜齿轮,可在什么机床上,用什么夹具加工?万能铣床,分度头。 10. 顺铣加工优于逆铣,但为何推广受到限制? 进给丝杠间隙造成工作台窜动问题不好解决。 二.1、 影响车刀工作角度不同于标注角度的因素有那些?刀尖安装高低,进给量大,刀具轴线偏斜。 2, 棒料初车时发现切削力过大,切削系统刚性不足,应首先调整切削用量中的哪一项最有效? 切深a p (背吃刀量)。 3、 高碳钢与中碳钢哪一个切削加工性好? 中碳钢。 4、 减小车刀主偏角会对径向切削分力产生何种影响?(外圆车削) 增大。 5、 端面车削,主轴转速不变,车削过程中发现靠近工件轴线部份有积屑瘤现象,而远离工件轴线部份积屑瘤消失,请解释原因. 积屑瘤一般在低速时产生,远离轴线线速度加大,远离积屑瘤形成区。 6、 单从加工表面质量和刀具耐用度来看,顺铣和逆铣何者为好? 顺铣好。 7、 写出下列各图所示零件的加工在什么机床上完成? 外圆磨床,插齿机,插床。 8、 CA6140车床主轴箱中有几个换向机构?各有何用? 两个,一个用于主轴正反转,一个用于切削左右螺纹。 9、 CA6140车床利用光杠反转实现刀架反向移动是否可行?为什么? 不行,超越离合器不能传递反向运动。 10、 CA6140车床进给箱中基本组各变速比有何规律? 分子为等差数列。 三. 1. 进给运动的作用? 将新的金属层不断投入切削,使切削过程得以持续,以形成全部加工表面。 2. 车削大导程丝杠时,刀具的工作角度与标注角度相比有何变化? 前角变大,后角变小。 3. 车床主轴箱体上表面粗加工时应选择什么刀具材料? 硬质合金(YG)。 4. 加工细长轴零件时主偏角r k 应选择多大合适,为什么? 900,减小径向力。 5. 砂轮的软、硬反映了什么? 反映了磨粒脱落的难易程度。 加工A 面
C语言程序设计习题参考答案第四章(数组)
第四章数组参考答案 一、选择题:1、 B 2、C 3、D 4、C 5、C 6、B 7、D 8、B 9、B 10、A 二、填空题: 1、首地址 2、按行存放 3、一个字符 4、′\0′ 5、字符数组名或字符串 6、9 0 7、6 8、j-1 str[j-1] 9、62 10、s1[i]=s2[i]; 三、改错题 1、错误语句:int a[3][ ]={2,4,6,8,10,12,14,16,18}; 正确语句:int a[ ][3]={2,4,6,8,10,12,14,16,18}; 2、错误语句:if (str[2]>string) string=str[2]; 正确语句:if (strcmp(str[2],string)>0) strcpy(string,str[2]); 3、错误语句:char c[5]={'C','h ','i','n','a '}; 正确语句:char c[6]={'C','h ','i','n','a '};或char c[ ]={“China”}; 4、错误语句:int a[3]={3*0} ; 正确语句:int a[4]; 5、错误语句:scanf(“%d%d%d”,&a); 正确语句:for (i=0; i<3; i++) scanf(“%d”,&a[i]); 或scanf(“%d%d%d”, &a[0], &a[1], &a[2]); 四、编程题 1、用数组来处理,求解Fibonacci数列前40项:1,1,2,3,5,8,13,21…。 #include
第四章 顺序程序设计
第四章顺序程序设计 一、选择题: 1.假定Picture1和Text1分别为图片框和文本框的名称,下列不正确的语句是(C) A. Print 25 B. Picture1.Print 25 C.Text1.Print 25 D.Text1.Print 25 2. 以下语句的输出结果是(在立即窗口中) a=27 <CR>(<CR>为回车,下同) b=65 <CR> Print a;b <CR>(D) A.27Δ65 B.Δ27Δ65 C.Δ27ΔΔ65 D.Δ27ΔΔ65Δ(Δ表示空格,下同) 3.以下语句的输出结果是(在立即窗口中) a="Beijing" <CR> b="ShangHai" <CR> Print a;b <CR>(C) A.BeijingΔShangHai B.ΔbeijingΔShangHai C.BeijingShangHai D.ΔBeijingΔShangHaiΔ 4. 语句Print 5*5\5/5的输出结果是(B) A.5 B.25 C.0 D.1 5. 设a、b、c为整型变量,其值分别为1、2、3,以下程序段的输出结果是 a=b:b=c:c=a Print a;b;c (D) A.1 2 3 B.2 3 1 C.3 2 1 D.2 3 2 6.语句Print Sgn(-6∧2)+Abs(6∧2)+Int(-6∧2)的输出结果是(C) A.-36 B.1 C.-1 D.-72 7. 以下语句的输出结果是 a=Sqr(3) Print Format(a,"$$####.###") (B) A.$1.732 B.$$1.732 C.$1732 D.$$0001.732 8. 以下程序段的输出结果是 a = Sqr(3) b = Sqr(2) c=a>b Print c (D) A.-1 B.0 C.False D.True 9. 以下语句的输出结果是 Print Format$(32548.5,"000,000.00") (C) A.32548.5 B.32,548.5 C.032,548.50 D.32,548.50 10. 执行以下程序段后,变量c$的值为 a$ = "Visual Basic Programing" b$ = "Quick" c$ = b$ & UCase(Mid$(a$, 7, 6)) & Right$(a$, 11)(D) A.Visual BASIC Programing B. Quick Basic Programing C.QUICK Basic Programing D. Quick BASIC Programing 11.表达式4+5\6*7/8 Mod 9的值是(B) A.4 B.5 C.6 D.7
机械制造基础简答题答案.doc
第一部分工程材料 四、简答题 1.什么是工程材料?按其组成主要分为哪些种类 答:工程材料主要指用于机械工程和建筑工程等领域的材料。 按其组成主要分为:金属材料、高分子材料、无机非金属材料、复合材料。 2.什么是金属的热处理?有哪些常用的热处理工艺? 答:金属热处理就是通过加热、保温和冷却来改变金属整体或表层的组织,从而改善和提高其性能的工 艺方法。 金属热处理工艺可分为普通热处理(主要是指退火、正火、淬火和回火等工艺)、表面热处理(包括表 面淬火和化学热处理)和特殊热处理(包括形变热处理和真空热处理等)。 3.钢退火的主要目的是什么?常用的退火方法有哪些? 答:钢退火的主要目的是: ①细化晶粒,均匀组织,提高机械性能; ②降低硬度,改善切削加工性; ③消除残余内应力,避免钢件在淬火时产生变形或开裂; ④提高塑性、韧性,便于塑性加工 ⑤为最终热处理做好组织准备。 常用的退火方法有 完全退火、等温退火、球化退火、去应力退火、扩散退火、再结晶退火。 4.钢正火的主要目的是什么?正火与退火的主要区别是什么?如何选用正火与退火? 答:钢正火的主要目的是 ①细化晶粒,改善组织,提高力学性能; ②调整硬度,便于进行切削加工(↑HB); ③消除残余内应力,避免钢件在淬火时产生变形或开裂; ④为球化退火做好组织准备。 正火与退火的主要区别是冷却速度不同。 正火与退火的选用: ①不同的退火方法有不同的应用范围和目的,可根据零件的具体要求选用; ②正火可用于所有成分的钢,主要用于细化珠光体组织.其室温组织硬度比退火略高,比球化退火更高; ③一般来说低碳钢多采用正火来代替退火。为了降低硬度,便于加工,高碳钢应采用退火处理。 5.淬火的目的是什么?常用的淬火方法有哪几种? 答:淬火是将钢奥氏体化后快速冷却获得马氏体组织的热处理工艺。 淬火的目的主要是为了获得马氏体,提高钢的硬度和耐磨性。它是强化钢材最重要的热处理方法。 常用的淬火方法有:单液淬火、双液淬火、分级淬火和等温淬火。 6.淬火后,为什么一般都要及时进行回火?回火后钢的力学性能为什么主要是决定于回火温度而不是冷却 速度?
C语言程序设计教程 清华大学出版社 陈明主编 第4章答案
第4章习题解答 一、选择题 1.在C语言中,函数返回值的类型最终取决于 A)函数定义时的函数首部所说明的函数类型B)return语句中表达式值的类型C)调用函数时主调函数所传递的实参类型D)函数定义时形参的类型 解析:函数返回值类型最终取决于定义函数时所定义的函数类型。 答案:A 2.设函数Fun()的定义形式为: void Fun(char ch, float x){} 则以下对函数Fun()的调用语句中,正确的是。 A)Fun("abc", 3.0); B)t = Fun('D', 16.5); C)Fun('65', 2.8); D)Fun(32, 32); 解析:选项A中"abc"是字符串,与形参不匹配:由于Fun函数的返回值类型为void,所以选项B中进行了赋值操作是不正确的;在选项C中,'65'是不合法的字符形式,单引号中应该是单个字符。只有选项D才是合法的函数调用形式。 答案:D 3.有以下程序: /* 文件路径名:ex4_1_3\main.c */ #include