我的朋友正在准备一些银行考试。问的问题是?c中的条件陈述和控制陈述之间是否有区别?
What are the control statement below?
Options
1. if and switch
2.break and if
3.if and while
4.break and continue
和正确答案标为1
我相信所有的选项是正确的?
我的信念是真实的。
它们之间有什么区别吗?
我的朋友正在准备一些银行考试。问的问题是?c中的条件陈述和控制陈述之间是否有区别?
What are the control statement below?
Options
1. if and switch
2.break and if
3.if and while
4.break and continue
和正确答案标为1
我相信所有的选项是正确的?
我的信念是真实的。
它们之间有什么区别吗?
的术语是不正确的,因为标准没有定义的一个术语控制语句但由于1
被表示为正确答案,然后他们应该说是选择语句。
的C99 draft standard定义了如下一套涵盖那些在你的问题中列出,选择语句从部分if
和switch
6.8.4
选择语句声明:
selection-statement:
if (expression) statement
if (expression) statement else statement
switch (expression) statement
break
和continue
是跳转语句节6.8.6
跳转说明:
jump-statement:
goto identifier ;
continue ;
break ;
return expressionopt ;
和while
是一个循环语句段6.8.5
循环语句:
iteration-statement:
while (expression) statement
[...]
(你的问题的不同“的声明类型”的定义似乎有点问题。实际上,我不得不根据“控制”和“条件”语句的确切含义来理解你的问题。)
编号控制语句是改变程序。
条件语句是基于条件做到的。
我认为正确答案是(4)。
'[需要的引证]'。你的“控制语句”定义 –
@LightnessRacesinOrbit你有权利,我的答案更清晰。 – peterh
你的朋友被问到的问题从根本上被打破了,因为C没有定义“控制语句”之类的东西。即使是这样,我的直觉是它应该覆盖这些关键字的全部。
因此,试图分析什么是和不在这个伞下是愚蠢的差事。
鉴于他们认为#1是正确的答案,它看起来像他们的意思是选择语句,即“条件”,如你所说。 while
,break
和continue
显然不属于该类别。
您可以阅读关于C99中的§ 6.8(或其他版本的等价物)下所有不同种类的语句。
坦率地说,我得到了这个烂摊子后去一家不同的银行工作。
绝对如此。制作这个问题的银行面试官在另一个世界。 –
看起来像谁设置考试发明了自己的术语。 “控制语句”不是C或C++中的官方术语。
if
和switch
是选择语句。
while
是循环语句(与do
和for
一起)。
break
和continue
是跳转语句(与return
和goto
一起)。
1)“if,switch,while”在条件下工作并在该条件下进行选择。 2)“break,continue”是可以改变执行流程的控制语句,以及同样工作的“goto”,并且所有称为跳转语句3)在第1,2点,我可以说答案必须是(4) - > break继续。 –
请不要将C标记标记为C++。 –
@NeilKirk:我不明白这可能是一种语言障碍,因为术语在C语言中是用英语定义的。如果银行正在将标准C条款翻译成其他语言的考试,那就更糟了!不过,你是对的,因为这可能最终是银行的错(见我的答案)。 –
“下面的控制语句是什么?”对我来说是无稽之谈。 –