Лекция 7. Арифметические и логические выражения. Массивы (1107982), страница 3
Текст из файла (страница 3)
Код ASCIIпроизвольного символа можно задать в виде \ooo (ooo – трехзначный восьмеричный код этогосимвола) или \xnn (nn – двухзначный шестнадцатеричный код этого символа). Двухзначныйшестнадцатеричный код символа по таблице получается путем конкатенации номера строкивышеприведенной таблицы и номера столбца (в указанном порядке). Например, код символа @равен 4016. Трехзначный восьмеричный код символа получается аналогично, но столбцынумеруются двухзначными восьмеричными числами: 00, 01, 02, 03, 04, 05, 06, 07, 10, 11, 12, 13, 14,15. В этих обозначениях код символа @ равен 4008.Как видно, использовано меньше 128 из 256 возможных символов, так что есть много места дляновых символов (например, для русских букв). К сожалению, расширение кода ASCII буквами(с) Кафедра системного программирования ф-та ВМК МГУ, 20108Лекции по курсу “Алгоритмы и алгоритмические языки”, 1 курс, 1 поток, 2010/2011 уч.год.кириллических алфавитов, названное КОИ-8 (код обмена информацией, 8 битов), до сих пор нестандартизовано.
Существует несколько слабо отличающихся одна от другой версий КОИ-8.В последнее время в системы программирования (компиляторы) языка Си внедряется Unicode.Unicode – это международный 16-разрядный код (символ в Unicode занимает не один, а два байта).В Unicode представлены не только латинские и кириллические символы, но и символы всехизвестных алфавитов и множество специальных символов. У компилятораесть опция,позволяющая использовать Unicode (а следовательно, русские идентификаторы, а такжесимвольные и строковые константы).
При использовании Unicode код произвольного символаможно задается в виде: \uhhhh (hhhh –четырехзначный шестнадцатеричный код этого символа).К сожалению, Unicode содержит слишком много символов, и представить его в виде компактнойтаблицы не удается (таблица для Unicode содержала бы 256 столбцов и столько же строк). Длярусских символов сейчас используется кодировка ISO/IEC 8859-5:1999 (таблица взята с сайтаhttp://en.wikipedia.org/wiki/ISO/IEC_8859-5):.0 .1 .2 .30. \0 SOH STX ETX1. DLE DC1 DC2 DC32.! "#3.
01234. @ABC5. PQRS6. `abc7. pqrs8.9.A.ЁB. АБВГC. РСТУD. абвгE. рстуF. №ё.0 .1 .2 .3.4EOTDC4$4DTdt.5ENQNAK%5EUeu.6ACKSYN&6FVfv.7\aETB'7GWgw.8\bCAN(8HXhxДФдфЕХехЖЦжцЗЧзчИШиш.9 .A .B .C .D .E .F\t \n \v \f \r SO SIEM SUB ESC FS GS RS US)*+,—./9:;<=>?IJKLMNOYZ[\]^_ijklmnoyz{|}~ DELЙЩйщКЪкъЛЫлыМЬмьНЭнэОЮоюПЯпя0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F..4 .5 .6 .7 .8 .9 .A .B .C .D .E .FФиолетовая часть таблицы представляет собой копию предыдущей таблицы и содержит кодылатинских букв, знаков пунктуации и управляющих символов. В нижней части приведены кодырусских прописных (на оранжевом фоне) и строчных (на желтом фоне) букв и символа №,отсутствующего в латинском коде.
Голубым фоном выделены позиции в которых помещеныукраинские, белорусские, сербские, болгарские буквы, не совпадающие с русскими.Дополнение д7.3 Математические функции (заголовочный файл <math.h>)Д7.3.1. В таблице, приводимой ниже, параметры x и y имеют тип double, n – тип int,все функции возвращают значения типа double. Таблица есть в [1, с. 270-271].(с) Кафедра системного программирования ф-та ВМК МГУ, 20109Лекции по курсу “Алгоритмы и алгоритмические языки”, 1 курс, 1 поток, 2010/2011 уч.год.sin(x)cos(x)tan(x)asin(x)acos(x)atan(x)atan2(y, x)sinh(x)cosh(x)tanh(x)exp(x)log(x)log10(x)pow(x,y)sqrt(x)cell(x)floor(x)fabs(x)ldexp(x, n)frexp(x, int *exp)modf(x, double *ip)fmod(x, y)Синус xКосинус xТангенс xАрксинус xАрккосинус xАрктангенс xАрктангенс y/xСинус гиперболический xКосинус гиперболический xТангенс гиперболический xЭкспонента (ex)Логарифм по основанию 2Логарифм по основанию 10xyx«Потолок»: ближайшее целое число ≥ x ( x ).«Пол»: ближайшее целое число ≤ x ( x ).|x|x⋅2nПереводит x в «нормализованное» представление, т.е.
разбиваетx на два множителя: мантиссу (нормализованную дробь винтервале ½ ≤ x < 1) и порядок (целочисленный показательстепени двойки); мантисса является результатом функции, апорядок помещается в *exp. Если = 0, обе части результатаравны 0.Разбивает x на целую (помещается в *ip) и дробную (результатфункции) части.Остаток от деления x на y в виде вещественного числа. Знакрезультата совпадает со знаком x. Если y = 0, результат зависитот реализации языка.Литература[1] Б.
Керниган и Д. Ритчи. Язык программирования Си. Издание второе. Издательский дом«Вильямс», Москва, Санкт-Петербург, Киев – 2010.[2] Стандарт ANSI C 99 (в Интернете доступны черновики (draft), сам Стандарт можно приобрестив …). http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf (один из черновиков).(с) Кафедра системного программирования ф-та ВМК МГУ, 201010.