第50卷 算法与程序设计—顺序结构与条件语句—河北省计算机类—考纲百套卷
|
2份
|
26页
|
47人阅读
|
0人下载
内容正文:
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第50卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷5——顺序结构与条件语句"范围和要求编写。具体内容为:掌握C#语言的流程控制语句——顺序结构语句:赋值语句、输入输出语句、复合语句;条件语句:if...else、switch...case
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷5——顺序结构与条件语句)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C#中,顺序结构的特点是()
A.按代码书写顺序依次执行 B.根据条件选择执行路径 C.重复执行某段代码 D.跳转到指定位置执行
2. C#中,以下关于顺序结构的描述,正确的是()
A.顺序结构中每条语句都会被执行 B.顺序结构中可以有条件跳过某些语句 C.顺序结构只能包含赋值语句 D.顺序结构必须包含循环语句
3. C#中,属于顺序结构语句的是()
A.if语句 B.赋值语句 C.while语句 D.goto语句
4. C#中,赋值语句的作用是()
A.比较两个值的大小 B.将右侧表达式的值存入左侧变量 C.判断条件是否成立 D.结束程序执行
5. C#中,Console.WriteLine()语句属于()
A.输入语句 B.输出语句 C.赋值语句 D.条件语句
6. C#中,Console.ReadLine()语句属于()
A.输入语句 B.输出语句 C.赋值语句 D.条件语句
7. C#中,用Console.ReadLine()读取输入后,通常需要使用()进行类型转换
A.Convert.ToInt32()或int.Parse() B.Console.Write() C.if语句 D.switch语句
8. C#中,复合语句是用()括起来的一组语句
A.方括号[] B.花括号{} C.圆括号() D.双引号""
9. C#中,以下关于复合语句的说法,正确的是()
A.复合语句就是多行注释 B.复合语句中的语句按顺序执行 C.复合语句必须有返回值 D.复合语句不能嵌套
10. C#中,if语句用于实现()
A.顺序结构 B.循环结构 C.选择结构(条件判断) D.跳转结构
11. C#中,if语句的条件表达式必须返回()
A.整数 B.字符串 C.bool类型 D.字符
12. C#中,if(condition)语句中,当condition为true时,()
A.执行if后的语句 B.跳过if后的语句 C.退出程序 D.进入else分支
13. C#中,if...else语句的基本语法格式是()
A.if(条件) {语句1} else {语句2} B.if{条件} then{语句} C.if:条件 then 语句 D.if条件 语句 else 语句
14. C#中,if...else if...else结构用于实现()
A.二选一 B.多选一 C.循环 D.跳转
15. C#中,多个else if的条件判断顺序是()
A.并行判断 B.按书写顺序依次判断,满足则执行 C.随机判断 D.从最后一个开始判断
16. C#中,else子句的作用是()
A.结束if语句 B.当所有if/else if条件都不满足时执行 C.跳过条件判断 D.进入下一次循环
17. C#中,判断一个数是否为正数(大于0),正确的条件表达式是()
A.x > 0 B.x < 0 C.x = 0 D.x != 0
18. C#中,判断一个数是否能被3整除的条件表达式是()
A.n % 3 = 0 B.n % 3 == 0 C.n / 3 == 0 D.n * 3 == 0
19. C#中,switch语句用于实现()
A.顺序结构 B.循环结构 C.多选一结构 D.递归调用
20. C#中,switch语句中,每个case后通常需要加()语句防止穿透
A.return B.break C.exit D.stop
二、填空题(共10空,每空1分,共10分)
21. C#中,顺序结构的核心是按________依次执行语句。
22. C#中,赋值语句的语法格式是:________ = 表达式。
23. C#中,Console.ReadLine()读取的输入默认是________类型。
24. C#中,复合语句是用________括起来的一组语句,用于将多个语句组合成一个整体。
25. C#中,if语句的条件表达式必须返回________类型的值。
26. C#中,if...else语句实现________选择结构,即“二选一”。
27. C#中,switch语句中,________关键字用于匹配表达式的值,执行对应的语句块。
28. C#中,switch语句中,________关键字用于表示所有case都不匹配时执行的语句块。
29. C#中,判断一个变量x是否在1到10之间(包含1和10),正确的条件表达式是________。
30. C#中,if语句的代码块如果只有一条语句,________(填“可以”或“不可以”)省略花括号。
三、判断题(共5题,每题2分,共10分)
31. C#中,顺序结构中可以包含输入输出语句和赋值语句。( )
32. C#中,Console.WriteLine()语句和Console.Write()语句的功能完全相同。( )
33. C#中,if语句的条件表达式可以返回整数类型的值。( )
34. C#中,switch语句的case后可以不写break语句。( )
35. C#中,else子句必须和if语句配对使用,不能单独出现。( )
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能(结合顺序结构与条件语句知识点)并写出运行结果。
using System;
class Program{
static void Main(){
// 顺序结构:输入、赋值、条件判断、输出
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
string result;
// if...else条件语句判断奇偶
if (num % 2 == 0)
{
result = "偶数";
}
else
{
result = "奇数";
}
Console.WriteLine("你输入的数是:" + result);
}
}
程序运行结果(假设输入15):___________________
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果(结合顺序结构与if语句知识点):
using System;
class Program{
static void Main(){
int a = 10, b = 20;
// 顺序执行赋值语句
int max = a;
// if条件语句判断最大值
if (b > max)
{
max = b;
}
Console.WriteLine("最大值是:" + max);
}
}
程序运行结果:___________________
38. 分析下面C#程序段的输出结果(结合switch语句知识点):
using System;
class Program{
static void Main(){
int score = 85;
char grade;
// switch语句判断成绩等级
switch (score / 10)
{
case 10:
case 9: grade = 'A';
break;
case 8: grade = 'B';
break;
case 7: grade = 'C';
break;
default: grade = 'D';
break;
}
Console.WriteLine("成绩等级:" + grade);
}
}
程序运行结果:___________________
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序用于判断一个数是否为正数、负数或0(结合if...else if...else语句),但有2处错误,请找出并改正:
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个整数:");
int num = Console.ReadLine(); // 错误1
if (num > 0)
{
Console.WriteLine("正数");
else // 错误2
if (num < 0)
{
Console.WriteLine("负数");
}
else
{
Console.WriteLine("0");
}
}
}
请找出程序中的错误,并写出正确答案。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序用于实现“输入两个整数,输出较大的数”(结合顺序结构与if语句),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入第一个整数:");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个整数:");
int b = Convert.ToInt32(Console.ReadLine());
int max;
// 顺序赋值,if条件判断最大值
if (a > b)
{
max = _____;
}
else
{
max = _____;
}
Console.WriteLine("较大的数是:" + max);
}
}
41. 下面程序用于根据输入的成绩,输出对应的等级(结合switch语句),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入成绩(0-100):");
int score = Convert.ToInt32(Console.ReadLine());
char grade;
switch (score / 10)
{
case 10:
case 9: grade = 'A';
break;
case 8: grade = 'B';
break;
case 7: grade = 'C';
break;
case 6: grade = 'D';
break;
_____: grade = 'E';
break;
}
Console.WriteLine("成绩等级:" + grade);
}
}
42. 下面程序用于判断一个整数是否能被2和3同时整除(结合if语句与逻辑运算符),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
// 判断是否能被2和3同时整除
if (num % 2 == 0 _____ num % 3 == 0)
{
Console.WriteLine(num + "能被2和3同时整除");
}
else
{
Console.WriteLine(num + "不能被2和3同时整除");
}
}
}
学科网(北京)股份有限公司
$
编写说明:河北省对口招生计算机类《考纲百套卷》,依据《河北省普通高等学校对口招生考试大纲(2028版专业课)计算机类》编写。本专辑涵盖9门课程,第一部分是专业核心模块训练卷,第二部分为各门课程的综合训练卷。本专辑共98份试卷。
本试卷是第50卷为专业核心模块训练卷,按《算法与程序设计》中"算法程序卷5——顺序结构与条件语句"范围和要求编写。具体内容为:掌握C#语言的流程控制语句——顺序结构语句:赋值语句、输入输出语句、复合语句;条件语句:if...else、switch...case
河北省对口招生职业技能考试
算法与程序设计 试卷
(算法程序卷5——顺序结构与条件语句)
考试时间:90分钟 满分:100分
一、单项选择题(共20题,每题2分,共40分)
1. C#中,顺序结构的特点是()
A.按代码书写顺序依次执行 B.根据条件选择执行路径 C.重复执行某段代码 D.跳转到指定位置执行
【答案】A
【解析】顺序结构是最基础的程序结构,核心特点是按代码书写的先后顺序,自上而下依次执行,无跳转、无选择、无重复;B选项是选择结构特点,C选项是循环结构特点,D选项是跳转结构特点。
2. C#中,以下关于顺序结构的描述,正确的是()
A.顺序结构中每条语句都会被执行 B.顺序结构中可以有条件跳过某些语句 C.顺序结构只能包含赋值语句 D.顺序结构必须包含循环语句
【答案】A
【解析】A选项正确,顺序结构无判断、无跳转,只要程序正常执行,每条语句都会按顺序执行;B选项是选择结构的特点,顺序结构无法条件跳过语句;C选项错误,顺序结构可包含赋值、输入输出等多种语句;D选项错误,顺序结构与循环结构是独立的两种结构,无需包含循环语句。
3. C#中,属于顺序结构语句的是()
A.if语句 B.赋值语句 C.while语句 D.goto语句
【答案】B
【解析】顺序结构语句包括赋值语句、输入输出语句、复合语句;A选项if语句是条件语句,C选项while语句是循环语句,D选项goto语句是跳转语句,均不属于顺序结构语句。
4. C#中,赋值语句的作用是()
A.比较两个值的大小 B.将右侧表达式的值存入左侧变量 C.判断条件是否成立 D.结束程序执行
【答案】B
【解析】赋值语句的核心作用是“赋值”,语法为“变量=表达式”,即将右侧表达式计算后的结果,存入左侧的变量中;A选项是关系运算符的作用,C选项是条件表达式的作用,D选项是return或Environment.Exit()的作用。
5. C#中,Console.WriteLine()语句属于()
A.输入语句 B.输出语句 C.赋值语句 D.条件语句
【答案】B
【解析】Console.WriteLine()用于将内容输出到控制台,属于顺序结构中的输出语句;A选项输入语句是Console.ReadLine(),C选项赋值语句是“变量=表达式”,D选项条件语句是if、switch等。
6. C#中,Console.ReadLine()语句属于()
A.输入语句 B.输出语句 C.赋值语句 D.条件语句
【答案】A
【解析】Console.ReadLine()用于读取用户从控制台输入的内容,属于顺序结构中的输入语句;B选项输出语句是Console.WriteLine()/Console.Write(),C、D选项与输入功能无关。
7. C#中,用Console.ReadLine()读取输入后,通常需要使用()进行类型转换
A.Convert.ToInt32()或int.Parse() B.Console.Write() C.if语句 D.switch语句
【答案】A
【解析】Console.ReadLine()读取的输入默认是string类型,若需要将其转换为整数(如int类型),需使用类型转换方法,如Convert.ToInt32()或int.Parse();B选项是输出语句,C、D选项是条件语句,均无法实现类型转换。
8. C#中,复合语句是用()括起来的一组语句
A.方括号[] B.花括号{} C.圆括号() D.双引号""
【答案】B
【解析】复合语句是将多个语句组合成一个整体,用花括号{}括起来,通常用于if、switch、循环等语句的代码块中;A选项方括号用于数组访问,C选项圆括号用于条件表达式或方法参数,D选项双引号用于字符串。
9. C#中,以下关于复合语句的说法,正确的是()
A.复合语句就是多行注释 B.复合语句中的语句按顺序执行 C.复合语句必须有返回值 D.复合语句不能嵌套
【答案】B
【解析】A选项错误,复合语句是可执行的语句组,多行注释是//或/* */,不执行;B选项正确,复合语句内部的语句遵循顺序结构,按书写顺序依次执行;C选项错误,复合语句无返回值;D选项错误,复合语句可以嵌套(如if语句的代码块中再包含复合语句)。
10. C#中,if语句用于实现()
A.顺序结构 B.循环结构 C.选择结构(条件判断) D.跳转结构
【答案】C
【解析】if语句是最基础的条件语句,核心功能是根据条件表达式的结果(true/false),选择执行不同的代码路径,属于选择结构;A选项顺序结构无需条件判断,B选项循环结构用while、for等,D选项跳转结构用goto等。
11. C#中,if语句的条件表达式必须返回()
A.整数 B.字符串 C.bool类型 D.字符
【答案】C
【解析】if语句的条件表达式用于判断“成立与否”,只能返回bool类型的值(true表示成立,false表示不成立);若返回其他类型(如整数、字符串),会出现编译错误。
12. C#中,if(condition)语句中,当condition为true时,()
A.执行if后的语句 B.跳过if后的语句 C.退出程序 D.进入else分支
【答案】A
【解析】if(condition)语句的执行规则:当condition(条件)为true时,执行if后面的语句(或复合语句);为false时,跳过该语句;C选项退出程序需专门语句,D选项else分支仅在if...else结构中存在。
13. C#中,if...else语句的基本语法格式是()
A.if(条件) {语句1} else {语句2} B.if{条件} then{语句} C.if:条件 then 语句 D.if条件 语句 else 语句
【答案】A
【解析】C#中if...else语句的标准语法的是:if(条件表达式) {满足条件时执行的语句块} else {不满足条件时执行的语句块};B、C、D选项均不符合C#语法规范(如then关键字不是C#关键字)。
14. C#中,if...else if...else结构用于实现()
A.二选一 B.多选一 C.循环 D.跳转
【答案】B
【解析】if...else if...else结构是多条件选择结构,按书写顺序依次判断每个条件,满足其中一个条件就执行对应的语句块,且只执行一个,实现“多选一”;A选项是if...else结构的功能,C选项是循环结构,D选项是跳转结构。
15. C#中,多个else if的条件判断顺序是()
A.并行判断 B.按书写顺序依次判断,满足则执行 C.随机判断 D.从最后一个开始判断
【答案】B
【解析】if...else if...else结构中,多个else if的条件判断遵循“顺序执行”原则,从第一个else if开始,依次判断条件,一旦有一个条件满足,就执行对应的语句块,后续的else if和else不再判断。
16. C#中,else子句的作用是()
A.结束if语句 B.当所有if/else if条件都不满足时执行 C.跳过条件判断 D.进入下一次循环
【答案】B
【解析】else子句是if...else或if...else if...else结构的可选部分,仅当前面所有的if、else if条件都不满足时,才会执行else后面的语句块;A选项结束if语句无需else,C选项与else功能无关,D选项是循环语句的功能。
17. C#中,判断一个数是否为正数(大于0),正确的条件表达式是()
A.x > 0 B.x < 0 C.x = 0 D.x != 0
【答案】A
【解析】“正数”的定义是大于0的数,对应的关系表达式为x > 0;B选项是判断负数,C选项是判断0,D选项是判断非0数。
18. C#中,判断一个数是否能被3整除的条件表达式是()
A.n % 3 = 0 B.n % 3 == 0 C.n / 3 == 0 D.n * 3 == 0
【答案】B
【解析】“能被3整除”表示n除以3的余数为0,取模运算符%用于计算余数,条件表达式应为n % 3 == 0;A选项用赋值运算符=,语法错误(条件表达式需用关系运算符);C选项表示n小于3,D选项表示n为0,均不符合要求。
19. C#中,switch语句用于实现()
A.顺序结构 B.循环结构 C.多选一结构 D.递归调用
【答案】C
【解析】switch语句是条件语句的一种,用于根据一个表达式的值,从多个选项中选择一个执行,属于“多选一”结构;A选项顺序结构无需条件,B选项循环结构用while、for等,D选项递归调用是方法自身调用自身。
20. C#中,switch语句中,每个case后通常需要加()语句防止穿透
A.return B.break C.exit D.stop
【答案】B
【解析】switch语句存在“穿透现象”:若case后不加break,执行完当前case的语句后,会继续执行下一个case的语句,直到遇到break或switch结束;因此每个case后通常加break语句,跳出switch结构;A选项return用于退出方法,C、D选项不是C#关键字
二、填空题(共10空,每空1分,共10分)
21. C#中,顺序结构的核心是按________依次执行语句。
【答案】代码书写顺序(或先后顺序)
【解析】顺序结构是最基础的程序结构,无跳转、无判断,核心特点是按照代码书写的先后顺序,自上而下依次执行每一条语句。
22. C#中,赋值语句的语法格式是:________ = 表达式。
【答案】变量
【解析】赋值语句的核心是“将右侧表达式的值赋给左侧变量”,语法格式为“变量=表达式”,左侧必须是可赋值的变量,不能是常量或表达式。
23. C#中,Console.ReadLine()读取的输入默认是________类型。
【答案】string(或字符串)
【解析】Console.ReadLine()的返回值是string类型,无论用户输入的是数字还是字符,读取后均为字符串,若需使用其他类型,需进行类型转换。
24. C#中,复合语句是用________括起来的一组语句,用于将多个语句组合成一个整体。
【答案】花括号(或{})
【解析】复合语句的定义:用花括号{}将多个语句括起来,形成一个语句块,通常用于if、switch等语句中,使代码结构更清晰。
25. C#中,if语句的条件表达式必须返回________类型的值。
【答案】bool(或布尔)
【解析】if语句的条件表达式用于判断“成立与否”,只能返回bool类型(true表示成立,false表示不成立),否则会出现编译错误。
26. C#中,if...else语句实现________选择结构,即“二选一”。
【答案】双分支(或二元)
【解析】if...else语句有两个分支:if分支(条件成立时执行)和else分支(条件不成立时执行),只能选择其中一个执行,属于双分支选择结构。
27. C#中,switch语句中,________关键字用于匹配表达式的值,执行对应的语句块。
【答案】case
【解析】switch语句的语法中,case关键字用于指定“匹配值”,当switch后的表达式的值与case后的 value 相等时,执行该case对应的语句块。
28. C#中,switch语句中,________关键字用于表示所有case都不匹配时执行的语句块。
【答案】default
【解析】default是switch语句的可选部分,当switch表达式的值与所有case的value都不匹配时,执行default后的语句块,类似于if...else结构中的else。
29. C#中,判断一个变量x是否在1到10之间(包含1和10),正确的条件表达式是________。
【答案】x >= 1 && x <= 10
【解析】“x在1到10之间(包含1和10)”表示x大于等于1,并且x小于等于10,需用逻辑与运算符&&连接两个关系表达式,形成完整的条件表达式。
30. C#中,if语句的代码块如果只有一条语句,________(填“可以”或“不可以”)省略花括号。
【答案】可以
【解析】if语句的代码块,若只有一条执行语句,可省略花括号,此时该语句即为if条件成立时执行的语句;若有多条语句,则必须加花括号组成复合语句。
三、判断题(共5题,每题2分,共10分)
31. C#中,顺序结构中可以包含输入输出语句和赋值语句。( )
【答案】√
【解析】顺序结构的语句包括赋值语句、输入输出语句、复合语句等,因此顺序结构中可以包含输入输出语句和赋值语句,该说法正确。
32. C#中,Console.WriteLine()语句和Console.Write()语句的功能完全相同。( )
【答案】×
【解析】两者均为输出语句,但有区别:Console.WriteLine()输出内容后会自动换行,Console.Write()输出内容后不换行,因此功能不完全相同。
33. C#中,if语句的条件表达式可以返回整数类型的值。( )
【答案】×
【解析】if语句的条件表达式必须返回bool类型(true/false),返回整数类型会出现编译错误,因此该说法错误。
34. C#中,switch语句的case后可以不写break语句。( )
【答案】√
【解析】break语句是可选的,若case后不写break,会出现“穿透现象”,即执行完当前case后,继续执行下一个case的语句,因此可以不写,但通常为了避免穿透,会加上break。
35. C#中,else子句必须和if语句配对使用,不能单独出现。( )
【答案】√
【解析】else子句的作用是当if条件不满足时执行,依赖于if语句存在,不能单独出现,必须与if语句配对使用,因此该说法正确。
四、程序分析题(共1题,每题10分,共10分)
36. 阅读下面的C#程序,分析其功能(结合顺序结构与条件语句知识点)并写出运行结果。
using System;
class Program{
static void Main(){
// 顺序结构:输入、赋值、条件判断、输出
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
string result;
// if...else条件语句判断奇偶
if (num % 2 == 0)
{
result = "偶数";
}
else
{
result = "奇数";
}
Console.WriteLine("你输入的数是:" + result);
}
}
程序运行结果(假设输入15):___________________
【答案】请输入一个整数:15;你输入的数是:奇数(或分行输出对应内容)
【解析】程序功能:通过顺序结构的输入语句(Console.ReadLine())读取用户输入的整数,通过赋值语句定义变量,再通过if...else条件语句判断该数是奇数还是偶数,最后通过输出语句显示结果。
运算过程:1. 提示用户输入整数,用户输入15;2. 将输入的字符串转换为int类型,赋值给num(num=15);3. 判断num%2==0(15%2=1≠0),条件为false,执行else分支,result赋值为"奇数";4. 输出结果“你输入的数是:奇数”。
五、写运行结果题(共2题,每题5分,共10分)
37. 分析下面C#程序段的输出结果(结合顺序结构与if语句知识点):
using System;
class Program{
static void Main(){
int a = 10, b = 20;
// 顺序执行赋值语句
int max = a;
// if条件语句判断最大值
if (b > max)
{
max = b;
}
Console.WriteLine("最大值是:" + max);
}
}
程序运行结果:___________________
【答案】最大值是:20
【解析】核心考点是顺序结构与if语句的结合:1. 顺序执行赋值语句,a=10、b=20,将a的值赋给max(max=10);2. if条件判断b>max(20>10),条件为true,执行代码块,将b的值赋给max(max=20);3. 输出max的值,即20。
38. 分析下面C#程序段的输出结果(结合switch语句知识点):
using System;
class Program{
static void Main(){
int score = 85;
char grade;
// switch语句判断成绩等级
switch (score / 10)
{
case 10:
case 9: grade = 'A';
break;
case 8: grade = 'B';
break;
case 7: grade = 'C';
break;
default: grade = 'D';
break;
}
Console.WriteLine("成绩等级:" + grade);
}
}
程序运行结果:___________________
【答案】成绩等级:B
【解析】核心考点是switch语句的使用:1. score=85,score/10=8(整数整除);2. switch表达式的值为8,匹配case 8,将grade赋值为'B',执行break跳出switch;3. 输出grade的值,即'B'。
六、程序改错题(共1题,每题5分,共5分)
39. 下面程序用于判断一个数是否为正数、负数或0(结合if...else if...else语句),但有2处错误,请找出并改正:
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个整数:");
int num = Console.ReadLine(); // 错误1
if (num > 0)
{
Console.WriteLine("正数");
else // 错误2
if (num < 0)
{
Console.WriteLine("负数");
}
else
{
Console.WriteLine("0");
}
}
}
请找出程序中的错误,并写出正确答案。
【答案】
错误1:Console.ReadLine()读取的是string类型,直接赋值给int类型变量num,缺少类型转换,会出现编译错误;
错误2:if语句的代码块结束后,else关键字前缺少花括号闭合,语法错误;
正确程序:
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine()); // 改正1:添加类型转换
if (num > 0)
{
Console.WriteLine("正数");
} // 改正2:添加花括号闭合if代码块
else if (num < 0)
{
Console.WriteLine("负数");
}
else
{
Console.WriteLine("0");
}
}
}
【解析】1. 错误1核心:类型不匹配,需用Convert.ToInt32()将string类型转换为int类型,才能赋值给num;2. 错误2核心:C#语法要求,if代码块用花括号闭合后,才能写else关键字,否则会出现语法错误。
七、程序填空题(共3题,每题5分,共15分)
40. 下面程序用于实现“输入两个整数,输出较大的数”(结合顺序结构与if语句),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入第一个整数:");
int a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入第二个整数:");
int b = Convert.ToInt32(Console.ReadLine());
int max;
// 顺序赋值,if条件判断最大值
if (a > b)
{
max = _____;
}
else
{
max = _____;
}
Console.WriteLine("较大的数是:" + max);
}
}
【答案】a;b
【解析】核心考点是if...else语句与赋值语句的结合:1. 当a > b(条件成立)时,max应赋值为a(较大的数);2. 当a ≤ b(条件不成立)时,max应赋值为b(较大的数);最终输出max的值,即两个数中较大的数。
41. 下面程序用于根据输入的成绩,输出对应的等级(结合switch语句),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入成绩(0-100):");
int score = Convert.ToInt32(Console.ReadLine());
char grade;
switch (score / 10)
{
case 10:
case 9: grade = 'A';
break;
case 8: grade = 'B';
break;
case 7: grade = 'C';
break;
case 6: grade = 'D';
break;
_____: grade = 'E';
break;
}
Console.WriteLine("成绩等级:" + grade);
}
}
【答案】default
【解析】核心考点是switch语句中default的用法:switch语句中,case用于匹配具体的值(score/10的结果),default用于匹配所有case都不匹配的情况(即score/10 < 6,对应成绩0-59分),此时等级为'E'。
42. 下面程序用于判断一个整数是否能被2和3同时整除(结合if语句与逻辑运算符),请填写空白处:
using System;
class Program
{
static void Main()
{
Console.Write("请输入一个整数:");
int num = Convert.ToInt32(Console.ReadLine());
// 判断是否能被2和3同时整除
if (num % 2 == 0 _____ num % 3 == 0)
{
Console.WriteLine(num + "能被2和3同时整除");
}
else
{
Console.WriteLine(num + "不能被2和3同时整除");
}
}
}
【答案】&&(或逻辑与)
【解析】核心考点是逻辑运算符的应用:“能被2和3同时整除”表示两个条件必须同时成立(能被2整除 AND 能被3整除),因此需用逻辑与运算符&&连接两个条件表达式(num%2==0和num%3==0),只有两者都为true时,if条件才成立。
学科网(北京)股份有限公司
$