Язык Си | страница 18
Четвертый принцип, которому мы следуем, заключается в том, чтобы помещать каждый оператор на отдельной строке. Опять же это только соглашение, которое никак не регламентируется правилами языка, так как Си имеет "свободный формат". Вы можете поместить несколько операторов на одной строке или распространить один оператор на несколько строк. Нижеследующий пример является абсолютно правильной программой:
main()
{
int four; four = 4;
printf(" %d \n", four);
}
Совершенно очевидно, что символ "точка с запятой" указывает компилятору, где кончается один оператор и начинается следующий, но логика программы окажется проще, если вы последуете соглашениям, приведенным выше. Поскольку в нашем примере запутанной логики нет, вид программы в данном случае не влияет на понимание ее смысла, но, по нашему мнению, лучше прививать хорошие привычки с самого начала.
РИС. 2.5. Способы улучшения читаемости программы.
СЛЕДУЮЩИЙ ШАГ
Наша первая программа была довольно простой, и следующий пример будет ненамного сложнее. Он выглядит так:
main()/* Переводит 2 морские сажени в футы*/
{
int feet, fathoms;
fathoms = 2;
feet = 6 *fathoms;
printf (" В %d морских саженях содержится %d футов!", feet, fathoms);
}
Что здесь нового?
Во-первых, мы описали две переменные вместо одной. Для этого потребовалось только разделить в операторе описания имена двух переменных запятой.
Во-вторых, мы выполнили вычисления — использовали громадную вычислительную мощность нашего компьютера для умножения 2 на 6. В Си, так же как и во многих других языках, символ * обозначает умножение. Поэтому смысл оператора
feet = 6 *fathoms;
заключается в следующем: взять величину переменной fathoms, умножить ее на 6 и присвоить результат переменной feet. (Судя по этой парафразе, обычный английский язык менее лаконичен, чем простой язык Си; это одна из причин, лежащих в основе разработки языков программирования.)
И наконец, мы использовали функцию printf() более сложным образом. Если вы выполните эту программу на компьютере, то результат должен выглядеть так:
Можно заметить, что было произведено две подстановки: первое вхождение символов %d в строку, заключенную в кавычки, было заменено значением первой переменной (fathoms) из списка, следующего за указанной строкой, а второе — значением второй переменной (feet) из этого же списка. Обратите внимание, что список печатаемых переменных расположен в конце оператора.
Область применения данной программы несколько ограниченна, но она может послужить прообразом программы перевода морских саженей в футы. Все, что нам потребуется — специальный способ присваивания произвольных значений переменной