C Условна декларация: IF, IF Else и Nished IF Else с пример

Съдържание:

Anonim

Какво е условно изявление в C?

Условни изявления в програмирането на C се използват за вземане на решения въз основа на условията. Условните оператори се изпълняват последователно, когато няма условие около изразите. Ако поставите някакво условие за блок от оператори, потокът на изпълнение може да се промени въз основа на резултата, оценен от условието. Този процес се нарича вземане на решение в „C.“

В програмирането на 'C' са възможни условни изрази с помощта на следните две конструкции:

1. Ако изявление

2. Изказване „ако друго“

Извиква се също като разклоняване, тъй като програмата решава кой оператор да изпълни въз основа на резултата от оцененото условие.

В този урок ще научите -

  • Какво е условна декларация?
  • Ако изявление
  • Релационни оператори
  • Изявлението If-Else
  • Условни изрази
  • Вложени ако-друго изявления
  • Вложени други твърдения

Ако изявление

Това е едно от мощните условни твърдения. Ако операторът е отговорен за модифицирането на потока на изпълнение на програма. Ако изразът винаги се използва с условие. Условието се оценява първо, преди да се изпълни каквото и да е изявление вътре в тялото на If. Синтаксисът на оператора if е както следва:

 if (condition)instruction; 

Условието се оценява или на true, или на false. True винаги е ненулева стойност, а false е стойност, която съдържа нула. Инструкциите могат да бъдат единична инструкция или кодов блок, заграден с фигурни скоби {}.

Следващата програма илюстрира използването на конструкцията if в програмирането на 'C':

#includeint main(){int num1=1;int num2=2;if(num1

Изход:

num1 is smaller than num2

Горната програма илюстрира използването на конструкция if за проверка на равенството на две числа.

  1. В горната програма сме инициализирали две променливи с num1, num2 със стойност съответно 1, 2.
  2. След това използвахме if с тест-израз, за ​​да проверим кое число е най-малкото и кое число е най-голямото. Използвали сме релационен израз в конструкцията if. Тъй като стойността на num1 е по-малка от num2, условието ще се оцени като true.
  3. По този начин той ще отпечата изявлението в блока на If. След това контролът ще излезе извън блока и програмата ще бъде прекратена с успешен резултат.

Релационни оператори

C има шест релационни оператора, които могат да се използват за формулиране на булев израз за вземане на решение и условия за тестване, който връща true или false:

<по-малко от

<= по-малко или равно на

> по-голямо от

> = по-голямо или равно на

== равно на

! = не е равно на

Забележете, че равният тест (==) е различен от оператора за присвояване (=), защото е един от най-често срещаните проблеми, пред които е изправен програмист, като ги смесва.

Например:

int x = 41;x =x+ 1;if (x == 42) {printf("You succeed!");}

Изход:

 You succeed 

Имайте предвид, че условие, което изчислява ненулева стойност, се счита за вярно.

Например:

int present = 1;if (present)printf("There is someone present in the classroom \n");

Изход:

There is someone present in the classroom 

Изявлението If-Else

Изявлението if-else is е разширена версия на If. Общата форма на if-else е както следва:

if (test-expression){True block of statements}Else{False block of statements}Statements;

n този тип конструкция, ако стойността на test-expression е true, тогава ще бъде изпълнен истинският блок от изрази. Ако стойността на test-expression е false, тогава ще бъде изпълнен фалшивият блок от изрази. Във всеки случай, след изпълнението, контролът автоматично ще бъде прехвърлен към изявленията, появяващи се извън блока на If.

Следните програми илюстрират използването на конструкцията if-else:

Ще инициализираме променлива с някаква стойност и ще напишем програма, за да определим дали стойността е по-малка от десет или по-голяма от десет.

Да започваме.

#includeint main(){int num=19;if(num<10){printf("The value is less than 10");}else{printf("The value is greater than 10");}return 0;}

Изход:

The value is greater than 10

  1. Инициализирахме променлива със стойност 19. Трябва да разберем дали числото е по-голямо или по-малко от 10, използвайки програма „C“. За целта използвахме конструкцията if-else.
  2. Тук сме предоставили условие num <10, защото трябва да сравним стойността си с 10.
  3. Както можете да видите, първият блок винаги е истински блок, което означава, че ако стойността на test-expression е true, първият блок, който е If, ще бъде изпълнен.
  4. Вторият блок е блок else. Този блок съдържа изразите, които ще бъдат изпълнени, ако стойността на тестовия израз стане невярна. В нашата програма стойността на num е по-голяма от десет, поради което условието за тест става фалшиво и в противен случай се изпълнява блок. По този начин изходът ни ще бъде от блок else, който е "Стойността е по-голяма от 10". След if-else програмата ще приключи с успешен резултат.

При програмирането на 'C' можем да използваме множество if-else конструкции една в друга, които са посочени като влагане на if-else изрази.

Условни изрази

Има и друг начин да изразите оператора if-else чрез въвеждане на оператора ?: . В условен израз на : операторът има само една декларация, свързана с ако е и друго.

Например:

#include int main() {int y;int x = 2;y = (x >= 6) ? 6 : x;/* This is equivalent to: if (x >= 5) y = 5; else y = x; */printf("y =%d ",y);return 0;}

Изход:

y =2

Вложени ако-друго изявления

Когато се изисква поредица от решения, се използва вложен if-else. Влагане означава използване на една конструкция if-else в рамките на друга.

Нека напишем програма, която да илюстрира използването на вложени if-else.

#includeint main(){int num=1;if(num<10){if(num==1){printf("The value is:%d\n",num);}else{printf("The value is greater than 1");}}else{printf("The value is greater than 10");}return 0;}

Изход:

The value is:1

Горната програма проверява дали число е по-малко или по-голямо от 10 и отпечатва резултата, като използва вложена конструкция if-else.

  1. Първо, декларирахме променлива num със стойност 1. След това използвахме конструкцията if-else.
  2. Във външния if-else предоставеното условие проверява дали число е по-малко от 10. Ако условието е вярно тогава и само тогава ще изпълни вътрешния цикъл. В този случай условието е вярно, следователно вътрешният блок се обработва.
  3. Във вътрешния блок отново имаме условие, което проверява дали нашата променлива съдържа стойността 1 или не. Когато условието е вярно, тогава той ще обработи блока If, в противен случай ще обработи блок else. В този случай условието е вярно, следователно Ако се изпълни блок и стойността се отпечатва на изходния екран.
  4. Горната програма ще отпечата стойността на променлива и ще излезе с успех.

Опитайте да промените стойността на променливата и вижте как се държи програмата.

ЗАБЕЛЕЖКА: При вложени if-else трябва да бъдем внимателни с отстъпа, защото в този процес участват множество if-else конструкции, така че става трудно да се разберат отделни конструкции. Правилното отстъпване улеснява четенето на програмата.

Вложени други твърдения

Вложен else-if се използва, когато се изискват решения за многопътни пътища.

Общият синтаксис на това как в противен случай се изграждат стълби при програмиране на „С“ е следният:

 if (test - expression 1) {statement1;} else if (test - expression 2) {Statement2;} else if (test - expression 3) {Statement3;} else if (test - expression n) {Statement n;} else {default;}Statement x;

Този тип конструкция е известна като стълбата в противен случай. Тази верига обикновено прилича на стълба, поради което тя се нарича още стълба на друго място. Тестовите изрази се оценяват отгоре надолу. Винаги, когато истински тест-израз, ако бъде намерен, се изпълнява оператор, свързан с него. Когато всички n тестови изрази станат неверни, тогава се изпълнява операторът else по подразбиране.

Нека видим действителната работа с помощта на програма.

#includeint main(){int marks=83;if(marks>75){printf("First class");}else if(marks>65){printf("Second class");}else if(marks>55){printf("Third class");}else{printf("Fourth class");}return 0;}

Изход:

First class

Горната програма отпечатва оценката според оценките, отбелязани в тест. Използвали сме конструкцията на стълбата else-if в горната програма.

  1. Инициализирахме променлива с марки. В структурата на стълбата в противен случай сме осигурили различни условия.
  2. Стойността от маркировките на променливите ще бъде сравнена с първото условие, тъй като е вярно, изявлението, свързано с нея, ще бъде отпечатано на изходния екран.
  3. Ако първото условие на теста се окаже невярно, то се сравнява с второто условие.
  4. Този процес ще продължи, докато целият израз бъде оценен, в противен случай контролът ще излезе извън стълбата else-if и ще бъде отпечатан израз по подразбиране.

Опитайте да промените стойността и забележете промяната в изхода.

Обобщение

  • Изявленията за вземане на решения или разклоняване се използват за избор на един път въз основа на резултата от оценявания израз.
  • Той също се нарича контролни оператори, тъй като контролира потока на изпълнение на програма.
  • „C“ предоставя конструкции if, if-else за изявления за вземане на решения.
  • Можем също така да вложим if-else един в друг, когато трябва да бъдат тествани множество пътища.
  • Стълбата else-if се използва, когато трябва да проверим различни начини въз основа на резултата от израза.