Переменные и простые типы данных


Любая последовательность букв и цифр, начинающаяся не с цифры, может использоваться в качестве имени переменной. Подчеркивание “_” также может входить в идентификатор: inter_data, quick_Sort, fastDictionary

Строчные и прописные буквы считаются различными. В старых версиях языка имеют значения только первые 8 литер. Внешние идентификаторы могут быть еще короче: - ограничения зависят от типа загрузчика. Современные версии не ограничивают длину идентификатора.

Служебные слова int, char, float,…, auto, if, goto, … , entry и т.д. являются зарезервированными и не могут применяться в качестве имен переменных или функций, определяемых пользователем. (В этом, например, отличие от PL/1).

 

Константы

Любая целочисленная константа считается восьмеричной, если она начинается с 0 (нуля), иначе – это десятичная константа. Если последовательность начинается с пары 0х или 0Х, то константа – шестнадцатеричная. Эти константы включают литеры: 0|1|…|9|A|B|…|F или a|b|…|f. В зависимости от представления в машине константы могут быть повышенной (long) или обычной точности. Явная длинная целочисленная константа, повышенной точности может задаваться буквой l или L в конце (но это для восьмеричных, десятичных целых и шестнадцатеричных).

Пример

0XafL – шестнадцатеричная константа af повышенной точности.

Повышенная точность обычно – это в два раза большее количество байт. Например, на ЭВМ СМ 3, 4 обычная точность – это два байта, повышенная – 4 байта.

Символьные константы – это символ в одиночных кавычках, например, ‘X’. Символьные константы, не имеющие графического представления, задаются комбинациями символов в одинарных кавычках.

символы смысл
‘\n’ новая строчка
‘\t’ табуляция
‘\b’ шаг назад
‘\r’ возврат каретки в начало строки
‘\f’ авторегистр
‘\\’ обратная черта \
‘\’’ одиночная кавычка ‘
‘\ddd’ кодовое представление символа, где d – пусто или восьмеричные цифры, задающие ASCII – код символа

 

Специальный случай – ‘\0’ представляет нули в восьми разрядах.

Примеры

‘\101’ - символ’A’

‘\100’ - символ ‘@’

‘\70’ - символ ‘8’

‘\070’ - символ ‘8’

Константы с плавающей точкой содержат целую часть, десятичную точку, дробную часть, символы е или Е и целый показатель (экспоненту), возможно со знаком.

Примеры

1.3е-4, 14., .01, 15Е+3

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

В соответствии с введенными типами константы и переменные в программе могут декларироваться типами:

char - символ,

short - короткое целое,

long - длинное целое (повышенной точности),

double - с плавающей точкой двойной точности,

int - целое, обычной точности,

float - плавающее, обычной точности.

 

Все переменные должны до их использования в программах декларироваться в следующем виде: «тип список -имен ;».

Примеры

int i,j;

float a,data;

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

Пример

#define LOWER 0 /* нижний предел */

#define EOF -1 /* метка конца файла */

Здесь #define - утверждение текстового препроцессора. Эти строки удаляются препроцессором из текста и значения 0 и -1 заносятся во внутренние таблицы как значения констант LOWER и EOF. Если эти имена появляются в основном тексте программы, то они замещаются соответствующими значениями 0 и -1.

Пример

В программе осуществляется перевод температур в градусах по Фаренгейту в градусы по Цельсию и распечатка полученной таблицы. Для перевода используется формула С=(5/9)(F-32).Диапазон 0-300 F c шагом 20.

/* печать таблицы Фаренгейт – Цельсий для f=0,20..300 */

……………………………………………………..

# define LOWER 0 /* нижний предел */

# define UPPER 300 /* верхний предел}

#define STEP 20 /* шаг*/

main ( )

{

int fahr;

for( fahr=LOWER;fahr<=UPPER;fahr+=STEP )

printf (“%4d%6.1 f\n ”,fahr,(5.0/9.0)*(fahr-32));

return 0; //или exit(0);

}

Заданы символьные константы LOWER , UPPER, STEP. fahr - переменная целого типа (int). Oператор цикла for в скобках содержит три выражения, перечисленных через точку с запятой:

fahr =LOWER - инициирует начальное значение,

fahr<=UPPER – проверка условия продолжения цикла, если условие выполняется, то цикл будет продолжен.

printf(…); - единственный оператор обращения к функции, представляющей тело цикла.

Перечислены три аргумента, первый из которых строка, интерпретируемая как строка форматирования:

%4d – 4 позиции для размещения значения fahr в виде целого десятичного, затем пробел,

%6.1f – 6 позиций для значения выражения (5.0/9.0)*(fahr-32) в виде значения с плавающей точкой. Одна позиция отводится под символ после точки.

Вместо for –цикла можно применить цикл while:

Тогда в этой же программе вместо for- цикла можно записать:

fahr = LOWER;

while (fahr<=UPPER)

{

printf (“%4d%6.1f \n ”,fahr,(5.0/9.0)*(fahr-32));

fahr=fahr+STEP;

}

Здесь скобки {…} определяют составной оператор, являющийся телом цикла.

Следующая простая программа считает вводимые символы.

Пример

#include …

void main( ) /*подсчет символов*/

{

long nc=0;

while (getchar( ) != EOF) ++nc;

printf(“%ld\n”,nc);

}

Если указан тип функции void, то оператор «return выражение» не используется, - можно применить просто «return».

В данном примере – переменная nc – типа int long , причем вначале она инициируется нулем. Операция «++» обозначает автоикремент, т.е увеличение значения переменной nc на единицу. В Си имеется и операция автодекремент «--», т.е. уменьшение на 1 значения переменной, причем эти операции могут быть как и префиксными, так и постфиксными со своими особенностями выполнения. Формат «%ld» указывает, что необходимо печатать целое десятичное типа long (повышенной точности) и оно будет занимать столько позиций, сколько содержится в нем значащих цифр, а «\n указывает перевод строки (конец записи).

 



Дата добавления: 2016-05-26; просмотров: 1183;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.011 сек.