Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Си.doc
Скачиваний:
6
Добавлен:
09.11.2018
Размер:
76.8 Кб
Скачать

Базовые средства языка си

Алфавит языка – символы языка – неделимые знаки для записи текстов программы

Лексема – минимальная неделимая единица языка, имеющая самостоятельный смысл (main)

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

Оператор – задает законченное описание некоторого действия (if … then …)

Синтаксис языка – правила записи операторов и выражений (х=х+1)

Семантика языка – смысл операторов и выражений ( х=х+1; х++; )

Символы языка

Буквы A…Z a…Z и знак подчеркивания _(символ-буква)

Цифры 0…9

Знаки . , : ; ‘ “ () [] | + - * / % \ ? ! <> = & # ^ {}

Пробельные символы пробел, \t – табуляция (перейти на расстояние), \n – переход на след.строку.

Лексемы языка

Имена (идентификаторы – summa, x1)

Ключевые слова ЯП (for if do while …)

Знаки операций (+ - >> ++ * / % …)

Константы (-127 3.1415 “text”-строковая ‘A’-символьная )

Разделители (скобки, точка, запятая, пробел)

Пример float (ключ-слово) sum, x, y (имена) = (операция) 13.6 (const) ; // (разделители)

Идентификатор – имя программного объекта, используются:

  1. Латинские буквы и «_» (начало имени)

  2. Цифры 0…9

  3. Прописные и строчные буквы – разные символы в именах

Имена должны иметь смысл и отражать тот объект, к которому относится это имя (sin(x), M_PI)

Длина имени (ВС ++ 3.1) – 32 символа

Имя не совпадает с ключевыми словами

Ключевые слова – зарезервированные имена, которые имеют специальное значение для ПК

Char const if else

Знаки операций – один или более символов определяющих действие над операндами (то над чем выполняется операция)

Операции унарные ( -3) и бинарные (х+4) и тернарные (операция условия ?: )

Все знаки операций кроме () {} [] и ? : - отдельные лексемы

Константы

Константа

Тип

Память (байт)

Примеры

Диапазон

Целая

Int

2

127

-1024

-2­15 , 215-1

Long

4

123335

-97483

-2­31 , 231-1

Вещественная

Float

Double

4

8

2.5

1.3e-12

Символьная

Char

1

‘A’ ‘+’ ‘\n’

0…255

Строковая

“string\n”

Управляющие символы:

\a – звуковой сигнал (7-16-ый код)

\n – перевод строки (А)

\t – горизонтальная табуляция (9)

\\ - обратная косая черта (5С)

\’ – апостроф (27)

\” – кавычка (22)

\? – вопросительный знак (3F)

\0ddd – 8-ый код символа

\0xdd –16-ый код символа

Понятие типа в яп

Тип определяет:

  1. Множество различных значений

  2. Набор операций, которые можно применить к значениям данного типа

  3. Формат внутреннего представления переменой в памяти ПК

  4. Объем ОП для размещения значения данного типа

Для каждого типа есть спецификация ADT – абстрактного типа данных, определяющая данные и операции, допустимые над данными этого типа.

Целое число 25 – тип int – 0000000000011001 – в памяти ПК 2 байта = 16 бит

Пример ADT int в С++

Данные: целое число N со знаком (описания структуры данных)

Операции: пусть U и V целые выражения, N – целая переменная

Присваивание

= N=U присваивает значение выражения U переменной N

Бинарные арифметические операции

+ U+V сложение

- U-V вычитание

* U*V произведение

/ U/V целочисленное деление

% U%V остаток от деления целых чисел

Унарные арифметические операции

- -U изменение знака

+ +U то же что и U

Операции отношения (выражение отношения – истинность заданного условия)

== U==V результат TRUE если U эквивалентно V

!=

<

<=

>

>=

Конец ADT int