ЯЗЫК ПРОГРАММИРОВАНИЯ СИ. ИСТОРИЯ СОЗДАНИЯ. ОБЩАЯ ХАРАКТЕРИСТИКА. - раздел Приборостроение, ПРИБОРОСТРОЕНИЯ И ИНФОРМАТИКИ Язык Программирования C (Си) Был Разработан Деннисом Ритчи (Dennis Ritchie) В...
Язык программирования 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 году.
Язык Си является одновременно языком высокого и низкого уровней (ассемблер высокого уровня). Это означает, что он одновременно относится к двум классам формальных алгоритмических языков:
· универсальных машинно-независимых языков (высокий уровень),
· машинно-ориентированных языков (низкий уровень).
Язык Си имеет хорошо развитые структуры, модули, определяемые типы данных. В этом проявляется его высокий уровень, свойственный таким языкам как, например, Паскаль.
Язык Си открывает доступ к номерам ячеек памяти, битам, байтам, регистрам, управляющим работой центрального процессора и внешних устройств. В этом проявляется его низкий уровень, свойственный ассемблерам.
Язык Си соответствует возможностям многих ЭВМ, но не зависит от их архитектуры. Программы-драйверы не являются составной частью языка Си, а находятся в специальных файлах-библиотеках. Поэтому, программы, написанные на языке Си, являются машинно-независимыми.
Стандарта языка Си до 1989 года не существовало. В качестве описания языка Си первоначально использовалось (в частности разработчиками компиляторов) первое издание книги Керниган Б., Ритчи Д. «Язык программирования Си», вышедшее в США в 1978 году. Этот неформальный, существовавший де-факто стандарт, обозначается специальным сокращением K&R (Kernighan & Ritchie).
В 1989 году Американский институт национальных стандартов (American National Standarts Institute - ANSI) принял стандарт языка Си C89. Этот же стандарт был принят Международной организацией по стандартизации (International Standards Organizaton - ISO). Стандарт ANSI/ISO C89 используется всеми компиляторами языка Си.
Стандарт ANSI/ISO C89 является также основой объектно-ориентированного языка программирования C++, созданного Бьерном Строуструпом (Bjarne Stroustrup) в 80-х годах в Bell Laboratories. Язык Си – это подмножество языка C++. Язык C++ - это надмножество языка Си.
В 1999 году был принят стандарт ANSI/ISO C99, в который был включен ряд изменений и дополнений [18]: массивы переменной длины, новые библиотеки, однострочные комментарии, добавления к препроцессору, новые встроенные типы данных и др.
Все темы данного раздела:
ФОРМУЛА ХАРТЛИ.
Если число состояний системы равно N, то это равносильно информации, даваемой I ответами типа «ДА-НЕТ» на вопросы, поставленные так, что «ДА» и «НЕТ» одинаково вероятны.
N=2I
ЭНТРОПИЯ В ИНФОРМАТИКЕ И ФИЗИКЕ.
Как в физическом, так и в информационном смысле величина энтропии характеризует степень разнообразия состояний системы.
Формула Шеннона совпадает с формулой Больцмана для энтропии физическ
ВЕРОЯТНОСТНЫЙ И ОБЪЕМНЫЙ ПОДХОДЫ К ИЗМЕРЕНИЮ КОЛИЧЕСТВА ИНФОРМАЦИИ.
Определить понятие «количество информации» довольно сложно. В решении этой проблемы существуют два основных подхода. Исторически они возникли почти одновременно. В конце 40-х годов XX века один из
РАЗЛИЧНЫЕ АСПЕКТЫ АНАЛИЗА ИНФОРМАЦИИ.
Как ни важно измерение информации, к нему не сводятся все связанные с этим понятием проблемы. При анализе информации на первый план могут выступить такие ее свойства как истинность
БУКВА (ЗНАК, СИМВОЛ). АЛФАВИТ.
Информация передается в виде сообщений. Дискретная информация записывается с помощью некоторого конечного набора знаков, которые будем называть буквами, не вкладывая в это слово привычного ограниче
КОДИРОВЩИК И ДЕКОДИРОВЩИК.
В канале связи сообщение, составленное из букв (знаков, символов) одного алфавита, может преобразовываться в сообщение из букв другого алфавита. Кодом называется правило, описывающее однозначное со
МЕЖДУНАРОДНЫЕ СИСТЕМЫ БАЙТОВОГО КОДИРОВАНИЯ.
Информатика и ее приложения интернациональны. Это связано как с объективными потребностями человечества в единых правилах и законах хранения, передачи и обработки информации, так и с тем, что в это
ПОМЕХОУСТОЙЧИВОЕ КОДИРОВАНИЕ ИНФОРМАЦИИ.
Теория помехоустойчивого кодирования является достаточно сложной, и наши рассуждения носят весьма упрощенный характер. Основным условием обнаружения и исправления ошибок в принимаемых кодовых комби
ПЕРЕДАЧА ИНФОРМАЦИИ.
Теоретической основой передачи информации является Теория сигналов и передачи информации. Теория сигналов и передачи информации изучает процессы формирования, накопления, сбора, измерения, перерабо
ИЗ ИСТОРИИ РАЗВИТИЯ ПЕРЕДАЧИ ИНФОРМАЦИИ.
Проблемы организации связи уходят в глубь веков. Само существо человека требовало общения и обмена информацией. Прообразом линий связи была сигнализация с помощью костров, использование оптических
ТЕОРЕМА КОТЕЛЬНИКОВА.
Теорема Котельникова называется также теоремой отсчетов или теоремой о выборках. Выборкой называется отсчет амплитуды сигнала в
ИНФОРМАЦИОННАЯ ЕМКОСТЬ ДИСКРЕТНОГО СИГНАЛА (СООБЩЕНИЯ). ФОРМУЛА ШЕННОНА.
Уровень шумов (помех) не позволяет точно определить амплитуду сигнала и в этом смысле вносит некоторую неопределенность в значение отсчетов сигнала. Если бы шума не существовало, то число дискретны
РЕГЕНЕРАЦИЯ ДВОИЧНЫХ СИГНАЛОВ.
Сигналы, передаваемые двоичным кодом, удобны во многих отношениях. Как и любые цифровые дискретные сигналы, их можно регенерировать, т.е. восстановить, воссоздать их форму, искаженную помехами. Кос
ПОМЕХОЗАЩИЩЕННОСТЬ ДВОИЧНЫХ СИГНАЛОВ.
Большое достоинство двоичных цифровых сигналов заключается в том, что они требуют минимального отношения сигнал - помеха в канале связи, т.е. являются наиболее помехозащищенными. Поясним, что это т
КОДИРОВАНИЕ ДВОИЧНЫХ СИГНАЛОВ.
Любой сигнал переносится либо энергией, либо веществом. Это либо акустическая волна (звук), либо электромагнитное излучение (свет, радиоволна), либо лист бумаги (написанный текст), либо каменная ск
АНАЛОГОВЫЕ И ДИСКРЕТНЫЕ СИГНАЛЫ.
Чтобы сообщение было передано от источника к получателю, необходима некоторая материальная субстанция - носитель информации. Сообщение, передаваемое с помощью носителя, называется сигналом. В общем
ДИСКРЕТИЗАЦИЯ И КОДИРОВАНИЕ АНАЛОГОВОГО СИГНАЛА.
Непрерывное сообщение может быть представлено непрерывной функцией, заданной на некотором отрезке [а, Ь]. Непрерывное сообщение можно преобразовать в дискретное (такая процедура называется дискрети
ЦИФРОВАЯ ТЕЛЕФОННАЯ СВЯЗЬ.
Вот как описывал процесс телефонной связи на заре возникновения цифровых телефонных систем автор книги «Посвящение в радиоэлектронику» В.Т. Поляков.
«Несколько лет назад мне довелось пройт
ЦИФРОВАЯ ТЕЛЕГРАФНАЯ СВЯЗЬ.
Оценим, каков будет поток информации, если телефонный разговор заменить телеграфной передачей того же текста. При среднем темпе речи человек произносит 1 - 1,5 слова в секунду. Каждое слово состоит
ЦИФРОВОЕ ТЕЛЕВИДЕНИЕ.
Трудности представления телевизионных изображений в цифровой форме очевидны. Пусть на каждый элемент приходится один отсчет сигнала, который необходимо преобразовать в соответствующую кодовую комби
ПАРАМЕТРЫ РАДИОСИГНАЛОВ.
Информация есть совокупность сведений о событиях, явлениях, предметах - одним словом, обо всем, что имеется и происходит в мире. Информацию представляют в виде письменного текста, шифрованной цифро
МНОГОКАНАЛЬНЫЕ ЛИНИИ СВЯЗИ. УПЛОТНЕНИЕ ИНФОРМАЦИИ.
МНОГОКАНАЛЬНЫЕ ТЕЛЕФОННЫЕ ЛИНИИ.
В нашей стране развивается и совершенствуется Единая автоматизированная сеть связи (ЕАСС). Ее основу составляют кабельные и радиорелейные линии связи, прич
ИЗ ИСТОРИИ КАБЕЛЬНОЙ СВЯЗИ.
В 1876 г. Александр Белл получил патент на изобретение "Телеграф, при помощи которого можно передавать человеческую речь". Телефон был встречен во всем мире с большим энтузиазмом и через
ПРИНЦИП ОПТОВОЛОКОННОЙ СВЯЗИ.
Благодаря огромной пропускной способности оптический кабель все шире применяется в информационно-вычислительных и телевизионных сетях, где требуется передавать большие объемы информации с исключите
АППАРАТНЫЕ СРЕДСТВА.
Локальные сети (ЛС) объединяют относительно небольшое число компьютеров (обычно от 10 до 100, хотя изредка встречаются и большие) в пределах одного помещения (учебный компьютерный класс), здания ил
КОНФИГУРАЦИЯ ЛОКАЛЬНЫХ СЕТЕЙ.
В простейших сетях с небольшим числом компьютеров они могут быть полностью равноправными; сеть в этом случае обеспечивает передачу данных от любого компьютера к любому другому для коллективной рабо
ОРГАНИЗАЦИЯ ОБМЕНА ИНФОРМАЦИЕЙ.
В любой физической конфигурации поддержка доступа от одного компьютера к другому выполняется программой – сетевой операционной системой, которая по отношению к операционным системам (ОС) отдельных
ОБЩАЯ ХАРАКТЕРИСТИКА СПУТНИКОВОЙ СВЯЗИ.
Идея использования космического пространства давно волновала лучшие умы человечества. Пока не могли вывести на околоземную орбиту летательный аппарат с отражателем на борту, космическая связь остав
ПРИНЦИПЫ СПУТНИКОВОЙ СВЯЗИ.
Рассмотрим некоторые наиболее важные принципы, используемые в спутниковых системах, предназначенных для передачи информации. Остановимся сначала на ретрансляторе информации. Особенность спутниковог
НЕПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ.
В непозиционной системе значение каждого символа в числе не зависит от позиции, которую занимает знак в записи числа (может быть зависимость от места символа по отношению к другому символу.). Наибо
ПОЗИЦИОННЫЕ СИСТЕМЫ СЧИСЛЕНИЯ.
В позиционной системе значение каждого знака в числе зависит от позиции, которую занимает знак в записи числа.
Основанием системы счисления называетсяколичество различ
ПЕРЕВОД ЧИСЕЛ ИЗ ДЕСЯТИЧНОЙ СИСТЕМЫ В ДРУГУЮ СИСТЕМУ.
Ø Целая и дробная части переводятся порознь.
Ø Чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо разделить ее на В. О
ПЕРЕВОД ЧИСЕЛ В ДЕСЯТИЧНУЮ СИСТЕМУ ИЗ ДРУГИХ СИСТЕМ.
ПЕРЕВОД ЦЕЛЫХ ЧИСЕЛ В ДЕСЯТИЧНУЮ СИСТЕМУ.
23510=2*102+3*101+5*100;
011012=0*24+1*23+1*22+0*
ВЗАИМНЫЕ ПРЕОБРАЗОВАНИЯ ДВОИЧНЫХ, ВОСЬМЕРИЧНЫХ И ШЕСТНАДЦАТЕРИЧНЫХ ЧИСЕЛ.
С практической точки зрения представляет интерес процедура взаимного преобразования двоичных, восьмеричных и шестнадцатеричных чисел.
Для перевода целого двоичного числа в восьмеричное нео
ЯЗЫКИ ПРОГРАММИРОВАНИЯ. ОБЩАЯ ХАРАКТЕРИСТИКА.
Языки программирования являются искусственными языками, специально созданными для общения человека с ЭВМ. Языки программирования представляют собой системы обозначений, предназначенные для точного
ЯЗЫК ПРОГРАММИРОВАНИЯ СИ. ПРОЦЕСС СОЗДАНИЯ ИСПОЛНЯЕМОГО ФАЙЛА.
· Исходный файл (текст программы на языке программирования Си) создается в редакторе системы программирования, например Borland C++.
· Расширенный исходный файл
ЯЗЫК ПРОГРАММИРОВАНИЯ СИ. ОСНОВНЫЕ ПОНЯТИЯ.
Идентификаторы – это имена переменных, констант, функций, меток и т.п. Внешние идентификаторы (имена функций и глобальных переменных, участвующих в процессе компоновки) согласно AN
Базовые типы данных;
· char- символьные;
· int - целые;
· float – с плавающей точкой;
· double – с плавающей точкой двойной длины;
· void – пустой, не имеющий значения.
Тип
Строковые константы.
Строковые константы определяется как последовательность символов, заключенная в двойные кавычки: ”Строковая константа”.
ПРИМЕЧАНИЕ: См. 4. СТРОКИ И СТРОКОВЫЕ КОНСТАНТЫ.
Ко
Инициализаторы.
Для присваивания начальных значений переменным при их определении используются инициализаторы.
Инициализаторы имеют форму:
= значение;
= {список значений}; /* сложные зна
ЯЗЫК ПРОГРАММИРОВАНИЯ СИ. СТРУКТУРА ПРОСТОЙ ПРОГРАММЫ.
/* ПРОГРАММА:
information.c – пример вывода сообщения. /* 1 */
*/
/*#############################################*/ /* 2 */
/*============================= inclu
Новости и инфо для студентов