if else
Opći format ove naredbe je,
if( uvjet 1 ) izraz1; else if( uvjet 2 ) izraz2; else if( uvjet 3 ) izraz3; else izraz4;else omogućava da se izvrši naredba kada je uvjet neistinit (jednak nuli).
Slijedeći program koristi if else naredbu da ocijeni je li upis korisnika između 1 i 10.
#include <stdio.h> main() { int number; int valid = 0; while( valid == 0 ) { printf("Unesite broj između 1 i 10 -->"); scanf("%d", &number); if( number < 1 ) { printf("Broj je manji od 1. Unesite ponovno\n"); valid = 0; } else if( number > 10 ) { printf("Broj je veći od 10. Unesite ponovno\n"); valid = 0; } else valid = 1; } printf("Broj je %d\n", number ); } Ispis programa Unesite broj između 1 i 10 --> 12 Broj je veći od 10. Unesite ponovno Unesite broj između 1 i 10 --> 5 Broj je 5Ovaj program se malo razlikuje od prethodnog primjera u tome da se else koristi za postavljanje varijable valid na 1. U ovom programu lakše je pratiti logiku.
/* Ilustrira ugniježđene if else i više argumenata za scanf funkciju. */ #include <stdio.h> main() { int invalid_operator = 0; char operator; float number1, number2, result; printf("Unesite dva broja i operator\n"); printf(" number1 operator number2\n"); scanf("%f %c %f", &number1, &operator, &number2); if(operator == '*') result = number1 * number2; else if(operator == '/') result = number1 / number2; else if(operator == '+') result = number1 + number2; else if(operator == '-') result = number1 - number2; else invalid_operator = 1; if( invalid_operator != 1 ) printf("%f %c %f iznosi %f\n", number1, operator, number2, result ); else printf("Nedozvoljeni operator.\n"); } Ispis programa Unesite dva broja i operator number1 operator number2 23.2 + 12 23.2 + 12 iznosi 35.2Gornji program radi kao jednostavni kalkulator.