专题四 控制结构(练习)-《算法与程序设计--C#》(河北科学技术出版社)高考备考讲练测(河北省)

2025-08-27
| 2份
| 16页
| 184人阅读
| 2人下载

内容正文:

专题四 控制结构 一:单选题 1:下列关于赋值语句的说法,正确的是( ) A. 赋值语句中,等号左边可以是常量,如5 = x; B. 一条赋值语句可以同时给多个变量赋值,如a = b = 10; C. 赋值运算符=的优先级高于算术运算符 D. 赋值语句的作用是判断等号两边的值是否相等 2:执行以下代码时,如果用户输入 "10",则变量num的值是( ) Console.WriteLine("请输入一个数字:"); string input = Console.ReadLine(); int num = int.Parse(input); A. "10" B. 10 C. 0 D. 编译错误 3:执行以下代码后,输出结果是( ) int a = 2, b = 3; if (a > b) Console.WriteLine("a大"); if (a < b) Console.WriteLine("b大"); else Console.WriteLine("相等"); A. a 大 B. b 大 C. 相等 D. b 大 相等 4:下列代码的循环执行次数是( ) for (int i = 2; i <= 10; i += 2) { // 循环体 } A. 4 次 B. 5 次 C. 6 次 D. 10 次 5:下列关于switch语句的说法错误的是( ) A. switch语句中的case标签后面必须是常量表达式 B. switch语句可以根据一个变量的值来选择执行不同的代码块 C. switch语句中default部分是必须的 D. switch语句中case的顺序可以任意排列 6: 以下关于 for 循环的说法不正确的是( )。 A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先判定表达式,后执行循环体语句 C.for 循环中,可以用 break语句跳出循环体 D.for 循环体语句中,可以包含多条语句,但要用花括号括起来 7:在C#中,关于continue和break,以下说法正确的是( ) A break是中断本次循环 B continue是中断本次循环,进入一下次的循环 C break是中断本次循环,进入一下次的循环 D continue是中断整个循环 8: 下列关于 while 循环的说法,正确的是( ) A. while 循环的条件表达式可以是任意数据类型 B. while 循环体至少会执行一次 C. while 循环适合已知循环次数的场景 D. 可以在循环体内使用break语句终止循环 9: 在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( ) A.while循环 B.do…while循环 C.for循环 D.foreach循环 10: switch 语句的 default 分支的作用是( ) A. 必须放在最后 B. 当所有 case 不匹配时执行 C. 必须包含 break D. 只能有一个 二:判断题 1: 顺序结构中,代码必须一行写一条语句,不能多行合并。( ) 2: 顺序结构是所有程序的基础,任何复杂程序都包含顺序执行的部分。( ) 3: else语句总是与距离它最近的未配对if语句配对。( ) 4: 当if语句的分支只有一条语句时,大括号{}可以省略。( ) 5: IF语句的条件可以是任何类型的数据。( ) 6: for 循环的三个表达式(初始化、条件、更新)都可以省略。( ) 7: for 循环中,循环体至少会执行一次。( ) 8: break 语句可以用于立即退出任何类型的循环。( ) 三:填空题 1:程序的三种基本结构是顺序结构、________和_________。 2:_________结构中,每条语句的执行不受条件影响。 3:若要判断整数x是否为偶数,if语句的条件表达式应写为______。 4:在C#中,通常情况下使用______语句来跳出当前循环。 5.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成______ 6.若要在 switch 语句中实现多个 case 执行相同操作,可省略______。 7.若要在 for 循环中跳过某次循环,直接进入下一次循环,应使用 ____ 语句。 8.若要使用 for 循环计算 1 到 10 的整数和,循环体中需要使用一个变量来累加,该变量的初始值应该为 ____。 四:程序读程题 1.执行以下代码后,输出结果是________ int score = 85; if (score > 90) { Console.WriteLine("优秀"); } else if (score > 80) { Console.WriteLine("良好"); } else { Console.WriteLine("及格"); } 2. 执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int result = 0; for (int i = 1; i <= 5; i++) { if (i % 2 == 0) continue; for (int j = i; j <= 3; j++) { result += i * j; if (result > 10) break; } } Console.WriteLine(result); Console.ReadKey(); } } 3. 执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int sum = 0; int num = 1; while (num <= 10) { if (num % 3 == 0) { num++; continue; } if (num == 7) { num = 9; break; } sum += num; num++; } Console.WriteLine(sum); Console.ReadKey(); } } 4.执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int a = 0; int b = 0; for (int i = 1; i <= 5; i++) { if (i % 2 == 0) { a += i; continue; } do { b += i; if (b > 5) break; i++; } while (i < 4); } Console.WriteLine("a={0}, b={1}", a, b); Console.ReadKey(); } } 五:程序填空题 1.以下代码用于判断年份是否为闰年(能被 4 整除且不能被 100 整除,或能被 400 整除),请补充条件: int year = 2024; if (______) Console.WriteLine("闰年"); else Console.WriteLine("平年"); 2.下列程序功能:在控制台打印九九乘法表 static void Main(string[] args) { for (int i = 1; _______ i++) { for (int j = 1; ________ j++) { Console.Write("{0}×{1}={2}\t", i, j, i * j); } Console.WriteLine(); } } 学科网(北京)股份有限公司 $$ 专题四 控制结构 一:单选题 1:下列关于赋值语句的说法,正确的是( ) A. 赋值语句中,等号左边可以是常量,如5 = x; B. 一条赋值语句可以同时给多个变量赋值,如a = b = 10; C. 赋值运算符=的优先级高于算术运算符 D. 赋值语句的作用是判断等号两边的值是否相等 【答案】B 【解析】C# 支持链式赋值,a = b = 10;等价于b = 10; a = b; 2:执行以下代码时,如果用户输入 "10",则变量num的值是( ) Console.WriteLine("请输入一个数字:"); string input = Console.ReadLine(); int num = int.Parse(input); A. "10" B. 10 C. 0 D. 编译错误 【答案】B 【解析】Console.ReadLine()用于读取用户输入的一行文本,返回值是 string 类型,int.Parse(input)将字符串 "10" 转换为整数 10。 3:执行以下代码后,输出结果是( ) int a = 2, b = 3; if (a > b) Console.WriteLine("a大"); if (a < b) Console.WriteLine("b大"); else Console.WriteLine("相等"); A. a 大 B. b 大 C. 相等 D. b 大 相等 【答案】B 【解析】第一个if条件a > b为false,不输出;第二个if条件a < b为true,输出 “b 大”,else不执行。 4:下列代码的循环执行次数是( ) for (int i = 2; i <= 10; i += 2) { // 循环体 } A. 4 次 B. 5 次 C. 6 次 D. 10 次 【答案】B 【解析】执行时i的值依次为:2、4、6、8、10(共 5 次) 5:下列关于switch语句的说法错误的是( ) A. switch语句中的case标签后面必须是常量表达式 B. switch语句可以根据一个变量的值来选择执行不同的代码块 C. switch语句中default部分是必须的 D. switch语句中case的顺序可以任意排列 【答案】C 【解析】switch语句中的 default可以省略。 6: 以下关于 for 循环的说法不正确的是( )。 A.for 循环只能用于循环次数已经确定的情况 B.for 循环是先判定表达式,后执行循环体语句 C.for 循环中,可以用 break语句跳出循环体 D.for 循环体语句中,可以包含多条语句,但要用花括号括起来 【答案】A 【解析】For循环也可以用于循环次数不确定的情况。 7:在C#中,关于continue和break,以下说法正确的是( ) A break是中断本次循环 B continue是中断本次循环,进入一下次的循环 C break是中断本次循环,进入一下次的循环 D continue是中断整个循环 【答案】B 【解析】break是结束循环,continue是结束本次循环,执行下一次循环。 8: 下列关于 while 循环的说法,正确的是( ) A. while 循环的条件表达式可以是任意数据类型 B. while 循环体至少会执行一次 C. while 循环适合已知循环次数的场景 D. 可以在循环体内使用break语句终止循环 【答案】D 【解析】while 循环的条件表达式必须是bool类型;while 循环先判断条件,若初始条件为false,循环体一次也不执行;while 循环适合未知循环次数、仅知道终止条件的场景; 9: 在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( ) A.while循环 B.do…while循环 C.for循环 D.foreach循环 【答案】B 【解析】do..while语句是先执行循环体再判断条件。 10: switch 语句的 default 分支的作用是( ) A. 必须放在最后 B. 当所有 case 不匹配时执行 C. 必须包含 break D. 只能有一个 【答案】B 【解析】default 是默认分支,处理未匹配的情况。. 二:判断题 1: 顺序结构中,代码必须一行写一条语句,不能多行合并。( ) 【答案】× 【解析】C# 允许在同一行写多条语句,用分号;分隔即可。 2: 顺序结构是所有程序的基础,任何复杂程序都包含顺序执行的部分。( ) 【答案】√ 【解析】无论程序包含多少选择结构(if)、循环结构(for)或其他复杂逻辑,其内部的基本执行单元仍是顺序结构。 3: else语句总是与距离它最近的未配对if语句配对。( ) 【答案】√ 【解析】If语句中的else语句与离它最近的未配对的if语句配对。 4: 当if语句的分支只有一条语句时,大括号{}可以省略。( ) 【答案】√ 【解析】C# 允许省略单语句分支的大括号。 5: IF语句的条件可以是任何类型的数据。( ) 【答案】× 【解析】 IF语句的条件必须是一个布尔表达式,即结果为true或false。 6: for 循环的三个表达式(初始化、条件、更新)都可以省略。( ) 【答案】√ 【解析】for 循环的语法为for(表达式1; 表达式2; 表达式3),三个表达式均可省略。 7: for 循环中,循环体至少会执行一次。( ) 【答案】× 【解析】for 循环先判断条件,再决定是否执行循环体。如果初始条件就不满足,循环体一次也不会执行。 8: break 语句可以用于立即退出任何类型的循环。( ) 【答案】√ 【解析】break 语句可以用于立即退出 for、while、do-while。 三:填空题 1:程序的三种基本结构是顺序结构、________和_________。 【答案】选择结构(或分支结构);循环结构 【解析】三种基本结构为:顺序结构、选择结构、循环结构。 2:_________结构中,每条语句的执行不受条件影响。 【答案】顺序 【解析】顺序结构中,每条语句的执行不受条件影响,按照顺序依次执行. 3:若要判断整数x是否为偶数,if语句的条件表达式应写为______。 【答案】x % 2 == 0 【解析】偶数能被 2 整除,取余运算x % 2结果为 0,因此条件为x % 2 == 0。 4:在C#中,通常情况下使用______语句来跳出当前循环。 【答案】break 【解析】break用于结束本层循环。 5.在while循环语句中,一定要有修改循环条件的语句,否则,可能造成______ 【答案】死循环 【解析】在循环中,若没有改变循环的条件,循环会造成死循环。 6.若要在 switch 语句中实现多个 case 执行相同操作,可省略______。 【答案】break 【解析】switch 语句中实现多个 case 执行相同操作省略break,为穿透现象。 7.若要在 for 循环中跳过某次循环,直接进入下一次循环,应使用 ____ 语句。 【答案】continue 【解析】continue用于结束本次循环,进入下一次循环。 8.若要使用 for 循环计算 1 到 10 的整数和,循环体中需要使用一个变量来累加,该变量的初始值应该为 ____。 【答案】0 【解析】求和的初值应设置为0. 四:程序读程题 1.执行以下代码后,输出结果是________ int score = 85; if (score > 90) { Console.WriteLine("优秀"); } else if (score > 80) { Console.WriteLine("良好"); } else { Console.WriteLine("及格"); } 【答案】良好 2. 执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int result = 0; for (int i = 1; i <= 5; i++) { if (i % 2 == 0) continue; for (int j = i; j <= 3; j++) { result += i * j; if (result > 10) break; } } Console.WriteLine(result); Console.ReadKey(); } } 【答案】15 3. 执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int sum = 0; int num = 1; while (num <= 10) { if (num % 3 == 0) { num++; continue; } if (num == 7) { num = 9; break; } sum += num; num++; } Console.WriteLine(sum); Console.ReadKey(); } } 【答案】12 4.执行以下代码后,输出结果是______。 class Program { static void Main(string[] args) { int a = 0; int b = 0; for (int i = 1; i <= 5; i++) { if (i % 2 == 0) { a += i; continue; } do { b += i; if (b > 5) break; i++; } while (i < 4); } Console.WriteLine("a={0}, b={1}", a, b); Console.ReadKey(); } } 【答案】a=4,b=11 【解析】 五:程序填空题 1.以下代码用于判断年份是否为闰年(能被 4 整除且不能被 100 整除,或能被 400 整除),请补充条件: int year = 2024; if (______) Console.WriteLine("闰年"); else Console.WriteLine("平年"); 【答案】 (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) 2.下列程序功能:在控制台打印九九乘法表 static void Main(string[] args) { for (int i = 1; _______ i++) { for (int j = 1; ________ j++) { Console.Write("{0}×{1}={2}\t", i, j, i * j); } Console.WriteLine(); } } 【答案】 i <= 9; j <= i; 学科网(北京)股份有限公司 $$

资源预览图

专题四 控制结构(练习)-《算法与程序设计--C#》(河北科学技术出版社)高考备考讲练测(河北省)
1
专题四 控制结构(练习)-《算法与程序设计--C#》(河北科学技术出版社)高考备考讲练测(河北省)
2
专题四 控制结构(练习)-《算法与程序设计--C#》(河北科学技术出版社)高考备考讲练测(河北省)
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。