![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Синтаксис операторов языка Си
Операторы языка Си можно разделить на три группы: операторы-декларации (рассмотрены ранее); операторы преобразования объектов; операторы управления процессом выполнения алгоритма. Преобразование объектов производится посредством записи выражений. Простейший вид операторов - выражение, заканчивающееся символом "; " (точка с запятой). Простые операторы преобразования: оператор присваивания (выполнение операций присваивания); оператор вызова функции (выполнение операции вызова функции); пустой оператор «;». К управляющим операторам относятся: операторы условного 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;
|