- •Основы программирования на языке С
- •Введение
- •1. Базовые понятия программирования
- •1.1. Алгоритмизация задачи
- •1.2. Схема алгоритма программы
- •1.3. Пример алгоритмизации
- •1.4. Этапы трансляции программы
- •2. Особенности языка С
- •2.1. Характеристики языка
- •2.2. Элементы языка
- •2.3. Стандартные типы данных
- •2.4. Компоненты простой программы
- •Вопросы для самопроверки
- •3. Выражения и операции
- •3.1. Операция и выражение присваивания
- •3.2. Бинарные арифметические операции
- •3.3. Операции увеличения (++) и уменьшения (--)
- •3.4. Преобразования типов при вычислении арифметических выражений
- •3.5. Тернарная или условная операция
- •3.6. Логические операции и операции отношения
- •3.7. Поразрядные (побитовые) операции
- •3.8. Операции сдвига
- •3.9. Операция sizeof
- •3.10. Операция следования
- •3.11. Сводная таблица операций языка С
- •Вопросы для самопроверки
- •4. Операторы
- •4.1. Оператор выражение
- •4.2. Пустой оператор
- •4.3. Объявления и составной оператор
- •4.4. Условный оператор
- •4.5. Оператор выбора switch
- •4.6. Циклы
- •4.7. Оператор break
- •4.8. Оператор безусловного перехода goto
- •4.9. Оператор continue
- •4.10. Оператор return
- •Вопросы для самопроверки
- •5. Массивы
- •5.1. Одномерные статические массивы
- •5.2. Объявление массива. Обращение к элементу массива
- •5.3. Инициализация массива
- •5.4. Многомерные массивы
- •5.5. Выход индекса за границы массива
- •5.6. Приемы работы с массивами в вычислительных задачах
- •5.7. Строка как массив символов
- •Вопросы для самопроверки
- •6. Указатели и ссылки
- •6.1. Понятие указателя
- •6.2. Операция получения адреса &
- •6.3. Операция разыменования (*)
- •6.4. Арифметика указателей
- •6.5. Применение указателей в выражениях
- •6.6. Указатели и массивы
- •6.7. Ссылочный тип данных
- •Вопросы для самопроверки
- •7. Время жизни и область видимости переменной
- •7.1. Общие понятия
- •7.2. Классы памяти
- •7.3. Вложенные блоки в программе
- •8. Функции
- •8.1. Общие понятия
- •8.2. Определение функции
- •8.3. Прототип функции
- •8.4. Переменные в функции
- •8.5. Передача параметров в функцию
- •Вопросы для самопроверки
- •9. Пользовательские типы данных
- •9.1. Структурный тип данных
- •9.2. Битовые поля
- •9.3. Объединения или смеси
- •9.4. Перечисления
- •Вопросы для самопроверки
- •10. Динамическая работа с памятью
- •10.1. Универсальный указатель void
- •10.2. Принципы работы с динамическими массивами
- •Вопросы для самопроверки
- •11. Ввод-вывод данных
- •11.2. Функции ввода-вывода библиотеки iostream
Министерство образования и науки Российской Федерации Федеральное агентство по образованию
Московский государственный институт электронной техники (технический университет)
_____________________________________________________________________________________________
Е.Г. Дорогова
Основы программирования на языке С
Учебное пособие
Утверждено редакционно-издательским советом института
Москва 2009
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
УДК 002(07) Д69
Рецензенты: канд. техн наук Д.Б. Ломоносов; канд. техн наук А.А. Петров
Дорогова Е.Г.
Д69 Основы программирования на языке С: Учебное пособие. - М.: МИЭТ, 2009. - 192 с.
ISBN 978-5-7256-0534-1
Пособие является начальным курсом программирования на языке С. Рассмотрены основы программирования, приемы и методы в стиле классического С. Пособие можно использовать как руководство по языку, приводятся многочисленные примеры, оттестированные на компьютере.
Рекомендовано студентам, изучающим дисциплины ²Основы программирования², ²Языки высокого уровня², ²Информатика².
ISBN 978-5-7256-0534-1 |
© МИЭТ, 2009 |
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
Учебное пособие
Дорогова Екатерина Георгиевна
Основы программирования на языке С.
Текст печатается в авторской редакции. Верстка автора.
Подписано в печать с оригинал-макета 03.04.09. Формат 60х84 1/16. Печать офсетная. Бумага офсетная. Гарнитура Times New Roman. Усл. печ. л. 11,14. Уч.-изд. л. 9,6. Тираж 100 экз. Заказ 57.
Отпечатано в типографии ИПК МИЭТ.
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com
Введение
Язык С разработан и реализован в 1972 году сотрудником фирмы AT&T Bell Laboratories Денисом Ритчи. во время работы над операционной системой UNIX. Он не планировал создание универсального языка для широкого использования, он создавал инструментальный язык операционной системы UNIX для сотрудников фирмы AT&T.
При создании системных программ программист обязан уделять особое внимание быстродействию, надежности и эффективности программного кода, что обычно достигается использованием ассемблера, но
при решении таких сложных задач как ОС возникает желание использовать более производительные средства программирования. Именно так и возник язык С – объединил в себе гибкость Ассемблера и удобство языков высокого уровня.
Рост популярности С с одной стороны и отсутствие утвержденного стандарта с другой привели к тому, что в создании компиляторов начали участвовать коллективы разработчиков, ранее не причастных к проектированию языка, что привело к возникновению проблемы совместимости программ. Программы, написанные и отлаженные с применением средств программирования одного разработчика, могли не работать на компиляторе другого разработчика.
В 1983 г. Американский институт национальных стандартов (American National Standards Institute – ANSI) учредил комитет, перед которым была поставлена цель выработать "однозначное и машинно- независимое определение языка С", полностью сохранив при этом его стилистику. Результатом работы этого комитета и явился стандарт ANSI языка С. Кроме того существует еще один стандарт языка С - ISO (International Standart Organization).
Современные компиляторы обеспечивают поддержку значительной части обоих стандартов, приведем наиболее известные из них: GNU компилятор, Intel C++, Borland C++, Visual C++.
Настоящее пособие предназначено для изучения программирования на стандартном языке С. Большое внимание уделено как ситаксису и конструкциям языка, так и их практическому использованию при решении типовых задач. Наряду с простым перечислением правил, широко используется изучение, написание и проработка примеров.
Следует отметить, что изучать язык программирования, только по книге или лекциям – пустая трата времени. Для достижении успеха в программировании необходима практика, поэтому предполагается, что читатели будут выполнять упражнения, приведенные в пособии на компьютере. Все программы тестировались в MS Visual C++6.0 под управлением Windows XP.
PDF created with FinePrint pdfFactory Pro trial version http://www.fineprint.com