C中的条件语句和控制语句之间有什么区别吗?

时间:2014-03-28 14:33:10

标签: c conditional

我的朋友正准备参加一些银行考试。问的问题是?

What are the control statement below?

Options
1. if and switch
2.break and if
3.if and while
4.break and continue

并且正确答案标记为1

我相信所有的选择都是正确的吗?

我的信念是否真实。

它们之间有什么区别吗?

6 个答案:

答案 0 :(得分:3)

看起来无论谁设置考试都发明了自己的术语。 “控制声明”不是C或C ++中的官方术语。

ifswitch选择语句

while迭代声明(以及dofor)。

breakcontinue跳转语句(以及returngoto)。

答案 1 :(得分:2)

术语不正确,因为标准没有定义术语控制语句,但由于1被指示为正确答案,那么他们应该说的是选择语句< / em>的

C99 draft standard定义了以下一组语句,其中包含您问题中列出的语句,选择语句ifswitch来自{{1}部分} 选择语句

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

答案 2 :(得分:2)

你的朋友被问到的问题从根本上被打破了,因为C没有定义“控制语句”这样的东西。即使它确实如此,我的直觉是它应该涵盖所有这些关键字。

因此,试图分析什么做和不属于那个保护伞是一个愚蠢的差事。

鉴于他们认为#1是正确的答案,似乎他们的意思是选择陈述,即你所说的“条件”。 whilebreakcontinue显然不属于该类别。

您可以阅读C99中§6.8(或其他版本的等效文件)中所有不同类型的陈述。

坦率地说,在给这个烂摊子后,我会去另一家银行工作。

答案 3 :(得分:1)

Control语句是重复执行的语句,直到循环没有终止。重复表示语句块执行后,它将返回循环以检查条件。 由于重复,它被称为控制声明。

示例:

for(i=0;i<=5;i++)
{
  COUT<<"THIS IS CONTROL STATEMENT";
}

条件语句是将执行一次的语句,它不会像for循环那样重复。执行后将不再检查循环条件。

示例:

 int i = 5;
 if(i==5)
 {
   COUT<<"THIS IS CONDITIONAL STATEMENT";
 }

如果...否则,switch 是条件语句,而 for,while,do ... while 是控制语句。

答案 4 :(得分:0)

(你的问题的不同“陈述类型”的定义似乎有点问题。实际上我不得不从问题中估计它们而不是根据“控制”和“条件”的确切含义来理解你的问题“陈述。”

没有。控制语句改变了程序执行的流程。

条件语句是根据条件执行此操作的。

我认为正确答案是(4)。

答案 5 :(得分:0)

根据Java文档,控制流语句有两种类型:

  • 有条件的(如果/否则;切换);
  • 迭代式(for; do-while; while);
  • 分支语句(条件在迭代中,反之亦然)

两个控制流语句都涉及条件,但是执行过程不同。 每种类型都用于特定的例程。

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/flow.html

已更新:

C关于语句使用的是另一种方法 https://docs.microsoft.com/en-us/cpp/c-language/statements-c?view=vs-2019

我发现将Java的知识结合起来很容易理解C,也许OP也能找到它