no sentidoconvencional. Uma variavel sozinha pode ser uma "expressao" e esta retorna o seu propriovalor. Isto quer dizer que teremos as seguintes expressoes:int num;if (num!=0) ....if (num==0) ....for (i = 0; string[i] == \0; i++)equivalem aint num;if (num) ....if (!num) ....for (i = 0; string[i]; i++)Isto quer dizer que podemos simplificar algumas expressoes simples.ifs aninhadosO if aninhado e simplesmente um if dentro da declaracao de um outro if externo. Ounico cuidado que devemos ter e o de saber exatamente a qual if um determinado else estaligado. Vejamos um exemplo:#include <stdio.h>int main (){int num;printf ("Digite um numero: ");scanf ("%d",&num);if (num==10){printf ("\n\nVoce acertou!\n");printf ("O numero e igual a 10.\n");}else{if (num>10){printf ("O numero e maior que 10.");}else{printf ("O numero e menor que 10.");}}25return(0);}O Operador ?Uma expressao como:if (a>0)b=-150;elseb=150;pode ser simplificada usando-se o operador ? da seguinte maneira:b=a>0?-150:150;De uma maneira geral expressoes do tipo:if (condicao)expressao_1;elseexpressao_2;podem ser substituidas por:condicao?expressao_1:expressao_2;O operador ? e limitado (nao atende a uma gama muito grande de casos) mas pode serusado para simplificar expressoes complicadas. Uma aplicacao interessante e a do contadorcircular. Veja o exemplo:#include <stdio.h>int main(){int index = 0, contador;char letras[5] = "Joao";for (contador=0; contador < 1000; contador++){printf("\n%c",letras[index]);(index==3) ? index=0: ++index;}}O nome Joao e escrito na tela verticalmente ate a variavel contador determinar o terminodo programa. Enquanto isto a variavel index assume os valores 0, 1, 2, 3, , 0, 1, ...progressivamente.AUTO-AVALIACAOVeja como voce esta:Altere o ultimo exemplo para que ele escreva cada letra 5 vezes seguidas. Para isto, useum if para testar se o contador e divisivel por cinco (utilize o operador %) e so entao realizara atualizacao em index.O Comando switchO comando if-else e o comando switch sao os dois comandos de tomada de decisao.Sem duvida alguma o mais importante dos dois e o if, mas o comando switch tem aplicacoesvaliosas. Mais uma vez vale lembrar que devemos usar o comando certo no local certo. Istoassegura um codigo limpo e de facil entendimento. O comando switch e proprio para se testaruma variavel em relacao a diversos valores pre-estabelecidos. Sua forma geral e:switch (variavel)26{case constante_1:declaracao_1;break;case constante_2:declaracao_2;break;...case constante_n:declaracao_n;break;defaultdeclaracao_default;}Podemos fazer uma analogia entre o switch e a estrutura if-else-if apresentadaanteriormente. A diferenca fundamental e que a estrutura switch nao aceita expressoes.Aceita apenas constantes. O switch testa a variavel e executa a declaracao cujo casecorresponda ao valor atual da variavel. A declaracao default e opcional e sera executadaapenas se a variavel, que esta sendo testada, nao for igual a nenhuma das constantes.O comando break, faz com que o switch seja interrompido assim que uma dasdeclaracoes seja executada. Mas ele nao e essencial ao comando switch. Se apos a execucaoda declaracao nao houver um break, o programa continuara executando. Isto pode ser util emalgumas situacoes, mas eu recomendo cuidado. Veremos agora um exemplo do comandoswitch:#include <stdio.h>int main (){int num;printf ("Digite um numero: ");scanf ("%d",&num);switch (num){case 9:printf ("\n\nO numero e igual a 9.\n");break;case 10:printf ("\n\nO numero e igual a 10.\n");27break;case 11:printf ("\n\nO numero e igual a 11.\n");break;default:printf ("\n\nO numero nao e nem 9 nem 10 nem 11.\n");}return(0);}AUTO AVALIACAOVeja como voce esta.Escreva um programa que pede para o usuario entrar um numero correspondente a umdia da semana