Встроенные типы данных
Литералы
Лекция 2
Комментарии
Комментарии совершенно игнорируются при компиляции программы, поэтому они могут содержать что угодно. Язык C++ поддерживает два типа комментариев:
ü Строка программы, начинающаяся с двух знаков дроби (//).
ü Последовательность символов, начинающаяся с комбинации дробной черты и звездочки (/*) и заканчивается теми же символами в обратном порядке (*/). Он может занимать несколько строк, а может быть вставлен в середину строки.
Функции — единственный тип подпрограмм С, в отличие, например, от языка Pascal, который различает функции и процедуры. Под процедурой обычно понимают подпрограмму, не возвращающую никакого значения. В С формально любая функция возвращает какой-либо тип, хотя в ANSI С этот тип может быть пустым (void). В нашем случае тело функции состоит из четырех операторов, первые три из которых являются, в свою очередь, вызовами функций. Значения, возвращаемые функциями, здесь игнорируются, т. е. функции вызываются аналогично процедурам языка Pascal. Применяемые здесь функции содержатся в стандартной (исполнительной) библиотеке С.
Тема: Представление данных в С.
Данные могут присутствовать непосредственно в тексте программы в виде литеральных констант. Эти литералы могут быть числовыми, символьными и строковыми.
Строковые литералы - это последовательность символов, заключенная в двойные кавычки.
Символьный литерал служит для представления одиночного знака и заключается в одиночные кавычки (апострофы).
Числовые литералы могут быть вещественными (с плавающей точкой) и целыми. В случае целого литерала он может быть записан в десятичной (последовательность цифр, не начинающаяся с нуля - 123, 1999), восьмеричной (последовательность цифр от нуля до семерки, начинающаяся с нуля - 011, 0177) или шестнадцатеричной форме (последовательность шестнадцатеричных цифр (0 - 9 и А - F), перед которой стоит 0X или Оx - ОХ9А, Oxffff). Вещественный литерал записывается либо в обычной десятичной ( [цифры].[цифры] 123., 3.14, .99), либо в экспоненциальной нотации ([цифры]Е|е[+|-] цифры - Зе-10, 1.17е6).
Литеральной константе можно дать некоторое имя, определив ее в качестве макроса препроцессора #define. После этого вместо литерала используется его имя. Это особенно удобно в том случае, когда одна и та же константа встречается в различных частях программы.
#define PI 3.14159265
#define TRUE 1
#define FALSE 0
В языке имеется несколько встроенных, или простых, типов (возможны и другие типы данных, например, определяемые пользователем), которые перечислены в следующей таблице (для 16-ти разрядной архитектуры).
Тип данных | Размер(байт)32разр | Размер (байт)16разр | Диапазон |
char | -128 – 127 | ||
unsigned char | 0 – 255 | ||
short int | -32768 – 32767 | ||
unsigned short | 0 – 65535 | ||
int | -32768 – 32767 | ||
unsigned int | 0 – 65535 | ||
long | -2147483648 – 2147483647 | ||
unsigned long | 0 – 4294967295 | ||
float | 3.4e-38 – 3.4e38 | ||
double | 1.7e-308 – 1.7e308 | ||
long double | 3.4e-4932 – 3.4e4932 |
Отрицательные целые числа представляются в машине в форме дополнения до двух. Чтобы изменить знак числа на противоположный, нужно инвертировать все его разряды (0 заменить на 1 и наоборот) и прибавить к полученному числу единицу. Например, взяв +1 типа char (00000001), инвертировав все биты (11111110) и прибавив 1, мы получим -1 (11 111 111).
Ключевые слова short, long и unsigned являются, строго говоря, модификаторами для типа int. Однако допускается сокращенная запись. Так, unsigned short — на самом деле сокращение для unsigned short int.
Размер и допустимый диапазон значений приведены именно для C++Builder 5, т. е. Для 32-разрядного компилятора.
Переменные.
Именованная единица памяти, предназначенная для хранения данных, называется переменной.
При объявлении переменных указывается тип, имена переменных и (при необходимости) начальные значения, которыми переменные инициализируются. Вот несколько примеров:
short i; // Объявление короткой целой переменной.
char quit = 'Q'; // Инициализация символьной переменной.
float fl, factor = 3.0, f2; // Три переменных типа float, одна из которых инициализируется.
Как и любой другой оператор С, он оканчивается точкой с запятой.
В именах переменных компилятор С различает регистр (прописные и строчные буквы).