# Controlo de Fluxo
# Instruções IF-ELSE e SWITCH
As instruções IF-ELSE e SWITCH permitem avaliar condições e desse modo condicionar o fluxo do programa.

# Instrução IF
An if statement consists of a boolean expression followed by one or more statements.

if(boolean_expression) {
	/* statement(s) will execute if the boolean expression is true*/
}
#include <stdio.h>
int main () {
	
	/* local variable definition */
	int a = 10;
	/* check the boolean condition using if statement */
	if( a < 20 ) {
		/* if condition is true then print the following */
		printf("a is less than 20\n");
}
	printf("value of a is : %d\n", a);
	return 0;
}
# Instrução IF-ELSE
An if statement can be followed by an optional else statement, which executes when the Boolean expression is false.

if(boolean_expression) {
	/* statement(s) will execute if the boolean expression is true*/
} else {
	/* statement(s) will execute if the boolean expression is false*/
}
#include <stdio.h>
int main () {
	
	/* local variable definition */
	int a = 100;
	/* check the boolean condition using if statement */
	if( a < 20 ) {
		/* if condition is true then print the following */
		printf("a is less than 20\n");
} else {
		/* if condition is false then print the following */
		printf("a is not less than 20\n");
}
	printf("value of a is : %d\n", a);
	return 0;
}
# Instrução IF-ELSE encadeado
You can use one if or else if statement inside another if or else if statement(s).
if(boolean_expression 1) {
	/* Executes when the boolean expression 1 is true */
} else if( boolean_expression 2) {
	/* Executes when the boolean expression 2 is true */
} else if( boolean_expression 3) {
	/* Executes when the boolean expression 3 is true */
} else {
	/* executes whem none of the conditions above is true */
}
#include <stdio.h>
int main () {
	
	/* local variable definition */
	int a = 100;
	/* check the boolean condition using if statement */
	if( a == 10 ) {
		/* if condition is true then print the following */
		printf("Value of a us 10\n");
} else if( a == 20) {
		/* if else if condition is true */
		printf("Value of a is 20\n");
} else if (a == 30) {
	/* if else if condition is true */
		printf("None of the values is matching\n" );
} else {
 /*if none of the conditions is true*/
 printf("None of the values is matching" );
}
	printf("Exact value of a is : %d\n", a);
	return 0;
}
#include <stdio.h>
int main () {
	// local variable definition
	int a = 100;
	int b = 200;
	//check the boolean condition
	if( a == 100 ){
		//if confidition is true then check the following
		if( b==200 ){
			
			//if condition is true then print the following 
			printf("Value of a is 100 and b is 200\n");
		}
	}
printf("Exact value of a is : %d\n", a );
printf("Exact value of b is : %d\n", b);
return 0;
}

# Instrução SWITCH
A switch statement allows a variable to be tested for equality against a list of values.

switch(expression){
	
	case constant-expression :
		statement(s);
		break; /* optional */
	case constant-expression :
		statement(s);
		break; /* optional */
	/* you can have any number of case statements */
	default : /* optional */
	statement(s);
}

#include <stdio.h>
int main(){
	/* local variable definition */
	int a = 100;
	int b = 200;
	switch(a) {
		case 100:
			printf("This is part of outer switch\n", a );
			switch(b) {
				case 200:
					printf("This is part of inner switch\n", a );
			}
	}
	
	printf("Exact value of a is : %d\n", a );
	printf("Exact value of b is : %d\n", b );
	return 0;
}

# Ciclos: WHILE, FOR e DO WHILE
As instruções WHILE, FOR e DO WHILE permitem implementar ciclos e, desse modo, repetir a execução de um bloco de código enquanto se verifique uma determinada condição.

# Introdução WHILE

Repeats a statement or group of statements while a given condition is true. It tests the condition before executing the loop body.
while(condition) {
	statement(s);
}
# Instrução FOR
for ( init; condition; increment ) {
	statement(s);
}

# Instrução DO … WHILE
It is more like a while statement, except that it tests the condition at the end of the loop body.
do{
	statement(s);
} while( condition );

# Ciclos Encadeados
You can use one or more loops inside any other while, for, or do... while loop.
for ( init; condition; increment ) {
	for( init; condition; increment ) {
		statement(s);
	}
	statement(s);
}
while(condition) {
	while(condition) {
		statement(s);
	}
	statement(s);
}
do {
	statement(s);
	do{
		statement(s);
	}while( condition );
}while( condition );
# Instrução BREAK
Terminates the loop or switch statement and transfers execution to the statement immediately following the loop or switch.
A instrução BREAK termina o ciclo ou o SWITCH que esteja a executar.
