Свежие обсуждения
Микроконтроллеры

брет какойта.....

1 2 3

Взводатор: Что заканчивает, что разделяет - одно и то же. Что в С, что в Паскале.
Да ну?
А ну-ка уберите самую последнюю точку запятой в СИ, после последнего оператора, за которым больше нету оператора и, соответственно, разделять нечего, что Вам на это скажет компилятор? То же самое и про ; перед else в операторе if.
В Паскале после последнего оператора ; можно не ставить. А если поставить, то считаеться, что там стоит так называемый "пустой оператор". Т.е. В Паскале ; именно отделяет один оператор от другого, а в Си — заканчивает оператор.
Да и определение скобок{ } в Си шире, чем в паскале begin end.

 

Арс: В Си точка с запятой заканчивает оператор.

Арс: А ну-ка уберите самую последнюю точку запятой в СИ, после последнего оператора, за которым больше нету оператора и, соответственно, разделять нечего, что Вам на это скажет компилятор?

Так я не понял - за что Вы ратуете?
Точка с запятой заканчивает простой оператор. А операторная скобка - составной. Законченный оператор отделен от следующего. Все логично и равносильно.

if просто имеет две формы, которые различаются тем, где он закончится - оператором сразу после условия или еще и альтернативным вариантом.

А почему в С нет пустого оператора? Как же тогда компилятор не ругнулся на точку с запятой сразу после условия - " if ( ns<=61 && y>=61 ); "?

 

Взводатор: Так я не понял - за что Вы ратуете?
Лишь за это:
Арс: В Паскале ; именно отделяет один оператор от другого, а в Си — заканчивает оператор.
Это особенно заметно в конце программы. В паскале после последнего оператора точку с запятой можно не ставить, в Си надо ставить обязательно.
Взводатор: А почему в С нет пустого оператора?
Я такого не говорил. Естественно, в Си он тоже есть. Можно, например, подряд наставить точек с запятыми, будет считаться, что между ними стоят пустые операторы, а за последней точкой с запятой уже не будет оператора(а в паскале будет).

Плюс сказал, что фигурные скобки в Си более широкое понятие, чем операторные скобки в паскале.

 

На примере того же if в Паскале все же тоже заканчивает.

В Паскале закрывающая операторная скобка, видимо, действует более глобально чем в С и заканчивает, в том числе, и последний оператор в блоке.

По-моему, разница не столь велика, чтобы так много о ней говорить. Я знаю, что можно не ставить ; за последним оператором блока в Паскале или в конце строки в javascript, но я ставлю ради поддержания порядка и унификации.

 

Взводатор: По-моему, разница не столь велика, чтобы так много о ней говорить. Я знаю, что можно не ставить ; за последним оператором блока в Паскале или в конце строки в javascript, но я ставлю ради поддержания порядка и унификации.

Ну вот и поразумелись

 

Взводатор: А операторная скобка - составной

вобщето в С это называется функцией

 

unalex: вобщето в С это называется функцией
Я думал, что безнадежно отстал от С, но токмо ради справедливости:

"Отличительным признаком функции служат круглые скобки после её имени. Круглые скобки указывают на то, что main() - имя функции. В круглых скобках в общем случае содержится информация, передаваемая функции.

Идущая следом открывающая фигурная скобка { отмечает начало последовательности операторов, образующих тело функции. Закрывающая фигурная скобка } отмечает конец последовательности операторов, образующих тело функции. На этой скобке выполнение функции завершается.

Фигурные скобки применяются также для того, чтобы объединить несколько операторов программы в составной оператор или блок.

Тело функции, заключенное в фигурные скобки, представляет собой набор операторов, каждый из которых оканчивается символом точка с запятой ;. При написании программы на Си можно поместить несколько операторов на одной строке или разместить один оператор в нескольких строках. Символ "точка с запятой" указывает компилятору конец оператора, но для человека удобнее, если каждый оператор будет размещен на отдельной строке. Кроме того, можно использовать пустые строки, чтобы отделить одну часть программы от другой."

 

unalex: вобщето в С это называется функцией
признак функции при описании: [<тип памяти>] [<тип результата функции>] <имя функции>([<список или описание формальных параметров>]) [<описание формальных параметров>] {раздел операторов}

<.....> — определения
[....] — может отсутствовать, тогда принимаются по умолчанию

{....} — в общем случае локальный блок, не обязательно функция, как частный случай — составной оператор(операторные скобки).

 

Я как раз это имел ввиду

Взводатор: Тело функции, заключенное в фигурные скобки

 

но не только тело функции заключается в фигурные скобки
брет продалжайоццо...