Introdução à linguagem C - CIn - Centro de Informática da...

Post on 08-Jul-2020

3 views 0 download

Transcript of Introdução à linguagem C - CIn - Centro de Informática da...

CIn.ufpe.br

ComputaçãoEletrônicaIntrodução à linguagem C Prof:LucianoBarbosa

CIn.ufpe.br

CéaLinguagemAdotadanaDisciplina

•  AnteriormenteutilizavaaLinguagemPascal•  Dosemestre2013-2emdiante

–  UsodaLinguagemdeProgramaçãoC–  Adaptaçãodoconteúdopara“asengenharias”–  Exercíciosdirecionadosaocursodeengenharia

CIn.ufpe.br

PorquealinguagemC?

•  DefasagemdalinguagemPascal•  Principaislinguagensdomercado/comerciaissãobaseadasemC(C+

+,Java,C#)•  Emtermosdedesempenho(velocidadedeexecução)éimbatível•  Sistemasoperacionais(LinuxeUnix)sãoescritosemC•  Bastanteutilizada:

CIn.ufpe.br

PorquealinguagemC?

•  ConexãodedispositivosacomputadoresépossívelpormeiodesoftwaresemC

•  Velocidadedeexecução:–  Computaçãográfica

•  Ex:FilmesdaPixar

–  Softwareembutidoemdispositivo•  EmbeddedC:linguagemmaispopularparasistemasembutidosnomundo

–  MelhorlinguagemparadesenvolvimentodeGames•  Ex:QuakeIIemC;FIFAeCallofDutyemC++

•  Escolhidacomolinguagemcientífica

CIn.ufpe.br

AplicaçõesusandoC/C++

CIn.ufpe.br

AplicaçõesusandoC/C++

CIn.ufpe.br

AplicaçõesusandoC/C++

CIn.ufpe.br

AplicaçõesusandoC/C++

https://www.coursera.org/specializations/iot

CIn.ufpe.br

AmbientesdeDesenvolvimento

•  OuIDE(IntegratedDevelopmentEnvironment):•  Normalmenteincluem:

1.  Umeditordetextoparacódigos-fonte•  Complementaçãoautomáticadecódigo(codecompletion),•  Destacamentodesintaxeatravésdecores(syntaxhighlighting)

2.  Umcompilador(compiler)3.  Umdepurador(debugger):permiteexecutaroprogramapasso-a-

passo

CIn.ufpe.br

AmbientesdeDesenvolvimento

•  IDEsgratuitasparaC/C++recomendadasparaocurso:–  Code::Blocks-http://www.codeblocks.org/–  DevC++-http://sourceforge.net/projects/dev-cpp/–  MinGW-http://www.mingw.org/

•  OutrasIDEsmaisprofissionaisetambémgratuitas:–  Eclipse-https://www.eclipse.org/–  Netbeans-https://netbeans.org/downloads/

CIn.ufpe.br

AmbientesparaMac

•  Code::Blockshttp://www.codeblocks.org/downloads/26•  CodeLitehttp://downloads.codelite.org/

•  Xcode–  VemnoDVDqueacompanhaoMacBookoupodeserbaixadode:

https://developer.apple.com/xcode/

CIn.ufpe.br

IDEsparaiOS

•  ParaiPadeiPhone–  CProgrammingLanguage

•  https://itunes.apple.com/br/artist/dmitry-kovba/id499545921?l=en

–  CodeToGo•  https://itunes.apple.com/br/app/codetogo/id382677229?l=en&mt=8

–  Gusto-CodeEditor•  https://itunes.apple.com/us/app/gusto/id364906873?mt=8

CIn.ufpe.br

IDEsparaAndroid

•  DroidEdit–  https://play.google.com/store/apps/details?

id=com.aor.droidedit&hl=en

•  CppDroid-C/C++IDE–  https://play.google.com/store/apps/details?

id=name.antonsmirnov.android.cppdroid

•  +15appsforprogrammingonAndroid–  http://android.appstorm.net/roundups/developer/15-apps-for-

programming-on-android/

CIn.ufpe.br

IDEsparaWindowsphone

•  TouchC–  http://www.windowsphone.com/en-us/store/app/touch-c/

3fb34f3f-83e9-4199-a70e-d05a47172794

•  Cforbeginners–  http://www.windowsphone.com/en-us/store/app/c-for-beginners/

d8fc45de-1c6d-45f0-b34b-83296444e11b

•  PrograminC–  http://www.windowsphone.com/en-us/store/app/program-in-c/

4536bd55-276c-4c09-8383-4ea1621ee61d

CIn.ufpe.br

Exercício1:Calculeumnúmeroelevadoao

cubo

15

CIn.ufpe.br

Exercício1:Calculeumnúmeroelevadoaocubo

•  Passo-a-passoparaaconstruçãodealgoritmos1.  Definirentradaesaída:

•  Entrada:n•  Saída:cubo•  cubo=f(n)

16

CIn.ufpe.br

Exercício1:Calculeumnúmeroelevadoaocubo

•  Passo-a-passoparaaconstruçãodealgoritmos1.  Definirentradaesaída:

•  Entrada:n•  Saída:cubo•  cubo=f(n)

2.  Implementarafunçãodesaída:Númeroelevadoaocubo•  f(n)=n*n*n•  ou•  cubo=n*n*n

17

CIn.ufpe.br

Exercício1:Calculeumnúmeroelevadoaocubo

•  Passo-a-passoparaaconstruçãodealgoritmos1.  Definirentradaesaída2.  Implementarafunçãodesaída:Númeroelevadoaocubo

18

ncubo=n*n*n

FunçãoInput Output

cubo

CIn.ufpe.br

Exercício1:Calculeumnúmeroelevadoaocubo

•  Passo-a-passoparaaconstruçãodealgoritmos1.  Definirentradaesaída2.  Implementarfunção3.  Compilarocódigo4.  Seok,executarocódigo.Senão,voltarparaopasso25.  Testarocódigo6.  Seok,FIM.Senão,voltaparaopasso2

19

CIn.ufpe.br

Passo-a-passoparaConstruirAlgoritmos

20

DefinirE/SProblema

Implementar Compilar

Não

Sim

Testar

Não

Sim

Fim

Erro?

Erro?

CIn.ufpe.br

Exemplo:Calculeumnúmeroelevadoaocubo–LinguagemC

•  Definindoaentradaeasaída(variáveis)

Declaraçãodavariáveldeentrada

Declaraçãodavariáveldesaída

CIn.ufpe.br

Exemplo:Cálculoumnúmeroaocubo–LinguagemC

•  Implementandoafunçãodesaída

Comandoquecalculaafunção

CIn.ufpe.br

Exemplo:Cálculoumnúmeroaocubo–LinguagemC

•  Adicionandocomandosdeimpressãoeleituraparaaentrada

Comandoparaimpressãonatela

Comandoparaleituradeentrada

CIn.ufpe.br

Exemplo:Cálculoumnúmeroaocubo–LinguagemC

•  Adicionandocomandosdeimpressãodasaída

Comandodeimpressãodasaída

CIn.ufpe.br

Exemplo:Cálculoumnúmeroaocubo–LinguagemC

Inclusãodebibliotecas

Declaraçãodevariáveis

Comandos

Funçãomain

Comentário

CIn.ufpe.br

•  Contêmfunçõescomplementares(ex:funcõesmatemáticas)•  “#include”informaaocompiladorquaisbibliotecasdevemser

anexadasaoprogramaexecutável•  Sintaxe:

BibliotecasemC

#include <nome_do_arquivo_da_biblioteca>

CIn.ufpe.br

stdio.h•  Bibliotecapadrão•  “std”éabreviaçãodestandard(padrão)•  “io”éabreviaçãodeinput/output(entrada/saída)•  Funçõesparaimpressão

detextonatela(printf(...))eleituradaentradadoteclado(scanf(...))

CIn.ufpe.br

•  Possuiasequênciadecomandosquedeveserexecutada•  Defineondecomeçaeterminaoprogramaprincipalporumpar

dechaves:“{“(abrechaves)e“}”(fechachaves).

FunçãoMain

CIn.ufpe.br

•  Declaradasnocomeçodoprograma•  Noexemploanterior,foramdeclaradasduasvariáveisdotipo

inteiro:numecubo.

DeclaraçãodeVariáveis

Declaraçãodevariáveis

CIn.ufpe.br

•  Apósadeclaraçãodasvariáveis

Comandos

Declaraçãodevariáveis

Comandos

CIn.ufpe.br

•  Detalhesadicionais:funçãomain–  Porpadrãoafunçãoprincipaldeveserdotipoint(inteiro)eretornarvalor

zeroaofinaldesuaexecução(significaqueoprogramaterminousemerros);

–  Veremosmaissobreistofuturamente.

ProgramaemC

CIn.ufpe.br

PalavrasReservadas

•  Conjuntodepalavrasquetemumsignificadoparaalinguagemdeprogramação

•  Umapalavrareservadaé,essencialmente,umcomando

autobreakcasecharconstswitchvolatilecontinue

defaultdo

doubleelse

typedefwhileenumextern

floatforgotounionifintlong

register

unsignedreturnshortsignedsizeofstaticstructvoid

CIn.ufpe.br

•  Utilizadosparadocumentaçãoparafacilitarentendimento•  Podemsercolocadosemqualquerpartedoprograma•  Compiladorignora•  Doistipos:

–  Linha://textodocomentário–  Bloco:

ComentáriosemProgramas

/*textodocomentáriotextodocomentáriotextodocomentário*/

CIn.ufpe.br

Exemplo:ProgramaCComentado

CIn.ufpe.br

CriandoumProjetonoCode::Blocks

CIn.ufpe.br

CriandoumProjetonoCode::Blocks

•  Nestecursoiremosutilizar“AplicaçõesdeConsole”comotipodeprojeto:

CIn.ufpe.br

CriandoumProjetonoCode::Blocks

•  EosprojetosserãofeitosemLinguagemC:

CIn.ufpe.br

CriandoumProjetonoCode::Blocks

•  Indiqueonomeeodiretóriodoprojeto:–  Importante:Nãoutilizeespaçosoucaracteresespeciais(ç~´`)notítulo

doprojetoounodiretório!

CIn.ufpe.br

OsFundamentosdoAmbienteC

•  NoCode::Blocks,apósacompilação,oprogramaexecutável“.exe”éarmazenadonodiretório“bin\Debug”,dentrododiretórioprojeto;

•  Oscódigosfonte(.c–sourcefile)ecabeçalhos(.h–headerfiles)ficamarmazenadosnapastaprincipaldoprojeto.

•  Oarquivodoprogramaexecutávelnãopodesereditado,oquenóspodemoseditarsãoosarquivosdocódigofonte.

The image cannot be displayed. Your computer may not have enough memory to open the image, or the image may have been corrupted. Restart your computer, and then open the file again. If the red x still appears, you may have to delete the image and then insert it again.

CIn.ufpe.br

ConhecendooCode::Blocks

CIn.ufpe.br

CompilandoeExecutando

Bastaclicarnestebotãoparacompilareexecutaroprograma

Sehouvererrosdesintaxeelesserãoreportadosemvermelho.Avisossão

reportadosemazul

CIn.ufpe.br

CompilandoeExecutando•  Aocorrigireexecutarnovamenteoprogramaoconsoleseabre

executandoospassosdoprograma:

CIn.ufpe.br

DepurandooCódigo-Debug•  Clicarcomodireitonalinhaparaadicionarouremover

breakpoints(pontosdeparadanaexecuçãoparainvestigação);•  Clicarnasetavermelha(Debug/Continue);•  Clicarcomodireitosobreumavariáveledepoisem“Watch...”

Bastaclicarnestebotãoparadepurarem

vezdeexecutaroprograma

CIn.ufpe.br

DepurandooCódigo•  Executaroprogramapasso-a-passoclicandonosbotões

indicadosabaixo:

Executaratéocursor

Irparaapróximalinha Entrarnafunção

Sairdafunção

CIn.ufpe.br

Exercícios

•  Calculeamédiaaritméticade3númerosdados•  Calculeoantecessoresucessordeumnúmero•  Calculeaáreadeumcírculoderaior•  ConvertadeCelsiusparaFahrenheit

45

CIn.ufpe.br

Atividade

•  Consultaroslivros•  LivrodoJaimeEvaristo

–  Estudaroprimeirocapítuloeametadedosegundocapítulo

•  FazerodownloaddeumadasIDEs(linknoslideanterior)–  Instalar(recomendadocode::blocks)–  Reescreveroscódigosdeexemplosdosegundocapítulodolivrode

Evaristo.–  Executaredepurar(passo-a-passo)cadaumdelesparaentenderseu

funcionamento.