Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры опейко.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
7.18 Mб
Скачать

48.Логические и арифметические операции

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

+ сложение;

* умножение;

/ деление;

% деление по модулю;

++ увеличение на единицу;

-- уменьшение на единицу;

Операции сложения, вычитания, умножения и деления действуют так же, как в большинстве алгоритмических языков программирования. операции выполняются так: сначала вычисляется значение левого выражения (операнда), затем вычисляется значение выражения, стоящего справа от знака действия. Далее, в том случае, когда операнды имеют общий тип данных, этот же тип имеет и результат. Поэтому, если применяется деление "/" к целым числам, например, 11/3, то результат тоже будет целым, то есть в данном случае 3. А выражение 1/2 в этом случае будет равно нулю.

Операция "%" деление по модулю дает остаток от целочисленного деления. Она может применяться к целочисленным переменным. Теперь решим небольую задачу.

В С++ существует три логические операции:

Логическая операция И &&, нам уже известная;

Логическая операция ИЛИ ||;

Логическая операция НЕ ! или логическое отрицание.

Логические операции образуют сложное (составное) условие из нескольких простых (два или более) условий. Эти операции упрощают структуру программного кода в несколько раз. Да, можно обойтись и без них, но тогда количество ифов увеличивается в несколько раз, в зависимости от условия. В следующей таблице кратко охарактеризованы все логические операции в языке программирования С++, для построения логических условий.

Сейчас следует понять разницу между логической операцией И и логической операцией ИЛИ , чтобы в дальнейшем не путаться. Пришло время познакомиться с типом данных bool –логический тип данных. Данный тип данных может принимать два значения: true (истина) и false (ложь). Проверяемое условие в операторах выбора имеет тип данных bool.

47 Вопрос . Синтаксис программирования на языке С

47. Синтаксис языка Си

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

Основные синтаксические правила записи программы на С:

- Прописные и строчные буквы считаются разными символами. Поэтому, переменные A1 и a1 будут совершенно разными. При записи можно использовать латинские буквы, цифры, символ подчеркивания. Нельзя начинать идентификатор с цифры и внутри не может содержатся пробел. Длина идентификатора неограничен.

- Многострочные комментарии в тексте заключаются в скобки вида /*текст комментария*/. Комментарий на одну строку начинается с символов “//” и знак действует только до конца текущей строки.

- Каждое предложение языка заканчивается символом “;”

- В строке может размещаться несколько операторов;

- Группу операторов можно объединять в один оператор заключая их в фигурные скобки { }.

- Все используемые типы, константы, переменные, функции должны быть объявлены или описаны до их первого использования. Объявление моно выполнить в любом месте текста программы.

Программа на С состоит из объявлений (переменных, типов, классов, функций) и описаний функций. Среди функций всегда имеется главная main для консольных приложений или WinMain для приложений Windows. Именно эта главная функция выполняется в начале работы программы. Программы строятся по модульному принципу и состоят из множества модулей Для каждой формы создается отдельный модуль. Именно в модулях и решаются программные задачи. В заголовочный файл с расширением .h размещаются объявление классов, функций, переменных и т.д. В файле реализации с расширением .cpp содержатся описания функций. После того как программа написана на ее основе формируется исполняемый модуль – файл с расширением .exe. Его можно загружать на выполнение.

Директивы препроцессора, такие как #define и #ifdef, обычно используются для того, чтобы облегчить изменение исходного кода программ и их компиляцию в разных средах выполнения. Директивы в файле исходного кода позволяют препроцессору выполнять определенные действия. Например, препроцессор может заменять токены в тексте, вставлять содержимое других файлов в файл исходного кода или отключать компиляцию части файла путем удаления разделов текста. Строки препроцессора распознаются и выполняются до расширения макросов. Поэтому если макрос разворачивается в нечто, похожее на команду препроцессора, эта команда не распознается препроцессором.

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

Препроцессор распознает следующие директивы:

Знак решетки (#) должен быть первым непробельным символом в строке, содержащей директиву; между знаком решетки и первой буквой директивы пробельные символы допускаются. Некоторые директивы содержат аргументы или значения. Любой текст, следующий после директивы (за исключением аргумента или значения, представляющих собой часть директивы), должен предваряться разделителем однострочного комментария (//) или заключаться в разделители комментариев (/* */). Строки, содержащие директивы препроцессора, можно продолжать, ставя непосредственно перед маркером конца строки обратную косую черту (\).