QWERTYASDF писала: ↑26.08.2018 16:28
Если к Си применима классификация операторов на "простые" и "составные", то к какому из этих типов относятся операторы условий (if) или циклов (for)? Во многом интуитивно склоняюсь, что - к простым. Так ли это?
Если рассуждать в этих категориях, то как раз "if" и "for" правильнее отнести к "составным" операторам.
"Простой" оператор (например, бинарный) обозначается каким-либо символом и может быть записан в виде одной инструкции вроде "операнд1 <символ оператора> операнд2".
Конструкции "if" и "for" в эту категорию ну никак не запихнуть - они по определению состоят из нескольких инструкций, следовательно, являются "составными".
Вероятно, можно привести частные случаи вроде "пустого цикла", когда "составной" оператор не состоит "из нескольких инструкций" и выглядит как "простой", но это именно частные случаи.
QWERTYASDF писала: ↑26.08.2018 16:28
Если в Си, и других языках определенного типа, операторы можно сравнить с предложениями естественного языка, и соответственно выделить в них главный член - т.е. глагол в данном случае - то как формально называется в контексте Си (или иного ЯП) такой главный член?
Если отвечать на Ваш вопрос прямо, то наиболее близким будет термин "операция" или "действие". Но это очень приблизительно.
А вот если использовать термин "утверждение" из моего предыдущего поста, или, скажем, термин "инструкция", то вопрос снимается сам собой, так как выделять главный член уже не потребуется.
Если Вы изучали информатику в школе, то возможно, Вы помните, что там вводится понятие "исполнитель" или "робот". А программа - это набор точных и однозначных инструкций для этого "исполнителя". Можно назвать их "команды". Так вот, команды формулируются строго определенным образом. Поэтому соотносить их с предложениями естественного языка, а тем более выделять, скажем, "подлежащее" и "сказуемое", конечно можно, но довольно бессмысленно.
QWERTYASDF писала: ↑26.08.2018 16:28
Однако для меня здесь есть некая путаница. "Оператором" называют, как само printf, так и всю строку, включая "второстепенные члены предложения". Есть ли в Си специальное название, определяющая сам по себе "глагол" т.е. "printf"?
Это особенности перевода. Всю строку можно назвать термином "инструкция" или "утверждение" (statement), а конкретный "глагол" - "оператор" или "имя функции".
В русскоязычных переводах и то, и другое называют "оператор", что и создает путаницу. См. мой предыдущий пост.