- •Предисловие
- •Библиографический список
- •Контрольные вопросы
- •Библиографический список
- •Тема 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
Контрольные вопросы
Что может быть файлом в языке С?
Какие обязательные операции выполняются при нормальной работе с файлами? Какие библиотечные функции при этом используются?
Как определяется текстовой поток в стандарте языка С?
Как определяется двоичный поток в стандарте языка С?
Что представляет собой указатель файла?
С помощью каких функций языка Сосуществляются форматная запись в файл и форматное чтение данных из файла?
Какая переменная стандартной библиотеки используется для определения стандартного потока вывода на дисплей?
Какая переменная стандартной библиотеки используется для определения стандартного потока чтения с дисплея?
Как в языке Скодируется признак конца файла?
Как в языке Скодируется признак конца строки?
Что такое файл произвольного доступа?
Как в языке Сосуществляется пакетная запись данных в файл?
Как осуществляется запись бинарной информации в текстовый файл?
Как осуществляется чтение бинарной информации из текстового файла?
Библиографический список
Демидович Е.М. Основы алгоритмизации и программирования. Язык Си : учеб. пособие/Е.М. Демидович. – 2-е изд., испр. и доп. – СПб. : БХВ-Петербург, 2008. – 440 с.
Шилдт Г. Полный справочник по С : пер. с англ./Г. Шилдт. – 4-е изд. – М.: Вильямс, 2007. – 704 с.
Керниган Б. У. Язык программирования С : пер. с англ./Б. У.Керниган, Д. М.Ритчи. – 2-е изд. – М.: Вильямс, 2007. – 304 с.
Прата С. Язык программирования С. Лекции и упражнения : пер. с англ. / С. Прата. – 5-е изд. – М.: Вильямс, 2006. – 960 с.
Тема 13 Структуры – производные типы данных языка с
Рассматриваются вопросы создания и использования структур в языке программирования С.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Структура– это совокупность нескольких переменных, часто различных типов [1], объединяемых под одним именем. Переменные, из которых состоит структура, называются ее членами,элементамиилиполями[2]. С помощью структур удобно размещать в смежных полях связанные между собой элементы информации. Здесь могут быть собраны различные объекты – переменные, массивы, указатели, другие структуры и т.д. Если в массиве собраны переменные одного типа (например,float), то в структуре могут наличествовать переменные различных типов. Объявление структуры подготавливает шаблон, который можно использовать для создания ее объектов (экземпляров этой структуры) [2]. При объявлении структуры определяется агрегатный тип данных, но не переменная.
Определение структуры состоит из двух шагов:
объявление шаблона структуры (задание нового типа данных);
определение переменных типа объявленного шаблона [3].
Имена шаблонов должны быть уникальными в пределах области их определения, для того чтобы компилятор мог различать их типы. Задание шаблона осуществляется с помощью ключевого слова struct, за которым следует его имя и список элементов, заключенных в фигурные скобки [3]. Имена элементов в одном шаблоне также должны быть уникальными. Задание только шаблона не влечет резервирования памяти компилятором. Шаблон предоставляет компилятору необходимую информацию об элементах структурной переменной для выделения места в оперативной памяти и организации доступа к ней при определении структурной переменной и использовании ее отдельных элементов [3].
Рассмотрим шаблон структуры для определения имени и фамилии работника (служащего – employee), его возраста, почасовой оплаты:
struct employee {
char Name [21]; // имя
char Surname [21]; // фамилия