Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015

Здесь есть возможность читать онлайн «Стивен Прата - Язык программирования C. Лекции и упражнения (6-е изд.) 2015» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Год выпуска: 0101, Издательство: Вильямс, Жанр: Старинная литература, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

Язык программирования C. Лекции и упражнения (6-е изд.) 2015 — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Язык программирования C. Лекции и упражнения (6-е изд.) 2015», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Обычно выражение является выражением отношения, т.е. в нем сравниваются две количественных величины, как в выражениях х > у и с == 6. Если выражение истинно (х больше у либо с равно 6), оператор выполняется, иначе оператор игнорируется. В общем случае можно применять любое выражение, при этом выражение, принимающее значение 0, трактуется как ложное.

Часть оператор может быть простым либо составным оператором или блоком, заключенным в фигурные скобки:

if (score > big)

printf("Джекпот!\n"); // простой оператор

if (joe > ron)

{ // составной оператор

joecash++;

printf("Ты проиграл, Ron.\n");

}

Обратите внимание, что вся структура if считается одним оператором, даже если в ней присутствует составной оператор.

250 глава 7

Добавление к оператору if конструкции else

Простая форма оператора if предоставляет выбор между выполнением оператора (возможно, составного) и пропуском его. Язык С также позволяет выбирать один из двух операторов с использованием формы if else. Давайте применим форму if else, чтобы улучшить показанный ниже неуклюжий фрагмент кода из листинга 7.1:

if (all_days != 0)

printf("%d - общее количество дней: %.lf%% с температурой ниже нуляЛп", all_days, 100.0 * (float) cold_days / all_days);

if (all_days == 0)

printf("Данные не введены!\n");

Когда проверка значения all days на неравенство 0 не проходит, то и без повторной проверки должно быть ясно, что оно равно нулю. Форма if else позволяет воспользоваться преимуществом этого знания, переписав данный фрагмент следующим образом:

if (all_days!= 0)

printf("%d - общее количество дней: %.lf%% с температурой ниже нуляЛп", all_days, 100.0 * (float) cold_days / all_days);

else

printf("Данные не введены!\n");

Здесь выполняется только одна проверка. Если проверочное выражение оператора if истинно, данные о температуре выводятся. Если же оно ложно, выводится предупреждающее сообщение. Вот общая форма оператора if else:

if {выражение) оператор1

else

оператор2

Если выражение истинно (не равно нулю), выполняется оператор1. Если выражение ложно (равно нулю), выполняется оператор, следующий за else. Операторы могут быть простыми либо составными. Отступы в С не являются обязательными, но это стандартный стиль записи. Отступы зрительно выделяют операторы, выполнение которых зависит от условия проверки. Если между if и else нужно поместить более одного оператора, необходимо указать фигурные скобки, чтобы создать единый блок. В приведенной ниже конструкции нарушается синтаксис языка С, поскольку компилятор ожидает встретить между if и else только один оператор (простой или составной):

if (х > 0)

printf("Инкрементирование х:\n"); х + +;

else // здесь возникнет ошибка

printf("х <= 0 \n");

Компилятор трактует оператор printf() как часть оператора if, но оператор х++; — как отдельный оператор, а не часть if. Поэтому компилятор считает, что else не принадлежит if, что является ошибкой. Взамен воспользуйтесь следующей формой:

if (х > 0)

{

printf("Инкрементирование х:\n"); х++;

>

else

printf("х <= 0 \n");

Управляющие операторы С: ветвление и переходы 251

Оператор if позволяет выбрать между выполнением или не выполнением одного действия. Оператор if else позволяет делать выбор между двумя действиями. На рис. 7.1 приведено сравнение этих двух операторов.

Рис 71 Опералюры if u if else Еще один пример знакомство С ФУНКЦИЯМИ - фото 181

Рис. 7.1. Опералюры if u if else

Еще один пример: знакомство

С ФУНКЦИЯМИ getchar() И putchar()

В большинстве рассмотренных до сих пор примеров применялись числовые входные данные. Чтобы попрактиковаться с данными других типов, рассмотрим пример, ориентированный на обработку символов. Вы уже знаете, как использовать функции scanf() и printf() со спецификатором %с для чтения и вывода символов, но в этом примере мы будем иметь дело с парой функций С, специально предназначенных для символьного ввода-вывода — getchar() и putchar().

Функция getchar() не принимает аргументов и возвращает очередной символ из входного потока. Например, показанный далее оператор читает следующий входной символ и присваивает его значение переменной ch:

ch = getchar();

Этот оператор дает тот же самый результат, что и оператор

scanf("%с", &ch);

252 Глава 7

Функция putchar() выводит переданный ей аргумент. Например, следующий оператор выводит в виде символа значение, ранее присвоенное переменной ch:

putchar(ch);

Этот оператор обеспечивает такой же результат, что и оператор

printf ("%с", ch);

Поскольку эти функции работают только с символами, они быстрее и компактнее, чем более универсальные функции scanf() и printf(). Кроме того, обратите внимание, что они не нуждаются в спецификаторах формата, т.к. предназначены для работы только с символами. Обе функции обычно определены в файле stdio.h (Кроме того, они обычно являются макросами препроцессора, а не истинными функции; о функционально-подобных макросах речь пойдет в главе 16.)

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Представляем Вашему вниманию похожие книги на «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015»

Обсуждение, отзывы о книге «Язык программирования C. Лекции и упражнения (6-е изд.) 2015» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x