42
Programação de Computadores II 1. Programação Básica Raphael M. 2019.1 Raphael M. Aula 02. Linguagem C Slides adaptados do material de Karina Mochetti

Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

ProgramaçãodeComputadores II1.Programação Básica

RaphaelM.

2019.1

Raphael M. Aula 02.L inguagem C

SlidesadaptadosdomaterialdeKarinaMochetti

Page 2: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Problema,Algoritmo,Programa

Umprograma decomputador é a implementação deumalgoritmo pararesolver umproblema .

Ummesmoproblemapodesersolucionadoporalgoritmosdiferentes.Umprogramaéadefiniçãodessespassospormeiosdecomandosemumadeterminadalinguagem.

Raphael M. Aula 01.Programação Bás ica

Page 3: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Compilador

Éumaferramentaquetraduzumcódigo(fonte)escritoemumalinguagemdeprogramaçãomaisfamiliaraoshumanos,paraumoutrocódigo(binário)emlinguagemdemáquina,criandoumarquivoexecutável.

UmIDEnãoéumcompilador,eleutilizao compilador.Umcompiladornãoexecutaseuprograma,elesomentecriaum executável.Alémdedefinirerrosdecompilação,ocompiladortambémmostramensagensdeaviso(presteatenção nelas!).

Raphael M. Aula 01.Programação Bás ica

Page 4: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Variáveis

Variáveissãoespaçosreservadosnamemóriaparaguardarparaguardardados.

Onomedeumavariáveldeveseguiralgumasregraseajudarnocompreendimentodo programa.Umavariáveldeveterumtipodedadoassociadoaela(integer,character,float, boolean).Amudançadeumtipoparaoutroéchamadade casting.Adeclaraçãodeumavariávelnormalmenteéfeitanocomeçodoprograma(embora,emalgumaslinguagensde programação,podendoserfeitanomeio).

Raphael M. Aula 01.Programação Bás ica

Page 5: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Variáveis

Variáveissãoespaçosreservadosnamemóriaparaguardarparaguardardados.

Python

n = 0c = ’ c ’

Pascal

var n : in tege r ; var c : char ;

C

i n t n ; char c ;

Fortran

in teger : : n character : : c

Raphael M. Aula 01.Programação Bás ica

Page 6: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

Éamaneiracomooprogramaeo usuário secomunicam.

Aentradaesaídabásicadeumcomputadoréfeitaatravésdemensagens,semutilizaçãodomouseouqualquerinterfacegráfica.Normalmentesãoutilizadasfunçõesespecíficasdeleituraeescritade variáveis.

Raphael M. Aula 01.Programação Bás ica

Page 7: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

Éamaneiracomooprogramaeo usuáriosecomunicam.

Python

n = inpu t ( ) p r in t (n )

Pascal

read ln(n) ; wr i te ln (n) ;

C

scanf(" d" , &n);p r i n t f ( " d" , n ) ;

Fortran

read(*,*) n wri te(* ,*) n

Raphael M. Aula 01.Programação Bás ica

Page 8: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Expressões

Sãooperaçõesenvolvendoosmanipulaçõesnosvaloresdas variáveis.

Aatribuiçãoéaformacomocolocamosumvalornamemóriaalocadaparadeterminadavariável.Alémdeatribuirumvalor,podemosrealizardiversasoperaçõessobreelescomosomas,multiplicaçõese comparações.

Raphael M. Aula 01.Programação Bás ica

Page 9: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Expressões

Sãooperaçõesenvolvendoosmanipulaçõesnosvaloresdas variáveis.

Python

i = 10c = ’ c ’

Pascal

i := 10; c := ’ c ’ ;

C

i = 10;c = ’ c ’ ;

Fortran

i = 10c = "c"

Raphael M. Aula 01.Programação Bás ica

Page 10: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Condicional

Éumcomandoquerealizaaçõesdeacordocomdeterminadas condições.

A açãocondicionaléumdosprincipaisrecursosdaprogramaçãoeénormalmenteativadapelocomandoif.Acondiçãodoifdeveresultarnumavariávellógica,podendoser,portanto,qualquerexpressãológicaouumavariávellógica,casoelaexistir.Associado ao comando if,podemos ter umconjunto deações aseremexecutadas nocaso deascondiçõesnãoseremverdadeiras,normalmente ativado pelo comandoelse.

Raphael M. Aula 01.Programação Bás ica

Page 11: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Condicional

i f <condição>:<ações>

Éumcomandoquerealizaaçõesdeacordocomdeterminadas condições.

Python Pascal

i f (<condição>) then begin

<ações>;end;

C

i f (<condição>) {<ações>;

}

Fortran

i f (<condição>) then<ações>

end i f

Raphael M. Aula 01.Programação Bás ica

Page 12: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

RepetiçãocomContador

Repeteaçõesecomandosumnúmerodedeterminadodevezes,dadoporumavariável contadora.

Acadarepetiçãoovalordocontador émodificado.Ocontadorpodesermodificadopelasações(CePascal)ounãopodesermodificadoatéofimdarepetição (Fortran).Modificandoocontadordentrodarepetiçãocorremosoriscodecriarumloopinfinitooualgumoutrotipode erro.Normalmenteocontadorincrementa1emcadapasso,masépossívelincrementá-locom outrosvalores.

Raphael M. Aula 01.Programação Bás ica

Page 13: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

RepetiçãocomContador

fo r i in range (10) :<ações>

Repeteaçõesecomandosumnúmerodedeterminadodevezes,dadoporumavariável contadora.

Python Pascal

fo r i := 0 to 9 do begin

<ações>;end;

C

fo r ( i=0 ; i<10; i++) {<ações>;

}

Fortran

do i = 0 , 10<ações>

end doRaphael M. Aula 01.Programação Bás ica

Page 14: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

RepetiçãocomCondição

Repeteaçõesecomandosenquantoumadeterminadacondiçãoésatisfeita.

Asvariáveisutilizadasnacondição(seexistirem)podemedevemserlivrementemodificadaspelasaçõesda repetição.Seacondiçãonãoforsatisfeitaantesdoloop,todasasaçõesserãoignoradasna execução.Seacondiçãosempreforsatisfeita,todasasaçõesserãoexecutadasumnúmeroinfinitovezes(loopinfinito).ésemprepossívelreescreverumarepetiçãocomcontadorutilizandoumarepetiçãocom condição.

Raphael M. Aula 01.Programação Bás ica

Page 15: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

RepetiçãocomCondição

while i == 10:<ações>

Repeteaçõesecomandosenquantoumadeterminadacondiçãoésatisfeita.

Python Pascal

while ( i = 10) do begin

<ações>;end;

C

while (n == 10) {<ações>;

}

Fortran

do while (x == 10)<ações>

end do

Raphael M. Aula 01.Programação Bás ica

Page 16: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Vetores

Éumasequênciadevariáveisdomesmotipoquepodeseracessadoatravésdeum índice.

Normalmenteéarmazenadodeformasequencialnamemóriaeseutamanhodeveserfixoedadanaentrada.Osíndicesdeumvetorsãodadosporinteirosepodemcomeçardovalor0(C),dovalor1(Pascal)oudeumvalordefinidopelousuário (Fortran).Todososelementosdevemserdomesmotipoeotamanhodovetornãopodesermodificadonomeiodo programa.Uma repetição com contador é normalmente utilizada parapercorrer todos os elementos do vetor, sendo o contador, oíndice do vetor.

Raphael M. Aula 01.Programação Bás ica

Page 17: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Vetores

Éumasequênciadevariáveisdomesmotipoquepodeseracessadoatravésdeum índice.

Python Pascal

v = [ ] i : Array[1..100] of in tege r ;

C

i n t n[100];

Fortran

i n t ege r , dimension(100) : : x

Raphael M. Aula 01.Programação Bás ica

Page 18: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Exercício

FaçaumprogramaemCquedadoumvetorv comn númerosinteiros,ordeneseuselementosdeformacrescente.Assumaqueovetorjáfoi lido.

Raphael M. Aula 01.Programação Bás ica

Page 19: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Exercício: Solução

FaçaumprogramaemCquedadoumvetorv comn númerosinteiros,ordeneseuselementosdeformacrescente.Assumaqueovetorjáfoi lido.

fo r ( i n t i = 0 ; i < n-1; i++) { menor = i ;fo r ( i n t j = i+1; j < n ; j++) {

i f ( v [ j ] < v[menor]) menor = j ;}aux = v [ i ] ;v [ i ] = v[menor]; v[menor] = aux;

}

Raphael M. Aula 01.Programação Bás ica

Page 20: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

ProgramaçãodeComputadores II2.ALinguagemC

RaphaelM.

2019.1

Raphael M. Aula 02.L inguagem C

Page 21: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Cvs Pascal

Possuemamesmaorigem:ALGOL.Sãolinguagensdeprogramação estruturada.Sãodamesmaépoca:Pascalde1969eCde 1972.OssistemasUNIXforamfeitosemCeossistemadaAppleforamfeitosemPascal.HojeemdiaCémuitomais usado.

Raphael M. Aula 02.L inguagem C

Page 22: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Cvs Python

Python éuma linguagem muito mais nova, de 1991.C émuito mais eficiente, os programas rodam mais rápido.Seuobjetivoémelhoraracompreensãodocódigoegerarcódigos menores.Pythonpossuimuitasbibliotecasprontas,Cprecisaquemuitacoisasejaprogramada dozero.

Pythoné bom paraprototipagem eintegração decomponentes

Raphael M. Aula 02.L inguagem C

Page 23: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Hello World

/* Hello World program * / #include <stdio.h>

i n t main ( ) {p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 24: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

DefiniçãodePrograma

UmprogramaemCcomeçaapósocabeçalhointmain(){ eterminaaoencontraroreturn.

/* Hello World program * / #include <stdio.h>

i n t main ( ) {p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 25: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Comentário

UmcomentárioemCpodeserdelimitadopor/*e*/oucontersomenteumalinhacomeçandocom //.

/* Hello World program * / #include <stdio.h>

i n t main ( ) {p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 26: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Comentário

UmcomentárioemCpodeserdelimitadopor/*e*/oucontersomenteumalinhacomeçandocom //.

/ / Hello World program #include <stdio.h>

i n t main ( ) {p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 27: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Include

AlgumasfunçõesdeCestãodeclaradasembibliotecaseparaseremusadasessasbibliotecasdevemserincluídasnocomeçodoprogramausando#include < > .

/* Hello World program * / #include <stdio.h>

i n t main ( ) {p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 28: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

argceargv

Aoexecutarmosoprogramaemlinhadecomandopodemospassarvaloresextrasparaoprograma,comoparâmetrosdafunçãomain().

/* Hello World program * / #include <stdio.h>

i n t main ( i n t a rgc , char*argv[]) { p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 29: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

argceargv

Aoexecutarmosoprogramaemlinhadecomandopodemospassarvaloresextrasparaoprograma,comoparâmetrosdafunçãomain().Onúmerodeparâmetrospassadoséguardadonavariávelinteiraargc.Osparâmetrossãoguardadosemordemnovetordestrings argv.

Raphael M. Aula 02.L inguagem C

# i n c l u d e < s t d i o . h >i n t m a i n ( i n t a r g c , c h a r * a r g v [ ] ) {

p r i n t f ( " a r g c = % d \ n " , a r g c ) ;f o r ( i n t i = 0 ; i < a r g c ; + + i ) {

p r i n t f ( " a r g v [ % d ] = % s \ n " , i , a r g v [ i ] ) ;

}}

~raphaelmachado$ gcc teste-input.c -o teste-input~raphaelmachado$ ./teste-inputargc = 1argv[ 0 ] = ./teste-input~raphaelmachado$ ./teste-input xyx 43argc = 3argv[ 0 ] = ./teste-inputargv[ 1 ] = xyxargv[ 2 ] = 43

Page 30: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Chaves

Aschaves{ e} sãoosgrandesdelimitadoresdeescopoemC.Indicamocomeçoefimdoprograma,defunçõeseprocedimentos,derepetiçõese condições.

/* Hello World program * / #include <stdio.h>

i n t main ( i n t a rgc , char*argv[]) { p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 31: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

AsfunçõesdeentradaesaídaemCestãolocalizadasnabibliotecastdio.h(StandartInandOut).Assim,éprecisoacrescentar#include<stdio.h>aocomeçodoprograma,parausá-las.

/* Hello World program * / #include <stdio.h>

i n t main ( i n t a rgc , char*argv[]) { p r i n t f ("Hello World.\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 32: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

A função”básica”desaídadedadosnoCéaprintf.Recebe,como entrada,uma stringe,opcionalmente,uma lista devariáveis aser impressa(ver nos próximos slides).

/* Hello World program * / #include <stdio.h>

i n t main ( i n t a rgc , char*argv[]) { p r i n t f ("Hello World.\n");re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 33: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

printf()É aformadeimprimirmosvaloresnatela.Otextodeveestarentreaspasecadavariáveldeveserrepresentadapeloseucódigo.Asvariáveisdevemvirdepois,separadasporvírgulanamesmaordem.

#include <stdio.h>

d d f\n", i , j , x ) ;

i n t main ( ) {i n t i , j ; f l o a t x ;p r i n t f ("Os valores sao: re turn 0 ;

}

Parapularalinhanaimpressãodeve-seusaro \n.

Raphael M. Aula 02.L inguagem C

Page 34: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

EntradaeSaída

scanf()É aformadelermosvalores.Cadavariáveldeveestarrepresentadapeloseucódigoentreaspaseseusnomesdevemvirdepois,separadosporvírgulanamesma ordem.

#include <stdio.h>

i n t main ( ) {i n t i , j ; char c ;p r i n t f ("Digite 2 numeros e um ca rac te r : " ) ; scanf ( " d d c " , &i, &j, &c);p r i n t f ("Os valores sao: d d c\n", i , j , c ) ; re turn 0 ;

}

Antesdecadavariávelénecessáriacolocarosímbolo&.Raphael M. Aula 02.L inguagem C

Page 35: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Variáveis

inteiro 4 bytes short n; %hiinteiro 4 bytes int n; %dinteiro 8 bytes long n; %liinteiro 16 bytes longlong n; %llireal 4 bytes float f; %freal 8 bytes double f; %fcaracter 1 bytes char c; %c

unsignedTodos os tipos inteiros podem ser declarados como unsigned,forçando o valor a ser sempre positivo, assim, dobrando o limitemáximo da variável.

Raphael M. Aula 02.L inguagem C

Page 36: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Variáveis

BooleanNãoexisteotipobooleanemC.Normalmenteusamosuminteiro,onde1representaverdadeiroe0representa falso.

StringNãoexisteotipostringemC,umstringéumvetordecaracteresquepodeserdeclaradocomchaves(charstr[100];)ouasterisco(char*str;).

Raphael M. Aula 02.L inguagem C

Page 37: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Expressões

adição a+ bsubtração a- bmultiplicação a* bdivisão a/ bresto a% batribuição a= bincremento a+ = bdecremento a- = b

IncrementarAoincrementar1emCpodemosfazer:i= i +1 ou i + +

DecrementarAodecrementar1emCpodemosfazer:i= i-1 ou i−−

Raphael M. Aula 02.L inguagem C

Page 38: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Incrementação

Em C podemos incrementar de duas formas: i + + ou + + i

i + + retorna,depois incrementa.

/ / x recebe v[0]/ / i recebe 1

i = 0 ;x = v[i++]

+ + i incrementa,depois retorna.

/ / x recebe v[1]/ / i recebe 1

i = 0 ;x = v[++i]

Raphael M. Aula 02.L inguagem C

Page 39: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Operadores lógicos

e a&& bou a||bnão !bigual a= = bdiferente a! = bmenor a< bmaior a> bmenore igual a< = bmaiore igual a> = b

AtribuiçãoeComparaçãoEmC= éatribuiçãoe= = écomparaçãodeigualdade.

Raphael M. Aula 02.L inguagem C

Page 40: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Condicional if

O condicional deve ter a condição entre parênteses e as ações entrechaves. O if pode vir acompanhado por um else, com ações tambémentre chaves. Um if ou else semchave realiza somente uma ação.

#include <stdio.h> i n t main ( ) {

i n t i ;i f ( i > 10) pr in t f ("E maior que 10\n"); e l se printf("Nao e maior que 10\n");i f ( i == 100) {

p r i n t f ("E igual a 100.\n"); i = 0 ;p r i n t f ("O valor f o i zerado.\n");

}re turn 0 ;

}Raphael M. Aula 02.L inguagem C

Page 41: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Exemplo 1

Verificaseumnúmeroestáentre0e 100.

#include <stdio.h>

i n t main() {i n t num;p r i n t f ("Digite o numero: " ) ; scanf ( " d" , &num);i f (num >=0 && num <= 100)

p r i n t f ("Sim\n");e l se

p r i n t f ("Não\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C

Page 42: Programação de ComputadoresII · Programação de ComputadoresII 1. ProgramaçãoBásica Raphael M. 2019.1 Raphael M. Aula 02. LinguagemC Slides adaptados do material de Karina

Exemplo 2

Verificaseumnúmeroéparounão.

#include <stdio.h>

i n t main() {i n t num;p r i n t f ("Digite o numero: " ) ; scanf ( " % d" , &num);i f (num %2 == 0)

p r i n t f ("Sim\n");e l se

p r i n t f ("Nao\n"); re turn 0 ;

}

Raphael M. Aula 02.L inguagem C