SlideShare una empresa de Scribd logo
1 de 33
Prof. Rafael Rodrigues de Souza
Consiste em uma coleção de funções

forma geral

    Main ( ) ® primeira função a ser executada
    { ® início da função
    } ® fim da função

obs: para o compilador

Main ( ) { }       Main ( )
                   {        }
Main
        (
        )        São programas idênticos
       {
       }
Tem que existir em algum lugar

Marca o início da execução

ex:
      Main( )
      {
        printf (“meu primeiro programa”);
      }

obs:

toda instrução deve ser encerrada por ;
printf é uma função, note um ‘( )’ após o nome


novamente:

Main ( ) { printf (“meu primeiro programa”); }
Função de E / S não faz parte da definição de C

Note que:

uma função pode receber uma informação (argumento)
printf( “meu primeiro programa”) ;
                 ¯
    meu primeiro programa

SINTAXE:

printf (“expressão de controle”, lista de argumentos);

ex:
      Main ( )
      {
        printf (“o número %d”, 2);
      }                ¯
                código de formatação
CARACTERES DE CONTROLE

n    nova linha
r         “enter”
t    tabulação (tab)
b    retrocesso
“    aspas
    barra

CÓDIGO DE FORMATAÇÃO

%c      caracter
%d     decimal
%e     notação científica
%f     ponto flutuante
%o     octal
%s     cadeia de caracteres (string)
%x     hexadecimal
Constante: “objeto” que tem valor fixo e inalterável

ex:    ‘c’,   8,   “primeiro programa”

Uso:

  Main ( )
  {
    printf (“ o número %d”, 2);
  }
Um “objeto” que pode assumir diferentes valores

espaço de memória de um certo tipo de dado associado a um nome para
   referenciar seu conteúdo

ex:

      Main ( )
      {
        int idade;
        idade = 30;

          printf (“ mínima idade é : %d”, idade);
      }
tipo          bytes        escala
char           1         -128 a 127
int            2         -32.768 a 32.767
float          4          3.4e-38 a 3.4e+38
double          8         1.7e-308 a 1.7e+308
void           0          sem valor


Modificadores de tipos

Long ou Long int       (4 bytes)
Unsigned Char         (0 a 255)
Unsigned int          (0 a 65.535)
função de E / S

Sintaxe:

 scanf(“expressão de controle”, lista de argumentos)


ex: Main ( )
     {
       int num;
        scanf(“ %d”, &num);
     }
 Um endereço de memória é o nome que o
 computador usa para identificar uma
 variável

 Toda variável ocupa uma área de memória
 e seu endereço é o do primeiro byte por ela
 ocupado
   %c ® caracter
   %d ® inteiro
   %e ® número ou notação científica
   %f ® ponto flutuante
   %o ® octal
   %x ® hexadecimal
   %s ® string (cadeia de caracteres)
   %lf ® double
    Main ( )
    {
      char a ;
        printf ( “digite um caracter” );
        scanf ( “ % c”, &a );
        printf (“ n %c = %d em decimal”, a, a);
        printf (“%o em octal, %x em hexadecimal”, a, a);
    }
 Incrementam / decrementam uma unidade
 de seu operando

 Pode ser pré – fixado ou pós - fixado


ex: int n;
   n = 0;
   n++; //     n = n + 1;     n=1
   ++n; //     n = n + 1;     n=2
+=, -=, *=, /=, %=

atribuir um novo valor à variável dependendo do operador e da expressão a direita

A sintaxe:
  x op= exp é equivalente a x = (x) op (exp)

Ex:
      i += 2             i = i + 2;
      x *= y + 1         x = x * (y + 1)
      t /= 4             t = t/4
      p %= 6             p= p%6
      h -= 3             h = h – 3;
Usados para comparações
 > maior
 >= maior ou igual
 < menor
 <= menor ou igual
 ==      igualdade
 != diferença
 O comando de controle mais comum é o
  comando de seleção:

if (expressão) comando;
  else comando;

 Notacao alternativa para atribuicoes:
x = 10;
y = x>9 ? 100 : 200;
char ch();
printf(“1. Inserir Registro”);
printf(“2. Remover Registro”);
printf(“3. Busca”);

ph = getchar();

switch(ch) {
  case ‘1’:
   insere_registro();
   break;
  case ‘2’:
   remove_resitro();
   break;
  case ‘3’:
   busca_resitro();
   break;
  default:
   printf(“opção inválida”)
   break;
}
for (inicialização; condição; incremento)
  comando;

int x;
for (x=1; x<=100; x++) printf(“%d”, x);
 while (condição) comando;


char ch = ‘0’; // Inicia ch com caracter nulo
while (ch != ‘A’) ch = getchar();
Diferentemente do laço while, o do...while
testa a condição somente no final, garantindo
que os comandos sejam executados pelo menos
uma vez

do {
  scanf(“%d”, &num);
} while (num > 100);
Exemplo de um vetor de inteiros
  int vet[10];

• Lembre-se: o primeiro item do vetor é
sempre de índice zero!

int i
for(i=0; i<10; i++) vet[i] = i*2;
Lembre-se: a linguagem C não tem verificação de
  limites!
int vet[10];
int i;
for(i=0; i<20; i++) vet[i] = i*2;
• Isso irá gerar um erro de execução
▫ Qual a diferenca de erro de execucao e erro de
   compilacao?
Passando vetores para funções?

▫ Uma das formas
void func1(int x[]){
.
.
.
}
Uma matriz bidimensional

int mat[10][20];
int i, j;
for(i=0; i<10; i++)
  for (j=0; j<20; j++) {
       scanf(“%d”, &mat[i][j]);
       printf(“%d”, mat[i][j])
  }
• Strings, em C, são sempre vetores do tipo
char, que precisam ter um caracter nulo ‘0’
para indicar o seu fim.

// Iniciar a string assim pode
char str1[15] = “Hello World”;

str1 = “Teste”;   // Assim NÃO pode!!

strcpy(str1, “Teste”);
• Funcões para trabalhar com string?
▫ #include <string.h>
strcpy(s1, s2); copia s1 em s2
strcat(s1, s2); concatena s2 no final de s2
strlen(s1); retorna o tamanho de s1
strcmp(s1, s2); retorna 0 se s1 e s2 são iguais, negativo
   se s1<s2, e positivo se s1>s2
s1 = gets(); lê um string digitada pelo usuário
   Definição :
   Procedimentos são estruturas que agrupam um
    conjunto de comandos, que são executados quando
    procedimento é chamado.
   Funções são semelhantes aos procedimentos,
    exceto que uma função sempre retorna um valor.
tipo NomeDaFuncao( lista_de_parâmetros )
{
  instruções;
}
Exemplo :
int SomaDoisNumeros(int A, int B)
{
  return A + B;
}
void ImprimeTexto()
{
  printf(“Ola Mundo”);
}
int SomaDoisNumeros(int A, int B)
{
  return A + B;
}
int main()
{
  int r;
  r = SomaDoisNumeros(30, 50);
  ImprimeTexto();
}
Exercício:

Escreva um procedimento ou função em
  linguagem C que recebe como parâmetros as
  duas notas da prova de um aluno e escreva se
  ele foi aprovado(>=70) ou reprovado(<70).
• Um ponteiro e uma variavel que contem um
endereco de memoria

• Esse endereco normalmente e a posicao de
  uma
outra variavel na memoria

• Se uma variavel tem o endereco de outra,
  entao
diz-se que a primeira aponta para a segunda
Declaracao de um ponteiro:
  char *p;
Operadore de endereco: &
char x;
p = &x; // P recebe o endereço da
   variável x
Operador de referencia: *
*p = 10; // é o mesmo que x=10
char y;
y = *p; // “y recebe o que está no
   endereço p”

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Algoritmos Aula 08
Algoritmos Aula 08Algoritmos Aula 08
Algoritmos Aula 08
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Linguagem C 09 Ponteiros
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 Ponteiros
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 
Linguagem C - Ponteiros
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - Ponteiros
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Apostila c
Apostila cApostila c
Apostila c
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De Decisao
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Comandos de Controle de Programa em C
Comandos de Controle de Programa em CComandos de Controle de Programa em C
Comandos de Controle de Programa em C
 
Programação em C
Programação em CProgramação em C
Programação em C
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros Passos
 
Linguagem C - Entrada e Saída
Linguagem C - Entrada e SaídaLinguagem C - Entrada e Saída
Linguagem C - Entrada e Saída
 
Biblioteca strings profª ms
Biblioteca strings profª msBiblioteca strings profª ms
Biblioteca strings profª ms
 
Linguagem C 07 Registros
Linguagem C 07 RegistrosLinguagem C 07 Registros
Linguagem C 07 Registros
 
TDD em C++
TDD em C++TDD em C++
TDD em C++
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 

Destacado

Insuficiencia respiratoria
Insuficiencia respiratoriaInsuficiencia respiratoria
Insuficiencia respiratoriaEduardo Sanchez
 
Storyboarding y Feedback manager en VS11 y TFS11
Storyboarding y Feedback manager en VS11 y TFS11Storyboarding y Feedback manager en VS11 y TFS11
Storyboarding y Feedback manager en VS11 y TFS11Globe Testing
 
Deportes
DeportesDeportes
Deportesclodfer
 
Musical Instruments around the World 6 (Tailandia)
Musical Instruments around the World 6 (Tailandia)Musical Instruments around the World 6 (Tailandia)
Musical Instruments around the World 6 (Tailandia)Cachi Chien
 
Artist Loui Jover (Australia) 2
Artist Loui Jover (Australia) 2Artist Loui Jover (Australia) 2
Artist Loui Jover (Australia) 2Cachi Chien
 
Owl butterfly. Mariposa búho
Owl butterfly. Mariposa búhoOwl butterfly. Mariposa búho
Owl butterfly. Mariposa búhoCachi Chien
 
Presentación futurenergia
Presentación futurenergiaPresentación futurenergia
Presentación futurenergiaguestb54cd1
 
Lesson 1. compund sentences
Lesson 1. compund sentencesLesson 1. compund sentences
Lesson 1. compund sentencespgslearning
 
3 Impulse Voltage Test System
3 Impulse Voltage Test System3 Impulse Voltage Test System
3 Impulse Voltage Test Systemkennypowerhv
 
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)IESA School of Management
 
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...CONFENIS 2012
 
视频编码原理简介
视频编码原理简介视频编码原理简介
视频编码原理简介pluschen
 

Destacado (20)

Experience Certificate (Reference_Letter)
Experience Certificate (Reference_Letter)Experience Certificate (Reference_Letter)
Experience Certificate (Reference_Letter)
 
Puerto vallarta 2
Puerto vallarta 2Puerto vallarta 2
Puerto vallarta 2
 
Insuficiencia respiratoria
Insuficiencia respiratoriaInsuficiencia respiratoria
Insuficiencia respiratoria
 
Storyboarding y Feedback manager en VS11 y TFS11
Storyboarding y Feedback manager en VS11 y TFS11Storyboarding y Feedback manager en VS11 y TFS11
Storyboarding y Feedback manager en VS11 y TFS11
 
Clase n° 3 manejo de conflictos
Clase n° 3  manejo de conflictosClase n° 3  manejo de conflictos
Clase n° 3 manejo de conflictos
 
Wow...!
Wow...!Wow...!
Wow...!
 
Deportes
DeportesDeportes
Deportes
 
Musical Instruments around the World 6 (Tailandia)
Musical Instruments around the World 6 (Tailandia)Musical Instruments around the World 6 (Tailandia)
Musical Instruments around the World 6 (Tailandia)
 
Artist Loui Jover (Australia) 2
Artist Loui Jover (Australia) 2Artist Loui Jover (Australia) 2
Artist Loui Jover (Australia) 2
 
07 cambio medial
07 cambio medial07 cambio medial
07 cambio medial
 
Owl butterfly. Mariposa búho
Owl butterfly. Mariposa búhoOwl butterfly. Mariposa búho
Owl butterfly. Mariposa búho
 
Presentación futurenergia
Presentación futurenergiaPresentación futurenergia
Presentación futurenergia
 
Lesson 1. compund sentences
Lesson 1. compund sentencesLesson 1. compund sentences
Lesson 1. compund sentences
 
Plan de Bibliotecas
Plan de BibliotecasPlan de Bibliotecas
Plan de Bibliotecas
 
3 Impulse Voltage Test System
3 Impulse Voltage Test System3 Impulse Voltage Test System
3 Impulse Voltage Test System
 
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)
Oscar Schemel Parlamentarias 2010 - monitor país (septiembre 2010)
 
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...
[Dutch] Wat zijn sociale mediagebruikers, melkkoeien of onbetaalde werknemers...
 
Informática
InformáticaInformática
Informática
 
Ser Excelente
Ser ExcelenteSer Excelente
Ser Excelente
 
视频编码原理简介
视频编码原理简介视频编码原理简介
视频编码原理简介
 

Similar a Funções em C

Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando CVinícius Hax
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2engenhariadecomputacao
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funçõesCarla Lee
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxClaudia Ferlin
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfvictorlopes714651
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Adriano Teixeira de Souza
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigossusere36c31
 
Algoritmos em c #1
Algoritmos em c #1Algoritmos em c #1
Algoritmos em c #1Stark2009
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Marco Mendes
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5engenhariadecomputacao
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CAdriano Teixeira de Souza
 

Similar a Funções em C (20)

Conhecendo ou relembrando C
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando C
 
Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2Algoritmo e lógica de programação - aula 2
Algoritmo e lógica de programação - aula 2
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Exemplos registros e funções
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
RevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptx
 
Java4
Java4Java4
Java4
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1Estrutura de Dados - Características da linguagem C - 1
Estrutura de Dados - Características da linguagem C - 1
 
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de códigoAula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
Aula 10 de algoritmos com raciocínio lógico e desenvolvimento de código
 
Algoritmos em c #1
Algoritmos em c #1Algoritmos em c #1
Algoritmos em c #1
 
Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10Pymordida0 Semana de computação da SOCIESC - 2008/10
Pymordida0 Semana de computação da SOCIESC - 2008/10
 
Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Função malloc
Função mallocFunção malloc
Função malloc
 
Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5Algoritmo e lógica de programação - aula 5
Algoritmo e lógica de programação - aula 5
 
Php
PhpPhp
Php
 
Estrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem CEstrutura de dados - Introdução a linguagem C
Estrutura de dados - Introdução a linguagem C
 

Funções em C

  • 2. Consiste em uma coleção de funções forma geral Main ( ) ® primeira função a ser executada { ® início da função } ® fim da função obs: para o compilador Main ( ) { } Main ( ) { } Main ( ) São programas idênticos { }
  • 3. Tem que existir em algum lugar Marca o início da execução ex: Main( ) { printf (“meu primeiro programa”); } obs: toda instrução deve ser encerrada por ; printf é uma função, note um ‘( )’ após o nome novamente: Main ( ) { printf (“meu primeiro programa”); }
  • 4. Função de E / S não faz parte da definição de C Note que: uma função pode receber uma informação (argumento) printf( “meu primeiro programa”) ; ¯ meu primeiro programa SINTAXE: printf (“expressão de controle”, lista de argumentos); ex: Main ( ) { printf (“o número %d”, 2); } ¯ código de formatação
  • 5. CARACTERES DE CONTROLE n nova linha r “enter” t tabulação (tab) b retrocesso “ aspas barra CÓDIGO DE FORMATAÇÃO %c caracter %d decimal %e notação científica %f ponto flutuante %o octal %s cadeia de caracteres (string) %x hexadecimal
  • 6. Constante: “objeto” que tem valor fixo e inalterável ex: ‘c’, 8, “primeiro programa” Uso: Main ( ) { printf (“ o número %d”, 2); }
  • 7. Um “objeto” que pode assumir diferentes valores espaço de memória de um certo tipo de dado associado a um nome para referenciar seu conteúdo ex: Main ( ) { int idade; idade = 30; printf (“ mínima idade é : %d”, idade); }
  • 8. tipo bytes escala char 1 -128 a 127 int 2 -32.768 a 32.767 float 4 3.4e-38 a 3.4e+38 double 8 1.7e-308 a 1.7e+308 void 0 sem valor Modificadores de tipos Long ou Long int (4 bytes) Unsigned Char (0 a 255) Unsigned int (0 a 65.535)
  • 9. função de E / S Sintaxe: scanf(“expressão de controle”, lista de argumentos) ex: Main ( ) { int num; scanf(“ %d”, &num); }
  • 10.  Um endereço de memória é o nome que o computador usa para identificar uma variável  Toda variável ocupa uma área de memória e seu endereço é o do primeiro byte por ela ocupado
  • 11. %c ® caracter  %d ® inteiro  %e ® número ou notação científica  %f ® ponto flutuante  %o ® octal  %x ® hexadecimal  %s ® string (cadeia de caracteres)  %lf ® double Main ( ) { char a ; printf ( “digite um caracter” ); scanf ( “ % c”, &a ); printf (“ n %c = %d em decimal”, a, a); printf (“%o em octal, %x em hexadecimal”, a, a); }
  • 12.  Incrementam / decrementam uma unidade de seu operando  Pode ser pré – fixado ou pós - fixado ex: int n; n = 0; n++; // n = n + 1; n=1 ++n; // n = n + 1; n=2
  • 13. +=, -=, *=, /=, %= atribuir um novo valor à variável dependendo do operador e da expressão a direita A sintaxe: x op= exp é equivalente a x = (x) op (exp) Ex: i += 2  i = i + 2; x *= y + 1  x = x * (y + 1) t /= 4  t = t/4 p %= 6  p= p%6 h -= 3  h = h – 3;
  • 14. Usados para comparações > maior >= maior ou igual < menor <= menor ou igual == igualdade != diferença
  • 15.  O comando de controle mais comum é o comando de seleção: if (expressão) comando; else comando;  Notacao alternativa para atribuicoes: x = 10; y = x>9 ? 100 : 200;
  • 16. char ch(); printf(“1. Inserir Registro”); printf(“2. Remover Registro”); printf(“3. Busca”); ph = getchar(); switch(ch) { case ‘1’: insere_registro(); break; case ‘2’: remove_resitro(); break; case ‘3’: busca_resitro(); break; default: printf(“opção inválida”) break; }
  • 17. for (inicialização; condição; incremento) comando; int x; for (x=1; x<=100; x++) printf(“%d”, x);
  • 18.  while (condição) comando; char ch = ‘0’; // Inicia ch com caracter nulo while (ch != ‘A’) ch = getchar();
  • 19. Diferentemente do laço while, o do...while testa a condição somente no final, garantindo que os comandos sejam executados pelo menos uma vez do { scanf(“%d”, &num); } while (num > 100);
  • 20. Exemplo de um vetor de inteiros int vet[10]; • Lembre-se: o primeiro item do vetor é sempre de índice zero! int i for(i=0; i<10; i++) vet[i] = i*2;
  • 21. Lembre-se: a linguagem C não tem verificação de limites! int vet[10]; int i; for(i=0; i<20; i++) vet[i] = i*2; • Isso irá gerar um erro de execução ▫ Qual a diferenca de erro de execucao e erro de compilacao?
  • 22. Passando vetores para funções? ▫ Uma das formas void func1(int x[]){ . . . }
  • 23. Uma matriz bidimensional int mat[10][20]; int i, j; for(i=0; i<10; i++) for (j=0; j<20; j++) { scanf(“%d”, &mat[i][j]); printf(“%d”, mat[i][j]) }
  • 24. • Strings, em C, são sempre vetores do tipo char, que precisam ter um caracter nulo ‘0’ para indicar o seu fim. // Iniciar a string assim pode char str1[15] = “Hello World”; str1 = “Teste”; // Assim NÃO pode!! strcpy(str1, “Teste”);
  • 25. • Funcões para trabalhar com string? ▫ #include <string.h> strcpy(s1, s2); copia s1 em s2 strcat(s1, s2); concatena s2 no final de s2 strlen(s1); retorna o tamanho de s1 strcmp(s1, s2); retorna 0 se s1 e s2 são iguais, negativo se s1<s2, e positivo se s1>s2 s1 = gets(); lê um string digitada pelo usuário
  • 26. Definição :  Procedimentos são estruturas que agrupam um conjunto de comandos, que são executados quando procedimento é chamado.  Funções são semelhantes aos procedimentos, exceto que uma função sempre retorna um valor.
  • 27.
  • 29. Exemplo : int SomaDoisNumeros(int A, int B) { return A + B; } void ImprimeTexto() { printf(“Ola Mundo”); }
  • 30. int SomaDoisNumeros(int A, int B) { return A + B; } int main() { int r; r = SomaDoisNumeros(30, 50); ImprimeTexto(); }
  • 31. Exercício: Escreva um procedimento ou função em linguagem C que recebe como parâmetros as duas notas da prova de um aluno e escreva se ele foi aprovado(>=70) ou reprovado(<70).
  • 32. • Um ponteiro e uma variavel que contem um endereco de memoria • Esse endereco normalmente e a posicao de uma outra variavel na memoria • Se uma variavel tem o endereco de outra, entao diz-se que a primeira aponta para a segunda
  • 33. Declaracao de um ponteiro: char *p; Operadore de endereco: & char x; p = &x; // P recebe o endereço da variável x Operador de referencia: * *p = 10; // é o mesmo que x=10 char y; y = *p; // “y recebe o que está no endereço p”