🗊Презентация Общие Сведения о языке Си

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

Содержание

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

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


Слайд 1





Общие Сведения о языке СИ
лекция 2
Описание слайда:
Общие Сведения о языке СИ лекция 2

Слайд 2





План лекции
Общие сведения
Лексика языка Си
Форма Бекуса-Наура описания синтаксиса
Описание слайда:
План лекции Общие сведения Лексика языка Си Форма Бекуса-Наура описания синтаксиса

Слайд 3





Общие сведения о языке Си
Dennis Ritchie (1941-2011)
Язык для разработки ОС UNIX
1969-1973, Bell Laboratories, США
Стандарты
ANSI (С89)
С99
//, описание переменных не в начале блока, массивы переменной длины
С11
Параллелизм, полиморфизм
Описание слайда:
Общие сведения о языке Си Dennis Ritchie (1941-2011) Язык для разработки ОС UNIX 1969-1973, Bell Laboratories, США Стандарты ANSI (С89) С99 //, описание переменных не в начале блока, массивы переменной длины С11 Параллелизм, полиморфизм

Слайд 4


Общие Сведения о языке Си, слайд №4
Описание слайда:

Слайд 5





Лексика языка Си
Программа на Си -- одна или несколько единиц компиляции (файлов)
Стадии работы компилятора
Формирование лексем (в том числе работа препроцессора)
Синтаксический анализ
Семантический анализ
Оптимизация
Генерация кода
Описание слайда:
Лексика языка Си Программа на Си -- одна или несколько единиц компиляции (файлов) Стадии работы компилятора Формирование лексем (в том числе работа препроцессора) Синтаксический анализ Семантический анализ Оптимизация Генерация кода

Слайд 6





Лексемы языка Си
Символы-разделители
Идентификаторы
Ключевые слова
Константы, строковые литералы
Символы операций и скобки
Описание слайда:
Лексемы языка Си Символы-разделители Идентификаторы Ключевые слова Константы, строковые литералы Символы операций и скобки

Слайд 7





Символы-разделители языка Си
Пробелы
Символы табуляции
Переводы строк
Комментарии
С89: от /* до */
С99: С89 и от // до конца строки
Эквивалентно одному пробелу
Описание слайда:
Символы-разделители языка Си Пробелы Символы табуляции Переводы строк Комментарии С89: от /* до */ С99: С89 и от // до конца строки Эквивалентно одному пробелу

Слайд 8





Идентификаторы языка Си
Последовательность букв и цифр, начинающаяся с буквы
Знак подчеркивания _ является буквой
Идентификатор функции (переменной), которую можно вызвать (использовать) из другой единицы компиляции, называется внешним идентификатором
Значимыми являются не менее 6 первых символов
Верхний и нижний регистр могут не различаться
Остальные идентификаторы называются внутренними 
Значимыми являются не менее 31 символа
Верхний и нижний регистр различаются
Описание слайда:
Идентификаторы языка Си Последовательность букв и цифр, начинающаяся с буквы Знак подчеркивания _ является буквой Идентификатор функции (переменной), которую можно вызвать (использовать) из другой единицы компиляции, называется внешним идентификатором Значимыми являются не менее 6 первых символов Верхний и нижний регистр могут не различаться Остальные идентификаторы называются внутренними Значимыми являются не менее 31 символа Верхний и нижний регистр различаются

Слайд 9





Ключевые слова языка Си
ANSI:
auto break case char const continue default do
double else enum extern float for goto if
int long register return short signed sizeof static
struct switch typedef union unsigned void volatile while
C99:
_Bool _Complex inline restrict
C11:
_Alignas alignof _Atomic _Generic _Noreturn _Thread_local
Описание слайда:
Ключевые слова языка Си ANSI: auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while C99: _Bool _Complex inline restrict C11: _Alignas alignof _Atomic _Generic _Noreturn _Thread_local

Слайд 10





Константы языка Си
Целые
Символьные
С плавающей точкой
Константы перечислимых типов
Строковые литералы
Описание слайда:
Константы языка Си Целые Символьные С плавающей точкой Константы перечислимых типов Строковые литералы

Слайд 11





Целые константы
Константа записывается в 8-, 10- или 16-ричной системе счисления и может иметь суффиксы u (или U) и/или l (или L) 
8-ричная запись состоит из цифр и начинается с цифры 0
10-тичная запись состоит из цифр и начинается не с цифры 0 
16-ричная запись состоит из префикса 0х и послед. цифр 0-9 и букв а-f
16-ричные цифры со значения от 10 до 15 обозначаются буквами от а-f
Регистр не учитывается
Константа получает тип с наименьшим диапазоном, содержащим значение константы
10-тичная без суффикса – первый из int, long int, unsigned long int
8- и 16-ричная без суффикса – первый из int, unsigned int, long int, unsigned long int
С суффиксом u или U -- первый из unsigned int, unsigned long int
С суффиксом l или L -- первый из long int, unsigned long int
С суффиксом ul или UL имеет тип unsigned long int
Описание слайда:
Целые константы Константа записывается в 8-, 10- или 16-ричной системе счисления и может иметь суффиксы u (или U) и/или l (или L) 8-ричная запись состоит из цифр и начинается с цифры 0 10-тичная запись состоит из цифр и начинается не с цифры 0 16-ричная запись состоит из префикса 0х и послед. цифр 0-9 и букв а-f 16-ричные цифры со значения от 10 до 15 обозначаются буквами от а-f Регистр не учитывается Константа получает тип с наименьшим диапазоном, содержащим значение константы 10-тичная без суффикса – первый из int, long int, unsigned long int 8- и 16-ричная без суффикса – первый из int, unsigned int, long int, unsigned long int С суффиксом u или U -- первый из unsigned int, unsigned long int С суффиксом l или L -- первый из long int, unsigned long int С суффиксом ul или UL имеет тип unsigned long int

Слайд 12





Символьные константы
Необязательный префикс L и один или нескольких символов в кавычках ' (например 'х' или L'x')
В кавычки ' нельзя брать одну кавычку ' или конец строки
Значением константы с одним символом внутри является код этого символа в кодировке, принятой на данной машине
Значение константы с несколькими символами может зависеть от реализации
Константа без префикса имеет тип char
Константа с префиксом L имеет тип wchar_t (описан в stddef.h)
Описание слайда:
Символьные константы Необязательный префикс L и один или нескольких символов в кавычках ' (например 'х' или L'x') В кавычки ' нельзя брать одну кавычку ' или конец строки Значением константы с одним символом внутри является код этого символа в кодировке, принятой на данной машине Значение константы с несколькими символами может зависеть от реализации Константа без префикса имеет тип char Константа с префиксом L имеет тип wchar_t (описан в stddef.h)

Слайд 13





Константы с плавающей точкой
Целая часть, десятичная точка, дробная часть, е или Е, и порядок (возможно, со знаком), и, возможно, суффикс f, F, l или L
Целая, дробная часть и порядок -- последовательности цифр
Целая часть или дробная часть (но не обе вместе) могут отсутствовать
Десятичная точка или Е с порядком (но не обе вместе) могут отсутствовать
Тип определяется суффиксом
F или f -- тип float
L или l -- тип long double
Без суффикса – тип double
Описание слайда:
Константы с плавающей точкой Целая часть, десятичная точка, дробная часть, е или Е, и порядок (возможно, со знаком), и, возможно, суффикс f, F, l или L Целая, дробная часть и порядок -- последовательности цифр Целая часть или дробная часть (но не обе вместе) могут отсутствовать Десятичная точка или Е с порядком (но не обе вместе) могут отсутствовать Тип определяется суффиксом F или f -- тип float L или l -- тип long double Без суффикса – тип double

Слайд 14





Константы перечислимых типов
Идентификаторы, объявленные как элементы перечисления enum
Имеют тип int
Значения определяются внутри enum
Описание слайда:
Константы перечислимых типов Идентификаторы, объявленные как элементы перечисления enum Имеют тип int Значения определяются внутри enum

Слайд 15





Строковые литералы
Необязательный префикс L и последовательность символов, в двойных кавычках (например, "..." или L"…")
В двойные кавычки нельзя брать одну двойную кавычку или конец строки
В строках можно использовать те же escape-последовательности, что и в символьных константах
Константа без префикса имеет тип массив char
Константа с префиксом L имеет тип массив wchar_t
Значение строки хранится в памяти глобальных переменных (static) и инициализируется заданными символами, за которыми идет '\0'
Поведение программы, пытающейся изменить строковый литерал, не определено
Написанные рядом строковые литералы объединяются в одну строку
После любой конкатенации к строке добавляется символ '\0'
Конкатенация строк с префиксом и без префикса не определена
Описание слайда:
Строковые литералы Необязательный префикс L и последовательность символов, в двойных кавычках (например, "..." или L"…") В двойные кавычки нельзя брать одну двойную кавычку или конец строки В строках можно использовать те же escape-последовательности, что и в символьных константах Константа без префикса имеет тип массив char Константа с префиксом L имеет тип массив wchar_t Значение строки хранится в памяти глобальных переменных (static) и инициализируется заданными символами, за которыми идет '\0' Поведение программы, пытающейся изменить строковый литерал, не определено Написанные рядом строковые литералы объединяются в одну строку После любой конкатенации к строке добавляется символ '\0' Конкатенация строк с префиксом и без префикса не определена

Слайд 16





Символы операций и скобки
Скобки
 [ ] { } ( )
Унарные
 -- ++ ! ~ & * + -
Бинарные 
&& || << >> -> . , & ^ | * + - / %
= == < > <= >= != += -= /= %= <<= >>= &= |= ^=
Тернарные
 ?:
Другое
… ;
Описание слайда:
Символы операций и скобки Скобки [ ] { } ( ) Унарные -- ++ ! ~ & * + - Бинарные && || << >> -> . , & ^ | * + - / % = == < > <= >= != += -= /= %= <<= >>= &= |= ^= Тернарные ?: Другое … ;

Слайд 17





Перед делением на лексемы
Строка текста программы, заканчивающаяся обратной наклонной чертой \, соединяется со следующей
Описание слайда:
Перед делением на лексемы Строка текста программы, заканчивающаяся обратной наклонной чертой \, соединяется со следующей

Слайд 18





Форма Бекуса-Наура описания синтаксиса формальных языков
Терминальные символы
Нетерминальные символы
Правила вида
<нетерм.символ> ::= <посл.симв.1>
 | <посл.симв.2>
 | . . .
 | <посл.симв.n>
Описание слайда:
Форма Бекуса-Наура описания синтаксиса формальных языков Терминальные символы Нетерминальные символы Правила вида <нетерм.символ> ::= <посл.симв.1> | <посл.симв.2> | . . . | <посл.симв.n>

Слайд 19





Пример БНФ № 1
<цифра> ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9'
<знак> ::= '+'|'-'|
<число без знака> ::= <цифра>| <цифра> <число без знака>
<число> ::= <знак> <число без знака>
Множество строк, которые описывает <число>:
0, 1, ..., 9, +0, +1, ..., +9, -0, -1, ..., -9, 00, 01, ..., 09, +00, +01, ..., +09, -00, -01, ..., -09, ...
Описание слайда:
Пример БНФ № 1 <цифра> ::= '0'|'1'|'2'|'3'|'4'|'5'|'6'|'7'|'8'|'9' <знак> ::= '+'|'-'| <число без знака> ::= <цифра>| <цифра> <число без знака> <число> ::= <знак> <число без знака> Множество строк, которые описывает <число>: 0, 1, ..., 9, +0, +1, ..., +9, -0, -1, ..., -9, 00, 01, ..., 09, +00, +01, ..., +09, -00, -01, ..., -09, ...

Слайд 20





Пример БНФ № 2
Какое множество строк описывает <ппс> ?
<ппс> ::= | '('<ппс>')' | <ппс><ппс>
Описание слайда:
Пример БНФ № 2 Какое множество строк описывает <ппс> ? <ппс> ::= | '('<ппс>')' | <ппс><ппс>

Слайд 21





Расширенная БНФ
[<посл.симв.>]
Необязательная последовательность символов
{<посл.симв.>}
Повторение последовательности символов
Описание слайда:
Расширенная БНФ [<посл.симв.>] Необязательная последовательность символов {<посл.симв.>} Повторение последовательности символов

Слайд 22





Заключение
Общие сведения о языке Си
Dennis Ritchie, 1973, Bell Laboratories, САСШ
Лексика языка Си
Единица компиляции
Стадии работы компилятора
Лексемы
Символы-разделители
Идентификаторы
Ключевые слова
Константы, строковые литералы
Символы операций и скобки
Форма Бекуса-Наура описания синтаксиса
Описание слайда:
Заключение Общие сведения о языке Си Dennis Ritchie, 1973, Bell Laboratories, САСШ Лексика языка Си Единица компиляции Стадии работы компилятора Лексемы Символы-разделители Идентификаторы Ключевые слова Константы, строковые литералы Символы операций и скобки Форма Бекуса-Наура описания синтаксиса

Слайд 23


Общие Сведения о языке Си, слайд №23
Описание слайда:



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