Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Синтаксис операторов языка Си






Операторы языка Си можно разделить на три группы:

операторы-декларации (рассмотрены ранее);

операторы преобразования объектов;

операторы управления процессом выполнения алгоритма.

Преобразование объектов производит­ся посредством записи выражений. Простейший вид операторов - выражение, заканчивающееся симво­лом "; " (точка с запятой). Простые операторы преобразования:

оператор присваивания (выполнение опера­ций присваивания);

оператор вызова функции (выполнение операции вы­зова функции);

пустой оператор «;».

К управляющим операторам относятся:

операторы условного if и безусловного переходов goto;

оператор выбора альтернатив (переключатель) switch;

операторы организации циклов for, while, do и передачи управления (перехода) break, exit, return, continue.

 

Операция присваивания имеет две формы записи:

1. Полная форма:

имя_переменной =выражение;

Сначала вычисляется выражение, а затем результат присваивается имени_переменной. Например: y=(x+2)/(3*x)-5;

С помощью одного оператора можнo присвоить одно значение несколь­ким перемен­ным, например: x=y=z=0; /* x, y, z=0 */

или z=(x=y)*5; - сначала переменной x присваивается значение переменной y, далее вычисляется выражение x*5, и результат присваивается переменной z.

2. Сокращенная форма:

имя_переменной операция=выражениe;

где операция – одна из арифметических операций (+, -, *, /, %);

Например:

x*=5; /* x=x*5; */

s+=7; /* s=s+7; */

y/=x+3; /* y=y/(x+3); */

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

В языке С существует операции уменьшения (--) и увеличения (++) значения переменной на 1. Операции могут быть префиксные (++i и --i) и постфиксные (i++ и i--). При использовании данной операции в выражении, в случае префиксной операции сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В случае постфиксной операции – операция применяется после вычисления выражения.

Например:

b=7;

n=1;

1. c=b*++n; /* n=n+1; c=b*n; т.е. c=14 */

2. c=b*n++; /* c=b*n; n=n+1; т.е. c=7 */

 

Оператор условного перехода if применяется для выбора одной из ветвей вычислений.

Общая форма записи:

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

else оператор2;

Например: if(x> y) max=x;

else max=y;

Если оператор1 или оператор2 содержит два и более операторов, то они заключаются в фигурные скобки { }, т.е. применяется составной оператор. Оператор if проверяет истинность или ложность условия. Если условие истинно (не равно 0), то выполняется оператор1, иначе, при ложности условия (=0), выполняется оператор2.

Вторая часть оператора (else оператор2;) может отсутствовать. Такую его форму называют “ сокращенной ”. Тогда в случае ложности условия управление передается на следующий за if оператор.

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

Общий вид вложенного оператора if:

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

else if(условие2) оператор2;

else оператор3;

Например: найти наибольшее значение из трех чисел x, y, z.

if (x> y)

if (x> z) max=x;

else max=z;

else if(y> z) max=y;

else max=z;

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

< (меньше), < = (меньше или равно), > (больше), > = (больше или равно),! = (не равно),

 

= = (равно). Пары символов = =,! =, < =, > = разделять нельзя.

Общий вид условия:

< выражение_1> < знак_операции> < выражение_2>

Операндами могут быть любые простые типы. Значения операндов после вычисления перед сравнением преобразуются к одному типу. В качестве условий используются и более сложные выражения, содержащие логические операции. Приведем их перечень в порядке убывания приоритета:! (отрицание или логическое НЕТ), & & (коньюнкция или логическое И), || (дизьюнкция или логическое ИЛИ). Пары символов & & и || разделять нельзя.

Например: (0< x)& & (x< =100)

((! x)& & (y> 0)||((z==1)& & (k> 0))

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

Условная операция "?: "

Условная операция - тернарная, в ней участвуют три операнда. Ее форма:

имя_переменной =условие? выражение_1: выражение_2;

Если условие истинно, то имени_переменной присваивается результат выражения_1, иначе – выражения_2.

Например: найти наибольшее из двух чисел:

max=a> b? a: b;


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

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал