Бесплатные IDE для языка программирования C

Pelles C

Небольшая бесплатная интегрированная среда разработки и компилятор для разработки программ на языке C, работающая в операционных системах Windows и поддерживаемая Пелле Ориниусом. (Pelle Orinius).

Ссылка: http://www.smorgasbordet.com/pellesc/

Немного истории создания языка Си

В двух словах дело было так. К началу 70-х годов языков программирования по сути было много. Господствовал процедурный стиль программирования, например, когда мы пишем функцию. Существовали такие языки как Фортран (для математических расчетов), Кобол (для экономических расчетов) и другая «масса» языков по конкретным областям. Общего языка не было.

Авторам этого языка (имеется ввиду язык Си), которые работали под Unix, писали на Ассемблере, им захотелось какого-то общего языка. Брайан Керниган и Денис Ритчи попытались сделать какой-то инструмент для себя любимых. Сделали язык A, B, потом C. Ну а дальне не пришлось перебирать алфавит — вроде как удобно, вроде как получилось. Язык Си объединил в себе черты языков низкого уровня и языков высокого уровня. Очень часто пишут в литературе язык «среднего» уровня не потому что чего-то нет, потому что есть все вместе. Например, вы можете так же, как и в других языках создать массив одной строкой, так же вы можете делать ассемблерные вставки.

Несмотря на универсальность, этот инструмент не будет всегда идеален, всегда есть какой-то чуть лучше, но на сегодняшний день язык стабильно на втором месте, многие десятилетия. Все конкуренты этого языка в основном С++ и Java. Но когда надо выжать всю мощь из компьютера – то это Си. Подумайте на чем пишут операционные системы, например, Windows или Linux. Родным, как правило, всегда являлся для них язык Си. Когда вам надо писать, например, на уровне ядра, драйверов, это язык Си.

Были приняты определённые стандарты. Зачем одни нужны спросите вы? По сути, стандарт не для нас, он не очень нам нужен. Вот представьте, кто-то написал операционную систему, в ней нужно сделать поддержку языков программирования, для этого нужно сделать компилятор (перевод текста в машинный код) и для того, чтобы все писали одинаковый компилятор нужен стандарт. Если его не будет, то на разных системах будет «своя версия языка Си». И тогда мы получим достаточно серьезную проблему, например, вы напишете исходник, принесете его на одну ОС, вы писали, отлаживали – работает. Принесете на другую, а он скажет – «да я не знаю, что это такое». Вот для этого нужен стандарт. Конечно все люди – это люди и есть ошибки, есть некоторые отклонения от стандарта, но это должно быть по минимуму.

Хотелось бы вам сразу сказать, что С++, C#, Java – Си-подобные языки, т.е. внешний вид кода такой как в Си. Те авторы, кто создавал эти языки, сохранили внешний вид от языка Си, а идеологию изменили.

Общие сведения о языке программирования Си

Язык Си – это универсальный язык программирования высокого уровня, распространённый среди системных программистов.

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

Си используется для разработки прикладных программ, экранных редакторов и операционных систем.

Си занимает промежуточное положение между ассемблером и языками программирования высокого уровня. От ассемблера взято: (1) гибкие и эффективные средства работы с памятью; (2) наличие битовых операций, которые напрямую соответствуют машинным кодам; (3) возможность обращения к регистрам памяти. От языков программирования высокого уровня взято: (1) широкий набор управляющих конструкций; (2) возможность работы со сложными типами данных; (3) гибкие средства ввода-вывода.

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

Си был разработан в 1972 году сотрудником фирмы «Bell Laboratories» Денисом Ритчи, который имел большой опыт в системном программировании – разработки языков программирования, операционных систем, генераторов программ, текстовых процессоров.

Язык Си лучше всего подходит именно для таких задач. После разработки Си Денис Ритчи работал над созданием системы UNIX. Практически любая программа, поставляемая UNIX, включая саму операционную систему, и компилятор языка, написанном на языке Си, в том числе Basic, Fortran.

Язык Си был стандартизован в 1986 году американским национальным институтом.

Первым языком по этому стандарту стал язык Turbo C (Турбо Си) под MS-DOS. Он был разработан фирмой Borland International.

Язык Си компактен, является относительно маленьким языком за счёт того, что в его состав не были включены ввод-вывод и средства для работы со строками.

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

  • Эффективность. По компактности и скорости выполнения программ Си приближается к ассемблеру;
  • Мощность. Си содержит большое число современных управляющих конструкций и способы создания данных;
  • Структурированность. Си поддерживает все основные принципы структурного программирования;
  • Модульность. Строится из отдельных функций (программа). Существует возможность создания многофайловых программ;
  • Мобильность;
  • Лаконичность.

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

Результат работы – это надёжная и читаемая программа.

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

Компиляторы и интерпретаторы других языков написаны на Си.

Си поддерживает хороший стиль программирования.

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

По объему оперативной памяти и времени выполнения программы программы приближаются к программам на ассемблере.

Минимальный перечень вопросов по основам языка Си

Ниже представлен минимальный список вопросов которые необходимо знать для работы базовой работы с языком программирования Си:

Типы данных языка Си

  • Объявление переменных
  • Выполнение математических и логических операций
  • Расположение переменных в памяти

Массивы

  • Объявление
  • Использование (получение доступа по индексу)

Функции

  • Из чего состоит заголовок функции
  • Что такое сигнатура функции
  • Что такое возвращаемое значение и зачем оно нужно
  • Зачем нужен return
  • Что такое параметры функции, как из передавать и как использовать

Ветвление

  • if () else

Циклы

  • for(;;)
  • while()
  • do while()

Терминология

  • Чем отличаются термины: объявление, определение, описание, инициализация

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