我的教授通常會問我的班級在給定的程序中有多少語句,但我無法確定他定義的語句。似乎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