Array M. УЭИТ - Язык Си - руководство для начинающих
- Название:Язык Си - руководство для начинающих
- Автор:
- Жанр:
- Издательство:Мир
- Год:1988
- Город:Москва
- ISBN:5-03-001309-1 /русск./
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Array M. УЭИТ - Язык Си - руководство для начинающих краткое содержание
Язык Си — руководство для начинающих
Язык Си - руководство для начинающих - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Выражение Значение
-4+6 2
с = 3 + 8 11
5 > 3 1
6 + (с = 3 + 8) 17
Последний пример выглядит довольно странно. Но он полностью соответствует правилам языка Си, поскольку данное выражение представляет собой сумму двух подвыражении, каждое из которых имеет значение.
Операторы
Операторы служат основными строительными блоками программы. Программа состоит из последовательности операторов с добавлением небольшого количества знаков пунктуации. Оператор является законченной инструкцией для компьютера. В языке Си указанием на наличие оператора служит символ "точка с запятой", стоящий в конце него. Поэтому
legs = 4
это всего лишь выражение (которое может быть частью большего выражения), но
legs = 4;
является оператором. Что делает инструкцию законченной? Она должна выполнять некоторое действие полностью. Выражение
2 + 2
не является законченной инструкцией, а служит указанием компьютеру сложить 2и 2, но не говорит, что делать с результатом.
kids = 2 + 2;
служит указанием компилятору (а затем компьютеру) поместить результат (4) в ячейку памяти, помеченную именем kids. После записи в память числа 4 компьютер может приступить к выполнению следующих действий.
До сих пор мы познакомились с четырьмя типами операторов. Далее приводится краткий пример, в котором используются все четыре типа.
/ * сумма */
main( ) /* нахождение суммы первых 20 целых чисел */
{
int count, sum; /* оператор описания */
count = 0; /* оператор присваивания */
sum = 0; /* то же самое */
while(count++ < 20) /* while */
sum = sum + count; /* оператор*/
printf (" sum = %d\n" , sum); /* вызовфункции*/
}
Давайте обсудим этот пример. К данному моменту оператор описания должен быть вам уже довольно хорошо знаком. Тем не менее мы напомним, что с его помощью определяются имена и типы переменных и им отводятся ячейки памяти.
Оператор присваивания - это основная рабочая сила большинства программ с его помощью переменной присваивается некоторое значение. Он состоит из имени переменной, за которым следует знак операции присваивания (=), а затем выражение, оканчивающееся символом "точка с запятой". Отметим, что оператор whileвключает в себя оператор присваивания. Оператор вызова функции приводит к выполнению последовательности операторов, образующих тело функции. В нашем примере функция printf( )вызывается для того, чтобы вывести на печать результаты работы программы.
Оператор whileсостоит из трех различных частей: это ключевое слово while, затем проверяемое условие, заключенное в круглые скобки, и, наконец, оператор, который выполняется в том случае если условие истинно. Тело цикла состоит из одного оператора. Он может быть простым, как в данном примере (причем в этом случае не требуется заключать его в фигурные скобки), или составным как в некоторых предыдущих примерах (тогда фигурные скобки абсолютно необходимы). Вы сможете прочесть о составных операторах чуть позже.
РИС. 5.6. Структура простого цикла while
Оператор whileпринадлежит к классу операторов, иногда называемых "структурированными операторами", поскольку они обладают структурой более сложной, чем структура простого оператора присваивания. В следующих главах мы познакомимся с другими типами структурированных операторов.
Составные операторы (блоки)
"Составной оператор" представляет собой два или более операторов, объединенных с помощью фигурных скобок; он называется также "блоком". В нашей программе размер обуви 2мы использовали такой оператор, чтобы иметь возможность включить в оператор whileнесколько простых операторов. Сравните между собой фрагменты программы:
/* фрагмент1 */
index = 0;
while (index ++ < 10) sam = 10 * index + 2;
printf(" sam = %d\n", sam);
/* фрагмент2*/
index = 0;
while(index ++ < 10) {
sam = 10*index + 2;
printf(" sam = %d\n", sam);
}
В фрагменте 1 в цикл whileвключен только оператор присваивания. (При отсутствии фигурных скобок область действия оператора whileраспространяется от ключевого слова whileдо следующего символа "точка с запятой".) Печать данных будет произведена только один раз - после завершения цикла.
В фрагменте 2 наличие фигурных скобок гарантирует, что оба оператора являются частью цикла while, и печать результатов будет изводиться на каждом шаге работы цикла. Весь составной оператор рассматривается как один оператор, являющийся составной частью оператора while.
РИС. 5.7. Цикл while с составным оператором
Давайте опять посмотрим на фрагменты, содержащие цикл while, и обратим внимание на то, как мы использовали отступы от поля в строках для выделения тела циклов while. Для компилятора отступы в строке не имеют никакого значения; решения вопроса о том, как интерпретировать наши инструкции, он использует фигурные скобки и свое "знание" правил формирования структуры цикла while. Отступы в строках предназначены для нас, чтобы с первого взгляда можно было понять, как устроена программа. Ранее мы показали вам один популярный способ расстановки фигурных скобок, служащий для указания блока или составного оператора. Другой, тоже довольно распространенный способ выглядит следующим образом
while(index++ < 10) {
sam = 10 * index + 2;
printf(" sam = %d\n", sam);
}
Этот способ акцентирует внимание на том, что данные операторы образуют блок, в то время как способ, обсуждавшийся выше, указывает на принадлежность блока оператору while. Заметим снова, что поскольку дело касается компилятора, обе формы являются абсолютно идентичными. Подводя итоги, скажем, применяйте отступы от поля в строках, чтобы сделать структуру программы наглядной.
Резюме: выражения и операторы
Выражение состоит из операций и операндов. Примерами простейших выражений являются константы или переменные (операция отсутствует), такие, как 22или beebop. Более сложные выражения - это 55 + 22и vap = 2*(vip + (mgx = 4 )).
Оператор служит камандой компьютеру. Операторы бывают простыми и составными. Простые операторы оканчиваются символом "точка с запятой". Примеры:
1. Операторы описания int toes;
2. Операторы присваивания toes = 12;
3. Операторы вызова функции printf(" %d\n", toes);
Читать дальшеИнтервал:
Закладка: