Light-electric.com

IT Журнал
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Синтаксис языка программирования c

1.2 Основы синтаксиса языка C#

Теперь мы кратко рассмотрим синтаксис C#, после чего перейдем к созданию собственных оконных приложений и изучим методы работы с элементами окон, которые в несколько раз проще, удобнее и быстрее, чем разработка под MFC или чистый Win32 API. Как мы уже отметили, синтаксис языка C# крайне похож на С++. Не будем отказываться от традиций и создадим наше первое приложение – Hello World.

Для этого откройте редактор MS Visual Studio (все примеры будут проходить на MS Visual Studio 2008 SP1 с русскоязычным интерфейсом, который более понятен для начинающих программистов), хотя мы и рекомендуем использовать английскую версию.

Во избежание копирования готового кода непосредственно в программу все исходные коды будут отображаться на изображениях. Заполнение кода в Visual Studio стало крайне удобным, благодаря отлично реализованной системы подсказок, поэтому набор кода не должен стать проблемой. Запустите MS Visual Studio, после чего создайте новый проект, используя меню Файл, как показано на рисунке 1.

Файл -> Создать -> Проект
Рисунок 1. Создание нового проекта.
Выберите проекты Visual C#, в шаблонах отметьте Консольное приложение и введите имя для нашего проекта: Hello World.

По умолчанию все проекты сохраняются в папке «Мои документы» текущего пользователя Visual Studio 2008 Projects.
Рисунок 2. Выбор типа проекта.
В открывшемся окне редактора будет код шаблона простейшего приложения .NET на языке C#.�

В него нам необходимо добавить 2 строки кода: первая будет выводить на экран сообщение “Hello World”, вторая будет ожидать строку, введенную пользователем, после которой программа завершится. Ожидание ввода нам необходимо, чтобы успеть прочитать вывод строки программой, иначе мы просто не успеем его увидеть – программа выполнит код и завершится.

После того как вы набрали данный код, достаточно нажать F5 и подтвердить необходимость компиляции. Программа будет запущена, после чего вы сможете увидеть результат ее работы (рис. 3).
Рисунок 3. Программа вывела строку и ожидает ввода от пользователя.
Теперь более подробно коснемся синтаксиса С#. Объектно-ориентрованным языкам свойственно иметь две большие категории типов: типы которые присущи языку («базовые типы») и классы, которые программист может создать самостоятельно.

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

РАЗМЕРНЫЕ ТИПЫ и ССЫЛОЧНЫЕ ТИПЫ

Размерные типы содержат реальные данные и, следовательно, не могут быть равны null.

Именование типов очень напоминает С++:

За исключением того, что для беззнаковых чисел упрощено именование: теперь для этого используется первый символ ‘u‘ перед названием типа, вместо слова «unsigned», использовавшегося в С++.

На практике, написать uint намного удобнее, чем unsigned int.

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

Т.е., в данном случае, на практике было выделено место в памяти, и str содержит ссылку на него.

Массивы и классы в C# являются ссылочными типами.

Типы и псевдонимы (с помощью которых, как правило происходит объявление):

C++ — Базовый синтаксис

Когда мы рассматриваем программу на C ++, ее можно определить как коллекцию объектов, которые обмениваются данными посредством вызова методов друг друга. Давайте теперь кратко рассмотрим, что означает класс, объект, методы и мгновенные переменные.

  • Объект. Объекты имеют состояния и поведение. Пример: у собаки есть состояния — цвет, имя, порода, а также поведение — виляние, лай, еда. Объект является экземпляром класса.
  • Класс . Класс может быть определен как шаблон / план, который описывает поведение / состояния, которые поддерживает объект своего типа.
  • Методы . Метод — это в основном поведение. Класс может содержать много методов. Это в методах, где записываются логики, обрабатываются данные и выполняются все действия.
  • Переменные экземпляра. Каждый объект имеет свой уникальный набор переменных экземпляра. Состояние объекта создается значениями, присвоенными этим переменным экземпляра.

Структура программы на C ++

Давайте посмотрим на простой код, который будет печатать слова Hello World .

Давайте рассмотрим различные части вышеуказанной программы —

  • Язык C ++ определяет несколько заголовков, которые содержат информацию, которая является необходимой или полезной для вашей программы. Для этой программы необходим заголовок .
  • Строка с использованием пространства имен std; сообщает компилятору использовать пространство имен std. Пространства имен являются относительно недавним дополнением к C ++.
  • Следующая строка ‘ // main () — это начало выполнения программы. ‘- это однострочный комментарий, доступный на C ++. Однострочные комментарии начинаются с // и останавливаются в конце строки.
  • Строка int main () является основной функцией, в которой начинается выполнение программы.
  • Следующая строка cout вызывает на экране сообщение «Hello World».
  • Следующая строка return 0 ; завершает функцию main() и заставляет ее возвращать значение 0 в вызывающий процесс.

Компилировать и выполнять программу на C ++

Давайте посмотрим, как сохранить файл, скомпилировать и запустить программу. Следуйте приведенным ниже инструкциям —

  • Откройте текстовый редактор и добавьте код, как указано выше.
  • Сохраните файл как: hello.cpp
  • Откройте командную строку и перейдите в каталог, в котором вы сохранили файл.
  • Введите ‘g ++ hello.cpp’ и нажмите клавишу ввода для компиляции кода. Если в вашем коде нет ошибок, командная строка приведет вас к следующей строке и сгенерирует исполняемый файл a.out.
  • Теперь введите «a.out» для запуска вашей программы.
  • Вы увидите «Hello World», напечатанный в окне.

Убедитесь, что g ++ находится на вашем пути и что вы запускаете его в каталоге, содержащем файл hello.cpp . Вы можете скомпилировать программы C / C ++ с помощью makefile.

Точки с запятой и блоки в C ++

В C ++ точка с запятой является терминатором утверждения. То есть каждое отдельное утверждение должно заканчиваться точкой с запятой. Он указывает конец одного логического объекта. Например, следующие три разных утверждения:

Блок представляет собой набор логически связанных операторов, которые окружены открывающимися и закрывающимися фигурными скобками. Например:

C ++ не распознает конец строки как терминатор. По этой причине не имеет значения, где вы указываете оператор в строке. Например:

Идентификаторы C ++

Идентификатор C ++ — это имя, используемое для идентификации переменной, функции, класса, модуля или любого другого пользовательского элемента. Идентификатор начинается с буквы от A до Z или от a до z или символа подчеркивания (_) , за которым следует ноль или несколько букв, символов подчеркивания и цифр (от 0 до 9).

C ++ не допускает знаков препинания, таких как @, $ и% в идентификаторах. C ++ — это язык программирования с учетом регистра. Таким образом, Manpower и рабочая сила являются двумя разными идентификаторами на C ++.

Вот несколько примеров приемлемых идентификаторов:

Ключевые слова C ++

Следующий список показывает зарезервированные слова в C ++. Эти зарезервированные слова не могут использоваться как константные или переменные или любые другие имена идентификаторов.

Основы C# | Комментарии C# и переменные

комментарии c# и переменные c#

C# является одним из наиболее распространённых языков программирования, который позволяет разрабатывать различные виды приложений на платформах .NET Framework и Windows, а также веб-службы XML, баз данных, клиент-серверного ПО и др. Наиболее часто в качестве редактора и компилятора кодов используется среда Visual C#, отличающаяся удобными конструкторами, понятным пользовательским интерфейсом, интегрированным отладчиком и многими другими инструментами, упрощающими создание прикладных программ. Здесь мы рассмотрим самые базовые понятия комментарии C# и переменные.

Читать еще:  Как отключить безопасный яндекс

Особенности языка C#

C# отличается очень богатым синтаксисом, который в то же время является простым и удобным. Особенно легко даётся изучение программистам, которые уже владеют знаниями и навыками работы с языками С, С++ и Java. C# сочетает в себе все преимущества этих языков, при этом не имеет их недостатков. Одним из основных достоинств «шарпа» является наличие мощных функций, и предоставление прямого доступа к операционной памяти.
«Шарп» пользуется универсальными методами, интеграторами и типами данных, обеспечивающими наивысшую безопасность и производительность разработки программ. Характерной чертой языка является наличие выражений LINQ, с помощью которых можно создавать очень удобные кодовые конструкции со строго типизированными запросами.
C# относится к объектно-ориентированным языкам, который имеет строгую типизацию. Каждая переменная и метод (в том числе входная точка Main), инкапсулируется при определении классов, при этом из родительского класса можно реализовывать неограниченное количество интерфейсов.
Также C# предоставляет инновационные языковые конструкции, упрощающие разработку приложений:

  • сигнатура метода (называемая делегатом), позволяющая реализовывать безопасное оповещение о происходящем событии;
  • свойство, определяющее функции акцессора для закрытой переменной;
  • атрибут, предоставляющий данные о типе функции/переменной/объекта при написании кода;
  • внутристрочное комментирование (для XML-документов);
  • LINQ – языковой запрос в отношении различных источников данных.

Чтобы взаимодействовать с другими программными обеспечениями типа Windows (объекты COM, собственные библиотеки DLL), язык C# имеет процесс «Взаимодействия». Они позволяют приложениям, написанным на «шарпе», выполнять практически все действия и функции, которые прописаны машинным кодом C++. Также языком C# поддерживается набор указателей и «небезопасных» блоков кода в тех случаях, когда критически важно наличие прямого доступа к операционной памяти.

Основы синтаксиса языка C#

Я планирую написать серию статей посвященным основам разработки на языке C#. Здесь будут рассмотрены только две первых темы, это комментарии и переменные. Также мы создадим наше первое приложение Hello World. Продолжение обучение будет доступно по мере написания статей по ссылкам в конце статьи. Итак, приступим.

Комментарии C#

Комментарии в коде — это текстовые пометки в исходном коде приложения, которые не влияют на сам исходный код, а служат только для повышения удобочитаемости и понятности кода. В них чаще всего содержатся пояснения к сложным участкам кода.

Не смотря на то, что комментарии C# не несут никакой полезной нагрузки для самого приложения, они просто невероятно полезны для долгосрочного поддержания проекта, потому что бывает очень сложно разобраться в чужом коде. А если принять за правило утверждение, что любой написанный самим тобой код, про прошествии полугода становиться «чужим», то я настаиваю, что писать комментарии полезно и нужно. Да, есть противоположное мнение, что код должен быть самодокументированным (то есть понятным для чтения без комментариев), но я придерживаюсь мнения, что даже к такому коду лучше оставлять комментарии C#.

Итак, в языке C# используются два вида комментариев:

  • Однострочные (//)- распространяются до перехода на новую строку
  • Многострочные (/**/)- распространяются на все строки в промежутке между ключевыми символами.

Комментарии C# в первую очередь нужны, чтобы оставлять заметки которые могут пригодиться в будущем вам или другому программисту, который будет поддерживать ваш код. Кроме того, комментарии часто используются на этапе отладки приложения, чтобы временно пропускать некоторые команды. По оформлению комментариев существует рекомендация добавлять пробел после //, начинать писать новое предложение комментария с большой буквы, а длинное перенесенное с новой строки с маленькой, в конце комментария ставить точку.

Также обязательно используйте комментарии XML-документации ко всем открытым методам, свойствам и конструкторам класса, а желательно вообще ко всем. Это позволяет отображать подсказки использовании. Для добавления этого комментария в Visual Stuio достаточно поставить три символа слеша (///) перед именем метода, свойства и конструктора, и шаблон комментария будет сгенерирован автоматически. Подробнее про формат этих комментариев можно прочитать в документации Micosoft.

Переменные C#

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

Язык C# является строготипизированным, это означает, что если мы объявили переменную для целых чисел, мы не сможем в ней хранить текстовые данные. Давайте рассмотрим основные наиболее часто используемые типы данных в языке C#

  • string — текстовая строка
  • int — целое число (от -2 147 483 648 до 2 147 483 647)
  • double — дробное число с плавающей запятой
  • bool — логическое значение (истина/ложь)
  • char — буквенный символ
  • decimal — дробное число с фиксированной запятой
  • byte — маленькое целое число (от 0 до 255)
  • long — большое целое число (от 9 223 372 036 854 775 808 до 9 223 372 036 854 775 807)
  • object — базовый тип всего языка

Стоить заметить, что это далеко не полный список всех типов данных. Здесь перечислены только самые часто используемые. Существуют также модифицированные типы данных, такие как uint, которые позволяют задать значения больше нуля, но большего диапазона (в данном случае будет от 0 до 65535). Или наоборот sbyte (от -128 до 127). Но давайте рассмотрим примеры.

Перечислим особенности переменных некоторых типов данных: для отделения дробной части от целой используется символ точки, а не запятой. Строки задаются только в двойных кавычках, а символы только в одинарных. Для типа данных decimal при не пустой дробной части обязательно использование постфикса M. Логический тип принимает одно из двух логических значений true — истина, false — ложь. Отрицательные числа задаться с помощью символа минус перед числом.

Нотации в языке C#

Одну из основных рекомендаций которую я могу дать, это всегда используйте понятные и лаконичные называния для переменных. Имя переменной всегда должно подробно и однозначно описывать собственное содержимое. Лучше всего вообще отказаться от использования односимвольных переменных в коде, иначе отладка ад. В Microsoft docs есть подробная статья о рекомендациях по именованию в языке, но если говорить очень коротко, то можно выделить три популярных стиля именования (нотация):

  • Pascal casing — Все первые буквы в имени переменной пишутся с заглавными. Слова соединяются без разделителя.
  • Camel casing — Первые слова в имени переменной пишутся с большой буквы, за исключением первого, который тоже пишется с маленькой. Слова соединяются без разделителя.
  • Snake casing — Все буквы пишутся строчными. Слова соединяются через символ подчеркивания (_)
Читать еще:  Недопустимый ключ безопасности сети попробуйте еще

В соответствии для этого можно сделать следующие рекомендации:

Pascal для имен классов, свойств, конструкторов, методов, делегатов, событий.

Camel для локальных переменных, аргументов методов.

Snake вообще лучше не использовать. Или только для констант.

Первое приложение на языке C#

Для разработки на языке C# чаще всего используется среда программирования Microsoft Visual Studio. У нее достаточно много версий и редакций, некоторые из них платные, некоторые бесплатные. Я рекомендую на начальном этапе использовать среду самую свежую на текущий момент бесплатную версию Visual Studio Community 2017. Скачиваете, устанавливаете, запускаете и видите главное окно. Здесь вам нужно в меню Новый проект выбрать элемент Консольное приложение (.NET Framework).

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

В открывшимся окне редактора исходного кода вводим следующий код

После чего нажимаем клавишу F5 или кнопку Пуск вверху приложения

После чего выполнится компиляция и запуск приложения. Мы увидим консольное приложение, которое просто выведет текст на экран. Если после этого нажать клавишу Enter, приложение завершит свою работу.

Это самый элементарный пример, который очень часто используется в программировании.

Работа с GitHub

Если нет желания вручную набирать исходный код, можно воспользоваться системой контроля версий, и скачать этот пример готовым из репозитория github. Для этого перейди по ссылке, и нажми на кнопку Clone or Download. В открывшимся окне выбери Open in Visual Studio (если установлено расширение GitHub для Visula Studio) или Download ZIP.

Если ты нажмешь на Open in Visual Studio, то появится еще одно окно подтверждения. Нажимай на кнопку Открыть.

После этого у тебя на компьютере запустится приложение Visual Studio и в обозревателе команд будет автоматически выставлены настройки клонирования проекта. Нужно только нажать кнопку Клонировать.

После загрузки приложения в Обозревателе решений щелкни на файл решения (.sln), и получишь готовый к использованию проект.

Если Расширение Github для Visual Studio у тебя не было установлено, то после загрузки просто распакуй скаченный архив в любую удобную тебе папку на компьютере и открой файл решения. Получишь тот же результат.

На этом мы завершим наш вводный урок посвященный основам языка C#. Кроме того, рекомендую прочитать статью Связный список C# — Linked List C#. А также подписывайтесь на группу ВКонтакте, Telegram и YouTube-канал. Там еще больше полезного и интересного для программистов. И не забывайте оставлять комментарии C# в коде своих проектов

Синтаксис языка программирования c

Основы синтаксиса

Особенности синтаксиса C#

Давайте рассмотрим основы синтаксиса на примере создания класса. Как я уже говорил, C# относится к объектно-ориентированным языка программирования. А согласно методологии ООП (объектно ориентированного программирования), программа состоит из множества различных объектов (а объекты, в свою очередь, являются экземплярами классов), которые взаимодействуют между собой по средствам определенных действий (операций). Действия, которые может выполнять объект, называют методами. Ну а теперь, давайте перейдем к примеру!

А примером будут являться объекты класса, описывающего прямоугольник. Чтобы описать прямоугольник, нужно иметь как минимум два параметра, это его длина и ширина. Объекты создаваемого класса будут иметь методы, позволяющие задавать эти параметры, а также, возвращать их и другие, уже производные параметры, например, автоматически рассчитываемую площадь. Взглянем на следующий код:

В приведенном выше примере, описывается класс Rectangle, и создается, для дальнейшего использования, объект этого класса. А теперь, давайте вернемся к синтаксису C#!

Ключевые слова

В первой же строчке, мы подключаем пространство имен System. Для этого, мы используем ключевое слово using, т.е. пишем:

Понятие ключевое слово, означает, что данное слово зарезервировано в C#, и мы не можем его использовать для названий создаваемых нами сущностей (классов, пространств имен, переменных, и т.п.). Вот список ключевых слов в C#: abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, is, lock, long, namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, virtual, void, volatile, while.

Каждое ключевое слово имеет свой смысл, который даже может зависеть от контекста использования. Ключевые слова в примере кода, приведенном выше, выделены жирным шрифтом.

Блоки кода и идентификаторы

Как правило, любая C# программа осознано разделяется программистом на отдельные составляющие, так называемые блоки кода. Блок кода имеет свои границы, которые показывают где его начало и где завершение. Блок кода, может быть как «самостоятельным», так и относящимся к какой-то сущности, например, классу, методу, пространству имен и т.д. Любой блок кода является неким контейнером, который создает локальную область видимости. Это значит, что в создавая блок кода, мы можем оградить его содержимое от внешних вмешательств и различных конфликтов. Но об этом узнаете подробнее по мере прохождения курса.

И так, в C# границы блока кода обозначаются фигурными скобками. Начало блока открывающей, т.е. «<«, а конец — закрывающей, т.е. «>». Например, блок кода относящийся к пространству имен с название «SomeNamespace» может выглядеть так:

Как видите, мы только что определили блок кода с четко определенными границами. И в данном случае, блок кода относится к пространству имен, которое имеет название «SomeNamespace«, а это название как раз и является идентификатором. Идентификаторы имеют пространства имен, классы, методы, поля классов, различные переменные и константы (о которых мы поговорим чуть позже), а так же, другие сущности программ.

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

Комментарии

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

Как нетрудно заметить, однострочные комментарии начинаются с двух, идущих подряд символов слэша, т.е. «//» (в приведенных ранее примерах я часто их использовал). Многострочные же комментарии начинаются с сиволов «/*», а заканчиваются символами «*/». Как видите, ничего сложного тут нет.

Поля класса

Поля класса, это своего рода хранилища данных. В них может содержатся информация различного рода, например числа, строки и более сложные данные. В первом примере этого урока, мы описали класс «Rectangle» у которого было два поля. Они объявлялись в строках 30 и 31. При объявлении поля класса, сначала указывается атрибут доступа к полю, потом его тип (определяет тип данных, которое хранит поле: строка, число и т.п.), а следом — имя поля. Завершается объявление символом «;». Этот символ завершает любой оператор (некое действие) в программах, написанных на C#. Схематично это выглядит так:

Читать еще:  Программирование графики на c

Методы класса

Методы класса служат для выполнения неких задач. В первом примере этого урока мы описывали класс «Rectangle» у которого были методы «SetParams», «GetArea», «Display». Объявление методов несколько более сложная задача чем полей класса. Поэтому, детали я раскрою в следующих уроках.

Регистр имеет значение!

Да, и чуть не забыл, C# является регистрозависимым языком. Другими словами, имеет значение, заглавные буквы вы используете или строчные. И ключевое слова class (например) всегда должно писаться так и никак иначе (а не Class или CLASS, или еще как-нибудь). Это означает, что все идентификаторы, ключевые слова и т.п. нужно писать в том регистре, в котором они объявлялись (разработчиком).

Введение в язык программирования C

C — это достаточно «древний» язык программирования, он сформировался в начале 70-х. Не смотря на это, C — живой язык в том смысле, что он активно применяется в настоящее время. Он был придуман, использовался и используется для написания существенных частей программного кода Unix-подобных операционных систем. Также на нем пишут утилиты, компиляторы и реже прикладные программы. Поэтому C называют системным языком программирования.

Его живучесть можно объяснить тем, что принципы работы операционных систем относительно универсальны, они не подвержены тому прогрессу и разнообразию, которые можно наблюдать в среде десктопного и мобильного ПО, Web-приложений. C не является языком достаточно высокого уровня, он ближе к архитектуре компьютера. В результате программы на C получаются компактными и быстрыми.

C не поддерживает объектно-ориентированного программирования. Поддержка ООП реализована в C++. Хотя последний возник на основе языка C, он не является его «продолжением», а представляет собой отдельный язык, который можно изучать, не зная C. Однако изучение C полезно перед знакомством с его «продвинутым младшим братом», т.к. синтаксис языков похож, C не перегружает мозг начинающего программиста сверхвозможностями и приучает к пониманию сути происходящего.

Подходит ли C для первого знакомства с программированием? Если вы не обучаетесь в вузе по специальности, связанной с IT, то нет. C предполагает понимание организации и принципов работы аппаратного обеспечения, в частности – памяти. Здесь многое делается с помощью указателей, они играют ключевую роль; эта тема достаточно сложная для понимания и обычно не изучается в школе.

Конечно, с помощью C можно изучать основы программирования и не изучать при этом указатели. Однако человек будет думать, что знает C, мало зная о нем по существу. Язык C был создан разбирающимися в устройстве «железа» профессиональными программистами для написания операционной системы UNIX. Его не задумывали как язык для обучения начинающих.

Среды и компиляторы для программирования на C

Если вы пользуетесь одним из дистрибутивов GNU/Linux, вам подойдет любой текстовый редактор с подсветкой синтаксиса, также понадобятся GCC и терминал.

Существуют редакторы для программистов, включающие различные дополнения, в том числе терминал, просмотр каталогов и др. Например, Geany или Atom.

C – компилируемый язык программирования. В GNU/Linux для получения исполняемых файлов используется GCC – набор компиляторов, включающий в том числе компилятор для C. Чтобы из исходного файла (обычно таким файлам дают расширение *.с) получить исполняемый, надо выполнить в терминале команду примерно следующего вида:

, где gcc — команда, запускающая программу, выполняющую компиляцию и иные действия; -o – ключ, сообщающий, что мы вручную указываем имя исполняемого файла; hello – имя получаемого исполняемого файла; hello.c – имя файла с исходным кодом. Имя исполняемого файла можно не указывать:

В этом случае исполняемый файл будет иметь имя по умолчанию a.out.

Для Windows существует свой набор компиляторов – MinGW. Его можно использовать самостоятельно, однако он входит в состав простой среды разработки Dev-C++, которая может оказаться хорошим выбором для обучения программированию на языках C и С++.

При сохранении выбирайте тип файла «C source files (*.c)». Компиляция и запуск программы выполняется при нажатии клавиши F9. После исполнения программа сразу закрывается и результат невозможно увидеть. Чтобы этого не происходило, прописывают две дополнительные строки: #include и getch(). (Возможно это не актуально для более новой версии Dev-C++.)

«Hello World» в GNU/Linux:

«Hello World» в Windows:

С другой стороны, существует большое количество кроссплатформенных сред разработки. Например, Eclipse + модуль CDT, KDevelop, CLion. Последняя платна, выпускается компанией JetBrains – лидером в разработке IDE, однако имеет 30-ти дневный триальный период, чего может быть достаточно для обучения. CLion удобнее других IDE.

«Hello World» на C

На примере простейшей программы сразу отметим некоторые особенности языка программирования C.

В языке C роль основной ветки программы берет на себя функция main(). Эта функция всегда должна присутствовать в законченной программе на языке C, и исполнение программы начинается именно с нее. Однако объявленные внутри нее переменные не являются глобальными, их область видимости простирается только на main(). Тем не менее в языке программирования C почти весь программный код заключается в функции, и функция main() является главной и обязательной.

По умолчанию функция main() возвращает тип данных int, поэтому можно не указывать тип возвращаемых данных. Однако компилятор в этом случае выносит предупреждение.

Функция printf() предназначена для вывода данных. Ее назначение аналогично процедуре write() языка Pascal и функции print() в Python. Функция printf() после вывода не выполняет переход на новую строку. Поэтому для перехода используется специальный символ, который обозначается комбинацией n. Законченные выражения на языке C разделяются точкой с запятой.

В языке C функции ввода-вывода не являются частью языка. Например, в Python нам не надо импортировать никакой модуль, чтобы пользоваться функциями print() и input(). В C же мы не можем просто вызвать функцию printf(), т.к. в самом C ее просто нет. Эту функцию, а также ряд других, можно подключить с помощью заголовочного файла stdio.h. Именно для этого в начале программы прописана строка #include . Include с английского переводится как «включить», а stdio есть сокращение от «стандартный ввод-вывод (input-output)».

В заголовочных файлах (они оканчиваются на *.h) обычно содержаться объявления тех или иных функций. Объявление — это просто описание функции: какие параметры она принимает и что возвращает. Сам код функции (определение) находится не в заголовочном файле, а в библиотеках (других файлах), которые могут быть уже скомпилированы и расположены в системных каталогах. Перед компиляцией программы запускается препроцессор языка C. Помимо прочего он включает в начало файла программы содержимое указанных в ней заголовочных файлов.

Практическая работа

Закомментируйте 1 первую строчку кода программы HelloWorld. Попробуйте скомпилировать программу. Удалось ли получить исполняемый файл? Какое предупреждение выдал компилятор?

1 // — однострочный комментарий на языке C; /* … */ — многострочный комментарий на языке C.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector