- •Предисловие
- •Библиографический список
- •Контрольные вопросы
- •Библиографический список
- •Тема 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. Двухмерные массивы, матрицы
Двухмерный массив представляет собой список одномерных массивов. Общая форма записи: