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

Начните с C, фундаментального языка программирования

C, вероятно, является наиболее широко известным языком программирования. Он используется в качестве справочного языка для курсов по информатике во всем мире, и, вероятно, это язык, который люди изучают в школе больше всего среди Python и Java.

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

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

Сегодня C широко используется во встроенных устройствах и поддерживает большинство серверов Интернета, построенных с использованием Linux. Ядро Linux построено с использованием C, и это также означает, что C поддерживает ядро всех устройств Android. Можно сказать, что код C работает в значительной части всего мира. Прямо сейчас. Довольно замечательно.

Когда он был создан, C считался языком высокого уровня, потому что он был переносимым между машинами. Сегодня мы считаем само собой разумеющимся, что можем запускать программу, написанную на Mac, в Windows или Linux, возможно, используя Node.js или Python. Когда-то это было совсем не так. То, что принесла C, было простым в реализации языком, имеющим компилятор, который можно было легко перенести на другие машины.

Я сказал компилятору: C - это компилируемый язык программирования, такой как Go, Java, Swift или Rust. Возможна интерпретация других популярных языков программирования, таких как Python, Ruby или JavaScript. Разница постоянна: скомпилированный язык генерирует двоичный файл, который можно напрямую выполнять и распространять.

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

C не скрывает сложности и возможностей машины. У вас будет много сил, если вы знаете, на что вы способны.

Я хочу представить первую программу на языке C, которую мы назовем «Hello, World!»

Привет

#include <stdio.h>

int main(void) {
	printf("Hello, World!");
}

Опишем исходный код программы: сначала импортируемstdioбиблиотека (название означает стандартная библиотека ввода-вывода).

Эта библиотека дает нам доступ к функциям ввода / вывода.

C - очень маленький язык по своей сути, и все, что не является частью ядра, предоставляется библиотеками. Некоторые из этих библиотек созданы обычными программистами и доступны для использования другими. Некоторые другие библиотеки встроены в компилятор. Нравитьсяstdioи другие.

stdioэто библиотеки, которые предоставляютprintf()функция.

Эта функция заключена вmain()функция. Вmain()function - это точка входа в любую программу C.

Но что же такое функция?

Функция - это процедура, которая принимает один или несколько аргументов и возвращает одно значение.

В случаеmain(), функция не получает аргументов и возвращает целое число. Мы идентифицируем это с помощьюvoidключевое слово для аргумента, аintключевое слово для возвращаемого значения.

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

Вprintf()Как видите, функция написана по-другому. Для него не определено возвращаемое значение, и мы передаем строку, заключенную в двойные кавычки. Мы не указали тип аргумента.

Это потому, что это вызов функции. Где-то внутриstdioбиблиотека,printfопределяется как

int printf(const char *format, ...);

Вам не нужно сейчас понимать, что это означает, но, вкратце, это определение, и когда мы называемprintf("Hello, World!");, вот где запускается функция.

Вmain()функция, которую мы определили выше:

#include <stdio.h>

int main(void) {
	printf("Hello, World!");
}

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

Как мы выполняем программу на C?

Как уже упоминалось, C - это компилируемый язык. Чтобы запустить программу, мы должны сначала ее скомпилировать. Любой компьютер с Linux или macOS уже поставляется со встроенным компилятором C. Для Windows вы можете использовать подсистему Windows для Linux (WSL).

В любом случае, когда вы открываете окно терминала, вы можете ввестиgcc, и эта команда должна вернуть вам ошибку о том, что вы не указали файл:

Это хорошо. Это означает, что компилятор C есть, и мы можем начать его использовать.

Теперь введите указанную выше программу вhello.cфайл. Вы можете использовать любой редактор, но для простоты я буду использоватьnanoредактор в командной строке:

Введите программу:

Теперь нажмитеctrl-Xвыходить:

Подтвердите нажатиемy, затем нажмите клавишу ВВОД, чтобы подтвердить имя файла:

Вот и все, теперь мы должны вернуться к терминалу:

Теперь введите

gcc hello.c -o hello

Программа не должна выдавать ошибок:

но это должно было вызватьhelloисполняемый файл. Теперь введите

./hello

чтобы запустить его:

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

Потрясающие!

Теперь, если ты позвонишьls -al hello, вы можете видеть, что размер программы всего 12 КБ:

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

Ознакомьтесь с некоторыми из моих других руководств по C:

Скачать мою бесплатнуюСправочник C


Больше уроков по clang: