Внимание! Практически весь материал этой лекции был в видеолекции. Если вы всё хорошо усвоили, просто пробегитесь глазами и переходите дальше.
На вводной неделе вы уже успели опробовать визуальный язык программирования Scratch. Давайте сравним одни и те же действия, написанные с помощью Scratch с кодом на Си.
Hello world на Scratch и C
Hello world на Scratch:

Hello world на Си:
#include<stdio.h>
int main(void)
{
printf("hello, world\n");
}
Элемент, который вы видите на изображении ниже — это функция, которая печатает «слова» спрайта в облачке комикса в Scratch. В языке Cи есть её аналог — функция printf. Она делает примерно то же самое. Только выводит слова не в «мультик», а в консоль.

main по-английски значит «главный». В Си функция main представляет собой точку входа в программу. То есть сколько бы ни было в программе разных функций, первым делом будет запущена именно main. Зелёный флажок в Scratch также можно считать main-функцией.

Бесконечный цикл
Scratch:

В переводе на Cи:
while (true)
{
printf("hello, world\n");
}
while (true) делает то же самое: цикл продолжает свою работу пока (while) значение true (булевское выражение «правда» или «единичка»). Такой цикл будет выполнятся бесконечно.
Цикл, выводящий фразу на экран 10 раз
Scratch:

Си:
for (int i = 0; i < 10; i++)
{
printf("hello, world!\n");
}
i — переменная-счетчик, её значение меняет оператор инкремента i++, увеличивая его на 1 при каждом витке цикла. Изначально i присваивается значение 0 с помощью оператора присваивания =.
Внимание! Как и в Java (подробнее об этом в курсе JavaRush), в Cи равенство обозначается ==, оператор присваивания =.
То есть, a = 5 означает, что переменной a присвоили значение 5, в то время как a==5 означает булевское выражение (если а равно 5, то выражение правдиво, если не равно, то ложно).
Цикл остановится, когда i «дорастет» до 9. Несложно посчитать, цикл выполнится 10 раз.
Таким образом, если вам нужно повторить что-то определенное количество раз, в Cи вы задаете цикл for (int i = 0; i < 10; i++).
Ещё один пример:

И то же самое в переводе на Cи:
int counter = 0;
while (true)
{
printf("%i\n", counter);
counter++;
}
- counter сохраняет значение в Cи и Scratch. В Си задаем int counter = 0 вместо
- Помечаем тип переменной как int, тем самым уточняя, что i является целым числом (от англ. integer, целый).
- Значок %i, который мы используем в printf в четвертой строке — заполнитель (или плейсхолдер), говорящий о том, что мы должны напечатать десятичное целое, точно так же, мы говорим printf заменить заполнитель на значение, которое принимает переменная counter.

Булевы выражения

Это то же самое, что
(x < y)
((x < y) && (y < z))
Условия

И «сишный» эквивалент:
if (x < y)
{
printf(“x is less than y\n”); } else if (x > y)
{
printf(“x is greater than y\n”);
}
else
{
printf("x is equal to y\n");
}
А что насчет первой непонятной фразы в программе hello.c?
#include <stdio.h>
Об этом вы узнаете позднее, в лекции «Библиотеки Си».
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ