- •Предисловие
- •Библиографический список
- •Контрольные вопросы
- •Библиографический список
- •Тема 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
Контрольные вопросы
Как организуются многомерные числовые массивы в языке С?
Как организуется индексирование числовых массивов в языке С?
На кого или на что возлагается контроль границ числовых массивов в языке программирования С?
В какой очередности и как происходит заполнение многомерных числовых массивов в программах на языке С?
Для чего применяется начальная инициализация числовых массивов при дальнейшем их использовании?
Сколько потребуется операторов цикла для вывода на консоль двухмерного числового массива (матрицы чисел)?
Почему при определении размерности массива с помощью препроцессорной директивы defineне используется точка с запятой после числового значения?
Библиографический список
Кочан С. Программирование на языке С : пер. с англ./С. Кочан. – 3-е изд.– М.: Вильямс, 2007. – 496 с.
Шилдт Г. Полный справочник по С : пер. с англ./Г. Шилдт. – 4-е изд. – М.: Вильямс, 2007. – 704 с.
Хусаинов Б.С. Структуры и алгоритмы обработки данных. Примеры на языке Си (+CD) : учеб. пособие / Б.С. Хусаинов. – М.: Финансы и статистика, 2004. – 464 с.
Тема 6 Символьные массивы в языке с. Работа со строками
Изучаются задание и инициализация символьных массивов в языке программирования С, решение задач с символьными массивами, базовые функции для работы со строками.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Как уже отмечалось, в языке программирования Сзаложены средства для задания последовательностей упорядоченных данных – массивов. Рассмотрим массивы символов, которые определятся типомchar. Одномерный массив наиболее часто применяется в виде строки символов. Строка – это одномерный массив символов, заканчивающийся нулевым символом'\0'[1, 2], который служит признаком окончания строки. При объявлении массива символов, предназначенного для хранения строки, необходимо отвести одно место для нуля. Например, если дана строкаqwerty, в которой 6 символов, каждый из которых занимает в памяти 1 байт, то при инициализации такой строки необходимо отвести 1 байт для нулевого символа. Поэтому следует сделать объявление строки для семи символов:
char str[7] = "qwerty";
Альтернативным объявлением может служить безразмерная инициализация:
char str[ ] = "qwerty";
При этом в случае определения длины строки результатом будет число 6. Размер строки не изменится, если в ней указать символ окончания строки:
char str[ ] = "qwerty\0";
Аналогично числовым массивам в языке Смогут использоваться массивы строк, т.е. набор одномерных массивов символов. Например, сервер базы данных сверяет команды пользователей с массивом допустимых команд [2]. В качестве массива строк будет служить двухмерный символьный массив. Размер левого измерения определяет количество строк, а правого – максимальную длину каждой из них [2]. Например:
char str[30][80];
Число 30 – это количество строк массива, а число 80 – максимальная длина каждой строки с учетом нулевого символа ее завершения. Чтобы обратиться к отдельной строке двухмерного символьного массива, достаточно указать только левый индекс объявленного массива.
Многомерные символьные массивы образуются как и числовые:
char str[n][m][N];
В объявлении массива n– первая размерность,m– вторая размерность,,N–N-я (последняя) размерность. Значения размерностей – целые неотрицательные числа.
6.1. Одномерные символьные массивы – строки
Одномерный массив– это список связанных однотипных переменных.
Общая форма записи [2]: