内容正文:
举一反三考点练
《算法与程序设计-C#》控制结构-讲义
1. 掌握顺序结构
2. 掌握分支结构之if...else语句
3. 掌握分支结构之switch...case语句
知识点一 顺序结构
1.顺序结构定义:顺序结构是程序中最基本的结构形式,程序中的语句按照出现的顺序依次执行,每条语句只执行一次,没有重复执行或跳过不执行的情况,是一种线性的执行流程。
2.顺序结构的实现:
(1)赋值语句:是顺序结构中常见的语句类型,用于将数据赋给变量,以便在后续的程序中使用。其语法格式为“变量名=表达式”,例如int A=26;,将数值26赋值给整型变量A。赋值运算符“=”具有方向性,只能将右侧的值赋给左侧的变量。
(2)输入语句:用于从用户获取数据,常见的有Console.Read()和Console.ReadLine()。Console.Read()返回用户输入数据的首字符的ASCII码值,如用户输入“abcd”,则返回字符“a”的ASCII码;Console.ReadLine()则将用户输入的一行信息以字符串形式返回,如用户输入“早上好,认真学习”,则返回该字符串。此外,Console.ReadKey()可用于暂停程序,等待用户按下任意键后继续执行,方便用户查看程序运行结果。
(3)输出语句:用于将程序中的数据输出显示给用户,主要有Console.WriteLine()和Console.Write()。Console.WriteLine()输出后会自动换行,而Console.Write()输出后不会自动换行。此外,还可以通过加运算或占位符输出包含变量的字符串,如Console.WriteLine("你好,我叫"+name+"我今年"+age+"岁。")或Console.WriteLine("你好,我叫{0}我今年{1}岁。",name,age)。
(4)复合语句:在顺序结构中,可以将多个语句组合成一个复合语句,通过复合赋值运算符实现对变量的连续操作,如d=a*=b+=c;,先计算b+=c,再计算a*=b,最后将结果赋值给d。
(填空题)赋值语句的语法格式为“变量名=表达式”,其中“=”具有____________性。
【答案】方向
【解析】赋值语句的语法格式为“变量名=表达式”,其中“=”具有方向性,只能将右侧的值赋给左侧的变量。
【要点】考查对赋值语句语法的理解。
1.(单项选择题)以下关于顺序结构的实现方式,正确的是( )
A. 赋值语句用于将数据赋给变量 B. 输入语句用于从用户获取数据
C. 输出语句用于将程序中的数据输出显示给用户 D. 以上说法都正确
【答案】D
【解析】顺序结构的实现方式包括赋值语句、输入语句和输出语句。赋值语句用于将数据赋给变量;输入语句用于从用户获取数据;输出语句用于将程序中的数据输出显示给用户。
【要点】考查对顺序结构实现方式的理解。
2.(单项选择题)以下关于Console.WriteLine()和Console.Write()的说法正确的是( )
A. Console.WriteLine()输出后会自动换行
B. Console.Write()输出后不会自动换行
C. Console.WriteLine()和Console.Write()都可以通过加运算或占位符输出包含变量的字符串
D. 以上说法都正确
【答案】D
【解析】Console.WriteLine()输出后会自动换行;Console.Write()输出后不会自动换行;Console.WriteLine()和Console.Write()都可以通过加运算或占位符输出包含变量的字符串。
【要点】考查对Console.WriteLine()和Console.Write()的理解。
3.(单项选择题)以下关于顺序结构的描述,正确的是( )
A. 顺序结构是程序中最基本的结构形式 B. 顺序结构的程序语句按照出现的顺序依次执行
C. 顺序结构的每条语句只执行一次 D. 以上说法都正确
【答案】D
【解析】顺序结构是程序中最基本的结构形式,程序中的语句按照出现的顺序依次执行,每条语句只执行一次。
【要点】考查对顺序结构的综合理解。
1.(判断题)顺序结构是程序中最基本的结构形式,程序中的语句按照出现的顺序依次执行( )
【答案】√
【解析】顺序结构是程序中最基本的结构形式,程序中的语句按照出现的顺序依次执行。
【要点】考查对顺序结构定义的理解。
2.(判断题)赋值语句的语法格式为“变量名=表达式”,其中“=”具有方向性( )
【答案】√
【解析】赋值语句的语法格式为“变量名=表达式”,其中“=”具有方向性,只能将右侧的值赋给左侧的变量。
【要点】考查对赋值语句语法的理解。
3.(填空题)Console.Read()返回用户输入数据的首字符的____________码值。
【答案】ASCII
【解析】Console.Read()返回用户输入数据的首字符的ASCII码值。
【要点】考查对Console.Read()的理解。
· 定义:程序语句依次执行,无重复或跳过。
· 实现:
赋值语句:变量名=表达式,如int A=26;。
输入语句:Console.Read()返回首字符ASCII码;Console.ReadLine()返回输入字符串;Console.ReadKey()暂停程序。
输出语句:Console.WriteLine()自动换行输出;Console.Write()不换行输出;可通过加运算或占位符输出含变量的字符串。
复合语句:如d=a*=b+=c;,先计算b+=c,再a*=b,最后赋值给d。
知识点二 分支结构之if...else语句
1.if...else语句定义:if...else语句是一种基本的分支结构,用于根据条件的真假值来选择执行不同的语句。其语法格式为“if(条件表达式) 语句1; else 语句2;”,如果条件表达式的结果为true,则执行语句1;如果条件表达式的结果为false,则执行语句2。
2.if...else语句的流程:首先计算条件表达式的值,根据结果决定执行哪一条分支语句。其流程可以用流程图表示,从判断条件开始,根据条件的真假分别指向不同的执行路径。
3.if...else语句的嵌套:if...else语句可以进行嵌套使用,即在一个if...else语句的语句块中再包含另一个if...else语句。C#中规定else与最近的、没有else与之匹配的if进行匹配。
4.if...else语句的应用示例:例如,编写一个程序判断用户输入的X值是否为偶数。程序先提示用户输入X的值,然后通过int x=int.Parse(Console.ReadLine());获取用户输入的整数值,接着使用if...else语句进行判断,if(x%2==0)Console.WriteLine(x+"是偶数");else Console.WriteLine("{0}不是偶数",x);,根据X值是否能被2整除来输出相应的结果。
(填空题)在C#中,if...else语句的else部分是____________的。
【答案】可选
【解析】if...else语句的else部分是可选的。
【要点】考查if...else语句的结构。
1.(单项选择题)在C#中,以下程序段的输出结果是( )
int x = 10;
if (x > 5)
Console.WriteLine("大于5");
if (x < 15)
Console.WriteLine("小于15");
A. 大于5 B. 小于15 C. 大于5 D. 无输出
【答案】C
【解析】x = 10,10 > 5,输出“大于5”;10 < 15,输出“小于15”。
【要点】考查多个if语句的独立执行。
2.(单项选择题)在C#中,以下程序段的输出结果是( )
int x = 10;
if (x > 5)
if (x < 15)
Console.WriteLine("在5和15之间");
else
Console.WriteLine("小于5");
A. 在5和15之间 B. 小于5 C. 无输出 D. 编译错误
【答案】A
【解析】x = 10,10 > 5,进入第一个if,10 < 15,进入第二个if,输出“在5和15之间”。
【要点】考查if...else语句的嵌套使用。
3.(单项选择题)在C#中,以下程序段的输出结果是( )
int x = 5;
if (x > 10)
Console.WriteLine("大于10");
else if (x > 5)
Console.WriteLine("大于5");
else
Console.WriteLine("小于等于5");
A. 大于10 B. 大于5 C. 小于等于5 D. 无输出
【答案】C
【解析】x = 5,5 > 10为false,进入else if,5 > 5为false,进入else,输出“小于5”。
【要点】考查if...else if...else语句的执行顺序。
1.(判断题)在C#中,if...else语句的条件表达式必须是布尔类型( )
【答案】√
【解析】if...else语句的条件表达式必须是布尔类型。
【要点】考查if...else语句的条件表达式类型。
2.(判断题)在C#中,if...else语句可以嵌套使用( )
【答案】√
【解析】if...else语句可以嵌套使用。
【要点】考查if...else语句的嵌套使用。
3.(填空题)在C#中,if...else语句用于根据____________的真假值选择执行不同的语句。
【答案】条件表达式
【解析】if...else语句用于根据条件表达式的真假值选择执行不同的语句。
【要点】考查if...else语句的基本概念。
· 定义:根据条件真假选择执行不同语句。
· 流程:计算条件表达式,根据结果执行相应分支。
· 嵌套:可嵌套使用,else与最近未匹配的if匹配。
· 应用示例:判断X是否偶数,if(x%2==0)Console.WriteLine(x+"是偶数");else Console.WriteLine("{0}不是偶数",x);。
知识点三 分支结构之switch...case语句
1.switch...case语句定义:switch...case语句是一种多分支结构,适用于有多种选择的情况。其语法格式为“switch(表达式){case 常量表达式1:语句1;case 常量表达式2:语句2;...case 常量表达式n:语句n+1;default:语句n+1;}”,先计算表达式的值,然后按顺序在case中选择与之相匹配的常量表达式,执行对应的语句;如果没有匹配的case,则执行default对应的语句;如果没有default语句,则执行该分支结构之后的语句。
2.switch...case语句的流程:其流程图表示了从计算表达式的值开始,依次与各个case的常量表达式进行比较,找到匹配的case后执行相应的语句,若没有匹配的case,则执行default语句或后续语句。
3.switch...case语句的特点:
(1)在每个case块(包括default块)之后,通常需要有一个跳转语句,如break,以避免程序继续执行后续的case块。但当case语句中没有代码时,可以不包含跳转语句,这种情况下可用于一次判断多个条件,如果满足这些条件中的任何一个,就会执行后面的代码。
(2)switch语句中的表达式和case中的常量表达式的数据类型必须匹配或兼容。
4.switch...case语句的应用示例:例如,编写一个程序根据用户输入的成绩判断等级。程序先提示用户输入成绩,然后通过int cj=Convert.ToInt16(Console.ReadLine());获取用户输入的成绩值,接着使用switch...case语句进行判断,switch(cj/10){case 10:...case 9:...case 8:...case 7:...case 6:...default:...},根据成绩的范围输出对应的等级,如满分、优秀、良好、及格、不及格等。
(填空题)在switch...case语句中,每个case块后通常需要有一个____________语句,如break。
【答案】跳转
【解析】在switch...case语句中,每个case块后通常需要有一个跳转语句,如break,以避免程序继续执行后续的case块。
【要点】考查对switch...case语句中跳转语句的使用。
1.(单项选择题)在C#中,以下switch...case语句的输出结果是( )
int x = 1;
switch (x)
{
case 1:
Console.WriteLine("One ");
case 2:
Console.WriteLine("Two ");
case 3:
Console.WriteLine("Three ");
break;
default:
Console.WriteLine("Default");
break;
}
A. One B. One Two C. One Two Three D. One Two Three Default
【答案】C
【解析】变量x的值为1,匹配case 1,输出"One"。由于case 1后面没有break语句,程序会继续执行后续的case块,输出"Two"和"Three"。
【要点】考查对switch...case语句中fall-through行为的理解。
2.(单项选择题)在C#中,以下switch...case语句的输出结果是( )
int x = 4;
switch (x)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
default:
Console.WriteLine("Default");
break;
}
A. One B. Two C. Three D. Default
【答案】D
【解析】变量x的值为4,没有匹配的case,因此会执行default块,输出"Default"。
【要点】考查对switch...case语句中default块的作用的理解。
3.(单项选择题)在C#中,以下switch...case语句的输出结果是( )
int x = 2;
switch (x)
{
case 1:
Console.WriteLine("One");
break;
case 2:
Console.WriteLine("Two");
break;
case 3:
Console.WriteLine("Three");
break;
default:
Console.WriteLine("Default");
break;
}
A. One B. Two C. Three D. Default
【答案】B
【解析】变量x的值为2,匹配case 2,输出"Two"。
【要点】考查对switch...case语句执行流程的理解。
1.(判断题)在C#中,switch...case语句中的case块可以没有break语句( )
【答案】√
【解析】在C#中,switch...case语句中的case块可以没有break语句,但通常需要有跳转语句,如break,以避免程序继续执行后续的case块。如果case语句中没有代码,可以不包含跳转语句。
【要点】考查对switch...case语句中break语句的使用。
2.(判断题)在C#中,switch...case语句中的default块是必须的( )
【答案】×
【解析】在C#中,switch...case语句中的default块不是必须的,但如果没有default块,当没有匹配的case时,程序会执行switch语句之后的代码。
【要点】考查对switch...case语句中default块的使用。
3.(填空题)switch...case语句中的表达式和case中的常量表达式的数据类型必须____________或____________。
【答案】匹配,兼容
【解析】switch...case语句中的表达式和case中的常量表达式的数据类型必须匹配或兼容。
【要点】考查对switch...case语句中数据类型匹配的要求。
· 定义:多分支结构,适用于多种选择。
· 流程:计算表达式值,匹配case执行语句,无匹配则执行default或后续语句。
· 特点:case后通常需break;表达式与case常量表达式类型需匹配或兼容;无代码的case可无跳转语句。
· 应用示例:根据成绩判断等级,switch(cj/10){case 10:...case 9:...case 8:...case 7:...case 6:...default:...}。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$