Урок 3. Переменные и их спецификаторы

Всем привет! В третьем уроке сегодня мы рассмотрим переменные и их спецификаторы. Говоря простым языком переменные используются для хранения какой либо информации. В Си существует следующие виды переменных.

Целочисленные:

  • int — целочисленный тип — 32768 по 32767
  • long — длинное целое — 2 147 483 648 по 2 147 483 647

Вещественные:

  • float — вещественный с плавающей точкой — 3.4*10^(-38) по 3.4*10^(+38)
  • double — вещественный двойной точности с плавающей запятой — 1.7*10^(-308) по 1.7*10^(+308)
  • long double — длинное вещественное — Очень много!

Символьный:

  • char — символьный — 128 по 127

Беззнаковый:

  • unsigned

Спецификаторы:

  • d — десятичный, целочисленный со знаком(int);
  • i — десятичный, целочисленный со знаком(int);
  • u — целочисленный, десятичный без знака(unsigned);
  • o — целочисленный, восьмеричный без знака;
  • x — целочисленный, шестнадцатеричный без знака;
  • f — вещественный с фиксированной точкой (float, double);
  • e — вещественный с плавающей точкой (float, double);
  • c — отдельный символ (char);
  • s — символьная строка (char).

Спецификаторы подсказывают компилятору какое число следует ожидать. И сейчас на нескольких примерах рассмотрим как их использовать.

Напишем небольшую программу, которая выводит содержимое переменной a. А тип переменных у нас будет int.

#include 
 
int main () {
int a, b;  /*Объявляем переменные a и b; тип переменных int*/
a=5;  /*Присваиваем переменной a значение 5*/
b=7;  /*Присваиваем переменной b значение 7*/
printf ("%i %i\n", a, b); /*Выводим значения переменных по отдельности*/
printf ("a+b=%i\n", a+b); /*Выводим на экран сумму значений переменных*/
return (0);
}

Первые три строки комментировать не стал, вы их уже должны знать.

В четвертой строке мы объявляем целочисленные переменные типа int через запятую.

В пятой и шестой строке мы присваиваем переменным a и b значения 5 и 7.

В седьмой строке выводим значения переменных по отдельности. Для этого мы используем вот такую конструкцию %i внутри кавычек. Знак процента — % обязателен. А вот буква это i как в нашем случае это спецификатор int. После кавычек ставим запятую и через запятую указываем переменные. Количество %i должно совпадать с количеством переменных объявленных после первой запятой.

В восьмой строке мы выводим на экран сумму значений переменных. Как видно из примера мы используем одну конструкцию %i, так как после запятой у нас a+b, а это одно значение, то есть сумма a и b. Так же можно разделить — / умножить — * сложение — — (минус).

Рассмотрим еще один пример, но на этот раз переменные объявим по другому, тип переменных double.

#include 
 
int main () {
double a[3]={1, 2, 3}, b[100], c=5; 
b[0]=5;
b[1]=15;
printf ("%f %f\n", a[0], b[1]);
printf ("a+b=%f\n", a[2]+b[0]-c*a[1]);
return (0);
}

Результат выполнения программы:

1.000000 15.000000
a+b=-2.000000

В четвертой строке мы опять объявляем переменные, но на этот раз мы используем три разных способа. Первый это Массив — a[3]={1, 2, 3}. Мы объявили три переменных a. Количество переменных мы указываем в квадратных скобках. А после знака равно в скобках через запятую мы присваиваем им значения — a[0]=1, a[1]=2 и a[2]=3. Обратите внимание нумерация начинается с нуля. Второй тип b[100]. Здесь мы объявляем целых сто переменных b, но не присваиваем им значения. Значения им можно присвоить потом, мы это сделали в 5 и 6 строке. И третий тип c=5. Как видно присваивать значение можно сразу после объявления переменных.

Как видно из 7 и 8 строки нумерация переменных начинается с нуля. Так же для вывода на экран мы используем спецификатор %f, так как у нас тип переменных double. Последние строки комментировать подробно не буду, вы уже должны знать, как они работают.

В этом уроке я так же немножко затронул тему Массивов, но поподробнее о них мы поговорим в будущем.