Обзор языка Си Лекция 1 Краткая история развития С Автор - Деннис Ритчи (Dennis Ritchie) Компьютер - DEC PDP-11 ОС - Unix. Основа - "более старый" язык BCPL Мартин Ричардс (Martin Richards). BCPL оказал определенное влияние на язык В Кен Томпсон (Ken Thompson). В свою очередь развитие языка В привело к созданию в 1970 году языка С. Стандарты языка Си ANSI C89 C99 С - язык среднего уровня Язык С хорошо структурирован Язык С создан для программистов Си обеспечивает то, чего ждут от него программисты: небольшое количество ограничений, блочную структуру; автономные функции и малое количество ключевых слов; программы, написанные на языке С, обладают эффективностью программ, написанных на языке ассемблера и структурированностью, присущей программам, созданным на языках Pascal или Modula-2. Компилятор и интерпритатор Интерпретатор читает исходный текст программы по одной строке за раз, выполняет эту строку и только после этого переходит к следующей. Компилятор читает сразу всю программу и конвертирует ее в объектный код, то есть транслирует исходный текст программы в форму, более пригодную для непосредственного выполнения компьютером. Объектный код также называют двоичным или машинным кодом. Когда программа скомпилирована, в ее коде уже нет отдельных строк исходного кода. В общем случае интерпретируемая программа выполняется медленнее, чем скомпилированная. Структура программы на языке С Библиотека и компановка Все компиляторы С поставляются вместе с библиотекой стандартных функций, предназначенных для выполнения наиболее общих задач. Стандарт С определяет минимальный набор функций, которые должны поддерживаться каждым компилятором. При вызове библиотечной функции компилятор "запоминает" ее имя. Потом компоновщик связывает код исходной программы с объектным кодом, уже найденным в стандартной библиотеке. Этот процесс называется компоновкой. У некоторых компиляторов есть свой собственный компоновщик, другие пользуются стандартным компоновщиком, поставляемым вместе с операционной системой. Компиляция программы на языке С Создание выполнимой программы на языке С состоит из следующих трех шагов: 1. разработка; 2. компиляция; 3. компоновка программы с библиотечными функциями. Карта памяти программы на языке С Сравнительная характеристика языков С и С++ Язык C++ — это объектно-ориентированный язык программирования, фундаментом которого является С. Язык С — это подмножество C++ и, следовательно, C++ — надмножество С. В общем случае компилятор C++ можно использовать для компиляции программы, написанной на С. В настоящее время большинство компиляторов могут работать с программами, написанными как на С, так и на C++. При написании программы на С, рассчитанной на компилятор C++, необходимо правильно указывать расширение файла, содержащего текст программы. Согласно действующему соглашению, файлы программ, написанных на С имеют расширение .С, а написанных на C++ — .СРР.