Пример с ошибкой

# include <iostream> using namespace std; void main(){ int A,B; //объявляем две переменные //просим пользователя ввести в них данные cout<<"Enter first digit:\n"; cin>>A; cout<<"Enter second digit:\n"; cin>>B; // Приравниваем B к нулю и проверяем условие, оно автоматически ложно if(B=0){ // эта часть не выполнится никогда, т. к. условие всегда ложно cout<<"You can’t divide by zero!!!";// сообщаем об ошибке } else{// всегда выполняется эта часть, в которой A делится на новоиспеченный нуль // В этой строке произойдет ошибка на этапе выполнения, т. к. компьютер попытается разделить число на нуль cout<<"Result A/B="<<A<<"/"<<B<<"="<<A/B; } cout<<"\n The end. \n"; // Эту фразу мы не увидим никогда. }

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

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

4. Конструкция else является необязательной. Это означает, что если нет необходимости делать что-либо при ложности утверждения, данную конструкцию можно не указывать. Например, программу, использующую защиту против деления на нуль, можно записать таким образом:

# include <iostream> using namespace std; void main(){ int A,B; //объявляем две переменные //просим пользователя ввести в них данные cout<<"Enter first digit:\n"; cin>>A; cout<<"Enter second digit:\n"; cin>>B; if(B!=0){ // если В не равно нулю cout<<"Result A/B="<<A<<"/"<<B<<"="<<A/B; // производим вычисления } // в противном случае не делаем ничего cout<<"\nThe end.\n"; }

5. Если к блоку if или else относится только одна команда, то фигурные скобки можно не указывать. С помощью этого правила сделаем программу еще короче:

# include <iostream> using namespace std; void main(){ int A,B; //объявляем две переменные //просим пользователя ввести в них данные cout<<"Enter first digit:\n"; cin>>A; cout<<"Enter second digit:\n"; cin>>B; if(B!=0) // если В не равно нулю cout<<"Result A/B="<<A<<"/"<<B<<"="<<A/B; // производим вычисления // в противном случае не делаем ничего cout<<"\nThe end.\n"; }

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: