char ch, init, ans;
5. Можно инициализировать ту или иную переменную в операторе описания:
float mass = 6.0E24;
I.Ключевые слова:
auto, external, static, register
II. Основные замечания
Класс памяти переменной определяет область ее действия и продолжительность использования. Класс памяти определяется местом задания переменной и соответствующим ключевым словом. Переменные, определенные вне функции, являются внешними и имеют глобальную область действия. Переменные, описанные внутри функции, являются автоматическими и локальными, если не используется какое-либо другое ключевое слово. Внешние переменные, определенные раньше функции, "известны" ей, даже если они не описаны внутри ее.
III. Свойства
Классы, перечисленные выше пунктирной линии, описываются внутри функции.
Классы, перечисленные ниже этой линии, определяются вне функции.
Класс памяти |
Ключевое слово |
Продолжительность |
Область деиствия |
Автоматический |
auto |
Временно |
Локальная |
Статический |
static |
Постоянно |
Локальная |
Внешняя |
extern |
Постоянно |
Глобальная (все файлы) |
Внешняя статическая |
static |
Постоянно |
Глобальная (один файл) |
ПРИЛОЖЕНИЕ Д. УПРАВЛЕНИЕ ХОДОМ ВЫПОЛНЕНИЯ ПРОГРАММЫ
Язык Си имеет несколько конструкций, предназначенных для управления выполнением программы. Здесь мы кратко описываем операторы циклов ( while, forи do while), ветвлений ( if, if elseи switch) и переходов ( goto, breakи continue).
Ключевое слово: while
Общие замечания:
Оператор whileсоздает цикл, который повторяется до тех пор, пока проверяемое выражение не станет ложным, или нулем. Оператор whileявляется циклом с предусловием , решение о прохождении цикла принимается до прохождения цикла. Поэтому возможно, что цикл никогда не будет пройден. Часть такой конструкции, относящаяся к оператору , может быть простым или составным оператором.
Форма записи:
while( выражение ) оператор ;
" Оператор " повторяется до тех пор, пока выражение не станет ложным, или нулем.
Примеры:
while(n++ < 100)
printf(" %d %d\n", n, 2*n + 1);
while(fargo < 1000) {
fargo = fargo + step;
step = 2 * step; }
Ключевое слово: for
Общие замечания:
Оператор forдля управления циклическим процессом использует три выражения, разделенные символами "точка с запятой". Инициализирующее выражение выполняется один раз, до выполнения любого из операторов цикла. Если проверяемое выражение истинно (или нe нуль), цикл должен быть пройден один раз. Затем выполняется корректирующее выражение, и нужно снова проанализировать проверяемое выражение. Оператор forявляется циклом с предусловием : до прохождения цикла выполняется проверка, проходить ли этот цикл еще один раз. Поэтому возможно, что цикл никогда не будет пройден. Часть такой конструкции, относящаяся к оператору, может быть простым или составным оператором.
Форма записи:for( инициализация ; проверка условия ; коррекция ) оператор ;
Цикл повторяется до тех пор, пока проверяемое выражение не станет ложным, или нулем.
Пример:
for(n = 0; n < 10; n++)
printf(" %d %d\n", n, 2*n + 1);
Ключевые слова: do, while
Общие замечания:
Оператор do whileсоздает цикл, который повторяется до тех пор, пока выражение , проверяющее условие, не станет ложным, или нулем. Оператор do whileявляется циклом с постусловием ; после прохождения цикла принимается решение, проходить ли его еще раз. Поэтому цикл должен выполняться по крайней мере один раз. Часть конструкции, относящаяся к оператору , может быть простым или составным оператором.
Форма записи:
do оператор while(выражение)
Оператор повторяется до тех пор, пока выражение не станет ложным, или нулем.
Пример:
do
scanf(" %d", &number) while(number != 20);
Использование операторов if для выбора вариантов
Ключевые слова: if, else
Общие замечания:
В каждой из следующих форм оператор может быть либо простым, либо составным оператором. Вообще говоря, "истинное" выражение означает выражение с ненулевым значением.
Читать дальше