КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Простейшие скалярные стандартные типы
Типы данных Константы Константы целого типа могут задаваться в десятичной, восьмеричной или шестнадцатеричной системах счисления. Десятичные целые константы начинаются не с нулевой цифры. Восьмеричные константы всегда начинаются с цифры нуль (017). Шестнадцатеричные константы всегда начинаются с символов 0X или ox (0X10A). Константы вещественного типа состоят из цифр, десятичной точки и знаков десятичного порядка е или Е. Ниже приведены все возможные варианты записи констант вещественного типа: 1., 2е1,.1234,.1е3,.1, 2Е1, 1.234, 0.0035е-6, 1.0, 2e-1, 2.1e-12. Символьные константы содержат один символ, заключенный в апострофы. Все символьные константы имеют значение типа int (целое), совпадающее с кодом символа в кодировке ASCII. Для повышения читабельности программы следует, где возможно, указывать символьную константу вместо кода символа. Пример. Фрагмент кода if (ch >= 'а' && ch <= 'z') будет более наглядным, чем эквивалентный ему фрагмент if (ch >= 97 && ch <= 122). Управляющие символы (коды) и символы, которые не имеют графического изображения, задаются в виде: \n (новая строка), \t (горизонтальная табуляция), \v ( вертикальная табуляция), \b (возврат на символ), \r (возврат в начало строки); \f (прогон бумаги до конца страницы), \\ (обратный слеш), \’ (апостроф), \» (кавычка), \а (звуковой сигнал), \ddd (код символа в ASCII - от одной до трех восьмеричных цифр), \xhhh (код символа в ASCII - от одной до трех шестнадцатеричных цифр). Строковые константы состоят из нуля или более символов, заключенных в двойные кавычки («Иванов»). В строковых константах могут быть управляющие символы. Обратный слеш используется как символ переноса текста на новую строку. Все переменные должны быть объявлены. При объявлении переменных вначале указывается тип, а затем имена переменных через запятую. Переменные можно инициировать в месте их описания (Int height=71). Скалярные типы данных приводятся в следующих двух таблицах.
Дополнительные типы, реализуемые классами
Рассмотрим отдельно эти типы. Set реализуется шаблонным классом Set: Set< < тип>,<мин.значение элемента множества>,<макс. значение(<=255) >> Пример: typedef Set <char, 'A','Z'> bolhiebukvi; // прописные латинские буквы bolhiebukvi glasnie, soglasnie; // объявление множеств гласных и согласных glasnie <<'A'<<'I'<<'E'; // заполнение множества гласными буквами soglasnie <<'B'<<'C'<<'D'; // заполнение множества согласными буквами // проверка принадлежности буквы ‘B’ принадлежности множеству glasnie Label1->Caption=glasnie.Contains('А')?»Да»:»Нет»; // вывод «Да» String реализуется в виде: String <список имен>. Эти строки могут использоваться в привычных операциях сцепления (+) и сравнения строк (==). Внимание! Отсчет символов начинается не с нуля, а с единицы Перечислим основные методы (имя строки и метод разделяются точкой) работы с этими строками: ToDouble/ToInt ‑ перевод строки в вещественное/целое число. c_str‑ возвращает указатель на символьный массив с исходной строкой. Length, IsEmpty ‑ возвращает длину строки, признак пустой строки (True). IsEmpty ‑ возвращает true, если длина строки нулевая. Insert(i) ‑ вставка строки после i‑й позиции исходной строки. Delete/SubString(i,n) ‑ удаление/выделение подстроки длиной n с i‑й позиции исходной строки (r=Label1->Caption.SubString(2,3)). LastDelimiter‑ возвращаетпозицию последнего символа‑ограничителя. LowerCase/UpperCase ‑ перевод строки в нижний/верхний регистр. Trim, TrimLeft/TrimRight ‑ убрать пробелы и управляющие символы в начале и в конце строки, только в начале/конце строки соответственно. Format‑ форматирование строки, аналогично функции printf. ToInt/ToDouble ‑ перевод числовой строки к целому/вещественному числу. AnsiPos(s), Pos(s) ‑ возврат номера первого символа вхождения строки S. Пример формирования и вывода фамилии, имени и отчества: String Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘; Fio.Insert(«Иванович»,Fio.Length()+1); Label1->Caption=Fio; SmallString реализуется в виде: SmallString <длина> <имя строки>. Пример: SmallString<30>Fam; Fam=«Иванов»; Label1->Caption=Fam; AnsiString реализуется в виде: AnsiString<имя переменной>[<длина>]. Этот тип эквивалентен типу String. Пример: AnsiString Fio, Fam=«Иванов», Imj=«Иван»; Fio=Fam+’ ‘+Imj+’ ‘; Fio.Insert(«Иванович»,Fio.Length()+1); Label1->Caption=Fio; Variant реализуется в виде: Variant <список имен переменных>. Пример: Variant Fam=«Иванов»,Dp=Date();//объявление универсальных переменных Label1->Caption=Fam+DateToStr(Dp); // формирование и вывод метки TDateTime реализуется в виде: TDateTime <список имен переменных>. Этот тип имеет структуру типа double, которая содержит в целой части значение даты (порядкового номера дня начиная с 30.12.1899), а в дробной ‑ значение времени (отсчитывая от 12:00). Пример: TDateTime d=Date(); Label1->Caption=d+1; // дата на завтра Currency реализуется в виде: Currency <список имен переменных>. Currency Stoimoct=123565.15; Label1->Caption=Stoimoct; Переменные‑константы задаются добавлением модификатора const и значений при объявлении этих переменных. Попытки изменить эти значения операторами присваивания будут обнаружены при компиляции. Пример. const int a=1; /* переменная‑константа*/ a=2; // ошибка Переопределение типа можно осуществить оператором typedef. Пример переопределения типаlong double на новый тип vehhiclo: typedef long double vehhiclo;vehhiclo a=1.2, b=1.6; // перемен. типа vehhiclo
Дата добавления: 2014-12-08; Просмотров: 503; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |