Содержание
Типы данных
В языке C есть несколько типов переменных, которые делятся на несколько базовых типов:
integers
– целые числа, могут быть положительными и отрицательными, они определяются с помощью ключевых слов char
, int
, short
, long
и long long
;
unsigned integers
– целые числа, которые могут быть только положительными, они определяются как unsigned char
, unsigned int
, unsigned short
, unsigned long
и unsigned long long
;
floating point
– действительные числа (числа с дробями), опредеяются как float
или double
;
structures
– будут рассмотрены позже.
Различные типы переменных опредяют границы их значений (и размер выделямой памяти). Тип char
может хранить в себе значение от -128 до 127, тогда как тип long
– от -2,147,483,648 до 2,147,483,647.
Учтите, что в C нет типа boolean
. Как правило – он определяется следющим образом (константы мы рассмотрим в будущем):
#define BOOL char #define FALSE 0 #define TRUE 1
Для определения строк в C используются массивы – их мы тоже рассмотрим позже.
Определение переменных
Для цифр обычно используется тип int
. На большистве компьютеров он является 32-х битным числом, т.е. диапазон чисел может быть от -2,147,483,648 до 2,147,483,647 (так же, как в типе long
).
Что бы определить переменные foo
и bar
– используется такой синтаксис:
int foo; int bar = 1;
Переменная foo
может использована, но так как он не была проинициализирована (не присвоено значение) – компилятор не знает её значение (и при использовании – присвоит ей случайное значение).
Переменная bar
имеет значение 1, т.е. она уже проиницилизирована и может использоваться.
Теперь, займёмся математикой. Предположим, у нас имеются переменные a
, b
, c
, d
и e
. Мы можем использовать операторы плюс, минус и умножение, а результат присвоить переменной a
:
int a = 0,b = 1,c = 2,d = 3, e = 4; a = b - c + d * e; printf("%d", a); /* will print 1-2+3*4 = 11 */
Пример программы, которая вычисляет значение и вывод его на экран:
$ vim math.c
#include <stdio.h> int main() { int a = 3; float b = 4.5; double c = 5.25; double sum; sum = a + b + c; printf("The sum of a, b, and c is %f.n", sum); return 0; }
$ gcc math.c -o math
$ ./math The sum of a, b, and c is 12.750000.