
- •Основные типы данных
- •Переменные и константы целого типа
- •Переменные типа int
- •Классы памяти и инициализация переменных
- •Переменные типа long
- •Константы целого типа
- •Переменные типа short
- •Переменные типа char
- •Константы типа char
- •Строки, или строковая константа, или литерал
- •Переменные вещественного типа
- •Константы вещественного типа
- •Именованные константы
- •Преобразование типов Преобразования при вычислении выражений
- •Преобразование типов при выполнении операций присваивания
- •Преобразования при приведении типов
Переменные типа short
Данные целого типа short занимают в памяти байта (16 бит) и могут принимать значения от –32768 до 32767. С помощью служебного слова unsigned вводится беззнаковый целый тип short . Данные этого типа могут принимать значения от 0 до 65535. Данные типа short полностью эквивалентны данным типа int.
В компиляторе ВС31 данные типа short и int занимают в памяти 2 байта, а данные типа long – 4 байта, но в компиляторе ВС5 данные типа short занимают в памяти 2 байта, а данные типа int и long – 4 байта.
Переменные типа char
Переменные типа char занимают в памяти байт. Переменная типа char может принимать значения от –27 до 27–1 (от –128 до 127), то есть является знаковым целым.
Имеется беззнаковый тип unsigned char . Переменные этого типа могут принимать значения от 0 до 28–1 (от 0 до 255).
char х; unsigned char с;
Если к максимальному числу типа char прибавить единицу, то получим минимальное число, а если от минимального числа типа char отнять единицу, то получим максимальное число. Например: char с=125; с+=3; // получим с+1=126, с+2=127, с+3=–128.
unsigned char b=254; b+=4; // получим b+1=255, b+2 =0, b+3=1, b+4=2
Кроме того, тип char предназначен для кодирования символов. Каждому значению переменной типа char соответствует некоторый символ согласно кодовой ASCII-таблице (American Standard Code for Information Intechange).
Константы типа char
Константы типа char (символьные константы) записываются в одиночных кавычках.
Переменную типа char можно инициализировать так
char c1=‘a’; char c2=0х63; /*‘с’*/ char c3=65; /*‘А’*/
Если c1+=1; то получим 0х62 или 98, т.е. символ ‘b’.
Последовательности литер (символов), начинающихся с наклонной влево чертой (обратного слеша), называются ESC –последовательности.
Для самого слеша \\ , для одинарной кавычки \’ , для вопросительного знака \? , для двойной кавычки \“ .
Кроме того, обратный слеш используется для записи символов, не имеющих графического изображения:
\a – звуковой сигнал;
\b – возврат на шаг;
\f – перевод страницы;
\n – перевод строки;
\r – возврат каретки;
\t – табуляция горизонтальная;
\v – табуляция вертикальная.
Строки, или строковая константа, или литерал
Строка – это последовательность символов, заключенная в двойные кавычки, к которой всегда добавляется символ ‘\0’.
Например, если записать printf (“Borland C++”); , то на печать будет выведена строка Borland C++
Если необходимо вывести двойные кавычки, то printf(“Он сказал\”Поехали\””);
Если встречается длинная строка, то её можно разбить на части при написании программы:
printf (“Строка – это последовательность ”
“символов“);
Данные типа char выводятся на экран (на печать) или вводятся с клавиатуры с помощью спецификаторов %d , %u, %c , %x , %о . Например:
char a1=‘d’,а2; сhar c1=0x45;
printf (“%d %c %x %o\n”,a1,a1,a1,a1); //100 d 64 144
рrintf (“%d %o %c \n”, c1,c1,c1); //69 105 E
scanf(“%d %с”, &a1,&a2);
рrintf(“%с %d”,а1,а2);
c1=getch();
putch(c1);