Вівторок, 19.03.2024, 05:51
Гость

Мішатронік

Мобільна версія | Додати у вибране  | Мій профіль | Вихід | RSS |
Меню сайту
Наше опитування
Які схеми ви любите паяти?
Всього відповідей: 5
Статистика

Онлайн всього: 1
Гостей: 1
Користувачів: 0


Происхождение языка Си

Язык программирования Си был разработан и реализован в 1972 году сотрудником фирмы AT&T Bell Laboratories Денисом Ритчи. Прообразом языка Си для Д. Ритчи послужил язык Би, разработанный Кеном Томпсоном. Он является результатом эволюционного развития языков BCPL (Richards, M., "BCPL: A. Tool for Compiler Writing and System Programming", Proc. AFIPS SJCC, 34, 557-566, 1969) и Би (Johnson, S. C., and B. W. Kernighan, "The Programming Language B", CompSci. Tech. Rep. No. 8, Bell Laboratories. 1973). Основным достоинством языка Си по сравнению с языками BCPL и Би является введение в него типов данных. Язык Си был разработан во время создания операционной системы UNIX (OC UNIX). Развитие языка Си продолжалось и после окончания его разработки и касалось, в частности, проверки типов данных и средств, облегчающих перенос программ в другую среду. Например, разработка проекта переноса OC UNIX на компьютер Interdata 8/32 привела к некоторым добавлениям в язык Си, а именно, к включению в язык таких средств, как объединение (union). Позднее были сделаны попытки включения в язык Си средств абстрагирования данных. В настоящее время рассматривается проект стандарта ANSI C - стандарт языка Си Американского национального института и the C Programming Language - Reference Manual, AT&T Bell Laboratories. С языка Си разработаны совместимые по входному языку трансляторы для 40 типов вычислительных систем, начиная от 8-разрядных микропроцессоров и заканчивая CRAY-1 - одним из самых мощных в свое время суперкомпьютеров. В ходе работ по созданию Мобильного Транслятора с языка Си сам он был переработан для повышения мобильности написанных на нем программ. (Устаревшее: в настоящее время актуальным является стандарт ISO/IEC 9899:2011.)

 

Достоинства языка Си

Особое значение придается гибкости. Язык Си компактен, является относительно маленьким языком программирования. Ввод-вывод не считается частью языка Си, а определяется стандартной библиотекой. Вседозволенность в языке Си является следствием желания как можно больше расширить область его применения. Язык Си удалось сделать относительно маленьким языком программирования за счет того, что в его состав не были включены ввод-вывод и средства для работы со строками. Язык Си был задуман настолько гибким, что эти возможности могли быть реализованы в каждом конкретном случае наиболее удачным образом. Практический опытиспользования языка Си показал правильность такого подхода. Большая часть операционной системы UNIX и все утилиты этой операционной системы, включая и несколько трансляторов с языка Паскаль, реализованы на языке СиЯзык программированияявляется языком программирования с сильной типизацией, если:

 
  • каждый объект в этом языке программирования принадлежит точно одному из существующих в этом языке программирования типу данных;
  • преобразование типов осуществляется только путем преобразования значения из одного типа в другой;
  • преобразование типов не производится путем трактовки представления значения как данных различных типов.
 

Эксперименты показали, что языки программирования с сильной типизацией способствуют увеличению ясности и надежности программ. Механизм трактовки представления значения как данных различных типов приводит к тому, что использующие его программы не обладают ни надежностью, ни мобильностью. В языке Си допускается неявное преобразование типов для всех базовых типов и указателей. Однако Мобильный Транслятор с языка Си выводит предупреждение о каждом встретившемся в программе случае неявного преобразования типов, в котором участвует указатель.

 

Язык Си быстро становится одним из наиболее важных и популярных языков программирования. Его использование все более расширяется, поскольку часто программисты предпочитают язык Си всем другим языкам после первого знакомства с ним. Сейчас мы упомянем лишь некоторые достоинства Си.

 

Си - современный язык. Он включает в себя те управляющие конструкции, которые рекомендуются теоретическим и практическим программированием. Его структура побуждает программиста использовать в своей работе нисходящее проектирование, структурное программирование и пошаговую разработку модулей. Результатом такого подхода является надежная и читаемая программа.

 

Си - эффективный язык. Его структура позволяет наилучшим образом использовать возможности современных ЭВМ. Написанные на языке Си программы обычно отличаются компактностью и быстротой исполнения.

 

Си - переносимый (или мобильный) язык. Это означает, что программа, написанная на Си для одной вычислительной системы, может быть перенесена с небольшими изменениями или вообще без них, на другую.

 

Си - мощный и гибкий язык. Например, большая часть мощной и гибкой OC UNIX написана на языке Си. Речь идет о компиляторах и интерпретаторах других языков, таких, как Фортран, АПЛ, Паскаль, Лисп, Лого и Бейсик. Кроме того, программы, написанные на Си, используются для решения физических и технических проблем, компьютерной графики и даже производства мультипликационных фильмов.

 

Си - обладает рядом конструкций управления, обычно ассоциируемых с ассемблерами.

 

Си - удобный язык. Он достаточно структурирован, чтобы поддерживать хороший стиль программирования, и вместе с тем не связывает ограничениями.

 

Будущее языка Си

Многие фирмы, производящие программное обеспечение, все чаще обращаются к Си как к удобному языку для реализации своих проектов, поскольку известно, что Си позволяет получить компактные и эффективные программы. И эти программы могут бытьлегко модифицированы и адаптированы к новым моделям ЭВМ! Языки программирования как С++, Java, С#, UML и т.д. имеют "сишную" семантику. Си используется фирмами, производящими программное обеспечение, студентами, обучающимися программированию. И если вы хотите работать в сфере программотехники, то один из первых вопросов, на который вы должны будете отвечать "Да" - это вопрос "Умеете ли Вы программировать на Си?"

 

Использование языка Си

Си - язык компилируемого типа. Пример языков компилируемого типа: Паскаль, Фортран. Пример языков интерпретируемого типа: Бейсик, Лого. Чтобы дать первое представление о процессе создания программы, приведем упрощенную схему того, что необходимо сделать - начиная от написания программы и заканчивая ее выполнением.

 
  1. Для создания программы на языке Си используйте редактор текстов.
  2. Попробуйте скомпилировать вашу программу с помощью удобного для вас компилятора. Компилятор проведет проверку правильности вашей программы. Если компилятор обнаружит ошибки в вашей программе, он выдаст сообщение об этом. Если ошибок не будет, компилятор выполнит перевод программы на внутренний язык ЭВМ, и поместит результат в новый файл.
  3. Набрав имя этого нового файла на клавиатуре, вы можете запустить программу.
 

В некоторых вычислительных системах второй этап может быть разбит на два или три шага.

 

Использование текстового редактора для подготовки программ

У Си нет собственного текстового редактора. В качестве него можно использовать любой из редакторов общего типа. В операционной системе UNIX это чаще всего редакторы edexeditemacsvi. На персональном компьютере это может быть ed,edlinWordstarVolkswriter или любой другой из большого набора редакторов. При работе с некоторыми из них необходимо определить конкретную версию редактора путем задания соответствующих параметров. Например, при использовании редактораWordstar необходимо ввести параметр N, указывающий на отсутствие документирования.

 

При работе с редактором лучше не ошибаться, набирая текст программы на пульте дисплея и правильно задать имя файла, в который она будет помещена. Имя файла должно быть допустимым именем в вашей вычислительной системе и иметь расширение.c.

 

Например,

 
sort.c 
Sort.c
 

Первая часть имени должна напоминать, что программа делает или хотя бы того, кто разработал алгоритм, который в ней реализован. Вторая часть, так называемое расширение файла  указывает на то, что данный файл содержит текст программы, написанный на языке Си. Расширение файла используется для того, чтобы информировать пользователя и вычислительную систему о типе файла. Предположим, что при помощи редактора мы подготовили программу и поместили ее в файл с именем Nina.c. Текст, который мы набрали на клавиатуре, называется исходным кодом и содержится в исходном файле. Исходный файл - это начальный пункт процесса программирования.

 

Исходные и выполняемые файлы

Приведем простенькую программу на языке Си:

 
#include <stdio.h>
int main( )
{
 printf("Добро пожаловать!\n");
 return 0;
}
 

Все конструкции языка мы рассмотрим в последующих лекциях. Если эту программу оттранслировать, то получим файл с выполняемой программой. В результате работы этой программы на дисплей будет выведено предложение: "Добро пожаловать!". Наша программа, несмотря на свою лаконичность и простоту, для компьютера является совершенно бессмысленным набором символов, так как он не понимает директив #include или printfКомпьютер понимает только специальный язык, называемый машинным кодом, т.е. набор последовательностей двоичных цифр, например 101000101. Если мы хотим, чтобы компьютервыполнил программу, мы должны осуществить перевод (трансляцию) кода, написанного на Си ( исходного ) в ее код (машинный). В результате этих действий будет получен выполняемый файл. Процесс перевода (трансляции) удалось переложить на самкомпьютер. Программы, переводящие исходный код в машинный код, называются компиляторами. Детали процесса перевода зависят от особенностей конкретной системы. В некоторых компиляторах с языка Си, работающих на персональных ЭВМ, реализован альтернативный способ трансляции. В процессе перевода получается файл с расширением .obj, затем используется системный компоновщик для получения файла с выполняемой программой, т.е. файла с расширением .exe. Почему компиляция, а неинтерпретация? Дело в том, что после компиляции получается более эффективный конечный продукт, чем при интерпретации.

 

Форма входа
Пошук
Друзі сайту
Календар
«  Березень 2024  »
ПнВтСрЧтПтСбНд
    123
45678910
11121314151617
18192021222324
25262728293031

Єдина Країна! Единая Страна!