Переменные и типы
В любой нормальной программе необходимы переменные. Поэтому давайте
разберемся как с ними работать в языке С.
Надо сказать, что, в отличии от Паскаля, в языке С очень строгая
типизация данных. Особенно это относится к указателям, но об этом позже.
Пока остановимся на самых простых вариантах. Начнем.
Пример этой главы:
#include <conio.h>
main()
{
int a;
scanf("%d",&a);
printf("\nResult: %d",a);
return 0;
}
Как видите, появились 3 новые команды. Разберем их.
Первая команда - int a. Это не команда, а объявление
переменной. Вообще, в языке С синтаксис объявления переменных такой:
<имя типа> <список переменных разделенных запятыми>;
Видно, что в строке int a;, тип переменых - int
, а список переменных состоит из одной переменной a
. Напомню, что в языке С имеет значение регистр, то есть
две стоки
int a;
int A;
будут определять две разные переменные. Не
забывайте об этом никогда! Также надо сказать, что в языке С, локальные
переменные могут быть описаны только в начале функции, а глобальные
переменные - в промежутках между процедурами. Кроме того, использование
переменной до ее объявления не разрешается
Вы можете меня спросить какие типы кроме int
существуют в языке С. В качестве ответа на ваш вопрос приведу
список бызовых типов языка С:
- int - целые числа.
- long int - длинные целые числа (больший диапазон).
- short int - короткие целые числа (меньший диапазон).
- float - дробные числа.
- double - дробные числа двойной точности.
- char - символ или число в промежутке [0;255].
- void - специальный "пустой" тип.
Вы можете быть удивлены отсутствием аналога типа String в Паскале. Этому
есть причины. В языке С нет специализированного строкового типа, вместо
него используютя массивы символов. Но об этом поговорим позже. Так как
работа со строками в С - достаточно нетривиальное занятие.
Следующая неизвестная нам команда - scanf("%d",&a);. Как
нетрудно догадаться она вводит с клавиатуры число и записывает его в
переменную a. Выражение "%d" называется
строкой формата и определяет какие данные и в каком
порядке нужно вводить. Для подробностей смотрите
глоссарий. Выражение "&a" означает, что то, что ввел
пользователь нужно записать в переменную a. Почему перед
именем переменной нужно ставить амперсанд я пока объяснять не буду.
И последняя неизвестная нам команда, а точнее часть команды printf
("\nResult: %d",a);. Это уже известная нам команда printf
. Опять же, нетрудно догадаться, что эта команда выводит на экран
строку "Result: " и значение переменной а. Строка
%d- указание на то, что в этом месте строки нужно вставить
следующий параметр функции printf (то есть переменную
а) в этом месте строки.
Как видите, работа с переменными в языке С достаточно проста, хотя и сильно
отличается от работы с переменными в Паскале.