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

3. Логические операции

==- сравнение на равенство,

!=- сравнение на неравенство,

>- больше,

>= - больше или равно,

< - меньше,

<=- меньше или равно,

&&- логическое "и",

|| - логическое "или", (& - знак амперсанда).

Примеры логических выражений:

~ x <= 5, ~ x >= -3 && x <= 5,

~ x != 5, ~ x <= -12 || x >= 7.

4. Основные операторы (ключевые слова)

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

Определение. Арифметическим оператором является операция присвоения переменной заданного арифметического выражения.

Замечание. В языке Си в конце оператора всегда ставится точка с запятой (;) .

Примеры:

d=(b*b-4*a*c)/(2*a); x1=(-b+d)%2; a+=b; a-=b; a*=b; a/=b; i++; i--;.

Операторы:i++; i--; a+=b; a-=b; a*=b; a/=b; —краткаяформадляоператоров:i=i+1, i=i-1; a=a+b; a=a-b; a=a*b; a=a/b;.

4.2 Оператор условия if.

Синтаксис оператора:

if (логическое выражение) оператор 1 else оператор 2 ,

либо краткая форма:

if (логическое выражение) оператор 1.

Здесь if и else ключевые слова, в переводе с английского "если" и "иначе". Если логическое выражение, помещенное после ключевого слова if в круглых скобках, является истиной, то выполняется оператор 1, иначе выполняется оператор 2, или, при использовании краткой формы, управление передается оператору, следующему за оператором if.

Примеры:

if(a > 0) a++; else a=b;

if(b*b-4*a*c < 0) prizn=1;

4.3. Оператор цикла for.

Синтаксис оператора:

for(оператор 1; условие; оператор 2)

оператор 3 (тело цикла);

В переводе с английского for означает "для". Оператор работает следующим образом:

Вначале выполняется оператор 1, затем проверяется условие и, если оно верно, то выполняется оператор 3, затем выполняется оператор 2 и затем снова проверяется условие, затем снова оператор 3, за ним оператор 2, и так повторяется циклически до тех пор, пока условие не будет выполнено.

В качеcтве примера рассмотрим по шагам следующий оператор цикла, реализующий вычисление факториала от данного числа:

n=4; nf=1;

for(i=2; i <= n; i++)

nf*=i;

1-ыйшаг:i=2, 2 <= 4-верно,nf=1*2=2, i=2+1=3;

2-ой шаг: 3 <= 4 - верно, nf=2*3=6, i=3+1=4;

3-ий шаг: 4 <= 4 - верно, nf=6*4=24, i=4+1=5;

4-ый шаг: 5 <= 4 - не верно, конец цикла.

Итак, в конце выполнения этого оператора цикла мы имеем:

nf=n!(факториал), i=n+1.

4.4. Оператор безусловного перехода goto.

Синтаксис оператора:

Метка:

goto Метка;

Меткой является любая последовательность символов, удовлетворяющая требованиям, которые предъявляются к имени переменной, после которой поставлено двоеточие (:), в имени метки рекомендуется использовать заглавные буквы. Метку нельзя использовать в качестве переменной! В переводе с английского go to означает "иди к", в языке Си пишется слитно.

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

Ниже приводится пример реализации с помощью оператора goto фрагмента программы вычисления факториала, приведенного в разделе 4.3.

n=4; nf=1;

i=2;

M: if(i < n)

{ nf*=i;

i++;

goto M;

}

Замечание. В этой маленькой программе использовано одно из важных соглашений языка Си, которое необходимо активно усвоить. В соответствии с синтаксисом операторов if и for, после ключевого слова выполняется всего лишь один оператор, и не был дан ответ как поступать, если нужно выполнить несколько операторов. Оказывается, если группу операторов заключить в фигурные скобки, то эта группа становится одним (сложным) оператором, иногда используется термин «блок операторов» Количество объединяемых операторов никак не ограничивается.

В качестве упражнения распишите по тактам выполнение приведенного фрагмента.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]