- •Предисловие.
- •1. Введение.
- •1.1. История создания языка си.
- •1.2. Стандарты языка си.
- •2. Основные сведения, необходимые для создания программ на языке си.
- •2.1 Процесс создания исполняемого файла.
- •2.2 Распределение памяти программы.
- •2.3 Некоторые основные понятия.
- •2.4 Данные.
- •2.5 Структура простой программы.
- •3. Определение размеров типов данных и объектов.
- •4. Строки и строковые константы.
- •5. Директива препроцессора # define.
- •6. Функции форматированного ввода – вывода.
- •6.1 Функция форматированного вывода printf().
- •6.2 Функция форматированного ввода scanf().
- •7. Операции и операторы.
- •7.1 Арифметические операции
- •7.4 Порядок выполнения операций.
- •8. Выражения и операторы
- •8.1 Выражения.
- •8.2 Операторы.
- •8.3 Составные операторы.
- •8.4 Преобразование типов.
- •8.5 Операция приведения типов.
- •9. Функции ввода и вывода символов.
- •9.1 Функции getchar() и putchar().
- •9.2 Функции getch() и getche().
- •9.3 Ввод и вывод последовательности символов.
- •9.4 Подсчет символов, вводимых с клавиатуры.
- •9.5 Вывод символов из вводимого с клавиатуры файла.
- •9.6 Переключение ввода-вывода данных.
- •10. Принятие решений.
- •10.1 Оператор если (if).
- •10.2 Оператор если - иначе (if else).
- •10.3 Множественный выбор на основе операторов if, else.
- •10.5 Приоритеты операций отношения.
- •10.6 Логические операции (and, or, not).
- •10.7 Операция условия ?:.
- •10.8 Множественный выбор на основе операторов switch, break, default.
- •11. Циклы.
- •11.1 Цикл пока (while).
- •11.2 Цикл для (for).
- •11.4 Операция запятая ,.
- •11.5 Цикл делай пока (do while).
- •11.6 Вложенные циклы.
- •11.7 Операторы выход из структуры (break), продолжение (continue), безусловный переход (to go).
- •Литература.
- •Оглавление.
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ
Кафедра ИС 5 Информационное обеспечение робототехнических и мехатронных систем.
Для студентов 3 курса факультета Интеллектуальных систем специальностb 2203.01.
Кандидат технических наук, доцент Стефанович Александр Евгеньевич.
ЛЕКЦИИ ПО ПРОГРАММИРОВАНИЮ
НА ЯЗЫКЕ СИ
(дисциплина 3403)
МГУПИ – 200__г.
УДК
Лекции по программированию на языке Си. Учебно-методическое пособие по дисциплинам Информатика и Программирование. Составитель А.Е. Стефанович. М: МГУПИ, 2007. 133 с.
Цель методического пособия систематическое изложение основных сведений по языку программирования Си в сопровождении соответствующих исполняемых файлов (действующих программ). В основу конспекта положена работа с основополагающей ставшей уже классической литературой. Список литературы открывает книга разработчиков языка Си Б.В. Кернигана и Д.М. Ритчи «Язык программирования Си» и включает книгу ведущего специалиста в области программирования на языке Си, члена комитета ANSI/ISO Г. Шилдта «Полный справочник по языку Си». Весь материал систематизирован с учетом стандартов ANSI/ISO (C89, C99). Многочисленные примеры, взятые из различных книг, приведены составителем конспекта к единому стилю, дополнены данными и файлами, необходимыми для получения исходного текста на языке Си, готового к компиляции, подробно комментированы. Рассмотрены результаты выполнения программ.
Предисловие.
В методическом пособии систематически изложены основные сведения по языку программирования Си в сопровождении соответствующих исполняемых файлов (действующих программ). В основу конспекта положена работа с основополагающей ставшей уже классической литературой:
-
Керниган Б., Ритчи Д. Язык программирования Си / Пер. с англ. - М.: Финансы и статистика, 1992.
-
Уэйт М., Прата С., Мартин Д. Язык Си / Пер. с англ. - М.:Мир, 1988.
-
Белецкий Я. Энциклопедия языка Си / Пер. с англ. - М.:Мир, 1992.
-
Джехани Н. Программирование на языке Си. / Пер. с англ. Справочник. - М.: Радио и связь, 1988.
-
Уинер Р. Язык Турбо Си / Пер. с англ. - М.:Мир, 1991.
-
Левкин Г.Н., Левкина В.Е. ДЕМО ТУРБО СИ - М: ПРОК, 1992.
-
М.И. Болски. Язык программирования Си / Пер с англ. Справочник. – М.: Радио и связь, 1988.
-
Р. Бери, Б. Микинз. Язык Си. Введение для программистов / Пер. с англ. – М.: Финансы и статистика, 1988.
-
З.С. Погорелый, Т.Ф. Слободянюк. Программное обеспечение микропроцессорных систем. Справочник. – Киев: Техника, 1988.
-
Бошкин А.В., Дубнер П.Н. Работа в Турбо СИ – М: ЮКИС, 1991.
-
Б.П. Прокофьев, Н.Н. Сухарев, Ю.Е. Храмов Графические средства Турбо С и Турбо С++ - М: Финансы и статистика, 1992.
-
Трой Д. Программирование на языке Си для персонального компьютера IBM PC/ Пер. с англ. – М: Радио и связь, 1991.
-
Касаткин А.И., Вальвачев А.Н. От Turbo C к Borland C++ Справочное пособие – Минск: Вышэйшая школа, 1992
-
Касаткин А.И. Управление ресурсами Справочное пособие – Минск: Вышэйшая школа, 1992.
-
Касаткин А.И. Системное программирование Справочное пособие – Минск: Вышэйшая школа, 1993.
-
Подбельский В.В., Фомин С.С. Программирование на языке Си - М: Финансы и статистика, 2000.
-
Березин Б.И., Березин С.Б. Начальный курс С и С++ - М: ДИАЛОГ-МИФИ, 2003.
-
Шилдт Г. Полный справочник по С, 4-е издание/ Пер. с англ. – М, С-Пб, Киев: Издательский дом Вильямс, 2002.
Весь материал систематизирован с учетом стандартов ANSI/ISO (C89, C99). Многочисленные примеры, взятые из различных книг, приведены составителем конспекта к единому стилю, дополнены данными и файлами, необходимыми для получения исходного текста на языке Си, готового к компиляции, подробно комментированы. Рассмотрены результаты выполнения программ.
1. Введение.
1.1. История создания языка си.
Язык программирования C (Си) был разработан Деннисом Ритчи (Dennis Ritchie) в 1972 году как инструмент написания операционной системы (ОС) UNIX для электронной вычислительной машины (ЭВМ) PDP-11 фирмы DEC. ОС UNIX была задумана как мастерская для инженеров программистов. Главный инструмент мастерской – язык Си. В настоящее время язык Си используется на различных ЭВМ, на которых установлены разные операционные системы (UNIX, DOS, OS/2, WINDOWS и др.).
Ближайшими родственниками и предками языка программирования Си являются языки программирования:
-
Алгол 60 (ALGOL – ALGOrithmic Language - -алгоритмический язык), разработанный Джоном Бэкусом (Backus) и Питером Науром (Naur) и принятый Международным комитетом из представителей семи стран (США, ФРГ, Англии, Франции, Дании, Нидерландов и Швйцарии) в Париже в 1960 году;
-
CPL (Combined Programming Language), разработанный Кембриджским и Лондонским университетами в 1963 году;
-
BCPL (Basic Combined Programming Language), разработанный Мартином Ричардсом (Martin Richards) в Кембриджском университете в 1967 году;
-
B (базовый язык Би), разработанный Кеном Томпсоном (Ken Thompson) в Bell Laboratories в 1970 году.
Язык Си является одновременно языком высокого и низкого уровней (ассемблер высокого уровня). Это означает, что он одновременно относится к двум классам формальных алгоритмических языков:
-
универсальных машинно-независимых языков (высокий уровень),
-
машинно-ориентированных языков (низкий уровень).
Язык Си имеет хорошо развитые структуры, модули, определяемые типы данных. В этом проявляется его высокий уровень, свойственный таким языкам как, например, Паскаль.
Язык Си открывает доступ к номерам ячеек памяти, битам, байтам, регистрам, управляющим работой центрального процессора и внешних устройств. В этом проявляется его низкий уровень, свойственный ассемблерам.
Язык Си соответствует возможностям многих ЭВМ, но не зависит от их архитектуры. Программы-драйверы не являются составной частью языка Си, а находятся в специальных файлах-библиотеках. Поэтому, программы, написанные на языке Си, являются машинно-независимыми.