Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015
- Название:Язык программирования C. Лекции и упражнения (6-е изд.) 2015
- Автор:
- Жанр:
- Издательство:Вильямс
- Год:0101
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015 краткое содержание
Язык программирования C. Лекции и упражнения (6-е изд.) 2015 - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Форма
while(выражение)
оператор
Часть оператор повторяется до тех пор, пока выражение не станет ложным или равным нулю.
Примеры
while (n++ < 100)
printf(" %d %d\n",n, 2*n + l);
while (fargo < 1000)
{
fargo = fargo + step; step = 2 * step;
}
Сводка: оператор for
Ключевое слово
Ключевым словом оператора for является for.
Общий комментарий
В операторе for для управления циклическим процессом используются три управляющих выражения, разделенные точками с запятой. Выражение инициализация выполняется один раз перед любыми другими операторами цикла. Если выражение проверка является истинным (или ненулевым), выполняется одна итерация цикла. Затем оценивается выражение обновление, после чего вновь оценивается выражение проверка. Оператор whi 1е представляет собой цикл с проверкой условия на входе, решение о выполнении очередной итерации принимается перед выполнением тела цикла. Таким образом, вполне возможно, что цикл не выполнится ни разу. Часть оператор может быть как простым оператором, так и составным.
Форма
for (инициализация; проверка; обновление) оператор
Цикл повторяется до тех пор, пока выражение проверка не окажется ложным или равным нулю.
Справочные материалы 845
Стандарт С99 позволяет включать объявление в часть инициализация. Область видимости и продолжительность хранения переменной ограничены циклом for.
Примеры
for (n = 0; n < 10; ++n)
printf("%d %d\n", n, 2 * n+1);
for (int k = 0; k < 10; ++k) // C99
printf ("%d %d\n", k, 2 * k+1);
Сводка: оператор do while
Ключевые слова
Ключевыми словами оператора do while являются do и while.
Общий комментарий
Оператор do while создает цикл, повторяющийся до тех пор, пока проверочное выражение не станет ложным или равным нулю. Оператор do while является циклом с проверкой условия на выходе, решение о выполнении очередной итерации принимается после выполнения тела цикла. Таким образом, цикл должен выполниться как минимум один раз. Часть оператор этой формы цикла может быть как одиночным оператором, так и составным.
Форма
do
оператор
while (выражение);
Часть оператор повторяется до тех пор, пока выражение не станет ложным или равным нулю.
Пример
do
scanf("%d", snumber) while (number != 20);
Сводка: использование операторов if для реализации выбора
Ключевые слова
Ключевыми словами оператора if являются if и else.
Общий комментарий
В каждой из показанных ниже форм оператор может быть как одиночным оператором, так и составным. “Истинное” выражение в общем случае означает такое, которое дает в результате ненулевое значение.
Форма 1
if(выражение) оператор
Если выражение истинно, то выполняется оператор.
846 Приложение Б
Форма 2
if(выражение) оператор1 else
оператор2
Если выражение истинно, то выполняется оператор1. В противном случае выполняется оператор2.
Форма 3
if(выражение1) оператор1
else if(выражение2)
оператор2
else
операторЗ
Если выражение! истинно, то выполняется оператор1. Если же выражение! ложно, но выражение2 истинно, то выполняется оператор2. Иначе, если оба выражения ложны, выполняется операторЗ.
Пример
if (legs = 4)
printf("Это может быть лошадь. \n"); else if (legs > 4)
printf("Это не лошадь . \n");
else /* случай, когда legs < 4 */
{
legs++;
printf("Теперь на одну ногу стало больше.\n");
}
Сводка: множественный выбор с помощью switch
Ключевые слова
Ключевым словом оператора switch является switch.
Общий комментарий
Управление передается оператору, снабженному меткой выражение. Поток управления затем проходит остальные операторы внутри блока switch, если только снова не будет перенаправлен. Как выражение, так и метки case должны иметь целочисленные значения (включая тип char), а метки должны быть константами или выражениями, состоящими исключительно из констант. Если ни одна метка не соответствует значению выражения, управление переходит к оператору, помеченному меткой default, если это предусмотрено. Иначе управление переходит к оператору, следующему за оператором switch. После того, как управление передается по определенной метке, выполняются все последующие операторы внутри switch, до конца switch или до оператора break в зависимости от того, что встретится раньше.
Форма
switch (выражение)
{
case метка1 : оператор1 case метка2 : оператор2 default : операторЗ
}
Справочные материалы 847
Операторов, снабженных метками, может быть больше двух, а конструкция default является необязательной.
Примеры
switch (value)
case 1 : find_sum(ar, n);
break;
case 2 : show_array (ar, n);
break;
case 3 : puts("Всего хорошего!");
break;
default : puts("Неправильный выбор, попробуйте еще раз."); break;
}
switch (letter)
{
case 'a' :
case 'e' : printf ("%d является гласной буквой\n", letter); case 'c' :
case 'n' : printf("%d находится в слове \"cane\"\n", letter); default : printf("Всего хорошего.\n");
}
Если letter имеет значение 'а' или 'e', то выводятся все три сообщения, а если 'с' или 'n' — то два последних сообщения. Все прочие значения приводят к выводу только последнего сообщения.
Сводка: переходы в программе
Ключевые слова
Ключевыми словами для переходов в программе являются break, continue и goto.
Общий комментарий
Эти три инструкции — break, continue и goto — заставляют поток управления программы переходить из одного места кода в другое.
Команда break
Команда break может использоваться с любой из трех форм циклов и с оператором switch. Она вынуждает поток управления программы пропустить остаток цикла или оператора switch, который ее содержит, и продолжить выполнение со следующей инструкции после цикла или switch.
Пример
while ((ch = getchar()) !=EOF)
{
putchar(ch); if (ch == ' ')
break; // прекратить выполнение цикла chcount++;
}
848 Приложение Б
Команда continue
Команда continue может использоваться с любой из трех форм циклов, но не с оператором switch. Она заставляет ноток управления программы пропустить оставшиеся операторы в цикле. В случае циклов for и while запускается следующая итерация. В случае цикла do while проверяется условие выхода, а затем, если необходимо, запускается новая итерация.
Пример
while ((ch = getchar()) != EOF)
{
if (ch == ' ')
continue; // перейти к проверочному условию putchar(ch); chcount++;
}
Этот фрагмент кода отображает и подсчитывает непробельные символы.
Команда goto
Оператор goto передает управление оператору, снабженному указанной меткой. Метка отделяется от оператора двоеточием. Имена меток подчиняются правилам, которые регламентируют именование переменных. Помеченный оператор может располагаться как до, так и после goto.
Форма
goto метка; метка : оператор
Пример
top : ch = getchar();
if (ch ! = ' у') goto top;
Раздел V. Стандартная библиотека ANSI С с дополнениями С99 и С11
Библиотека ANSI С классифицирует функции по нескольким группам, с каждой из которых ассоциирован свой заголовочный файл. В этом разделе представлен обзор библиотеки, список заголовочных файлов и краткое описание связанных с ними функций. Некоторые из этих функций (например, часть функций ввода-вывода) обсуждаются более подробно. За полным описанием обращайтесь к документации, сопровождающей вашу реализацию, к справочному руководству или же к онлайновому руководству наподобие http: //www.acm.uiuc. edu/webmonkeys/book/c_guide/.
Читать дальшеИнтервал:
Закладка: