SlideShare uma empresa Scribd logo
1 de 27
Minicurso de C/C++
IV Semana de Engenharia Elétrica
Instrutor: Renan Prata
Objetivo
Ensinar os conceitos básicos da linguagem C/C++
com o uso de ferramentas de desenvolvimento
livre
Agenda
● C/C++: Que bicho é esse?;
● Meu primeiro programa - “Hello World”;
● Compilador – Como o PC entende meu arquivo;
● Tipos, Operadores e Expressões;
● Controle de Fluxo;
● Funções;
● Estruturas;
C/C++: Que bicho é esse?
● Linguagem procedural, estruturada e fortemente tipada;
● Criada em 1972 por Dennis Ritchie;
● Feita para desenvolver o Unix;
Meu primeiro programa - “Hello World”
#include <stdio.h>
int main (void)
{
printf("Hello World!!!n");
return 0;
}
Meu primeiro programa - “Hello World”
● Abrindo Terminal Linux - SHELL
● Funções básicas do UNIX - ls, cd, mkdir, pwd
● GCC - GNU Compiler Collection
Compilador – Como o PC entende meu arquivo
Tipos, Operadores e Expressões
Tipos, Operadores e Expressões
Tipos, Operadores e Expressões
Tipos, Operadores e Expressões
● Mais utilizados:
– char – simples caracter (letra) - %c
– int – inteiro - %d ou %i
– long – inteiro long - %ld
– float – ponto flutuante - %f
– double – ponto flutuante longo - %f
Tipos, Operadores e Expressões
● Array (vetor e matrix)
– Tamanho definido préviamente
– Acesso a cada membro por indice
– Exemplo:
● char nome[100];
● float notas[20];
● int valores[500]
Controle de Fluxo
● Fluxograma
Controle de Fluxo
● If-else
– Controle de fluxo de programa
– Tomada de decisão
Controle de Fluxo
if (condition_1)
statement_1
else if (condition_2)
statement_2
…
…
else
statement_n
Controle de Fluxo
● Switch case
– Controle de multiplos casos de teste
– Caracter ou inteiro
– Uso do break; continue; return;
Controle de Fluxo
switch (test_variable)
case 1:
statement_1;
break;
…
…
default:
statement_n;
break;
Controle de Fluxo
● While
– Repetição de iterações
– Testa primeiro e depois executa
– Controle pode ser realizado com comandos de
fluxo (break, continue e return)
– CUIDADO!!! - LOOP INFINITO
Controle de Fluxo
while (condition)
statement_1;
Controle de Fluxo
● Do-while
– Estrutura de repetição
– Executa primeiro e depois testa
– Mesmo problema do while
– Controle pode ser realizado com comandos de
fluxo (break, continue e return)
Controle de Fluxo
do
statement;
while (condition);
Controle de Fluxo
● For
– Muito utilizado quando precisa contar n termos
– Apesar de diferente, apresenta mesmo problemas
do while e do-while
– Controle pode ser realizado com comandos de
fluxo (break, continue e return)
Controle de Fluxo
for (initial_condition; final_condition; control_variable)
statement;
Funções
● Podemos dizer que funções/procedimentos são
subrotinas que executam uma tarefa particular.
● Muito utilizado quando precisamos executar a
mesma tarefa inumeras vezes
Funções
● Recursividade
– Uma função chama ela mesma
– Exemplos – fatorial e fibonacci
Estruturas
● Criação de um novo tipo
● Muito parecido com orientação a objeto
● Exemplo – variavel “data”:
struct {
int dia;
int mes;
int ano;
} data;
Obrigado
Referencias:
– The C Programming Language Brian W.
Kernighan & Dennis M. Ritchie
– http://www.cplusplus.com/
email: renanprata@ieee.org

Mais conteúdo relacionado

Mais procurados

Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...
Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...
Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...Tchelinux
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11André Phillip Bertoletti
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com PythonDorneles Treméa
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlgarux
 
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoRuby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoWeverton Timoteo
 
CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)Wildtech
 
Controlando o fluxo de forma simples para construir pipelines complexas
Controlando o fluxo de forma simples para construir pipelines complexasControlando o fluxo de forma simples para construir pipelines complexas
Controlando o fluxo de forma simples para construir pipelines complexasJuan Funez
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoEderson Marques
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controleProfessor Samuel Ribeiro
 
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)Rogério Moraes de Carvalho
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08Carlos Santos
 
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...iMasters
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Inael Rodrigues
 
Ciclo de vida de um componente react
Ciclo de vida de um componente reactCiclo de vida de um componente react
Ciclo de vida de um componente reactLaryssa Magalhães
 

Mais procurados (20)

Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...
Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...
Workshop sobre programação em C usando a API Berkeley Sockets - Carlos A. M. ...
 
Shell script
Shell scriptShell script
Shell script
 
Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11Banco de Dados II - Unimep/Pronatec - Aula 11
Banco de Dados II - Unimep/Pronatec - Aula 11
 
Testes e depuração de código com Python
Testes e depuração de código com PythonTestes e depuração de código com Python
Testes e depuração de código com Python
 
Logging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perlLogging e depuração enterprise-level com Log4perl
Logging e depuração enterprise-level com Log4perl
 
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso códigoRuby 3 e Análise estática - O que esperar e o que significa para o nosso código
Ruby 3 e Análise estática - O que esperar e o que significa para o nosso código
 
CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)CBSoft 2013 - Descrição dos Problemas (CbE)
CBSoft 2013 - Descrição dos Problemas (CbE)
 
Aula11 - PHP
Aula11 - PHPAula11 - PHP
Aula11 - PHP
 
Aula12- PHP
Aula12- PHPAula12- PHP
Aula12- PHP
 
Controlando o fluxo de forma simples para construir pipelines complexas
Controlando o fluxo de forma simples para construir pipelines complexasControlando o fluxo de forma simples para construir pipelines complexas
Controlando o fluxo de forma simples para construir pipelines complexas
 
Algoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetiçãoAlgoritimos. Comamandos de condição e repetição
Algoritimos. Comamandos de condição e repetição
 
Parte1c
Parte1cParte1c
Parte1c
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)IAsyncResult Pattern ou Asynchronous Programming Model (APM)
IAsyncResult Pattern ou Asynchronous Programming Model (APM)
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
 
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...
[JS EXPERIENCE 2018] Uma visão geral sobre recursão e trampolines - Ana Basto...
 
Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7Livro Código Limpo: Tratamento de Erros - Cap 7
Livro Código Limpo: Tratamento de Erros - Cap 7
 
Exercicios 01 tms i
Exercicios 01 tms iExercicios 01 tms i
Exercicios 01 tms i
 
Aula14 - Funções em PHP
Aula14 - Funções em PHPAula14 - Funções em PHP
Aula14 - Funções em PHP
 
Ciclo de vida de um componente react
Ciclo de vida de um componente reactCiclo de vida de um componente react
Ciclo de vida de um componente react
 

Semelhante a Minicurso c++-see-2013

Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)portal_Do_estudante
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSThiago Rodrigues
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonJanderson Campêlo
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhanyKaren Costa
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAbdulSacur2
 
Prog shell
Prog shellProg shell
Prog shellTiago
 
Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosFrederico Madeira
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Luís Cobucci
 
Interface de linha de comando - CLI
Interface de linha de comando - CLIInterface de linha de comando - CLI
Interface de linha de comando - CLIBenedilosn
 
Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comandogarux
 
Treinamento de-comandos-unix-e-linux-1205757024667193-4
Treinamento de-comandos-unix-e-linux-1205757024667193-4Treinamento de-comandos-unix-e-linux-1205757024667193-4
Treinamento de-comandos-unix-e-linux-1205757024667193-4Nunes Adriano
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Leo Amorim
 

Semelhante a Minicurso c++-see-2013 (20)

Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)Soa cap2 administracao de sistemas2 (slides)
Soa cap2 administracao de sistemas2 (slides)
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
 
Depurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSSDepurando aplicações PHP like a BOSS
Depurando aplicações PHP like a BOSS
 
Trabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - PythonTrabalho de Paradigmas Da Linguagem De Programação - Python
Trabalho de Paradigmas Da Linguagem De Programação - Python
 
Minicurso Linux
Minicurso Linux Minicurso Linux
Minicurso Linux
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Aula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptxAula 01 - Introducao a C (3).pptx
Aula 01 - Introducao a C (3).pptx
 
Prog shell
Prog shellProg shell
Prog shell
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
Linux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de ProcessosLinux - Inicialização e Gerenciamento de Processos
Linux - Inicialização e Gerenciamento de Processos
 
Aula python
Aula pythonAula python
Aula python
 
Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011Qualidade em projetos PHP - PHPSC Conf 2011
Qualidade em projetos PHP - PHPSC Conf 2011
 
Gerencia Básica Gnu/Linux
Gerencia Básica Gnu/LinuxGerencia Básica Gnu/Linux
Gerencia Básica Gnu/Linux
 
Interface de linha de comando - CLI
Interface de linha de comando - CLIInterface de linha de comando - CLI
Interface de linha de comando - CLI
 
Desenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de ComandoDesenvolvimento Rápido de Programas Linha de Comando
Desenvolvimento Rápido de Programas Linha de Comando
 
Treinamento de-comandos-unix-e-linux-1205757024667193-4
Treinamento de-comandos-unix-e-linux-1205757024667193-4Treinamento de-comandos-unix-e-linux-1205757024667193-4
Treinamento de-comandos-unix-e-linux-1205757024667193-4
 
Aula CRONTAB
Aula CRONTABAula CRONTAB
Aula CRONTAB
 
Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1Aula - Comandos Linux - Parte 1
Aula - Comandos Linux - Parte 1
 

Minicurso c++-see-2013

  • 1. Minicurso de C/C++ IV Semana de Engenharia Elétrica Instrutor: Renan Prata
  • 2. Objetivo Ensinar os conceitos básicos da linguagem C/C++ com o uso de ferramentas de desenvolvimento livre
  • 3. Agenda ● C/C++: Que bicho é esse?; ● Meu primeiro programa - “Hello World”; ● Compilador – Como o PC entende meu arquivo; ● Tipos, Operadores e Expressões; ● Controle de Fluxo; ● Funções; ● Estruturas;
  • 4. C/C++: Que bicho é esse? ● Linguagem procedural, estruturada e fortemente tipada; ● Criada em 1972 por Dennis Ritchie; ● Feita para desenvolver o Unix;
  • 5. Meu primeiro programa - “Hello World” #include <stdio.h> int main (void) { printf("Hello World!!!n"); return 0; }
  • 6. Meu primeiro programa - “Hello World” ● Abrindo Terminal Linux - SHELL ● Funções básicas do UNIX - ls, cd, mkdir, pwd ● GCC - GNU Compiler Collection
  • 7. Compilador – Como o PC entende meu arquivo
  • 8. Tipos, Operadores e Expressões
  • 9. Tipos, Operadores e Expressões
  • 10. Tipos, Operadores e Expressões
  • 11. Tipos, Operadores e Expressões ● Mais utilizados: – char – simples caracter (letra) - %c – int – inteiro - %d ou %i – long – inteiro long - %ld – float – ponto flutuante - %f – double – ponto flutuante longo - %f
  • 12. Tipos, Operadores e Expressões ● Array (vetor e matrix) – Tamanho definido préviamente – Acesso a cada membro por indice – Exemplo: ● char nome[100]; ● float notas[20]; ● int valores[500]
  • 13. Controle de Fluxo ● Fluxograma
  • 14. Controle de Fluxo ● If-else – Controle de fluxo de programa – Tomada de decisão
  • 15. Controle de Fluxo if (condition_1) statement_1 else if (condition_2) statement_2 … … else statement_n
  • 16. Controle de Fluxo ● Switch case – Controle de multiplos casos de teste – Caracter ou inteiro – Uso do break; continue; return;
  • 17. Controle de Fluxo switch (test_variable) case 1: statement_1; break; … … default: statement_n; break;
  • 18. Controle de Fluxo ● While – Repetição de iterações – Testa primeiro e depois executa – Controle pode ser realizado com comandos de fluxo (break, continue e return) – CUIDADO!!! - LOOP INFINITO
  • 19. Controle de Fluxo while (condition) statement_1;
  • 20. Controle de Fluxo ● Do-while – Estrutura de repetição – Executa primeiro e depois testa – Mesmo problema do while – Controle pode ser realizado com comandos de fluxo (break, continue e return)
  • 22. Controle de Fluxo ● For – Muito utilizado quando precisa contar n termos – Apesar de diferente, apresenta mesmo problemas do while e do-while – Controle pode ser realizado com comandos de fluxo (break, continue e return)
  • 23. Controle de Fluxo for (initial_condition; final_condition; control_variable) statement;
  • 24. Funções ● Podemos dizer que funções/procedimentos são subrotinas que executam uma tarefa particular. ● Muito utilizado quando precisamos executar a mesma tarefa inumeras vezes
  • 25. Funções ● Recursividade – Uma função chama ela mesma – Exemplos – fatorial e fibonacci
  • 26. Estruturas ● Criação de um novo tipo ● Muito parecido com orientação a objeto ● Exemplo – variavel “data”: struct { int dia; int mes; int ano; } data;
  • 27. Obrigado Referencias: – The C Programming Language Brian W. Kernighan & Dennis M. Ritchie – http://www.cplusplus.com/ email: renanprata@ieee.org