/
Программирование
/
Курс C (Си)
/

Переменные и циклы в Си

C (Си): Переменные и циклы в Си

Переменные и цикл while

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

Идея простая: берем значение в Фаренгейтах, считаем по формуле и печатаем результат.

Формула:

C = 5 * (F - 32) / 9

Переменные

В C переменная имеет тип. Если переменная объявлена как int, в ней хранятся только целые числа.

int fahr;
int celsius;
int lower;
int upper;
int step;

Зададим стартовые значения:

lower = 0;
upper = 300;
step = 20;
fahr = lower;

Вывод через printf()

Чтобы печатать целые числа, используем %d:

printf("%d : %d\n", fahr, celsius);
  • В первый %d подставится значение fahr.
  • Во второй %d подставится значение celsius.
  • Последовательность \n переводит строку.

Повторение через цикл while

Нам нужна не одна строка, а целая таблица. Для этого используем цикл while: код повторяется, пока условие истинно.

Полная программа:

#include <stdio.h>

int main(void)
{
  int fahr;
  int celsius;
  int lower;
  int upper;
  int step;

  lower = 0;
  upper = 300;
  step = 20;
  fahr = lower;

  while (fahr <= upper) {
    celsius = 5 * (fahr - 32) / 9;
    printf("%d : %d\n", fahr, celsius);
    fahr = fahr + step;
  }

  return 0;
}

Итоги

  • Переменные хранят данные во время работы программы.
  • Тип int подходит для целых значений.
  • printf() умеет подставлять значения переменных в строку.
  • Цикл while позволяет повторять код, пока выполняется условие.

Задание

Напишите программу celsius_to_kelvin, которая конвертирует Цельсии в Кельвины аналогично той, что была написана в видео. Программа должна выводить на экран значения в таком виде:

0 : 273
20 : 293
40 : 313
60 : 333
80 : 353
100 : 373
120 : 393
140 : 413
160 : 433
180 : 453
200 : 473
220 : 493
240 : 513
260 : 533
280 : 553
300 : 573

Левый столбец – это градусы Цельсия, правый – градусы Кельвина

Полезное

  • Температура в Кельвинах (K) равна температуре в градусах Цельсия (°C) + 273

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются