![](/user_photo/2706_HbeT2.jpg)
- •Предисловие
- •Контрольные вопросы
- •Библиографический список
- •Тема 2 Переменные и базовые типы данных языка с
- •Контрольные вопросы
- •Библиографический список
- •Тема3 Организация циклов в языке с
- •Контрольные вопросы
- •Библиографический список
- •Тема 4 Принятие решений. Условные операторы в языке с
- •Контрольные вопросы
- •Библиографический список
- •Тема 5 Числовые массивы в языке программирования с
- •Тип имя_массива[размер];
- •Тип имя_массива[размер1] [размер2];
- •Тип имя_массива[размер1] [размер2] [размерN];
- •Контрольные вопросы
- •Библиографический список
- •Тема 6 Символьные массивы в языке с. Работа со строками
- •Тип имя_массива[размер];
- •Тип имя_массива[размер1] [размер2];
- •Тип имя_массива[размер1] [размер2] [размерN];
- •Контрольные вопросы
- •Библиографический список
- •Тема 7 Указатели в языке программирования с
- •Int *ptr; // объявили указатель на целую переменную
- •Контрольные вопросы
- •Библиографический список
- •Тема 8 Указатели и массивы в языке с
- •Int data[7]; // обычный массив
- •Int *pd[7]; // массив указателей
- •Контрольные вопросы
- •Библиографический список
- •Тема 9 Динамическое распределение памяти в языке с
- •If (!ptr) // условие логического отрицания
- •If (!ptr) // условие логического отрицания
- •Контрольные вопросы
- •Библиографический список
- •Тема 10 Функции Общие сведения о функциях языка с
- •Fun(тип имя_перем1, тип имя_перем2, , тип имя_перем n)
- •Контрольные вопросы
- •Библиографический список
- •Тема 11 Указатели и функции в языке программирования с
- •Тип_возвращаемый_функцией(*имя_указателя_на_функцию)(аргументы);
- •Контрольные вопросы
- •Библиографический список
- •Тема 12 Файловый ввод/вывод в языке с
- •Контрольные вопросы
- •Библиографический список
- •Тема 13 Структуры – производные типы данных языка с
- •Int age; // возраст
- •Int age; // возраст
- •Int age; // возраст
- •Int age; // возраст
- •Int age; // возраст
- •Int age; // возраст
- •Контрольные вопросы
- •Библиографический список
- •Тема 14 Объединения и перечислимые типы в языке с
- •Контрольные вопросы
- •Библиографический список
- •Тема 15 Структуры и функции языка с
- •Контрольные вопросы
- •Библиографический список
- •Тема 16 Операции с разрядами (битами) в языке с
- •Контрольные вопросы
- •Библиографический список
- •Тема 17 Программы, состоящие из нескольких файлов, на языке с
- •Спецификатор extern
- •Спецификатор static
- •Спецификатор register
- •Спецификатор auto
- •Контрольные вопросы
- •Библиографический список
- •Тема 18 Рекурсивные алгоритмы и функции
- •Переместить (a, b);
- •Контрольные вопросы
- •Библиографический список
- •Тема 19 Препроцессор языка с
- •Директива #define
- •Директива #error
- •Директива #include
- •Директивы условной компиляции
- •2_ Я_последовательность операторов программного кода
- •3_ Я_последовательность операторов программного кода
- •Директива #line
- •Директива #pragma
- •Предопределенные символические константы
- •Макрос подтверждения assert
- •Контрольные вопросы
- •Библиографический список
- •Тема 20 Программы на языке с при использовании статически подключаемой библиотеки
- •Контрольные вопросы
- •Библиографический список
- •Тема 21 Использование аргументов командной строки в с
- •Контрольные вопросы
- •Контрольная работа № 2 Покупки в супермаркете
- •Приложение Управление конфигурациями проекта в Visual Studio 2010
Контрольные вопросы
Как организуются множественные действия в операторе условия if?
Какой формат записи имеет тернарный оператор условия?
Какой оператор условия рекомендуется использовать для программирования меню?
В чем различие и сходство между операторами break и continue?
Как можно обеспечить выход из вложенных циклов?
Как можно организовать переходы в различные точки программы на С?
Какие логические операторы отношения используются в языке С?
Что произойдет, если в операторе switch после метки case не использовать оператор break?
Что произойдет, если в операторе switch не поставить метку default и условие переключения не совпадет ни с одной меткой case?
Библиографический список
Кочан С. Программирование на языке С : пер. с англ./С. Кочан. – 3-е изд.– М.: Вильямс, 2007. – 496 с.
Шилдт Г. Полный справочник по С : пер. с англ./Г. Шилдт. – 4-е изд. – М.: Вильямс, 2007. – 704 с.
Керниган Б. У. Язык программирования С : пер. с англ./Б. У.Керниган, Д. М.Ритчи. – 2-е изд. – М.: Вильямс, 2007. – 304 с.
Тема 5 Числовые массивы в языке программирования с
Рассматриваются определение и инициализация числовых массивов в языке программирования С, программные решения типовых примеров с многомерными числовыми массивами.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
В языке программирования С заложены средства для задания последовательностей упорядоченных данных [1]. Такие последовательности называются массивами. В массивах должны быть упорядочены данные одного и того же типа. Рассмотрим массивы с целыми и вещественными типами данных, т.е. типы int, float или double.
Массивы данных могут быть одномерными (векторами размера 1×n или n×1), двухмерными (матрицами размера n×m) или многомерными (размера n×m×p). В частности, для векторов и матриц в приведенной записи первый индекс означает количество строк, а второй (число или буква) – количество столбцов. Для названия массива может быть использована переменная, состоящая из букв (буквы), букв с цифрами, букв с цифрами и знаком подчеркивания и т.д. в соответствии с правилами объявления переменных, принятых в языке С. Если размерность массива меньше, чем требуется, то компилятор не выдаст сообщения об ошибке. Выход за границы массивов должен отслеживать только сам программист.
5.1. Одномерные массивы
Одномерный массив – это список связанных однотипных переменных. Общая форма его записи:
Тип имя_массива[размер];
В приведенной записи элемент тип объявляет базовый тип массива. Количество данных, которые будут храниться в массиве с именем имя_массива, определяется элементом размер [2].
В языке С индексация массива начинается с нуля. Например, если размер массива определен величиной 10, то в нем можно хранить 10 элементов с индексацией 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Доступ к отдельному элементу массива осуществляется с помощью индекса. Индекс описывает позицию элемента внутри массива.
Все массивы занимают смежные ячейки памяти, т.е. элементы массива в памяти расположены последовательно друг за другом. Ячейка памяти с наименьшим адресом относится к первому элементу массива, а с наибольшим – к последнему.
Для одномерных массивов общий размер в байтах вычисляется по формуле
всего байт = размер типа в байтах × количество элементов.
В языке С нельзя присвоить один массив другому. Для передачи элементов одного массива другому присвоение необходимо выполнить поэлементно.
5.2. Двухмерные массивы, матрицы
Двухмерный массив представляет собой список одномерных массивов. Общая форма записи: