Операторы отношения и логические операторы.

If (условие)        Действие 1; else        действие 2; действие 3;   if(x>2)        a=8; else        t=3;        a=7; x=x+1; (Ошибочная работа, не хватает скобок)   Если по какой-то ветви необходимо выполнить более чем одно действие то нужны фигурные скобки. Очень часто не поставленные или не верно поставленные фигурные скобки вызывают не только синтаксические ошибки обнаруживаемые при компиляции, но и смысловые ошибки, из-за которых программа работает но не верно.   Else часть может отсутствовать в этом случае, если условие ложно управление передается на следующий оператор.   В случае когда нескольким вложенным друг в друга или идущим друг за другом операторам if соответствует один оператор else этот else считается относящимся к ближайшему if.   При последовательном использование операторов if условие проверяется по порядку, как только встречается верное условие выполняется соответствующие ему инструкция и последовательность проверок завершается, ели ни одно из условий не срабатывает, то выполняется последняя else часть.   Инструкция switch используется для выбора одного из многих путей и называется переключатель. Она проверяет совпадает ли значение некоторого выражения с одной из целых констант и выполняет соответствующию этому значению ветвь, а так же последующие ветви соответствующие константам.   Switch (выражение)        {        case константа 1: действия;        case константа 2: действия;        case константа n: действия;        default:             действия;                    }    i=4;  switch (i+6)                    {        case 4 :i=i+4;        case 6 :i=i=6;        case 8 :i=i+8;        case 12 :i=i=10;        case 12 :i=i+12;                    }   При необходимости немедленного выхода из переключателя после выполнения соответствующий ветви следует использовать инструкцию break. После выполнения инструкции break правление передается на действие следующие за обязательной закрывающей фигурной скобкой оператора switch     Так как в языка С С++ - символьный тип является подмножеством целого типа, то в конструкции switch разрешается использование символьных констант   2.3 Cтруктура реализующие повторения   В языке С С++ существует три основных конструкции для реализации циклов. Для представления цикла с постусловием используется конструкция do while А для цикла с предусловием используется while for   Синтаксис while : (условие)                                           Действие ; Действие;   t=2; while (t<=10)        {                    a=a+3;                    t=t+1;        } k=20;   do

Действие

 while (условие);

 

t=2;

do {

       a=a+3;

       t=t+1;

}

while (t<=10);

k=20;

 

 

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

 

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

 

For (выражение 1; выражение 2; выражение 3 )

                   Действие;

Действие;

 

for (t=2; t<=10; t=t+1)

                   a=a+3;

k=20;

 

 

Программа на С С++ в любом месте где ожидается условие на самом деле может находиться любое корректное с точки зрение синтаксиса выражение. Если числовое значение этого выражения равно нулю то условие считается ложным, а во всех остальных случаях истинным

 

 

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

 

В заголовке цикла for обязательно должны присутствовать две  ;

Если в заголовке цикла for на первом или третьем месте выполнить несколько действий то используется оператор - , - выражения разделенные запятой выполняются слева направо

 

 

for (t=0; j=3; t>j;)

                   {t=t+1;

                    j=j+0.5;

                   }

 

24

 

 

                                          ОПЕРАТОРЫ БЕЗУСЛОВНОГО ПЕРЕХОДА

 

В языках С С++ существуют три оператора реализующие безусловный переход -

-break;

-continue;

-goto . .. ;

 

Несмотря на термин «безусловный» управление обычно передается на эти операторы при выполнении некоторого условия .

 

Инструкция break используется в ситуации, когда необходимо прервать выполнение переключателя switch или цикла организованного при помощи оператора цикла.

После выполнения инструкции break управление будет передано на оператор стоящий после цикла или после переключателя, При этом выход будет осуществлён только из одного цикла или переключателя. Использование оператора break вне циклов или переключателей приводит к синтаксической ошибке.

Сontinue

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

В циклах while и do while переход осуществляется на проверку условия, а в цикле for на выполнение действия стоящего в заголовке за второй точкой с запятой - ;

При использовании инструкции continue while и do while — существует опасность зацикливания в случае, когда изменение счетчика находится ниже continue

 

 

Конструкция goto используется для передачи управления в помеченную строку программы.

Имена меткам даются по тем же правилам что и имена переменных, но метки не нужно описывать

Метка ставится в начале строки на которую осуществляется переход, а в конце ставится двоеточие - : - . Переход при помощи оператора goto принято использоваться для передачи управления вниз по программе.

 

Типы операций и выражений.

 

 

 3 . 1Имена переменных.

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

В качестве имен переменных запрещено использовать зарезервированные ключевые слова.

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

 

 3 . 2Основные типы данных.

Если в С существует четыре базовых типа данных

 

char символьный

int   целый

float действительный

double двойной точности

Имеется так же несколько квалификаторов, которые можно использовать для расширения числа типов данных

Квалификаторы:

long длинный

short короткий

unsigned без знаковый

 signed со знаком

Знаковым или без знаковым может объявляться любой целый тип (в том числе и тип char) А long и shor применяется  int

 

Кроме это существует тип longdouble

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

 

Реально выделенный размер памяти можно узнать при помощи конструкции:

 sizepf (тип) или sizeof (переменная)

t=sizeof(int);

r=sizeof(x);

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

 

При описании переменная может быть инициализирована (то есть ей в момент описания может быть присвоена начальное значение)

Любой переменной при её описании можно применить квалификатор const для запрета в дальнейшем изменения значений этой переменной

 

Кроме переменных в программах на С С++ используются константы при этом целую константу от действительной компилятор отличает по наличию или отсутствию десятичной точки.

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

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

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

 

Строка воспринимается как массив символов при чём в конце этого массива присутствует специальный невидимый символ — завершение строки.

 

 3.3

Арифметические операторы.

 

К бинарным арифметическим операторам относятся: + - * / %-только переменным или константам целых типов и вычисляет остаток от деление, своего левого операнда на правый.

 

Деление целых чисел сопровождается отбрасыванием дробной части.

 Бинарные операторы ± имеют одинаковый приоритет, приоритет * / % выше и тоже одинаковый.

Приоритет унарных операторов ± ещё выше.

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

Операторы отношения и логические операторы.

 

 < <= > >= операторы отношения

== =! операторы

На одну ступень в перечне приоритетов ниже приоритет операторов сравнение на равенство

Все операторы отношения имеют приоритет ниже арифметических операторов

 

К бинарным логическим операторам относятся

&& и

 | |   или

 

Приоритет операторы & выше чем оператора || но ниже чем приоритет операторов отношения и проверки на равенство.

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

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

Численным результатом вычисления выражения отношения или логического выражения является единица в случае если оно оказалось истинным и нуль если оно ложно.

В С С++ так же существует унарный оператор отрицания - !

if (! a) if ( a ! == 0 )

 


Дата добавления: 2018-05-01; просмотров: 360; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!