#include <stdio.h>
int main(void)
{
printf("hello, world\n");
}
Итак, мы выяснили, что директива #include
подключает библиотеки. В случае нашего hello.c —
библиотеку ввода/вывода <stdio.h>
.
Теперь поговорим о том из чего состоят программы в Си.
Программы в Cи состоят из функций, а те — из операторов и переменных. Функция — это кусок кода, в котором уже есть или подаются какие-то данные, а какие-то данные получаются в результате её исполнения.
Фигурные скобки { }
ограничивают тело функции — описание того, что она должна делать.
printf()
из стандартной библиотеки stdio
выводит любую строку на экран. Строки заключаются в двойные кавычки, а символ “\n” означает перевод курсора на новую строку.
Пример: функция «посчитать квадрат целого числа». Передаем функции данные, в нашем случае — число, которое нужно возвести в квадрат. Затем в ней прописывается алгоритм умножения числа на такое же число, и результат этого умножения она выдает на выходе.
int sqr(int a)
{
return a*a;
}
int sqr(int a)
— название функции. В скобках — её аргумент a, это то, что подается на вход функции. Это как переменная в уравнении. То есть, если мы хотим узнать квадрат числа 5, то мы вызовем нашу функцию в виде sqr(5)
и получим результат 25.
int
— тип данных (от англ. integer — целые числа). Наша функция написана так, что мы не можем вызвать её с аргументом a = 5.5. Такая попытка выдаст ошибку, поскольку 5.5 — число дробное, а наше число должно быть целым. int
перед именем функции означает тип, который должна эта функция возвращать. Он не обязательно совпадает с типом аргумента.
Пример: функция, которая отнимает от целого числа 0.5:
double bit_less(int a)
{
double b;
b = a – 0.5;
return b;
}
int main (void)
— название главной функции. В одной программе может быть много функций, но, чтобы начать её выполнять, нужна функция под названием main. Слово void в скобках означает, что у этой функции нет аргументов.
Внимание! Главная функция main всегда возвращает int
, но return
для неё не обязателен.
Пример функции не возвращающей значения:
void sayhello(void)
{
printf(“hello everyone!\n”);
}
При вызове функции в главной программе, она выведет приветствие.
Давайте напишем одну программу, в которой будет несколько функций. Тех, что мы уже создали выше. Две созданные нами функции вызовем через главную функцию main()
.
В Cи, как и любом языке, есть такой элемент, как комментарий или примечание в теле программы, предназначенное не для компьютера, а для понимания людей. Например, описание того, что именно делает код. Компилятор комментариев не видит. Комментирование программ — очень важный момент, поскольку порой разобраться в чужом (и даже своем) коде очень сложно.
//пример однострочного комментария
/** а это —
многострочного **/
Итак, вот наша программа:
#include <stdio.h>
//функция возведения в квадрат числа a
int sqr(int a){
return a*a;
}
//выводит приветствие
void test(void) {
printf ("hello everyone!\n");
}
//главная функция
int main(void)
{
test();
printf("%d\n", sqr(5));
}
Почти всё, что есть в этой программе вы уже видели. Две функции — возведения в квадрат и приветствия и главная функция main
, где мы последовательно вызываем эти две функции.
В результате выполнения программы у нас сначала выведется приветствие, на следующей строке — квадрат числа 5. Обратите внимание, функция test()
вызывается с пустыми скобками, потому что её аргументы определены как void
.