我的教授通常会问我的班级在给定的程序中有多少语句,但我无法确定他定义的语句。似乎if/else是一个语句,for循环是一个语句,不管其中是否有其他假设的语句。这个问题有没有治理规则,还是他对自己发明的定义?什么被认为是C++语句?
谢谢
我的教授通常会问我的班级在给定的程序中有多少语句,但我无法确定他定义的语句。似乎if/else是一个语句,for循环是一个语句,不管其中是否有其他假设的语句。这个问题有没有治理规则,还是他对自己发明的定义?什么被认为是C++语句?
谢谢
对于声明的精确definition:
定义:语句的代码块做一些事情。赋值语句为变量赋值。 for语句执行循环。 在C,C++和C#语句可以使用大括号作为一个语句分组在一起
{ statement1; statement2; }
就计算报表而言,我认同其他人,没有多少意义。计算代码行(LOC)虽然实际上具有一定的价值,但有很多研究尝试将LOC的数量与开发人员的工作量相关联。你的老师有可能把你的陈述计算在内,并且把陈述想象成仅仅是一个LOC,但情况并非如此。
语句嵌套,即较小的语句可以连接到较大的语句,如复合语句。出于这个原因,“这个程序中有多少陈述”这个问题是不明确的。首先必须定义计数方法。没有它,“多少”这个问题就没有意义了。
是的,这就是为什么我很困惑,哦。 – Sam 2011-05-05 02:14:16
在计算机编程语句 可以被认为是一个必要 编程语言的最小 独立的元素。程序是由一个或多个 语句的序列组成的 。一个声明将有 内部组件(例如, 表达式)。
这里是处理报表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;
}
}
}
正如你看到它包括像for
,while
也表达(由;
分隔)
我从来没有见过任何人都担心给定程序中的语句数量。 – 2011-05-05 02:08:36
是的,我知道,但我想他不够邪恶,只是在没有动机的情况下从我的平均数中删除积分。 – Sam 2011-05-05 02:13:23
我想他想知道学生已经掌握了一个陈述开始和结束的地方。他的计数方法似乎是有效的(但不是唯一有效的计数方法)。 – 2011-05-05 02:16:40