《高级C#开发技术》习题答案:A.C
位置: 首页 >教案大全 > 幼儿园教案 > 文章内容

《高级C#开发技术》习题答案:A.C

2019-09-06 07:19:44 投稿作者: 点击:

《高级C#开发技术》习题答案 本文关键词:习题,答案,高级,开发,技术

《高级C#开发技术》习题答案 本文简介:高级C#习题《高级C#开发技术》复习题习题21.选择题(1)关于线程和进程,下列说法哪些是正确的是()A.线程是操作系统分配处理器时间的基本单位;B.进程是操作系统分配处理器时间的基本单位;C.一个线程可以属于多个进程;D.一个进程可以有多个线程;(2)多线程C#程序中,类MyClass定义如下:c

《高级C#开发技术》习题答案 本文内容:

高级C#习题

《高级C#开发技术》复习题

习题2

1.

选择题

(1)关于线程和进程,下列说法哪些是正确的是(

A.

线程是操作系统分配处理器时间的基本单位;

B.

进程是操作系统分配处理器时间的基本单位;

C.

一个线程可以属于多个进程;

D.

一个进程可以有多个线程;

(2)多线程C#程序中,类MyClass

定义如下:class

MyClass

{

ReaderWriterLock

rwl

=

new

ReaderWriterLock();

private

int

i;

public

void

Read()

{

rwl.AcquireReaderLock(Timeout.Infinite);

Interlocked.Increment(ref

i);

Thread.Sleep(1000);

rwl.ReleaseReaderLock();

}

public

void

Write()

{

rwl.AcquireWriterLock(Timeout.Infinite);

Interlocked.Decrement(ref

i);

Thread.Sleep(1000);

rwl.ReleaseWriterLock();

}

}

请问,可以有多少个线程同时调用Read()并将i

的值加1?(

A.

0个

B.

1个

C.

多个

D.

没有

2.

填空题

(1)使用System.Diagnostics命名空间提供的进程类Process,用户可以查看和管理大部分Windows进程任务,包括启动和____停止_____进程,以及___检索______进程信息。启动一个外部程序可以使用Process类的_____start()______方法。

(2)使用System.Threading命名空间提供的线程类Thread的___start()__________方法,可以启动多线程,要实现等待该线程结束的任务可以使用Thread的____join()_______方法。

(3)线程同步可以采用以下四种方法:_lock()________、__monitor()_______、__interlocked()_______、____mutex()、readerwriterlock()____。

3.

简答题

(5)线程同步有几种方法?每种方法之间有什么区别?

五种,

Lock()语句可以把某一段代码定义为互斥,这互斥的程序段在某一时间段只允许一个线程进行。其余线程必须等待这个线程执行完毕之后才执行。

Monitor()类不仅可以完全取代lock语句,还可以设置锁定超时,避免死锁

Interlocked()类提供了同步对多个线程共享带的变量访问的方法,是一类原子锁,如果该变量位于共享内存中,则不同进程的线程的线程就可以使用该机制

Mutex()类与monitor类似,它防止多个线程在某一时间同时执行某个代码块,mutex没有唤醒功能,与监视器不同的是mutex可以用来使跨进程的线程同步,因此可以在同一台机器甚至远程机器上的多个进程上使用同一个互斥体

Readerwriterlock()实现多用户读/单用户写的同步访问机制,在进行资源访问时,如果在某一时刻资源并没有获取写的独占权,那么可以获得多个读的访问权,单个写入的独占权,如果某一时刻已经获取了写入的独占权,那么其他读取的访问权必须进行等待

习题3

1.

选择题

(1)使用StringReader类和Stringwriter类的作用是(

A.

使用StringReader类读取文件中的字符串,而使用StringWriter类向文件中写入字符串。

B.

使用StringReader类读取顺序文件中的数据信息,而使用StringWriter类可以实现顺序文件的写操作。

C.

使用StringReader类可以从字符串的介质流中读取数据,而使用StringWriter类向以StringBuilder为存储介质的流中写入数据。

D.

使用StringReader类读取二进制文件中的数据信息,而使用StringWriter类可以实现二进制文件的写操作。

(2)在使用FileStream

打开一个文件时,通过使用FileMode

枚举类型的(

)成员,来指定操作系统打开一个现有文件并把文件读写指针定位在文件尾部。

A.

Append

B.

Create

(删除,新建)

C.

CreateNew(抛出异常)

D.

Truncate

(清楚内容,指向文件开头,保留文件创建日期)

(3)下列(

)选项Stream

类不支持查找操作?

A.

FileStream

B.

MemoryStream

C.

BufferedStream

D.

NetworkStream

(4)整型数组MyIntArray

的定义和初始化如下。为了将数组MyIntArray

的所有元素值写入FileStream

流,可创建(

)类的实例对该流进行写入。

int[]

MyIntArray

=

new

int[400];

for(int

i

=

0;i____________________集合;______linq

to

xml__________组件可以查询或操作XML结构的数据,并提供修改文档对象模型的内存文档和支持Linq查询表达式功能,以及处理XML文档的全新的编程接口。

(2)System.Linq命名空间提供支持使用语言集成查询LINQ进行查询的类和接口。________Enumerable_______类包含

LINQ

标准查询运算符,这些运算符对实现__IEnumerable)>)____________________的对象进行操作。Queryable

类包含LINQ

标准查询运算符,这些运算符对实现

_____

IQueryable)>)_______________的对象进行操作。

习题7

1.

选择题

(1)下列不是图像的格式的是(

A.

BMP

B.

JPEG

C.

GIF

D.

OCX

(2)下列用于显示图像的方法是(

A.

Drawimage

B.

Showimage

C.

Draw

D.

Paint

(3)下列用于复制图像的方法是(

)

A.

Copy

B.

Clone

C.

Cut

D.

Drawimage

(4)下列能实现图像水平旋转的是(

)

A.

Rorate

B.

Copy

C.

RotateFlip(RotateFlipType.Rotate180FlipY)

D.

bitmap.RotateFlip(RotateFlipType.

Rotate90FlipNone);

(5)下面给出的图像格式中不是GDI+所支持的是(

A.

BMP

B.

GIF

C.

JPEG

D.

以上格式都支持

2.

填空题

(1)GDI是_____Graphical

device

interface________的英文缩写。

(2)GDI是____图形图像_______开发接口,它主要负责_____通过屏幕和打印输出_________有关信息,它是一组通过类实现的应用程序编程接口。

(3)___System.Drawing____________命名空间提供了对

GDI+

基本图形功能的访问。

(4)Graphics

类提供将___图像图形____________绘制到显示设备的方法。大多数绘图工作都是调用Graphics实例的方法完成的。

(5)在C#中的图像编程中,最常用的命名空间是____

System.Drawing

_________。

(6)要使pictureBox中显示的图片刚好填满整个图片框,应把它的____SizeMode_________属性值设置为pictureBoxSizeMode.StretchImage。

3.

简答题

(1)建立Graphics对象的方式有哪些?

三种

1.通过视窗中的paint事件的painteventargs直接引用视窗的graphics对象

Private

void

form_paint(object

sender,system.windows.forms.painteventargs

p)

{graphics

dc=p.graphics;}

2.使用窗体的creategraphics()方法创建graphics对象

Graphics

dc=this.creategraphics();

3.通过图像对象创建一个graphics对象

Graphics

g=graphics.formimage(image);

习题8

1.

选择题

(1)在GDI+的所有类中,(

)类是核心,在绘制任何图形之前,一定要先用它创建一个对象。

A.

Graphics

B.

Pen

C.

Brush

D.

Font

(2)要设置Pen对象绘制线条的宽度,应使用它的(

)属性。

A.

Color

B.

Width

C.

DashStyle

D.

PenType

(3)通过HatchBush对象的(

)属性可设置HatchBush对象的阴影样式。

A.

BackgroundColor

B.

ForegroundColor

C.

HatchStyle

D.

ColorStyle

(4)下面对FontDialog控件说法正确的是(

A.可以使用它来设置字体颜色

B.使用FontDialog必须在窗体中添加控件

C.完全可以不添加控件,使用代码来完成它的添加

D.显示FontDialog时,使用Show()方法

(5)下面对ColorDialog说法正确的是(

A.设置Report属性为true,然后处理Click事件

B.设置DetectUrls属性为true,然后创建LinkClicked事件的处理程序

C.创建URLClick事件程序

D.创建URLSelection事件的处理

(6)在System.Drawing命名空间中,有几个常用的结构,下列选项中(

)不是其命名空间中的结构。

A.Color

B.Font

C.Rectangle

D.Point

(7)画刷可用来填充区域,其中(

)可用指定的Image图像或图像的一部分填充区域。

A.纹理画刷(TextureBrush)

B.单色画刷(SolidBrush)

C.阴影画刷(HatchBrush)

D.线性渐变画刷(LinearGradientBrush)

(8)下列不是Pen的属性的是(

A.

hatchstyle

B.

StartCap

C.

EndCap

D.

DashStyle

(9)下列不是用于设置虚线类型的是(

)

A.

Dash

B.

Dot

C.

DashDotDot

D.

StartCap

(10)下列用设置直线起始端点类型的是(

A.

EndStart

B.

StartCap

C.

EndCap

D.

Dash

(11)下列用于设置的阴影画笔的是(

)

A.

HatchBrush

B.

SolidBrush

C.

LinearGradientBrush

D.

PathGradientBrush

(12)下列用于设置的渐变画笔的是(

)

A.

HatchBrush

B.

SolidBrush

C.

LinearGradientBrush

D.

PathGradientBrush

(13)下列用于设置的纹理画笔的是(

)

A.

HatchBrush

B.

SolidBrush

C.

TextureBrush

D.

PathGradientBrush

(14)绘制文本需要使用Graphics.DrawString方法,下列不是使用该方法时必须有的参数是(

A.要绘制的字符串

B.绘制字符串所使用的字体

C.输出文本的格式化属性

D.绘制字符串所使用的画刷

(15)多媒体技术的最重要的特点是(

)。

A.

娱乐

B.

智能性

C.

多样性

D.

交互性

2.

填空题

(1)每种画笔都由一个派生自抽象类___Graphics_________________的类实例来表示。

(2)最简单的画笔为_____solidpush___________。它是单色画笔,用于___填充图形形状__________________。

(3)钢笔用一个类______system.drawing.pen_____________来表示。

(4)创建一个画线颜色为兰色,像素宽度为100的画笔,画笔名为MyPen,使用的语句是___pen

mypen=new

pen(color.blue,100);___________________。

(5)画多边形时应使用Graphics对象的__drawpolygon_____________方法。

-

12

-

《高级C#开发技术》习题答案  

猜你喜欢
推荐图文
出色作文
  • 作文素材
    作文素材

    小学生作文网发布小学生我成功了作文350字,更多小学生我成功了作文...

  • 写人作文
    写人作文

    酒店优秀员工转正申请书尊敬的公司领导:再次,继承和发扬艰苦奋斗...