Алгоритмический язык программирования С

Содержание

Слайд 2

Общая характеристика языка С Язык C - это стандартизованный процедурный язык

Общая характеристика языка С

Язык C - это стандартизованный процедурный язык

программирования, был разработан ещё в начале 70-х годов Кеном Томпсоном и Денисом Ритчи, сотрудниками компании Bell Labs и является продолжением языка B (читается "би").
Язык C изначально был создан для программирования под операционную систему UNIX и в последствии был перенесён на множество других операционных систем и стал одним из самых популярных языков программирования.

Написание хороших программ требует ума, вкуса и терпения.
Б. Страуструп

Слайд 3

С ценится за эффективность. На С пишется большинство системного программного обеспечения

С ценится за эффективность.
На С пишется большинство системного программного обеспечения и

прикладных программ.
С широко используется для подготовки специалистов, хотя изначально разрабатывался не для новичков, как тот же Паскаль.
Слайд 4

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С. Изначально язык С был придуман, чтобы заменить

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С.

Изначально язык С был придуман, чтобы заменить Ассемблер

в написании операционных систем.
код С легко переносится с одной платформы на другую.
В настоящее время большинство ОС написано на С.
но применение языка С не ограничивается только написанием операционных систем.
С имеет массу достоинств, он прост в изучении и лаконичен.
элементы языка максимально приближены к архитектуре компьютеров.
Слайд 5

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С. Язык С позволяет программисту полностью контролировать компьютер,

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С.

Язык С позволяет программисту полностью контролировать компьютер, средствами

самого же языка.
Так, например, указатель - это адрес памяти, массив - непрерывная область памяти и т.д.
Многие языки взяли за основу синтаксис С.
Для языка С характерны лаконичность, современный набор конструкций управления потоком выполнения, структур данных и большой набор операций.
На сегодняшний день С и языки основанные на синтаксисе С наиболее популярны в практическом программировании.
например, C++, Java, C#.
Слайд 6

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С. С удобен для написания программ обработки текста

ОБЩАЯ ХАРАКТЕРИСТИКА ЯЗЫКА С.

С удобен для написания программ обработки текста и

графики, в различных инженерных расчётах.

Объектно-ориентированные языки, основанные на С, хорошо подходят для программирования в оконных средах.

Слайд 7

Состав языка В тексте на любом естественном языке можно выделить четыре

Состав языка

В тексте на любом естественном языке можно выделить четыре основных

элемента: символы, слова, словосочетания и предложения.
Подобные элементы содержит и алгоритмический язык, только слова называют лексемами (элементарными конструкциями), словосочетания — выражениями, а предложения — операторами.
Слайд 8

Состав языка. лексемы образуются из символов, выражения — из лексем и

Состав языка.

лексемы образуются из символов,
выражения — из лексем и символов,


операторы — из символов, выражений и лексем

операторы

выражения

символы

лексемы

Слайд 9

Состав языка. Алфавит это основные неделимые знаки, с помощью которых пишутся

Состав языка.

Алфавит

это основные неделимые знаки, с помощью которых пишутся все

тексты на языке.

Лексема

минимальная единица языка, имеющая самостоятельный смысл.

Выражение

задает правило вычисления некоторого значения.

Оператор

задает законченное описание некоторого действия.

Слайд 10

Состав языка. Операторы могут быть объединены в составной оператор, или блок.

Состав языка.

Операторы могут быть объединены в составной оператор, или блок.

Блоком в

языке C считается последовательность операторов, заключенная в фигурные скобки {}

Операторы бывают исполняемые и неисполняемые.

Исполняемые операторы задают действия над данными.
Неисполняемые операторы служат для описания данных, поэтому их часто называют операторами описания или просто описаниями.

Слайд 11

Этапы создания исполняемой программы. Для того чтобы выполнить программу, требуется перевести

Этапы создания исполняемой программы.

Для того чтобы выполнить программу, требуется перевести ее

на язык, понятный процессору —
в машинные коды.

Этот процесс в языке C состоит из нескольких этапов

Слайд 12

Этапы создания исполняемой программы.

Этапы создания исполняемой программы.

Слайд 13

Этапы создания исполняемой программы.

Этапы создания исполняемой программы.

Слайд 14

Алфавит языка прописные и строчные латинские буквы и знак подчеркивания; арабские

Алфавит языка

прописные и строчные латинские буквы и знак подчеркивания;
арабские цифры

от 0 до 9;
специальные знаки: " { } , . ! # % & [ ] ( ) + - / * : ? < = > ;
пробельные символы: пробел, символы табуляции, символы перехода на новую строку.
Слайд 15

Алфавит языка. Из символов алфавита формируются лексемы языка: идентификаторы ключевые слова

Алфавит языка.

Из символов алфавита формируются лексемы языка:
идентификаторы
ключевые слова
знаки операций
константы
разделители

Границы лексем

определяются другими лексемами, такими, как разделители или знаки операций.
Слайд 16

Алфавит языка. Идентификаторы Идентификатор — это имя программного объекта. В идентификаторе

Алфавит языка.

Идентификаторы
Идентификатор — это имя программного объекта.
В идентификаторе могут использоваться латинские

буквы, цифры и знак подчеркивания.
Прописные и строчные буквы различаются.
Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра.
Пробелы внутри имен не допускаются.

Длина идентификатора по стандарту не ограничена, но некоторые компиляторы и компоновщики налагают на нее ограничения.

Слайд 17

Алфавит языка. Ключевые слова это зарезервированные идентификаторы, которые имеют специальное значение

Алфавит языка.

Ключевые слова
это зарезервированные идентификаторы, которые имеют специальное значение для компилятора.
Их

можно использовать только в том смысле, в котором они определены.
Интерпретация или компиляция ключевого слова всегда вызывает вполне определенное действие компьютера.
Слайд 18

Ключевые слова. Список ключевых слов C

Ключевые слова.

Список ключевых слов C

Слайд 19

Алфавит языка. Знаки операций Знак операции — это один или более

Алфавит языка.

Знаки операций
Знак операции — это один или более символов, определяющих

действие над операндами
Внутри знака операции пробелы не допускаются.
Слайд 20

Знаки операций. Операции делятся на унарные, бинарные и тернарную по количеству

Знаки операций.

Операции делятся на унарные, бинарные и тернарную

по количеству участвующих

в них операндов

Один и тот же знак может интерпретироваться по-разному

в зависимости от контекста

Все знаки операций представляют собой отдельные лексемы

за исключением [ ], ( ) и ? :

Большинство стандартных операций может быть переопределено (перегружено)

Слайд 21

Алфавит языка. Константы В языке C существуют целые, вещественные, символьные и

Алфавит языка.

Константы
В языке C существуют целые, вещественные, символьные и строковые константы.
Компилятор,

выделив константу в качестве лексемы, относит ее к одному из типов по ее внешнему виду.
Программист может задать тип константы самостоятельно.
Слайд 22

Целые константы. Форматы целых констант

Целые константы.

Форматы целых констант

Слайд 23

Вещественные константы. Форматы вещественных констант

Вещественные константы.

Форматы вещественных констант

Слайд 24

Символьные и строковые константы. Форматы символьных и строковых констант

Символьные и строковые константы.

Форматы символьных и строковых констант

Слайд 25

Символьные константы. Символьные константы, состоящие из одного символа, занимают в памяти

Символьные константы.

Символьные константы, состоящие из одного символа, занимают в памяти один

байт и имеют стандартный тип char

Двухсимвольные константы занимают два байта
и имеют тип int

первый символ размещается в байте с меньшим адресом

Пустая символьная константа недопустима.

Слайд 26

Символьные константы. Символ обратной косой черты используется для представления: кодов, не

Символьные константы.

Символ обратной косой черты используется для представления:

кодов, не имеющих графического

изображения

например, \a — звуковой сигнал, \n — перевод курсора в начало следующей строки

символов апострофа ( ' ), обратной косой черты ( \ ), знака вопроса (?) и кавычки ( " )

любого символа с помощью его шестнадцатеричного или восьмеричного кода

например, \073,\0xF5
значение должно находиться в диапазоне от 0 до 255

Слайд 27

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

Символьные константы.

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

escape-последовательностями

Управляющая последовательность интерпретируется как одиночный символ.
Если непосредственно за обратной косой чертой следует символ, не предусмотренный таблице, результат интерпретации не определен.
Если в последовательности цифр встречается недопустимая, она считается концом цифрового кода.

Слайд 28

Допустимые значения escape-последовательностей.

Допустимые значения escape-последовательностей.

Слайд 29

Строковые константы. Управляющие последовательности могут использоваться и в строковых константах, называемых

Строковые константы.

Управляющие последовательности могут использоваться и в строковых константах, называемых иначе

строковыми литералами.

Например, если внутри строки требуется записать кавычку, ее предваряют косой чертой, по которой компилятор отличает ее от кавычки, ограничивающей строку: "Фирма \"IVK\""

Все строковые литералы рассматриваются компилятором как различные объекты.

Слайд 30

Строковые константы. Строковые константы, отделенные в программе только пробельными символами, при

Строковые константы.

Строковые константы, отделенные в программе только пробельными символами, при компиляции

объединяются в одну.

Длинную строковую константу можно разместить на нескольких строках, используя в качестве знака переноса обратную косую черту, за которой следует перевод строки.
Эти символы игнорируются компилятором, при этом следующая строка воспринимается как продолжение предыдущей.

Слайд 31

Строковые константы. Например, строка "Никто не доволен своей \ внешностью, но

Строковые константы.

Например, строка

"Никто не доволен своей \
внешностью, но все довольны

\
своим умом"

полностью эквивалентна строке

"Никто не доволен своей внешностью, но все довольны своим умом"

Слайд 32

Строковые константы. В конец каждого строкового литерала компилятором добавляется нулевой символ,

Строковые константы.

В конец каждого строкового литерала компилятором добавляется нулевой символ, представляемый

управляющей последовательностью \0.

Поэтому длина строки всегда на единицу больше количества символов в ее записи.
Таким образом, пустая строка "" имеет длину 1 байт.

Обратите внимание на разницу между строкой из одного символа и символьной константой.

например, "А" и 'А'.

Слайд 33

Алфавит языка. Комментарии Комментарий либо начинается с двух символов «косая черта»

Алфавит языка.

Комментарии
Комментарий либо начинается с двух символов «косая черта» (//) и

заканчивается символом перехода на новую строку, либо заключается между символами-скобками /* и */.
Внутри комментария можно использовать любые допустимые на данном компьютере символы, а не только символы из алфавита языка C, поскольку компилятор комментарии игнорирует.
Вложенные комментарии-скобки
стандартом не допускаются,
хотя в некоторых компиляторах разрешены.