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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Управляющие операторы С: циклы 231

Например, в листинге 6.18 показан слегка измененный код предыдущей программы, в котором начальный символ внутреннего цикла изменяется в зависимости от номера итерации внешнего цикла. Вдобавок здесь используется комментарий более нового стиля и const вместо #define, что способствует освоению обоих подходов.

Листинг 6.18. Программа rows2.c

На этот раз вывод имеет такой вид ABCDEF BCDEF CDEF DEF EF F Поскольку на - фото 174

На этот раз вывод имеет такой вид:

ABCDEF

BCDEF

CDEF

DEF

EF

F

Поскольку на каждой итерации внешнего цикла row добавляется к ’А() переменная ch в каждой строке инициализируется следующим по порядку символом. Гем не менее, условие проверки не изменялось, так что каждая новая строка по-прежнему заканчивается символом F. В результате каждая следующая выводимая строка содержит на один символ меньше, чем предыдущая.

Введение в массивы

Массивы являются важным инструментом во многих программах. Они позволяют хранить несколько элементов связанной информации в удобной форме. Массивам полностью посвящена глава 10, но поскольку массивы часто используются с циклами, мы представим их прямо сейчас.

Массив — это совокупность значений одного и того же типа, такая как 10 значений char или 15 значений int, которые хранятся в памяти последовательно. Массив целиком носит свое имя, а доступ к его отдельным элементам осуществляется с применением целочисленного индекса. Например, объявление

float debts[20];

сообщает о том, что debts является массивом с 20 элементами, каждый из которых может содержать в себе значение float. Первый элемент массива называется debts [0], второй элемент — debts [1] и т.д. вплоть до debts [19].

232 Глава 6

Обратите внимание, что нумерация элементов массива начинается с 0, а не с 1. Каждому элементу массива может быть присвоено значение float. К примеру, можно записать следующий код:

debts[5] = 32.54; debts[6] = 1.2е+21;

В сущности, элемент массива можно использовать тем же самым образом, как это делалось бы с переменной такого же типа. Например, можно прочитать значение и поместить его в конкретный элемент:

scanf("If", &debts[4]); // чтение значения в 5-й элемент массива

Потенциальная ловушка здесь в том, что в интересах скорости вычислений корректность указанного индекса не проверяется. Ниже приведены примеры ошибочных операторов:

debts[20] = 88.32; // такой элемент массива не существует

debts[33] = 828.12; // такой элемент массива не существует

Тем не менее, компилятор не обнаруживает ошибки подобного рода. Во время вы

полнения программы эти операторы поместили бы данные в ячейки памяти, которые возможно заняты другими данными, потенциально искажая вывод программы или даже приводя к ее аварийному завершению.

Массив может относиться к любому типу данных:

int nannies[22]; /* массив для хранения 22 целых чисел */

char actors [26]; /* массив для хранения 26 символов */

long big[500]; /* массив для хранения 500 целых чисел типа long */

Ранее в книге мы обсуждали строки, которые представляют собой специальный случай того, что можно хранить в массиве типа char. (В общем случае массив типа char содержит элементы, которым присваиваются значения char.) Содержимое массива char формирует строку, если массив содержит нулевой символ (\0), обозначающий конец строки (рис. 6.6).

Рис 66 Символьные массивы и строки Числа применяемые для идентификации - фото 175

Рис. 6.6. Символьные массивы и строки

Числа, применяемые для идентификации элементов массива, называются индексами или смещениями. Индексы должны быть целыми числами, к тому же, как было указано ранее, индексация начинается с 0. Элементы массива хранятся в памяти рядом друг с другом (рис. 6.7).

Управляющие операторы С: циклы 233

Рис 67 Массивы char и int в памяти Использование цикла for с массивами - фото 176

Рис. 6.7. Массивы char и int в памяти

Использование цикла for с массивами

Массивы применяются в огромном числе ситуаций. В листинге 6.19 демонстрируется относительно простой случай. Эта программа считывает 10 результатов игры в гольф, которые позже будуг обрабатываться. За счет использования массива вы избегаете необходимости объявлять 10 переменных с разными именами, по одной для каждого результата. Кроме того, для чтения входных данных можно применять цикл for. Программа предназначена для подсчета общей суммы результатов, их среднего значения и гандикапа, который представляет собой разность между средним и стандартным результатом, или паром. (Пар — это термин в гольфе, означающий количество ударов по мячу, которое необходимо опытному игроку для проведения мяча в лунку или прохода всех лунок — прим.перев.)

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

Интервал:

Закладка:

Сделать

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

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


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

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

x