第67卷 String类《算法与程序设计-C#》河北省(对口招生)《计算机类考纲百套卷》

2026-05-20
| 2份
| 16页
| 71人阅读
| 0人下载

内容正文:

编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第67卷为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:String类的属性:Chars、Length,掌握String 类的方法:Equals、compare、Contains、 Concat、Copy、Format、IndexOf、Insert、Remove、Replace、IsNullorEmpty、Join、Split、ToLower、ToUpper、ToCharArray、Trim、Substring。 2027版河北省《计算机类考纲百套卷》 第67卷 《算法与程序设计-C#》 String类 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、单项选择题(本大题共20小题,每题2分,共40分) 1.关于String类的Length属性,以下说法正确的是( ) A. Length属性返回字符串的字符数,包括空格和特殊字符 B. Length属性返回字符串的字节数 C. Length属性是只写的,不能读取 D. 空字符串的Length属性值为null 2.以下代码的输出结果是( ) string s1 = "Hello"; string s2 = "HELLO"; bool result = s1.Equals(s2, StringComparison.OrdinalIgnoreCase); Console.WriteLine(result); A. True B. False C. 编译错误 D. 运行时错误 3.关于String.Compare方法,以下说法错误的是( ) A. String.Compare可以比较两个字符串,并返回一个整数表示它们的关系 B. 返回值小于0表示第一个字符串小于第二个字符串 C. 默认情况下,String.Compare区分大小写 D. String.Compare不能用于比较包含数字的字符串 4.以下代码的输出结果是( ) string str = "Hello World"; bool contains = str.Contains("World"); Console.WriteLine(contains); A. True B. False C. 编译错误 D. 运行时错误 5.关于String.Concat方法,以下说法正确的是( ) A. 只能连接两个字符串 B. 可以连接任意数量的字符串 C. 只能连接字符串,不能连接其他类型 D. 连接null字符串时会抛出异常 6.以下代码的输出结果是( ) string str = "Hello World"; int index = str.IndexOf('o'); Console.WriteLine(index); A. 4 B. 5 C. 7 D. -1 7.关于String.Insert方法,以下说法正确的是( ) A. 在原字符串的指定位置插入新字符串,并返回新字符串 B. 会修改原字符串 C. 如果插入位置超出范围,返回原字符串 D. 插入位置可以是负数 8.以下代码的输出结果是( ) string str = "Hello World"; string result = str.Remove(5, 6); Console.WriteLine(result); A. Hello B. World C. HelloWorld D. 编译错误 9.关于String.Replace方法,以下说法正确的是( ) A. 可以替换字符,也可以替换字符串 B. 替换操作区不分大小写 C. 会修改原字符串 D. 如果旧值为空字符串,会抛出异常 10.关于String.Join方法,以下说法正确的是( ) A. 用于连接字符串数组,并用指定分隔符分隔 B. 只能连接字符串数组,不能连接其他集合 C. 分隔符不能是空字符串 D. 如果数组为null,返回空字符串 11.以下代码的输出结果是( ) string str = "apple,orange,banana"; string[] fruits = str.Split(','); Console.WriteLine(fruits[1]); A. Apple B. orange C. banana D. 编译错误 12.以下代码的输出结果是( ) string str = "Hello"; char[] chars = str.ToCharArray(); Console.WriteLine(chars[1]); A. H B. e C. l D. o 13.关于字符串的Chars属性,以下说法正确的是( ) A. 可以通过索引访问字符串中的字符 B. 索引从1开始 C. 如果索引越界,返回空字符 D. 可以用于修改字符串中的字符 14.以下代码的输出结果是( ) string s1 = "Hello"; string s2 = "Hello"; bool result = (s1 == s2); Console.WriteLine(result); A. True B. False C. 编译错误 D. 运行时错误 15.以下代码的输出结果是( ) string str = "Hello World"; int index = str.IndexOf('o', 5); Console.WriteLine(index); A. 4 B. 5 C. 7 D. -1 16.以下代码的输出结果是( ) string str = "42"; int num = int.Parse(str); string formatted = string.Format("The answer is {0:D4}", num); Console.WriteLine(formatted); A. The answer is 42 B. The answer is 0042 C. 编译错误 D. 运行时错误 17.以下代码的输出结果是( ) string str = "Hello"; string result = str.Replace('l', 'L'); Console.WriteLine(result); A. HeLLo B. HeLLo C. Hello D. HELLO 18.在C#中,关于 String 类的特性,下列说法正确的是( ) A. 字符串是可变类型,修改字符串会直接在原内存地址上修改 B. 字符串是引用类型,且具有不可变性 C. 字符串是值类型,存储在栈内存中 D. 字符串可以像字符数组一样,通过索引随意修改其中的某个字符 19.执行代码 string s = "Hello"; s[0] = 'h'; 会( ) A. 字符串变为 "hello" B. 编译错误,因为 string 的索引器是只读的 C. 运行时异常 D. 没有任何变化 20.下列关于 string.Equals() 和 == 运算符的说法,正确的是( ) A. == 比较的是内存地址,Equals 比较的是内容 B. 对于字符串,== 和 Equals 默认都是比较字符串的内容 C. Equals 不能忽略大小写进行比较 D. == 运算符不能用于比较两个为 null 的字符串 2、 判断题(本大题共10小题,每题2分,共20分) 21.String类的所有方法都不会修改原字符串,而是返回新的字符串。( ) 22."Hello"[0] 返回的是字符 'H',索引从1开始计数。( ) 23.string.Empty 和 "" 是完全等价的,都表示空字符串。( ) 24.Replace 方法会替换字符串中所有匹配的子串,而不只是第一个。( ) 25.string.Join("-", new string[] {"A", "B", "C"}) 的结果是 "A-B-C"。( ) 26."Hello".Remove(2, 3) 会删除索引2、3、4位置的字符,结果是 "He"。( ) 27. Copy 方法创建的副本和原字符串是完全独立的,修改一个不会影响另一个。( ) 28.Concat 方法和 + 运算符在连接字符串时效果完全相同。( ) 29."2024-06-15".Split('-') 会返回数组 ["2024", "06", "15"]。( ) 30.string.Format("{0:C}", 99.9) 会输出货币格式如 ¥99.90。( ) 三、填空题(本大题共10个题,每题2分,共20分) 31.执行代码string.Format("{0:F2}", 3.14159)后,结果为________。 32.比较两个字符串内容是否相等的方法是______。 33.开发中需要判断用户输入是否为空或未赋值,最适合用方法______。 34.执行代码:string.Compare("apple","Apple",StringComparison.OrdinalIgnoreCase) ,返回值是______。 35.在 string 类的查找方法中,IndexOf 用于查找子串第一次出现的位置,而________方法则用于查找子串在当前字符串中最后一次出现的位置。 36.执行代码string.Compare("apple", "banana") 后,结果为__________。 37.将字符串"Hello"转换为字符数组,使用的方法是_______。 38."Hello World".Replace(" ", "-") 的返回值是__________。 39."Hello".Equals("hello") =_________。 40.将字符串数组{"a", "b", "c"}拼接为"a,b,c",应使用_______。 四、读程题(本大题共2题,每题10分,共20分) 41.执行下列代码后,程序的运行结果为_________。 class Program { static void Main() { string phone = "13812345678"; string prefix = phone.Substring(0, 3); string suffix = phone.Substring(7, 4); string masked = prefix + "****" + suffix; Console.WriteLine("原手机号:" + phone); Console.WriteLine("脱敏后:" + masked); } } 42. 执行下列代码后,程序的运行结果为_________。 class Program { static void Main() { string scoreString = "张三:85,李四:92,王五:78"; string[] students = scoreString.Split(','); Console.WriteLine("学生成绩统计:"); Console.WriteLine("================"); int total = 0; foreach (string s in students) { string[] parts = s.Split(':'); string name = parts[0]; int score = int.Parse(parts[1]); total += score; Console.WriteLine("{0}的成绩是{1}分", name, score); } double average = total / (double)students.Length; Console.WriteLine("================"); Console.WriteLine(string.Format("平均分:{0:F1}", average)); } } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $ 编写说明:河北省对口招生《计算机类考纲百套卷》,依据《河北省2028年中等职业学校对口升学考试计算机类专业考试大纲》编写。本专辑涵盖四门课程,且每门课程均采用三阶递进式训练体系:基础层(具象化支架)拆解考点为微目标,紧扣考纲 “掌握”“理解” 要求编写考点训练卷;巩固层(关联性支架)强化知识交叉与场景关联,按考纲专题编专题训练卷;应用层(引导性支架)聚焦真题突破,结合知识模块与教材编写课程综合卷。 本试卷是第67卷为考点训练卷,按《算法与程序设计-C#》范围和要求编写。具体内容为:String类的属性:Chars、Length,掌握String 类的方法:Equals、compare、Contains、 Concat、Copy、Format、IndexOf、Insert、Remove、Replace、IsNullorEmpty、Join、Split、ToLower、ToUpper、ToCharArray、Trim、Substring。 2027版河北省《计算机类考纲百套卷》 第67卷 《算法与程序设计-C#》 String类 知识点训练卷 考试时间60分钟 满分100分 班级 姓名 学号 成绩 一、单项选择题(本大题共20小题,每题2分,共40分) 1.关于String类的Length属性,以下说法正确的是( ) A. Length属性返回字符串的字符数,包括空格和特殊字符 B. Length属性返回字符串的字节数 C. Length属性是只写的,不能读取 D. 空字符串的Length属性值为null 【答案】A 【解析】String类的Length属性是只读的,返回字符串中字符的个数(包括空格和特殊字符)。对于空字符串(""),Length属性值为0,而不是null。 2.以下代码的输出结果是( ) string s1 = "Hello"; string s2 = "HELLO"; bool result = s1.Equals(s2, StringComparison.OrdinalIgnoreCase); Console.WriteLine(result); A. True B. False C. 编译错误 D. 运行时错误 【答案】A 【解析】 String.Equals方法可以指定比较规则。StringComparison.OrdinalIgnoreCase表示忽略大小写的序数比较。因此"Hello"和"HELLO"在忽略大小写时相等,返回True。 3.关于String.Compare方法,以下说法错误的是( ) A. String.Compare可以比较两个字符串,并返回一个整数表示它们的关系 B. 返回值小于0表示第一个字符串小于第二个字符串 C. 默认情况下,String.Compare区分大小写 D. String.Compare不能用于比较包含数字的字符串 【答案】D 【解析】 String.Compare可以比较任何字符串,包括包含数字的字符串。 4.以下代码的输出结果是( ) string str = "Hello World"; bool contains = str.Contains("World"); Console.WriteLine(contains); A. True B. False C. 编译错误 D. 运行时错误 【答案】A 【解析】Contains方法用于判断字符串中是否包含指定的子串。str包含"World",所以返回True。 5.关于String.Concat方法,以下说法正确的是( ) A. 只能连接两个字符串 B. 可以连接任意数量的字符串 C. 只能连接字符串,不能连接其他类型 D. 连接null字符串时会抛出异常 【答案】B 【解析】String.Concat有多个重载,可以连接两个或多个字符串,也可以连接对象数组(会调用其ToString方法)。连接null时,会将null当作空字符串处理,不会抛出异常。 6.以下代码的输出结果是( ) string str = "Hello World"; int index = str.IndexOf('o'); Console.WriteLine(index); A. 4 B. 5 C. 7 D. -1 【答案】A 【解析】 IndexOf方法返回指定字符第一次出现的索引(从0开始)。 7.关于String.Insert方法,以下说法正确的是( ) A. 在原字符串的指定位置插入新字符串,并返回新字符串 B. 会修改原字符串 C. 如果插入位置超出范围,返回原字符串 D. 插入位置可以是负数 【答案】A 【解析】Insert方法在指定位置插入字符串,返回新的字符串,原字符串不变。如果插入位置超出范围(小于0或大于原字符串长度),会抛出ArgumentOutOfRangeException异常。 8.以下代码的输出结果是( ) string str = "Hello World"; string result = str.Remove(5, 6); Console.WriteLine(result); A. Hello B. World C. HelloWorld D. 编译错误 【答案】A 【解析】Remove方法从指定位置开始删除指定数量的字符。 9.关于String.Replace方法,以下说法正确的是( ) A. 可以替换字符,也可以替换字符串 B. 替换操作区不分大小写 C. 会修改原字符串 D. 如果旧值为空字符串,会抛出异常 【答案】A 【解析】​ Replace可以替换字符或字符串,区分大小写,返回新字符串,原字符串不变。如果旧值为空字符串,会抛出ArgumentException异常。 10.关于String.Join方法,以下说法正确的是( ) A. 用于连接字符串数组,并用指定分隔符分隔 B. 只能连接字符串数组,不能连接其他集合 C. 分隔符不能是空字符串 D. 如果数组为null,返回空字符串 【答案】A 【解析】 Join方法可以用分隔符连接字符串数组或可枚举集合。分隔符可以是空字符串。如果数组为null,会抛出ArgumentNullException异常。 11.以下代码的输出结果是( ) string str = "apple,orange,banana"; string[] fruits = str.Split(','); Console.WriteLine(fruits[1]); A. Apple B. orange C. banana D. 编译错误 【答案】B 【解析】Split方法用指定分隔符分割字符串,返回字符串数组。 12.以下代码的输出结果是( ) string str = "Hello"; char[] chars = str.ToCharArray(); Console.WriteLine(chars[1]); A. H B. e C. l D. o 【答案】B 【解析】ToCharArray将字符串转换为字符数组。str转换为['H','e','l','l','o'],索引1为'e'。 13.关于字符串的Chars属性,以下说法正确的是( ) A. 可以通过索引访问字符串中的字符 B. 索引从1开始 C. 如果索引越界,返回空字符 D. 可以用于修改字符串中的字符 【答案】A 【解析】字符串的Chars属性是只读的索引器,可以通过从0开始的索引访问字符。如果索引越界,会抛出IndexOutOfRangeException异常。不能用于修改字符,因为字符串不可变。 14.以下代码的输出结果是( ) string s1 = "Hello"; string s2 = "Hello"; bool result = (s1 == s2); Console.WriteLine(result); A. True B. False C. 编译错误 D. 运行时错误 【答案】A 【解析】C# 中字符串用 == 比较时,比较的是字符串内容。 15.以下代码的输出结果是( ) string str = "Hello World"; int index = str.IndexOf('o', 5); Console.WriteLine(index); A. 4 B. 5 C. 7 D. -1 【答案】C 【解析】​ IndexOf('o',5)从索引5开始搜索'o'。索引5是空格,从空格之后开始搜索,下一个'o'在索引7("World"中的'o')。 16.以下代码的输出结果是( ) string str = "42"; int num = int.Parse(str); string formatted = string.Format("The answer is {0:D4}", num); Console.WriteLine(formatted); A. The answer is 42 B. The answer is 0042 C. 编译错误 D. 运行时错误 【答案】B 【解析】格式化字符串"{0:D4}"表示将第一个参数格式化为4位十进制数,不足4位前面补0。 17.以下代码的输出结果是( ) string str = "Hello"; string result = str.Replace('l', 'L'); Console.WriteLine(result); A. HeLLo B. HeLLo C. Hello D. HELLO 【答案】A 【解析】Replace将所有的'l'替换为'L'。str中有两个'l',都替换为'L',得到"HeLLo"。 18.在C#中,关于 String 类的特性,下列说法正确的是( ) A. 字符串是可变类型,修改字符串会直接在原内存地址上修改 B. 字符串是引用类型,且具有不可变性 C. 字符串是值类型,存储在栈内存中 D. 字符串可以像字符数组一样,通过索引随意修改其中的某个字符 【答案】B 【解析】在C#中,string 是引用类型,存储在堆内存中。它具有不可变性,即一旦创建,其内容就不能被修改。任何看似“修改”字符串的操作(如 Replace、Substring),实际上都是返回了一个全新的字符串对象。 19.执行代码 string s = "Hello"; s[0] = 'h'; 会( ) A. 字符串变为 "hello" B. 编译错误,因为 string 的索引器是只读的 C. 运行时异常 D. 没有任何变化 【答案】B 【解析】string 的 Chars 属性(索引器)是只读的。由于字符串的不可变性,C# 不允许通过索引直接修改字符串中的字符。 20.下列关于 string.Equals() 和 == 运算符的说法,正确的是( ) A. == 比较的是内存地址,Equals 比较的是内容 B. 对于字符串,== 和 Equals 默认都是比较字符串的内容 C. Equals 不能忽略大小写进行比较 D. == 运算符不能用于比较两个为 null 的字符串 【答案】B 【解析】字符串中 == 和 Equals() 默认都比较字符内容是否相等。 2、 判断题(本大题共10小题,每题2分,共20分) 21.String类的所有方法都不会修改原字符串,而是返回新的字符串。( ) 【答案】错 【解析】String类具有不可变性(Immutable)。一旦创建,字符串的内容就不能被改变。所有修改类方法都返回新的字符串,原字符串保持不变。 22."Hello"[0] 返回的是字符 'H',索引从1开始计数。( ) 【答案】错 【解析】"Hello"[0] 确实返回 'H',但索引是从0开始,不是从1开始。 23.string.Empty 和 "" 是完全等价的,都表示空字符串。( ) 【答案】对 【解析】string.Empty 是String类的静态只读字段,值为空字符串 ""。两者在功能上完全等价。 24.Replace 方法会替换字符串中所有匹配的子串,而不只是第一个。( ) 【答案】对 【解析】String.Replace 方法会替换所有匹配项。 25.string.Join("-", new string[] {"A", "B", "C"}) 的结果是 "A-B-C"。( ) 【答案】对 【解析】Join方法使用指定分隔符连接数组元素。 26."Hello".Remove(2, 3) 会删除索引2、3、4位置的字符,结果是 "He"。( ) 【答案】对 【解析】Remove(2, 3) 表示从索引2开始删除3个字符。 27. Copy 方法创建的副本和原字符串是完全独立的,修改一个不会影响另一个。( ) 【答案】对 【解析】String.Copy 方法创建字符串的深拷贝,两个字符串对象相互独立。 28.Concat 方法和 + 运算符在连接字符串时效果完全相同。( ) 【答案】对 【解析】在功能上,string.Concat(a, b) 和 a + b 是等价的,都会返回连接后的新字符串。 29."2024-06-15".Split('-') 会返回数组 ["2024", "06", "15"]。( ) 【答案】对 【解析】Split方法按指定字符拆分为字符串数组。 30.string.Format("{0:C}", 99.9) 会输出货币格式如 ¥99.90。( ) 【答案】对 【解析】{0:C} 格式符将数字格式化为货币形式。 三、填空题(本大题共10个题,每题2分,共20分) 31.执行代码string.Format("{0:F2}", 3.14159)后,结果为________。 【答案】”3.14” 【解析】F2表示保留2位小数,第三位四舍五入。 32.比较两个字符串内容是否相等的方法是______。 【答案】Equals 【解析】str1.Equals(str2) 逐字符比较内容是否相同,可重载忽略大小写。 33.开发中需要判断用户输入是否为空或未赋值,最适合用方法______。 【答案】IsNullOrEmpty 【解析】string.IsNullOrEmpty(str) 一次性判断字符串是否为null或空字符串"",是表单判空最常用写法。 34.执行代码:string.Compare("apple","Apple",StringComparison.OrdinalIgnoreCase) ,返回值是______。 【答案】0 【解析】忽略大小写后两字符串内容相等,Compare 返回 0;带第三个参数可控制是否区分大小写。 35.在 string 类的查找方法中,IndexOf 用于查找子串第一次出现的位置,而________方法则用于查找子串在当前字符串中最后一次出现的位置。 【答案】LastIndexOf 【解析】LastIndexOf:从后往前查找,返回子串最后一次出现的索引,找不到返回-1。 36.执行代码string.Compare("apple", "banana") 后,结果为__________。 【答案】-1 【解析】Compare方法中,较小的字符串(字典序靠前)返回负数。 37.将字符串"Hello"转换为字符数组,使用的方法是_______。 【答案】"Hello".ToCharArray() 【解析】返回char[]数组(结果为{'H', 'e', 'l', 'l', 'o'}),便于逐字符操作。 38."Hello World".Replace(" ", "-") 的返回值是__________。 【答案】”Hello-World” 【解析】Replace(oldChar, newChar) 或 Replace(oldValue, newValue) 会将字符串中所有匹配的目标替换为新的内容。这里将空格替换为了连字符。 39."Hello".Equals("hello") =_________。 【答案】False 【解析】Equals方法默认区分大小写,'H' ≠ 'h',所以返回False。 40.将字符串数组{"a", "b", "c"}拼接为"a,b,c",应使用_______。 【答案】string.Join(",", new string[] { "a", "b", "c" }) 【解析】string.Join(separator, values)将数组元素通过分隔符拼接为单个字符串。 四、读程题(本大题共2题,每题10分,共20分) 41.执行下列代码后,程序的运行结果为_________。 class Program { static void Main() { string phone = "13812345678"; string prefix = phone.Substring(0, 3); string suffix = phone.Substring(7, 4); string masked = prefix + "****" + suffix; Console.WriteLine("原手机号:" + phone); Console.WriteLine("脱敏后:" + masked); } } 【答案】 原手机号:13812345678 脱敏后:138****5678 【解析】phone.Substring(0, 3) - 从索引0开始截取3个字符,得到 "138",phone.Substring(7, 4) - 从索引7开始截取4个字符,得到 "5678"。 42. 执行下列代码后,程序的运行结果为_________。 class Program { static void Main() { string scoreString = "张三:85,李四:92,王五:78"; string[] students = scoreString.Split(','); Console.WriteLine("学生成绩统计:"); Console.WriteLine("================"); int total = 0; foreach (string s in students) { string[] parts = s.Split(':'); string name = parts[0]; int score = int.Parse(parts[1]); total += score; Console.WriteLine("{0}的成绩是{1}分", name, score); } double average = total / (double)students.Length; Console.WriteLine("================"); Console.WriteLine(string.Format("平均分:{0:F1}", average)); } } 【答案】 学生成绩统计: ================ 张三的成绩是85分 李四的成绩是92分 王五的成绩是78分 ================ 平均分:85.0 【解析】两次Split的用法:第一次按逗号,第二次按冒号,Format的 {F1} 表示固定1位小数。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $

资源预览图

第67卷 String类《算法与程序设计-C#》河北省(对口招生)《计算机类考纲百套卷》
1
第67卷 String类《算法与程序设计-C#》河北省(对口招生)《计算机类考纲百套卷》
2
第67卷 String类《算法与程序设计-C#》河北省(对口招生)《计算机类考纲百套卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。