135 lines
15 KiB
Markdown
135 lines
15 KiB
Markdown
---
|
||
title: C
|
||
localeTitle: С
|
||
---
|
||
# Привет, мир! - Ваша первая программа C
|
||
|
||
## Получение максимальной отдачи от курса
|
||
|
||
Перед тем, как двигаться дальше, убедитесь, что вы довольны всеми концепциями в этой части руководства. Получение вашей первой программы важно, потому что она позволит вам следовать вместе с примерами, что еще одна хорошая вещь - практика делает совершенным! Понятия, которые могут ввести в заблуждение, будут содержать аннотацию, связанную с приложением. Если вы не понимаете концепцию, убедитесь, что вы обратитесь к приложению за дополнительной информацией.
|
||
|
||
## Цель курса
|
||
|
||
Цели этого курса - научить язык C начинающим. В идеале, кто-то, кто никогда не касался компьютерного языка, не сможет узнать C, следуя этим руководствам. Тем не менее, они по-прежнему будут полезны для более опытных программистов, включив резюме в конце каждой статьи. Хотя содержание, которое здесь описано, можно передавать на микроконтроллеры, такие как Arduino, это не является предметом настоящего руководства.
|
||
|
||
## Что такое C?
|
||
|
||
C - язык программирования общего назначения, изобретенный Деннисом Ричи в период с 1969 по 1973 год в Bell Labs. С тех пор он используется для создания таких вещей, как ядро Linux, которое позволяет программному обеспечению взаимодействовать с оборудованием в операционных системах на базе Linux. Он может сделать это и другие операции низкого уровня, потому что он был разработан так, чтобы быть очень близким к машинным кодам, будучи все еще доступным для человека. Из-за этого он обеспечивает прямой доступ к компьютерной памяти и аппаратным средствам. Это делает его очень полезным в аппаратных и робототехнических приложениях, где быстрый доступ к этим функциям очень важен. C, как и другие языки низкого уровня, требует компиляции. Процесс компиляции принимает код C, который может быть прочитан человеком и превращает его в код, который может быть прочитан и выполнен компьютером. Компиляция требует компилятора, который может использоваться из командной строки или может использоваться в среде IDE.
|
||
|
||
Если вы предпочитаете использовать командную строку, рассмотрите `gcc` . Его можно найти по умолчанию в GNU + Linux операционных системах и на Mac, и легко попасть в Windows. Однако для новичков может быть более комфортной IDE. Рассмотрим CodeBlocks или Xcode, если вы заинтересованы в возможности писать и запускать код из графического интерфейса.
|
||
|
||
Теперь, когда у вас есть этот фон, давайте начнем с нашей программы «Hello, World». «Hello, World» - это традиционный способ начать работу с языка: он показывает, что мы можем писать код и запускать его, поэтому это хорошее место для начала!
|
||
|
||
## Привет мир в C
|
||
|
||
```C
|
||
#include <stdio.h>
|
||
|
||
int main(void)
|
||
{
|
||
printf("hello, world\n");
|
||
return 0;
|
||
}
|
||
```
|
||
|
||
Давайте разложим эту программу поэтапно.
|
||
|
||
Сначала находится `#include` :
|
||
|
||
```C
|
||
#include <stdio.h> // This is called preprocessor directives
|
||
```
|
||
|
||
Это инструкция для компилятора, чтобы найти и включить набор файлов заголовков. Заголовочные файлы содержат дополнительный код, который мы можем использовать. В этом случае компилятору было предложено включить `<stdio.h>` , который содержит все полезные функции, такие как `printf()` . Мы также можем записать его как `#include"stdio.h"` . Мы подробно рассмотрим, какие функции будут позже, но пока просто помните, что функция представляет собой набор кода, который мы можем использовать.
|
||
|
||
```C
|
||
int main(void)
|
||
{
|
||
}
|
||
```
|
||
|
||
Этот код объявляет основную функцию. Основная функция - специальная - она всегда будет вызываться и всегда является «основной» частью вашей программы. Если это не в вашей программе, ваша программа не может работать и не будет компилироваться.
|
||
|
||
Запуск объявления функции с помощью `int` означает, что эта функция даст значение `int` когда оно будет выполняться через его код, - это выход этой функции. `int` - это тип данных «integer», а целые числа - целые числа, такие как -3, 0 или 18. Таким образом, мы знаем, что этот код будет работать, и когда это будет сделано, оно вернет нам целое число. По соглашению это целое число равно 0.
|
||
|
||
Далее `main` . `main` - это имя этой функции, и, как вы узнали ранее, важно иметь `main` функцию, потому что ваша программа не будет работать без нее. `main` следует `(void)` . Это говорит компилятору, что эта функция не принимает никаких параметров, что означает, что у нее нет ввода.
|
||
|
||
Это может не иметь большого смысла прямо сейчас, но вы узнаете больше об этом, когда начнете читать о функциях в C позже. На данный момент просто помните, что для вашей программы C требуется `main` функция, она не принимает никаких данных, и она дает номер в качестве вывода.
|
||
|
||
Наконец, есть скобки: `{` и `}` . Они отмечают начало и конец функции. Открытая фигурная скобка ( `{` ) знаменует начало, а закрывающая фигурная скобка ( `}` ) обозначает конец. Все между ними находится внутри функции.
|
||
|
||
Теперь давайте посмотрим на мясо программы:
|
||
|
||
```C
|
||
printf("Hello, World!\n");
|
||
```
|
||
|
||
`printf` - это функция, которая берет текст и выводит его на экран. В скобках указывается, какую информацию мы хотим получить для `printf` и распечатать на экране. Мы показываем, что это строка, которую мы хотим напечатать, окружив ее в кавычки «вот так».
|
||
|
||
Обратите внимание, что \\ n найдено в кавычках - это говорит `printf` распечатать новую строку. Новая строка - это то, что печатается при нажатии на клавиатуре. Без явного указания C для печати новой строки все будет напечатано в той же строке.
|
||
|
||
Наконец, выражение printf () завершается точкой с запятой ( `;` ). Это показывает, что эта строка кода завершена. Без этого компилятор не знает, где заканчивается одна строка, а другая начинается, поэтому важно включить.
|
||
|
||
Программа заканчивается оператором return:
|
||
|
||
```C
|
||
return 0;
|
||
```
|
||
|
||
Это показывает, что функция завершена и что она должна заканчиваться значением 0 для того, что запустило ее. Когда вы запускаете код на своем компьютере, это хорошо, потому что он позволяет другим программам лучше взаимодействовать с вашими.
|
||
|
||
Как и раньше, эта строка заканчивается точкой с запятой, чтобы указать, что линия завершена.
|
||
|
||
## Компиляция и запуск
|
||
|
||
Вы можете сохранить свой мировой файл hello так, как хотите, но ему нужно завершить расширение файла .c. В этом примере файл был назван «helloworld.c», потому что это ясное имя с расширением .c.
|
||
|
||
Существует много способов скомпилировать и запустить код C на вашем компьютере. Вот несколько:
|
||
|
||
#### Компиляция и запуск из командной строки с помощью GCC
|
||
|
||
Если вы используете Mac или GNU + Linux, у вас уже установлен GCC.
|
||
|
||
Чтобы запустить вашу программу на C, ее необходимо скомпилировать. Чтобы скомпилировать из командной строки с помощью gcc, выполните следующую команду с вашего терминала:
|
||
|
||
```shell
|
||
gcc -o helloworld ./helloworld.c
|
||
```
|
||
|
||
`gcc` - `gcc` Gnu C, и он скомпилирует файл C, который мы передаем, в программу, которую может запускать ваш компьютер.
|
||
|
||
`-o helloworld` сообщает GCC, что вы хотите, чтобы скомпилированный файл (выход gcc) был файлом под названием helloworld. Последняя часть команды указывает GCC, где можно скомпилировать файл C. Если вам неудобно перемещаться с командной строки, этот шаг будет сложным, но это нормально - его легко узнать и вернуться, или вы можете попробовать из IDE.
|
||
|
||
После того как вы его скомпилируете, выполните следующую команду:
|
||
|
||
```shell
|
||
./helloworld
|
||
```
|
||
|
||
Если все пошло хорошо, вы должны увидеть `Hello, World!` печатается на экране.
|
||
|
||
#### Компиляция и запуск C с помощью CodeBlocks
|
||
|
||
[Кодовые блоки можно скачать здесь.](http://www.codeblocks.org/downloads/26) Создайте новую программу с `file` -> `new` -> `file` , выберите источник C / C ++, выберите C как ваш язык и затем скопируйте текст helloworld.c, который вы читаете ранее. Скомпилируйте и запустите код с помощью `Build` -> `Build and Run` .
|
||
|
||
#### Компиляция и запуск C с Xcode
|
||
|
||
[Xcode можно скачать здесь.](https://developer.apple.com/xcode/)
|
||
|
||
#### Компиляция и запуск C с Dev-C ++
|
||
|
||
[Dev-C ++ можно скачать здесь.](https://sourceforge.net/projects/orwelldevcpp/) Создайте новую программу с `file` -> `new` -> `Source File` , затем скопируйте текст helloworld.c, который вы читаете ранее, а затем сохраните файл с `file` -> `save As` as hello.c, а затем скомпилируйте и запустите код с помощью `Execute` -> `Compile & Run` .
|
||
|
||
# Прежде чем продолжить ...
|
||
|
||
## Обзор
|
||
|
||
* C является языком языковых языков программирования.
|
||
* C использовался для повторной реализации операционной системы Unix.
|
||
* C полезен, потому что он маленький, быстрый и имеет доступ к низкоуровневым операциям. Из-за этого он широко используется в робототехнике, операционных системах и бытовой электронике, но не в таких вещах, как веб-страницы.
|
||
* Программа AC имеет несколько критических частей:
|
||
* Оператор include, который сообщает компилятору C, где можно найти дополнительный код, который будет использоваться в программе.
|
||
* Основная функция, в которой код сначала выполняется и требуется для компиляции.
|
||
* Вещи внутри этой основной функции, которая будет выполнена, включая оператор return, который закрывает программу и дает значение программе, которая ее вызвала.
|
||
* C необходимо скомпилировать для запуска.
|
||
* C может использоваться для доступа к конкретным аппаратным адресам и для выполнения пин-кода типа для соответствия требованиям внешнего интерфейса с низким спросом на системные ресурсы во время выполнения. |