🗊Презентация Язык си. Часть 5. Приведение типов. Символы и строки

Нажмите для полного просмотра!
Язык си. Часть 5. Приведение типов. Символы и строки, слайд №1Язык си. Часть 5. Приведение типов. Символы и строки, слайд №2Язык си. Часть 5. Приведение типов. Символы и строки, слайд №3Язык си. Часть 5. Приведение типов. Символы и строки, слайд №4Язык си. Часть 5. Приведение типов. Символы и строки, слайд №5Язык си. Часть 5. Приведение типов. Символы и строки, слайд №6Язык си. Часть 5. Приведение типов. Символы и строки, слайд №7Язык си. Часть 5. Приведение типов. Символы и строки, слайд №8Язык си. Часть 5. Приведение типов. Символы и строки, слайд №9Язык си. Часть 5. Приведение типов. Символы и строки, слайд №10Язык си. Часть 5. Приведение типов. Символы и строки, слайд №11Язык си. Часть 5. Приведение типов. Символы и строки, слайд №12Язык си. Часть 5. Приведение типов. Символы и строки, слайд №13Язык си. Часть 5. Приведение типов. Символы и строки, слайд №14Язык си. Часть 5. Приведение типов. Символы и строки, слайд №15Язык си. Часть 5. Приведение типов. Символы и строки, слайд №16Язык си. Часть 5. Приведение типов. Символы и строки, слайд №17Язык си. Часть 5. Приведение типов. Символы и строки, слайд №18Язык си. Часть 5. Приведение типов. Символы и строки, слайд №19Язык си. Часть 5. Приведение типов. Символы и строки, слайд №20Язык си. Часть 5. Приведение типов. Символы и строки, слайд №21

Вы можете ознакомиться и скачать презентацию на тему Язык си. Часть 5. Приведение типов. Символы и строки. Доклад-сообщение содержит 21 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1





Язык Си. Часть 5
ПРИВЕДЕНИЕ ТИПОВ. СИМВОЛЫ И СТРОКИ.
Описание слайда:
Язык Си. Часть 5 ПРИВЕДЕНИЕ ТИПОВ. СИМВОЛЫ И СТРОКИ.

Слайд 2





Приведение типов
Описание слайда:
Приведение типов

Слайд 3





Приведение типов
Некоторые операции в зависимости от своих операндов могут инициировать  преобразование значений из одного типа в другой. 
Приведение типов  (cast) в языке Си может быть явным (explicit) и неявным (implicit). 
При явном приведении типов перед выражением ставится имя нужного типа в круглых скобках. 
Пример: float k = (float) 1/3; // k = 0.333…
Неявное приведение типов выполняется компиляторов автоматически по указанным далее правилам.
Описание слайда:
Приведение типов Некоторые операции в зависимости от своих операндов могут инициировать преобразование значений из одного типа в другой. Приведение типов (cast) в языке Си может быть явным (explicit) и неявным (implicit). При явном приведении типов перед выражением ставится имя нужного типа в круглых скобках. Пример: float k = (float) 1/3; // k = 0.333… Неявное приведение типов выполняется компиляторов автоматически по указанным далее правилам.

Слайд 4





Преобразования целых типов
Знаковые и беззнаковые значения типа char, short int и enum могут использоваться в выражениях везде, где разрешено применение целых чисел. Если тип int позволяет представить все  значения исходного типа операнда, то операнд приводится к int, в противном случае— к unsigned int. Эта процедура называется расширением целочисленного типа (integral promotion).
При преобразовании signed-типа А к unsigned-типу В если длина с битах А > В, то лишние левые биты отбрасываются, иначе – недостающие заполняются нулями. 
В результате приведения unsigned-типа к signed его значение не меняется, если оно представимо в этом новом типе; в противном случае результат зависит от  реализации.
Описание слайда:
Преобразования целых типов Знаковые и беззнаковые значения типа char, short int и enum могут использоваться в выражениях везде, где разрешено применение целых чисел. Если тип int позволяет представить все значения исходного типа операнда, то операнд приводится к int, в противном случае— к unsigned int. Эта процедура называется расширением целочисленного типа (integral promotion). При преобразовании signed-типа А к unsigned-типу В если длина с битах А > В, то лишние левые биты отбрасываются, иначе – недостающие заполняются нулями. В результате приведения unsigned-типа к signed его значение не меняется, если оно представимо в этом новом типе; в противном случае результат зависит от реализации.

Слайд 5





Преобр-е «целое – веществ-е»
При преобразовании из вещественного типа в целочисленный дробная часть числа отбрасывается; если полученное при этом значение нельзя представить величиной  заданного целочисленного типа, то результат не определен. 
Если число преобразуется из целого в вещественное и находится в допустимом  диапазоне, но представляется в новом типе недостаточно точно, то результатом будет  большее или меньшее ближайшее значение нового типа. Если результат выходит за границы диапазона допустимых значений, результат не определен.
Описание слайда:
Преобр-е «целое – веществ-е» При преобразовании из вещественного типа в целочисленный дробная часть числа отбрасывается; если полученное при этом значение нельзя представить величиной заданного целочисленного типа, то результат не определен. Если число преобразуется из целого в вещественное и находится в допустимом диапазоне, но представляется в новом типе недостаточно точно, то результатом будет большее или меньшее ближайшее значение нового типа. Если результат выходит за границы диапазона допустимых значений, результат не определен.

Слайд 6





Преобр-е вещественных типов
При преобразовании из вещественного типа меньшей точности к типу большей  точности число не изменяется. (float -> double)
Если преобразование выполняется от большей точности к меньшей и число остается в допустимых пределах нового типа, то результатом будет большее или меньшее ближайшее значение нового типа. Если результат выходит за границы допустимого диапазона, результат не определен:
double R = 2e+100;
float R2 = R; /* Исключение типа Floating overflow – переполнение типа float */
Описание слайда:
Преобр-е вещественных типов При преобразовании из вещественного типа меньшей точности к типу большей точности число не изменяется. (float -> double) Если преобразование выполняется от большей точности к меньшей и число остается в допустимых пределах нового типа, то результатом будет большее или меньшее ближайшее значение нового типа. Если результат выходит за границы допустимого диапазона, результат не определен: double R = 2e+100; float R2 = R; /* Исключение типа Floating overflow – переполнение типа float */

Слайд 7


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №7
Описание слайда:

Слайд 8





Арифметические преобразования
Описание слайда:
Арифметические преобразования

Слайд 9





Преобразования указателей
Любой указатель можно привести к типу void * без потери информации. Если результат подвергнуть обратному преобразованию, получится исходный указатель. Указатели типа void * можно употреблять совместно с указателями любого типа в операциях присваивания и сравнения каким угодно образом.
При преобразовании указателей других типов по факту ничего не происходит, но транслятор «запоминает», что операции адресной арифметики и разыменования нужно выполнять в соответствии с новым типом данных.
Описание слайда:
Преобразования указателей Любой указатель можно привести к типу void * без потери информации. Если результат подвергнуть обратному преобразованию, получится исходный указатель. Указатели типа void * можно употреблять совместно с указателями любого типа в операциях присваивания и сравнения каким угодно образом. При преобразовании указателей других типов по факту ничего не происходит, но транслятор «запоминает», что операции адресной арифметики и разыменования нужно выполнять в соответствии с новым типом данных.

Слайд 10





Работа со строками и символами
Описание слайда:
Работа со строками и символами

Слайд 11





Кодировки символов
Для представления текста в цифровом формате необходимо придумать систему кодирования, в которой каждой букве соответствовал бы уникальный двоичный код. Свои коды понадобятся и для цифр, и для знаков препинания, поскольку без них в тексте не обойтись. 
Кодирование – это представление чего-либо чем-нибудь другим.
Кодировка (набор символов, чарсет, charset, кодовая страница) – это набор правил, описывающий способ перевода одного представления в другое, т.е. таблица кодов, закрепляющая за символом набор битов.
Описание слайда:
Кодировки символов Для представления текста в цифровом формате необходимо придумать систему кодирования, в которой каждой букве соответствовал бы уникальный двоичный код. Свои коды понадобятся и для цифр, и для знаков препинания, поскольку без них в тексте не обойтись. Кодирование – это представление чего-либо чем-нибудь другим. Кодировка (набор символов, чарсет, charset, кодовая страница) – это набор правил, описывающий способ перевода одного представления в другое, т.е. таблица кодов, закрепляющая за символом набор битов.

Слайд 12





Кодировка ASCII  	1967 год
– американский стандартный код для обмена информацией (American Standard Code for Information Interchange). 
ASCII — это 7-битовая кодировка. Ее коды принимают значения от 0000000 до 1111111 или в шестнадцатеричном выражении от 00h до 7Fh.
Первые 33 кода – управляющие и непечатные символы (например: ‘\t’ – 09h, ‘\n’ – 0Ah), остальные – буквы латинского алфавита, цифры и знаки препинания.
Для кодирования национальных символов используют расширенную ASCII-таблицу и коды 128-255. Для Windows это кодировка Windows CP-1251. Кодировка букв в консоли Windows по умолчанию MS-DOS CP-866. 
Кириллицу также содержат кодовые страницы ISO-8859-5 (Linux), CP KOI-8U и CP KOI-8R (СССР). Для других языков существуют свои кодовые таблицы.
Описание слайда:
Кодировка ASCII 1967 год – американский стандартный код для обмена информацией (American Standard Code for Information Interchange). ASCII — это 7-битовая кодировка. Ее коды принимают значения от 0000000 до 1111111 или в шестнадцатеричном выражении от 00h до 7Fh. Первые 33 кода – управляющие и непечатные символы (например: ‘\t’ – 09h, ‘\n’ – 0Ah), остальные – буквы латинского алфавита, цифры и знаки препинания. Для кодирования национальных символов используют расширенную ASCII-таблицу и коды 128-255. Для Windows это кодировка Windows CP-1251. Кодировка букв в консоли Windows по умолчанию MS-DOS CP-866. Кириллицу также содержат кодовые страницы ISO-8859-5 (Linux), CP KOI-8U и CP KOI-8R (СССР). Для других языков существуют свои кодовые таблицы.

Слайд 13


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №13
Описание слайда:

Слайд 14





Unicode				1988 год
– таблица кодирования символов, которая содержит 1 114 112 кодов для символов всех языков. 
Первые 128 символов — с кодами от 0000h до 007Fh — совпадают с символами ASCII.
Unicode в первую и главную очередь определяет таблицу пунктов для символов. Это такой способ сказать «65 – A, 66 – B, 9731 – ☃». Как эти пункты кодируются в байты зависит от конкретной кодировки. Для представления 1 114 112 значений двух байт недостаточно. Трех достаточно, но 3 – странное число, так что 4 является комфортным минимумом.
UTF-32 – это кодировка, которая переводит все символы в наборы из 32 бит. 
UTF-16 и UTF-8 являются кодировками с переменной длиной кодирования. Если символ может быть закодирован одним байтом, UTF-8 закодирует его одним байтом. Если нужно 2 байта, то используется 2 байта. Кодировка сообщает старшими битами, сколькими битами кодируется текущий символ. 
UTF-16 является компромиссом: все символы как минимум двухбайтные, но их размер может увеличиваться до 4 байт, если нужно. 
Описание слайда:
Unicode 1988 год – таблица кодирования символов, которая содержит 1 114 112 кодов для символов всех языков. Первые 128 символов — с кодами от 0000h до 007Fh — совпадают с символами ASCII. Unicode в первую и главную очередь определяет таблицу пунктов для символов. Это такой способ сказать «65 – A, 66 – B, 9731 – ☃». Как эти пункты кодируются в байты зависит от конкретной кодировки. Для представления 1 114 112 значений двух байт недостаточно. Трех достаточно, но 3 – странное число, так что 4 является комфортным минимумом. UTF-32 – это кодировка, которая переводит все символы в наборы из 32 бит. UTF-16 и UTF-8 являются кодировками с переменной длиной кодирования. Если символ может быть закодирован одним байтом, UTF-8 закодирует его одним байтом. Если нужно 2 байта, то используется 2 байта. Кодировка сообщает старшими битами, сколькими битами кодируется текущий символ. UTF-16 является компромиссом: все символы как минимум двухбайтные, но их размер может увеличиваться до 4 байт, если нужно. 

Слайд 15





Тип char
Переменная типа char занимает 1 байт памяти и хранит целое число, обозначающее код символа в какой-либо стандартной кодировке. 
Отсюда следует, что, во-первых, с типом char можно работать, как с обычным целым числом. А во-вторых, что значения типа int тоже можно воспринимать как коды символов.
В случае с типом int по умолчанию подразумевается модификатор знака signed. Но что касается типа char, то в стандарте указано, что тип char должен совпадать либо с signed char, либо с unsigned char, и это зависит от компилятора! То есть в общем случае, типы signed char, unsigned char и char – это 3 разных типа!*
Описание слайда:
Тип char Переменная типа char занимает 1 байт памяти и хранит целое число, обозначающее код символа в какой-либо стандартной кодировке. Отсюда следует, что, во-первых, с типом char можно работать, как с обычным целым числом. А во-вторых, что значения типа int тоже можно воспринимать как коды символов. В случае с типом int по умолчанию подразумевается модификатор знака signed. Но что касается типа char, то в стандарте указано, что тип char должен совпадать либо с signed char, либо с unsigned char, и это зависит от компилятора! То есть в общем случае, типы signed char, unsigned char и char – это 3 разных типа!*

Слайд 16





Функции для работы с char
Ввод/вывод:
1. Указание типа в printf/scanf - %c. Пример: вывод всей кодовой таблицы:
int main(){
        int i;
        for( i = 0; i < 256; i++)
                printf("symbol: %c, code = %d\n", i, i);
}
2. Ввод: функция getchar() – возвращает код введенного символа. 
Вывод: функция putchar(char c). 
3. Для ввода/вывода в файл – функции getc(), putc().
4. Функции ungetch(), getch() – посмотреть самостоятельно!
Описание слайда:
Функции для работы с char Ввод/вывод: 1. Указание типа в printf/scanf - %c. Пример: вывод всей кодовой таблицы: int main(){ int i; for( i = 0; i < 256; i++) printf("symbol: %c, code = %d\n", i, i); } 2. Ввод: функция getchar() – возвращает код введенного символа. Вывод: функция putchar(char c). 3. Для ввода/вывода в файл – функции getc(), putc(). 4. Функции ungetch(), getch() – посмотреть самостоятельно!

Слайд 17


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №17
Описание слайда:

Слайд 18


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №18
Описание слайда:

Слайд 19





Строки
Строка – это массив элементов типа char, заканчивающийся символом ‘\0’ (NULL).
Описание слайда:
Строки Строка – это массив элементов типа char, заканчивающийся символом ‘\0’ (NULL).

Слайд 20


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №20
Описание слайда:

Слайд 21


Язык си. Часть 5. Приведение типов. Символы и строки, слайд №21
Описание слайда:



Похожие презентации
Mypresentation.ru
Загрузить презентацию