项目九 第51练 Random类《算法与程序设计--c#》(河北科学技术出版社)一课一练

| 2份
| 5页
| 50人阅读
| 0人下载

内容正文:

编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《算法与程序设计—C#》(河北科学技术出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《算法与程序设计--c#》(河北科学技术出版社)一课一练的项目九的第4练,内容涵盖项目九任务四 Random类。 《算法与程序设计C#》(河北科学技术出版社)第51练 项目九 C#常用类的属性方法 任务四 Random类 一、单项选择题(本题共5小题) 1. 在C#中,如何创建一个Random对象( ) A. Random rand = new Random(); B. Random rand = Random.Create(); C. Random rand = Random.New(); D. Random rand = new Random(DateTime.Now.Ticks); 【答案】A 【解析】Random 类的标准创建方式是 new Random()。 B和C的写法不存在,D虽然可以但不必要(默认构造函数已使用时间作为种子)。 2.以下代码的输出范围是( ) Random rand = new Random(); int num = rand.Next(10); A. 0 到 10 B. 1 到 10 C. 0 到 9 D. 1 到 9 【答案】C 【解析】rand.Next(maxValue) 返回 [0, maxValue-1] 的随机整数。 本题中 rand.Next(10) 的范围是 0到9。 3. 如果想生成一个1到100(包含100)的随机数,应该使用的方法是( ) A. rand.Next(100) B. rand.Next(1, 100) C. rand.Next(1, 101) D. rand.Next(0, 100) 【答案】C 【解析】rand.Next(minValue, maxValue) 返回 [minValue, maxValue-1]。 要包含100,需写 rand.Next(1, 101)。 4. 以下代码的输出可能是( ) Random rand = new Random(); double num = rand.NextDouble(); A. 0 B. 1 C. 2 D. 以上都有可能 【答案】A 5. 关于Random类,以下说法正确的是( ) A. 每次运行程序生成的随机数序列都相同 B. 默认构造函数使用系统时间作为种子 C. Next() 方法可能返回负数 D. 同一个Random对象在多线程中使用是安全的 【答案】B 【解析】A错误:默认构造函数用时间作种子,不同运行结果不同(除非手动指定相同种子)。 B正确:默认种子来自系统时间。 C错误:Next() 返回非负整数。 D错误:Random不是线程安全的,多线程需额外处理。 二、判断题(本题共5小题) 1.Random.Next() 方法可以生成负数( )。 【答案】× 【解析】Random.Next() 返回的是 0 到 Int32.MaxValue(2,147,483,647) 之间的非负随机整数,不会生成负数。如果需要负数,可以通过运算转换(如 rand.Next() - 100)。 2. Random.Next(5) 可能返回 5( )。 【答案】× 【解析】Random.Next(maxValue) 返回的范围是 [0, maxValue - 1],即 Next(5) 返回 0、1、2、3、4,不包括 5。如果需要包含 5,应该使用 Next(6) 或调整范围 3. 如果两个 Random 对象使用相同的种子初始化,它们将生成相同的随机数序列( )。 【答案】√ 【解析】Random 是基于种子的伪随机数生成器,相同的种子会生成相同的随机序列。 4. Random.NextDouble() 可以返回 1.0( )。 【答案】× 【解析】NextDouble() 返回的范围是 [0.0, 1.0),即包含 0.0,但不包含 1.0。 最大可能值是 0.99999999999999978(非常接近但不等于 1.0)。 5. 在多线程环境下,共享同一个 Random 对象是安全的( )。 【答案】× 【解析】Random 类不是线程安全的,多线程共享同一个 Random 对象可能导致数据竞争或返回 0。 解决方案:每个线程使用独立的 Random 实例。使用 lock 关键字加锁。使用线程安全的替代方案(如 ThreadLocal<Random>) 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《算法与程序设计—C#》(河北科学技术出版社)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。 本卷是《算法与程序设计--c#》(河北科学技术出版社)一课一练的项目九的第4练,内容涵盖项目九任务四 Random类。 《算法与程序设计C#》(河北科学技术出版社)第51练 项目九 C#常用类的属性方法 任务四 Random类 1、 单项选择题(本题共5小题) 1. 在C#中,如何创建一个Random对象( ) A. Random rand = new Random(); B. Random rand = Random.Create(); C. Random rand = Random.New(); D. Random rand = new Random(DateTime.Now.Ticks); 2.以下代码的输出范围是( ) Random rand = new Random(); int num = rand.Next(10); A. 0 到 10 B. 1 到 10 C. 0 到 9 D. 1 到 9 3. 如果想生成一个1到100(包含100)的随机数,应该使用的方法是( ) A. rand.Next(100) B. rand.Next(1, 100) C. rand.Next(1, 101) D. rand.Next(0, 100) 4. 以下代码的输出可能是( ) Random rand = new Random(); double num = rand.NextDouble(); A. 0 B. 1 C. 2 D. 以上都有可能 5. 关于Random类,以下说法正确的是( ) A. 每次运行程序生成的随机数序列都相同 B. 默认构造函数使用系统时间作为种子 C. Next() 方法可能返回负数 D. 同一个Random对象在多线程中使用是安全的 2、 判断题(本题共5小题) 1.Random.Next() 方法可以生成负数( )。 2. Random.Next(5) 可能返回 5( )。 3. 如果两个 Random 对象使用相同的种子初始化,它们将生成相同的随机数序列( )。 4. Random.NextDouble() 可以返回 1.0( )。 5. 在多线程环境下,共享同一个 Random 对象是安全的( )。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

项目九  第51练 Random类《算法与程序设计--c#》(河北科学技术出版社)一课一练-第1页
1

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。