Você está na página 1de 40

m 


 


m m

Ê   

   
  
 
 

m 

 
! Tópicos do Curso
! Introdução
! Histórico.
! A linguagem C comparada a outras linguagens.
! Características da Linguagem.
! Palavras reservadas.
! Bibliotecas.
! Estrutura de um programa C.
! A função main( )
m 

 
! Tópicos do Curso
! Tipos, variáveis e constantes
! Operadores de atribuição, comparação,
aritméticos, lógicos e relacionais.
! Conversão de tipos
! Determinando o tamanho de um tipo de dado
! Operador de endereço
! Strings de controle e caracteres especiais
m 

 
! Tópicos do Curso
! Comandos de impressão
! Formatando saída de dados.
! Leitura de dados
! Comandos de decisão
! if, if-else, switch-case, ?:
! Comandos de Repetição
! for, while, do-while.
! Strings
m 

 
! Tópicos do Curso
! Vetores
! Matrizes
! Funções
! Estrutura de uma função

! Escopo de uma função: Variáveis locais x


variáveis globais.
! Passando dados para uma função: Passagem
por valor x passagem por referência.
! Retornando valores de uma função.

! Recursividade
m 

 
! Tópicos do Curso
! Estruturas em C (struct)
! Tipos de dados definidos pelo programador
! Ponteiros
! Alocação dinâmica de memória
! Manipulação de arquivos
! Passando parâmetros pela linha de comando
m 

 
! Bibliografia
! MIZRAHI, Viviane V. Treinamento em Linguagem C Ȃ
Curso Completo em um volume - 2008.
! KERNIGHAN, Brian W. e RITCHIE, Dennis M., C: A
Linguagem de Programação, Rio de Janeiro, Campus,
1986.
! C completo e Total Ȃ Livro de referência
m 

 
! Avaliação
! Listas de exercícios (mínimo 10) divididas entre a primeira e a segunda avaliação
! Nota 1 = prova 1 + listas de exercícios
! Nota 2 = prova 1 + listas de exercícios
! if ((média = (Nota 1 + Nota 2)/2) ϑ 7.0)
! printf (DzAluno passou por médiadz);
! else
! { if ((media < 7) && (media ϑ 2))
! { printf (DzAluno tem direito a fazer finaldz);
! if ((MF = (media + PF (todo o assunto)) / 2 ) ϑ 6)
! printf (DzAluno aprovadodz);
! else printf (DzAluno Reprovadodz);
! }
! else
! printf (DzAluno Reprovadodz);
! }
ë 
 

ë 
 

ë 
 

ë 
 

c 
  
!  
   
 
 ! 
 Ê
" 


 " #$% " 
 "
 
  "



 
    "
#& 
  
 ' 

   

!  "
  $(
!  )
 *    (+,-./-.0.
!  )
 *    12
3  (+,-./-4/-
! "

" #$5  
   
 "5 6

 (
!  Ê  " 
 Ê"#$ 

!   7   
!  8 #&     
! 9 ' 56 
 ) :" 
7

 
   %  
"
   
 
c 
  
! cÊ ! " )   
  #& 

!

 % ! 
 %"


    )
 
* 
! " 

:(
!  )
 
   8; <-; =
! ! 6

 (
!  " 
Ê"  Ê
7
Ê"#$  
 >
!  :" 
7
 8; <?
; =>
!   7   

>
!  Ê) 
  " 
!  :" 
7
        $
c 
  
! cÊ ! " )   

  #& 
!

 % ! 
 %"


    )

 * 
! " 

:(
!  )
 
   Ê@@<-.=
! ! 6

 (
!  " 
Ê"  Ê
7
Ê"#$
  
 >
!  :" 
7
 .  
  Ê@@>
!   7   


c 
  
! 
     "   "




! 
 Ê"
 A  
  "   "



  
! % + )
%  B
    $ 
     
 %     

!  
%5  
  #$ 
 Ê
7
 1  )
Ê"#$  


 %  . ;   :" 
7
" 
Ê1Ê@@1ÊC%8 1 
   "#$  
    ?
 2 "%   
 "  
  )"  B%D.%" " 

 
m   
! "   $" 

!   
   )   $ 
 



  
m 

 
! Introdução: Histórico
! Linguagem criada por Dennis Ritchie em 1972.
! Em 1973 a linguagem C foi utilizada para reescrever o
sistema operacional UNIX.
! Surgem diversas versões da Linguagem C, porém os
códigos gerados eram incompatíveis.
! ANSI (American National Standard Institute), em 1983
padronizou a Linguagem C.
! O objetivo do curso é utilizar C ANSI.

! Utilizando características especiais de uma versão


especifica de C, não há garantia que o programa seja
compilado em outra versão de C.
m 

 
! Introdução: C comparada a outras linguagens
! Devemos entender Nível Alto como sendo a capacidade
da linguagem em compreender instruções escritas em
Dzdialetosdz próximos da linguagem falada (Pascal, por
exemplo) e Nível Baixo para aquelas linguagens que se
aproximam do Assembler, que é a linguagem própria da
máquina, compostas por instruções binárias e outras
incompreensíveis para o ser humano não treinado para
este propósito.
m 

 
! Introdução: C comparada a outras linguagens

6  6 
 6  

  
   

    




m 

 
! Introdução: Características da Linguagem
! Portabilidade.
! Modularidade.
! Linguagem compilada com geração de código compacto
e rápido.
! Recursos de baixo nível (Baixo nível).
! Simplicidade e Facilidade de uso (Alto nível).
m 

 
! Introdução: Características da Linguagem
! Alia, portanto, características de linguagens de alto e
baixo nível (liberdade ao programador).
! Pode ser usada para os mais variados propósitos
! Indicada para escrever software básico (SO, BD, Editores
de texto, planilhas, etc.).
! Para criar um programa ...
! Utilize um editor para criar o código fonte;
! Utilize um compilador e um linkeditor para gerar o
programa executável
! Sugestão: Dev C++ for windows Ȃ www.bloodshed.net
m 

 
! Introdução: Palavras Reservadas
! São palavras que têm um significado especial para a
linguagem
! break, case, if, for, while, return, const, do, else,
continue, switch, int, double, unsigned, long, char,
float...
! C entende tais palavras apenas em letras
minúsculas
m 

 
! Introdução: Bibliotecas
! Conjunto de funções para realizar tarefas específicas.
! Biblioteca padrão C - ANSI - funções básicas.
! As primeiras linhas do programa indicam as bibliotecas
utilizadas
! #include <minha_biblioteca.h>

! Exemplos:
! stdio.h Ȃ Funções de entrada e saída
! math.h Ȃ Funções matemáticas comuns
! string.h Ȃ Funções para manipular strings.
! stdlib.h Ȃ Funções para alocação de memória
m 

 
! Introdução: Estrutura de um programa C
! Os programas começam com a função main( )
! A função main( ) é obrigatória
! O corpo do programa fica entre chaves { }
! As variáveis são declaradas imediatamente depois da
abertura do bloco da função (depois da { )
m 

 
! Introdução: Estrutura de um programa C

    
  
 

  
   
 
!
m 

 
! Introdução: Estrutura de um programa C

    
  R  
   
 R   

     R


 R    
   R R  
   
  
     R  

"#$%&   & ''    
!   R   

 

  
w 

! #$÷ ÷ : 
 

 " 
 
    
  
 
  
   
 
"
" 
!
c   
 
! c"5"  :
"  Ê 
:   

#&    
 

! 
 

 
! C
  E 
)F
! C
  E 
)F
! C
  G 6
)H
!  
6
 "
!    #&  $
 
  "
#$
!    EF<"6
"  
" 
  = GH<""


  

    "
" 
  =
m 

 
! Tipos de Dados
! Tipos Inteiros
! char: 1 byte e escala de -128 a 127
! unsigned char: 1 byte e escala de 0 a 255
! int: 2 bytes e escala de -32768 a 32767
! unsigned int: 2 bytes e escala de 0 a 65535
! long: 4 bytes
m 

 
! Tipos de Dados
! Tipos Flutuantes
! float: 4 bytes e escala de 3.4e-38 a 3.4e+38
! double: 8 bytes e escala de 1.7e-308 a 1.7e+308
m 

 
! Variáveis
! Variável: Dzobjetodz que pode assumir diversos valores;
! Espaço de memória de um certo tipo de dado associado
a um nome para referenciar seu conteúdo.
! Não podemos definir um identificador com o mesmo
nome que uma palavra chave
! C é case-sensitive:
— peso ό Peso ό pEso
m 

 
! Variáveis
! As variáveis são declaradas depois da abertura do bloco
da função (depois da { )
! Sintaxe:
>> tipo nome-da-variável; ou
>> tipo nome1, nome2, ..., nomeN; ou
>> tipo nome-da-variável = valor_default;
Ex.: char nome;
int idade, num;
int soma = 0;
m 

 
! Exemplo: tipos de dados e variáveis

 
  

  ()*
  "(++)
  (,#-

 .  (/ 0 


 1  "(/ 0 "
 1 2 (/  0 
!
m 

 
! Ê 
! 
: (
! const tipo identificador = valor;
: "  (
  IJ.0.K>
! Ê  


! 
: (
! #define NOME VALOR
: "  (
C 
 LÊc-
C 
 J--
C 
 LÊ!  Lc;-
C 
 J.0.K
C 
 M !  !c.
C 
 c-
m 

 
! Operador de Atribuição
! Em C o operador de atribuição é o sinal de igual Dz =dz.
! É comum programadores iniciantes na Linguagem C
confundirem o Dz=Dz com o operador lógico de igualdade
Dz==Dz
! Assim, são corretas as expressões int x = 0; e
if (x == 4)
! Está errada a expressão (caso a intenção seja um teste)
if (x = 0)
c 


  
c"  #$
@ 
#$
N  
"
#$
1

$
O ! 

$


 #$
   
@@   
c 


  
c"  #$
F 
6
FI 

 6
E  6
EI  
 6
II  
PI
   
QQ Ê
#$G H
RR Ê
#$GcBH
P L$

 

c"  #$

@I;>
I
@;>
IJ> IS J>
:NI3@.> :I:N<3@.=>
3I:I-> 3I->:I->
:> :I:S .>
@@:> :I:@.>
3I:> 3I:>:I:S .>
3I@@:> :I:@.>3I:>
3I@@:@;> :I:@.>3I:@;>
3I.@:> 3I.@:>:I:S .>
m 

 
! Ê  < : ?
 =
.Ê   
"

"
  ? 
;Ê   
"

  ?