Всем привет! В третьем уроке сегодня мы рассмотрим переменные и их спецификаторы. Говоря простым языком переменные используются для хранения какой либо информации. В Си существует следующие виды переменных.
Целочисленные:
- 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. Последние строки комментировать подробно не буду, вы уже должны знать, как они работают.
В этом уроке я так же немножко затронул тему Массивов, но поподробнее о них мы поговорим в будущем.