русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Условные операторы


Дата добавления: 2015-01-16; просмотров: 886; Нарушение авторских прав


Условный оператор ifиспользуется для разветвления процесса выполнения кода программы на два направления.

В языке Си имеется две разновидности условного оператора: простой и полный. Синтаксис простого оператора:

if (выражение) оператор;

выражение – логическое или арифметическое выражение, вычисляемое перед проверкой, и, если выражение истинно (не равно нулю), то выполняется оператор, иначе он игнорируется; оператор – простой или составной (блок) оператор языка Си. Если в случае истинности выражения необходимо выполнить несколько операторов (более одного), их необходимо заключить в фигурные скобки.

Структурная схема простого оператора приведена на рис. 6.1.

 

Примеры записи условного оператора if:

if (x > 0) x = 0;

if (i != 1) j++, s = 1; – используем операцию «запятая»;

if (i != 1) {

j++; s = 1; – последовательность операций (блок);

}

if (getch() != 27) k = 0; – если нажата любая клавиша кроме “Esc”.

if (!x) exit (1); или if (x == 0) exit(1);

if (i>0 && i<n) k++; – если нужно проверить несколько условий, то их объединяют знаками логических операций и заключают в круглые скобки (для улучшения читаемости программы можно ставить круглые скобки и там где они необязательны);

if (a++) b++; – необязательно в качестве выражения использовать логические выражения.

Синтаксис полного оператора условного выполнения:

if (выражение) оператор 1 ;

else оператор 2 ;

Если выражение не равно нулю (истина), то выполняется оператор 1, иначе – оператор 2. Операторы 1 и 2 могут быть простыми или составными (блоками).

Наличие символа «;» перед словом else в языке Си обязательно.

Структурная схема такого оператора приведена на рис. 6.2.

 

Примеры записи:

if (x > 0) j = k+10;

else m = i+10;

if ( x>0 && k!=0 ) {



j = x/k;

x += 10;

}

else m = k*i + 10;

Операторы 1 и 2 могут быть любыми операторами, в том числе и условными. Тогда, если есть вложенная последовательность операторов if else, то фраза else связывается с ближайшим к ней предыдущим if, не содержащим ветвь else. Например:

if (n > 0)

if(a > b) z = a;

else z = b;

Здесь ветвь else связана со вторым if (a > b). Если же необходимо связать фразу else с внешним if, то используются операторные скобки:

if(n > 0) {

if(a > b) z = a;

}

else z = b;

В следующей цепочке операторов if – else – if выражения просматриваются последовательно:

if (выражение 1) оператор 1;

else

if (выражение 2) оператор 2;

else

if (выражение 3) оператор 3;

else оператор 4 ;

Если какое-то выражение оказывается истинным, то выполняется относящийся к нему оператор и этим вся цепочка заканчивается. Каждый оператор может быть либо отдельным оператором, либо группой операторов в фигурных скобках. Оператор 4 будет выполняться только тогда, когда ни одно из проверяемых условий не подходит. Иногда при этом не нужно предпринимать никаких явных действий, тогда последний else может быть опущен или его можно использовать для контроля, чтобы зафиксировать «невозможное» условие (своеобразная экономия на проверке условий).

Пример:

if (x < 0) printf("\n X отрицательное \n");

else if(x==0) printf ("\n X равно нулю \n");

else printf("\n X положительное \n");

Замечание. Наиболее распространенной ошибкой при создании условных операторов является использование в выражении операции присваивания «=» вместо операции сравнения на равенство операндов «==» (два знака равно). Например, в следующем операторе синтаксической ошибки нет:

if (x = 5) a++;

но значение а будет увеличено на единицу независимо от значения переменной х, т.к. результатом операции присваивания х = 5 в круглых скобках является значение 5¹0 – истина.

 



<== предыдущая лекция | следующая лекция ==>
Краткая характеристика операторов языка Си | Условная операция «? :»


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.305 сек.