内容正文:
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第68卷,为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:1.DateTime类的属性:Date、Day、Hour、Minute、Month、Today、Year、Now:2.Random类的方法:Next、NextDouble;3.类型转换的方法:ToBoolean、ToChar、ToDateTime、ToDecimal、ToDouble、ToSingle。
2027版河北省《计算机类考纲百套卷》 第68卷
《算法与程序设计-C#》
DateTime类、Random类 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.关于DateTime结构,以下说法正确的是( )
A. DateTime.Now返回的是当前日期和时间,类型是DateTime,其精度到秒
B. DateTime.Today返回的是当前日期,时间部分为00:00:00
C. DateTime结构是引用类型,存储在堆上
D. 可以使用new DateTime()创建一个表示当前日期和时间的实例
2.使用Random类生成随机数,以下代码片段中,可以生成一个介于1到100(包含1和100)之间的整数的是( )
A. Random rnd = new Random(); int num = rnd.Next(1, 100);
B. Random rnd = new Random(); int num = rnd.Next(1, 101);
C. Random rnd = new Random(); int num = rnd.Next(0, 100) ;
D. Random rnd = new Random(); int num = rnd.Next(0, 101);
3.关于类型转换,以下说法错误的是( )
A. Convert.ToDouble可以将字符串"3.14"转换为double类型3.14
B. Convert.ToInt32可以将小数3.5转换为整数4,因为会四舍五入
C. Convert.ToDateTime可以将字符串"2023/12/31"转换为DateTime类型
D. Convert.ToBoolean将整数0转换为false,非零整数转换为true
4. 以下代码的输出结果为( )
DateTime dt = new DateTime(2023, 2, 28);
dt = dt.AddMonths(1);
Console.WriteLine(dt.Day);
A. 28 B. 29 C. 30 D. 31
5.关于Random.NextDouble()方法,以下说法正确的是( )
A. 返回一个大于等于0.0且小于等于1.0的双精度浮点数
B. 返回一个大于等于0.0且小于1.0的双精度浮点数
C. 返回一个大于0.0且小于1.0的双精度浮点数
D. 返回一个大于0.0且小于等于1.0的双精度浮点数
6.关于Convert.ToChar方法,以下说法错误的是( )
A. 可以将单个字符的字符串转换为char类型
B. 可以将整数转换为对应的Unicode字符
C. 可以将布尔值true转换为字符'T'
D. 如果字符串长度大于1,会抛出FormatException
7. 以下代码的输出结果为( )
Random rnd = new Random();
int num = rnd.Next(-10, 0);
Console.WriteLine(num);
A. 一个介于-10和0之间的整数,包含-10和0
B. 一个介于-10和0之间的整数,包含-10,不包含0
C. 一个介于-10和0之间的整数,不包含-10,包含0
D. 一个介于-10和0之间的整数,不包含-10和0
8. 以下代码的输出结果为( )
Random rnd1 = new Random(100);
Random rnd2 = new Random(100);
int a = rnd1.Next(10);
int b = rnd2.Next(10);
Console.WriteLine(a == b);
A. True B. False C. 可能True也可能False D. 编译错误
9.以下代码的输出结果为( )
DateTime dt = new DateTime(2023, 8, 15);
Console.WriteLine(dt.ToString("yyyy年MM月dd日 dddd"));
A. 2023年08月15日 Tuesday
B. 2023年08月15日 Tuesday(取决于区域性)
C. 2023年08月15日 星期二(如果当前区域性为中文)
D. 2023年8月15日 星期二
10.在C#中,获取当前计算机系统的日期和时间(包含年、月、日、时、分、秒)的属性是( )
A. DateTime.Today B. DateTime.Now
C. DateTime.Date D. DateTime.TimeOfDay
11.下列关于 DateTime.Today 属性的描述,正确的是( )
A. 返回当前的日期和时间,精确到毫秒
B. 返回当前的日期,时间部分默认为 00:00:00
C. 返回协调世界时(UTC)的当前日期
D. 返回当前日期是一年中的第几天
12.执行代码 new Random().Next(1, 5),可能返回的整数是( )
A. 1, 2, 3, 4, 5 B. 1, 2, 3, 4
C. 0, 1, 2, 3, 4 D. 2, 3, 4
13.下列关于 DateTime.Date 属性的说法,正确的是( )
A. 返回一个新的 DateTime 对象,时间部分为 00:00:00
B. 返回当前时间的字符串表示
C. 返回当前日期的 int 值
D. 等同于 DateTime.Today
14.Random 类如果不指定种子(seed),默认使用( )作为随机种子。
A. 固定的数字 0 B. 系统时钟(当前时间)
C. 用户的输入 D. 内存地址
15.执行代码 Convert.ToBoolean(0) 的返回值是( )
A. True B. false C. 抛出异常 D. -1
16.获取当前日期是一年中的第几天,应该使用( )属性。
A. DateTime.Day B. DateTime.DayOfYear
C. DateTime.Today D. DateTime.Now
17.将 double 类型的 3.14159 转换为 int 类型,使用 Convert.ToInt32(3.14159) 的结果是( )
A. 3 B. 4 C. 3.14 D. 抛出异常
18.在创建指定日期的DateTime对象时,以下( )方式是正确的。
A. DateTime dt = new DateTime(2024, 3, 15, 10, 30);
B. DateTime dt = new DateTime(2024, 3, 15, 10, 30, 50);
C. DateTime dt = new DateTime("2024-3-15");
D. DateTime dt = DateTime(2024, 3, 15);
19.某游戏需要生成1到6之间的随机整数(模拟掷骰子),以下代码正确的是( )
A. random.Next(1, 7); B. random.Next(6);
C. random.Next(1, 6); D. random.Next(0, 6);
20.关于Random类种子的说法,正确的是( )
A. 种子不同,生成的随机数序列一定不同 B. 种子相同,生成的随机数序列一定相同
C. 随机数的"随机"程度与种子无关 D. 种子只能是正整数
2、 判断题(本大题共10小题,每题2分,共20分)
21.DateTime.Now返回当前系统的日期和时间,而DateTime.Today只返回日期部分,时间固定为00:00:00。( )
22.Random.Next()方法返回一个介于0和Int32.MaxValue之间的随机整数,包括0和Int32.MaxValue。( )
23.Convert.ToSingle可以将double类型转换为float类型,但可能损失精度。( )
24.DateTime结构是不可变的,一旦创建,其值就不能改变。( )
25.使用new Random()创建Random实例时,种子基于系统时间,因此快速连续创建两个实例可能使用相同种子。( )
26.DateTime.Today 返回的时间部分始终是 00:00:00。( )
27.Convert.ToDouble(null) 会抛出空引用异常。( )
28.DateTime.Date 是一个静态属性,可以直接通过类名调用。( )
29.Convert.ToChar 可以将任意长度的字符串转换为字符。( )
30.DateTime是值类型(struct),而不是引用类型(class)。( )
三、填空题(本大题共10个题,每题2分,共20分)
31.在C#中,获取当前日期和时间的属性是______,获取当前日期(时间部分为00:00:00)的属性是______。
32.DateTime的______属性返回日期中的"日"部分,范围是______。
33.DateTime的Date属性返回______类型,返回值的时间部分为______。
34.DateTime的DayOfWeek属性返回的是______枚举类型,表示今天是星期几。
35.Random.NextDouble()返回的是double类型,范围是______到______。
36.要生成0到99之间的随机整数(包含0但不包含100),代码是______。
37.Convert.ToChar(97)返回字符______,Convert.ToChar(65)返回字符______。
38.Convert.ToSingle()方法返回的是______类型,占用______字节。
39.DateTime 的 ______ 属性是静态属性,能获取当前系统日期 + 时分秒完整时间。
40.Random 类中 ______ 方法可以生成整数随机数,______ 方法可以生成 0.0~1.0 之间的小数随机数。
四、程序填空题(本大题共2题,每空5分,共20分)
41.下列程序用于生成一个 6 位数的随机验证码(纯数字)。
Random rand = new Random();
string code = "";
for (int i = 0; i < 6; i++)
{
int num = ___(1)_____
code += num.___(2)_____;
}
Console.WriteLine("验证码:" + code);
42. 以下程序功能是用于生成10个不重复的随机数(范围1-100)。
Random rnd = new Random();
int[] numbers = new int[10];
int index = 0;
while (index < 10)
{
int num = rnd.Next(1, 101);
if (!numbers.___(1)_____)
{
numbers[index] = num;
___(2)_____
}
}
foreach (int n in numbers)
Console.Write(n + " ");
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$
编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编写专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。
本试卷是第68卷,为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:1.DateTime类的属性:Date、Day、Hour、Minute、Month、Today、Year、Now:2.Random类的方法:Next、NextDouble;3.类型转换的方法:ToBoolean、ToChar、ToDateTime、ToDecimal、ToDouble、ToSingle。
2027版河北省《计算机类考纲百套卷》 第68卷
《算法与程序设计-C#》
DateTime类、Random类 知识点训练卷
考试时间60分钟 满分100分
班级 姓名 学号 成绩
一、单项选择题(本大题共20小题,每题2分,共40分)
1.关于DateTime结构,以下说法正确的是( )
A. DateTime.Now返回的是当前日期和时间,类型是DateTime,其精度到秒
B. DateTime.Today返回的是当前日期,时间部分为00:00:00
C. DateTime结构是引用类型,存储在堆上
D. 可以使用new DateTime()创建一个表示当前日期和时间的实例
【答案】B
【解析】new DateTime() 默认初始化是 0001-01-01 00:00:00,不是当前时间;获取当前时间要用 DateTime.Now。
2.使用Random类生成随机数,以下代码片段中,可以生成一个介于1到100(包含1和100)之间的整数的是( )
A. Random rnd = new Random(); int num = rnd.Next(1, 100);
B. Random rnd = new Random(); int num = rnd.Next(1, 101);
C. Random rnd = new Random(); int num = rnd.Next(0, 100) ;
D. Random rnd = new Random(); int num = rnd.Next(0, 101);
【答案】B
【解析】Random.Next(minValue, maxValue)返回范围是[minValue, maxValue),即包含minValue,不包含maxValue。
3.关于类型转换,以下说法错误的是( )
A. Convert.ToDouble可以将字符串"3.14"转换为double类型3.14
B. Convert.ToInt32可以将小数3.5转换为整数4,因为会四舍五入
C. Convert.ToDateTime可以将字符串"2023/12/31"转换为DateTime类型
D. Convert.ToBoolean将整数0转换为false,非零整数转换为true
【答案】B
【解析】Convert.ToInt32对于小数采用的是“银行家舍入法”(四舍六入五成双)。
4. 以下代码的输出结果为( )
DateTime dt = new DateTime(2023, 2, 28);
dt = dt.AddMonths(1);
Console.WriteLine(dt.Day);
A. 28 B. 29 C. 30 D. 31
【答案】A
【解析】2023年2月28日加1个月是2023年3月28日,因为3月有31天,所以Day为28。
5.关于Random.NextDouble()方法,以下说法正确的是( )
A. 返回一个大于等于0.0且小于等于1.0的双精度浮点数
B. 返回一个大于等于0.0且小于1.0的双精度浮点数
C. 返回一个大于0.0且小于1.0的双精度浮点数
D. 返回一个大于0.0且小于等于1.0的双精度浮点数
【答案】B
【解析】NextDouble()方法返回一个大于等于0.0且小于1.0的双精度浮点数。注意包含0.0,但不包含1.0。
6.关于Convert.ToChar方法,以下说法错误的是( )
A. 可以将单个字符的字符串转换为char类型
B. 可以将整数转换为对应的Unicode字符
C. 可以将布尔值true转换为字符'T'
D. 如果字符串长度大于1,会抛出FormatException
【答案】C
【解析】Convert.ToChar(bool) 不能把 true 转成 'T';布尔值无法用 Convert.ToChar 合法转换,直接调用会报错。
7. 以下代码的输出结果为( )
Random rnd = new Random();
int num = rnd.Next(-10, 0);
Console.WriteLine(num);
A. 一个介于-10和0之间的整数,包含-10和0
B. 一个介于-10和0之间的整数,包含-10,不包含0
C. 一个介于-10和0之间的整数,不包含-10,包含0
D. 一个介于-10和0之间的整数,不包含-10和0
【答案】B
【解析】Random.Next(minValue, maxValue)包含minValue,不包含maxValue。
8. 以下代码的输出结果为( )
Random rnd1 = new Random(100);
Random rnd2 = new Random(100);
int a = rnd1.Next(10);
int b = rnd2.Next(10);
Console.WriteLine(a == b);
A. True B. False C. 可能True也可能False D. 编译错误
【答案】A
【解析】两个Random实例使用相同的种子100,因此生成的随机数序列相同,所以a和b相等,输出True。
9.以下代码的输出结果为( )
DateTime dt = new DateTime(2023, 8, 15);
Console.WriteLine(dt.ToString("yyyy年MM月dd日 dddd"));
A. 2023年08月15日 Tuesday
B. 2023年08月15日 Tuesday(取决于区域性)
C. 2023年08月15日 星期二(如果当前区域性为中文)
D. 2023年8月15日 星期二
【答案】C
【解析】"dddd"格式会输出本地化的星期名称,如果当前区域性为中文,则输出“星期二”。注意月份和日期默认补零。
10.在C#中,获取当前计算机系统的日期和时间(包含年、月、日、时、分、秒)的属性是( )
A. DateTime.Today B. DateTime.Now
C. DateTime.Date D. DateTime.TimeOfDay
【答案】B
【解析】DateTime.Now 返回当前的本地日期和时间。
11.下列关于 DateTime.Today 属性的描述,正确的是( )
A. 返回当前的日期和时间,精确到毫秒
B. 返回当前的日期,时间部分默认为 00:00:00
C. 返回协调世界时(UTC)的当前日期
D. 返回当前日期是一年中的第几天
【答案】B
【解析】DateTime.Today 获取当前日期,其时间组件始终被设置为午夜(00:00:00)。
12.执行代码 new Random().Next(1, 5),可能返回的整数是( )
A. 1, 2, 3, 4, 5 B. 1, 2, 3, 4
C. 0, 1, 2, 3, 4 D. 2, 3, 4
【答案】B
【解析】Random.Next(minValue, maxValue) 方法返回的随机整数包含最小值(minValue),但不包含最大值(maxValue)。因此 Next(1, 5) 的取值范围是 [1, 5),即 1, 2, 3, 4。
13.下列关于 DateTime.Date 属性的说法,正确的是( )
A. 返回一个新的 DateTime 对象,时间部分为 00:00:00
B. 返回当前时间的字符串表示
C. 返回当前日期的 int 值
D. 等同于 DateTime.Today
【答案】A
【解析】DateTime.Date 是实例属性,取某个已有时间对象的日期部分。
14.Random 类如果不指定种子(seed),默认使用( )作为随机种子。
A. 固定的数字 0 B. 系统时钟(当前时间)
C. 用户的输入 D. 内存地址
【答案】B
【解析】无参的 new Random() 构造函数默认使用依赖于时间的默认种子值。这也是为什么在极短时间内连续创建多个 Random 对象可能会产生相同的随机数序列。
15.执行代码 Convert.ToBoolean(0) 的返回值是( )
A. True B. false C. 抛出异常 D. -1
【答案】B
【解析】在数值转布尔值时,0 会被转换为 false,任何非零数值都会被转换为 true。
16.获取当前日期是一年中的第几天,应该使用( )属性。
A. DateTime.Day B. DateTime.DayOfYear
C. DateTime.Today D. DateTime.Now
【答案】B
【解析】Day 获取的是当月第几天,DayOfYear 获取的是当年第几天。
17.将 double 类型的 3.14159 转换为 int 类型,使用 Convert.ToInt32(3.14159) 的结果是( )
A. 3 B. 4 C. 3.14 D. 抛出异常
【答案】A
【解析】Convert.ToInt32 在转换浮点数时,采用的是“银行家舍入法”(四舍六入五成双),但在处理 3.14159 这种小数部分明显小于 0.5 的数时,直接截断取整为 3。
18.在创建指定日期的DateTime对象时,以下( )方式是正确的。
A. DateTime dt = new DateTime(2024, 3, 15, 10, 30);
B. DateTime dt = new DateTime(2024, 3, 15, 10, 30, 50);
C. DateTime dt = new DateTime("2024-3-15");
D. DateTime dt = DateTime(2024, 3, 15);
【答案】B
【解析】DateTime构造函数有多个重载版本,最常用的是指定年、月、日、时、分、秒的版本,参数分别是int类型的year、month、day、hour、minute、second。
19.某游戏需要生成1到6之间的随机整数(模拟掷骰子),以下代码正确的是( )
A. random.Next(1, 7); B. random.Next(6);
C. random.Next(1, 6); D. random.Next(0, 6);
【答案】A
【解析】Next(int minValue, int maxValue)方法返回大于等于minValue且小于maxValue的随机整数,即范围是[minValue, maxValue),左闭右开。
20.关于Random类种子的说法,正确的是( )
A. 种子不同,生成的随机数序列一定不同 B. 种子相同,生成的随机数序列一定相同
C. 随机数的"随机"程度与种子无关 D. 种子只能是正整数
【答案】B
【解析】随机数的"随机"程度与种子密切相关。种子可以是任意整数,包括0和负数,但通常使用正整数。
2、 判断题(本大题共10小题,每题2分,共20分)
21.DateTime.Now返回当前系统的日期和时间,而DateTime.Today只返回日期部分,时间固定为00:00:00。( )
【答案】对
【解析】DateTime.Now返回完整的日期和时间,精确到毫秒级。DateTime.Today返回当天的日期,但时间部分被设置为00:00:00。
22.Random.Next()方法返回一个介于0和Int32.MaxValue之间的随机整数,包括0和Int32.MaxValue。( )
【答案】错
【解析】边界值不包括Int32.MaxValue。
23.Convert.ToSingle可以将double类型转换为float类型,但可能损失精度。( )
【答案】对
【解析】用 Convert.ToSingle() 把 double 转 float 时,会截断舍入,必然可能丢失精度。
24.DateTime结构是不可变的,一旦创建,其值就不能改变。( )
【答案】对
【解析】DateTime 是值类型、结构体,属于不可变类型。
25.使用new Random()创建Random实例时,种子基于系统时间,因此快速连续创建两个实例可能使用相同种子。( )
【答案】对
【解析】无参构造 new Random() 默认以系统时间作为种子。如果快速连续多次 new Random(),时间间隔极小,系统时间种子完全相同。
26.DateTime.Today 返回的时间部分始终是 00:00:00。( )
【答案】对
【解析】DateTime.Today 只获取当前年月日,时间部分固定清零为:00:00:00。
27.Convert.ToDouble(null) 会抛出空引用异常。( )
【答案】错
【解析】Convert 类对 null 做了特殊处理,Convert.ToDouble(null) 会返回 0.0,不会抛异常。
28.DateTime.Date 是一个静态属性,可以直接通过类名调用。( )
【答案】错
【解析】Date 是实例属性,必须通过 DateTime 的对象实例来调用(如 dt.Date)。Today 才是静态属性。
29.Convert.ToChar 可以将任意长度的字符串转换为字符。( )
【答案】错
【解析】如果字符串长度不为 1,Convert.ToChar(string) 会抛出异常。
30.DateTime是值类型(struct),而不是引用类型(class)。( )
【答案】对
【解析】DateTime是一个结构体(struct),属于值类型,不是类(class)。
三、填空题(本大题共10个题,每题2分,共20分)
31.在C#中,获取当前日期和时间的属性是______,获取当前日期(时间部分为00:00:00)的属性是______。
【答案】DateTime.Now;DateTime.Today
【解析】DateTime.Now返回完整的当前日期和时间,如2024/3/15 14:30:25。DateTime.Today只返回日期部分,时间固定为00:00:00。
32.DateTime的______属性返回日期中的"日"部分,范围是______。
【答案】Day;1到31
【解析】DateTime.Day属性返回日期中的"日",范围是1到31。具体能返回多少天取决于月份:1月有31天,2月有28或29天,4月有30天。
33.DateTime的Date属性返回______类型,返回值的时间部分为______。
【答案】DateTime;00:00:00
【解析】DateTime.Date属性返回DateTime类型,不是String类型。返回的DateTime对象日期部分与原对象相同,但时间部分被重置为00:00:00。
34.DateTime的DayOfWeek属性返回的是______枚举类型,表示今天是星期几。
【答案】DayOfWeek
【解析】DayOfWeek是一个枚举类型,值包括Sunday(周日=0)、Monday(周一=1)、...、Saturday(周六=6)。
35.Random.NextDouble()返回的是double类型,范围是______到______。
【答案】0.0;1.0
【解析】Random.NextDouble()返回[0.0, 1.0)范围的双精度浮点数,即大于等于0.0但小于1.0。
36.要生成0到99之间的随机整数(包含0但不包含100),代码是______。
【答案】rnd.Next(100) 或 rnd.Next(0, 100)
【解析】两种写法都可以:rnd.Next(100)是单参数版本,返回[0, 100),即0-99。rnd.Next(0, 100)是双参数版本,返回[0, 100),同样得到0-99。
37.Convert.ToChar(97)返回字符______,Convert.ToChar(65)返回字符______。
【答案】'a';'A'
【解析】Convert.ToChar(int value)将整数转换为对应的Unicode字符。97对应ASCII码的小写字母'a',65对应大写字母'A'。
38.Convert.ToSingle()方法返回的是______类型,占用______字节。
【答案】float;4
【解析】Convert.ToSingle()将值转换为float(单精度浮点数),占用4字节32位。float的有效精度约为6-9位小数。相比之下,double占用8字节64位,精度约15-17位。
39.DateTime 的 ______ 属性是静态属性,能获取当前系统日期 + 时分秒完整时间。
【答案】Now
【解析】DateTime.Now 静态属性,返回当前精确时间;Today 只返回日期无时间。
40.Random 类中 ______ 方法可以生成整数随机数,______ 方法可以生成 0.0~1.0 之间的小数随机数。
【答案】Next;NextDouble
【解析】Next () 生成整数随机数;NextDouble () 固定返回 [0.0,1.0) 浮点随机数。
四、程序填空题(本大题共2题,每空5分,共20分)
41.下列程序用于生成一个 6 位数的随机验证码(纯数字)。
Random rand = new Random();
string code = "";
for (int i = 0; i < 6; i++)
{
int num = ___(1)_____
code += num.___(2)_____;
}
Console.WriteLine("验证码:" + code);
【答案】
(1) rand.Next(0, 10);或rand.Next(10);
(2) ToString()
【解析】rand.Next(0, 10) 生成 0 到 9 的随机整数。num.ToString() 将整数转换为字符串,以便拼接到 code 变量中。
42. 以下程序功能是用于生成10个不重复的随机数(范围1-100)。
Random rnd = new Random();
int[] numbers = new int[10];
int index = 0;
while (index < 10)
{
int num = rnd.Next(1, 101);
if (!numbers.___(1)_____)
{
numbers[index] = num;
___(2)_____
}
}
foreach (int n in numbers)
Console.Write(n + " ");
【答案】
(1) Contains(num)
(2) index++;
【解析】numbers.Contains(num)判断数组里是否已经存在这个随机数,! 表示不存在才执行添加。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$