5.6 就业面试技巧与解析
流程控制是程序的基本问题。通过流程控制,编程者可以完成业务逻辑和模块的整合等。在C#语言中,程序的基本结构分为顺序、循环、分支、跳转等,在编程的时候,通过判断、分支和循环来对程序的流程进行控制,很多程序在设计的时候也会做出流程图,以方便开发者更好地理解程序的流程,更准确地判断采取怎样的控制方式。
5.6.1 面试技巧与解析(一)
面试官:for循环语句的计算顺序是什么?
应聘者:for语句的执行顺序是先从左至右执行循环条件语句,如果循环条件语句的判断语句为true,则在循环条件语句执行之后继续执行一次循环执行语句,然后再回到循环条件语句。如果循环语句判断条件为false,则停止循环。
面试官:while循环与do…while循环有什么区别?
应聘者:while循环与do…while循环的主要区别在于,如果循环条件语句为false,while语句不会执行循环,而do…while保证循环体执行一次。
面试官:if语句中的条件表达式可以是任意合法的表达式吗?switch语句中break的作用是什么?
应聘者:可以是任意数值。在switch语句中,break语句可使流程立即跳出switch语句体不执行其他的case。
5.6.2 面试技巧与解析(二)
面试官:三种循环结构中的条件是循环进行的条件还是循环结束的条件?循环结构中,break语句和continue语句的作用是什么?二者有何区别?
应聘者:for语句、while语句是循环进行的条件;do…while语句是循环结束的条件。
循环结构中,break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句。它们都可用于循环语句的循环体,break用于立即退出当前循环,而continue仅跳过当次循环,本次循环体内不执行continue语句后的其他语句,但下次循环还会执行。
面试官:C#中的跳转语句都有哪些?各自的作用是什么?
应聘者:C#中的跳转语句包括break、continue、goto、return和throw。这些语句可以及时、有效地跳转,将有助于提升程序的执行效率。其中,throw语句是用来处理程序异常,在后面章节会详细介绍。
跳转语句的说明如下:
break语句用于终止最近的封闭循环或它所在的switch语句。控制传递给终止语句后面的语句。
continue语句将控制权传递给它所在的封闭迭代语句的下一次迭代。
goto语句将程序控制直接传递给标记语句。goto的一个通常用法是将控制传递给特定的switch…case标签或switch语句中的默认标签。goto语句还用于跳出深嵌套循环。
return语句终止它出现在其中的方法的执行并将控制返回给调用方法。它还可以返回一个可选值。如果方法为void类型,则可以省略return语句。
throw语句用于发出在程序执行期间出现反常情况(异常)的信号。通常throw语句与try…catch或try…finally语句一起使用。当引发异常时,程序查找处理此异常的catch语句。也可以用throw语句重新引发已捕获的异常。