在C ++中被认为是什么声明?

时间:2011-05-05 02:05:24

标签: c++

我的教授通常会问我的班级在给定的课程中有多少陈述,但我无法确定他所定义的陈述。似乎if / else是一个语句,而for循环是一个语句,无论其中是否有其他所谓的语句。是否有关于此事的管理规则,还是他对自己发明的定义?

由于

4 个答案:

答案 0 :(得分:3)

对于一个精确的definition陈述:

定义:语句是执行某些操作的代码块。赋值语句为变量赋值。 for语句执行循环。 在C中,C ++和C#语句可以使用大括号

组合在一起作为一个语句

{  语句1;  语句2;  }

就计数陈述而言,我同意其他人的意见,没有多大意义。虽然计算代码行(LOC)实际上有一些价值,并且有很多研究试图将LOC的数量与开发人员的工作量联系起来。您的教师可能会将您的陈述和陈述视为一个LOC,而事实并非如此。

答案 1 :(得分:1)

语句嵌套,即较小的语句可以加入较大的语句,如复合语句。出于这个原因,关于“该程序中有多少语句”的问题是模棱两可的。首先必须定义计数方法。如果没有它,“多少”的问题就毫无意义。

答案 2 :(得分:0)

  

在计算机编程中发表声明   可以被认为是最小的   必要的独立元素   编程语言。一个程序是   由一个或多个序列形成   声明。声明将有   内部组件(例如,   表达式)。

More at Statement (Computer Science) at Wikipedia

答案 3 :(得分:0)

这是用JS语言处理语句解析的函数:

static void do_statement(CsCompiler *c )
{
    int tkn;
    switch (tkn = CsToken(c)) {

    case T_IF:          do_if(c);       break;
    case T_WHILE:       do_while(c);    break;
    case T_WITH:        do_with(c);     break;
    case T_DO:          do_dowhile(c);  break;
    case T_FOR:         do_for(c);      break;
    case T_BREAK:       do_break(c);    CsSaveToken(c,CsToken(c)); break;
    case T_CONTINUE:    do_continue(c); CsSaveToken(c,CsToken(c)); break;
    case T_SWITCH:      do_switch(c);   break;
    case T_CASE:        /*do_case(c);*/    CsParseError(c,"'case' outside of switch");  break;
    case T_DEFAULT:     /*do_default(c);*/ CsParseError(c,"'default' outside of switch");  break;
    case T_RETURN:      do_return(c);   break;
    case T_DELETE:      do_delete(c);   break;
    case T_TRY:         do_try(c);      break;
    case T_THROW:       do_throw(c);    break;
    case '{':           do_block(c, 0); break;
    case ';':           ;               break;
    default:  
      {
        CsSaveToken(c,tkn);
        do_expr(c);
        break;
      }
    }
}

如您所见,它包含forwhile以及表达式(由;分隔)等内容