Buscar

Introdução à Programação em C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 35 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Programação de Computadores I
Engenharia de Computação
 
2o. semestre 2011
CEFET-MG
2a. Aula – 11/08/2011
Prof. Evandrino Gomes Barros
Conteúdo da aula
 Anatomia de um programa em C
 Variáveis: conceito, nomes, tipos
 Nomes de identificadores
 Tipos de dados básicos
 Operações com variáveis de acordo com o tipo
 Comandos de entrada e saída
 Formatação de saída: impressão de dados
 Estrutura de um programa e da programação
 Programa: sequência de código organizada
 estruturado em partes: módulos, funções, subrotinas
 podem ter de poucas a milhões de linhas de código
 etapas da programação
 edição do programa: editor de texto
 compilação
 transformação do programa fonte em programa executável
 feito pelo compilador: programa
 execução: feita pelo usuário usando o programa executável
 Escrita de um programa em C
 Programa mínimo em C
main ( ){ } 
 observações 
 a função main ( ) é obrigatória
 todas as funções em C tem parênteses ( )
 main é uma palavra reservada da linguagem 
 a linguagem C distingue letras maiúsculas e minúsculas
 Main é diferente de main, mAin, maIn, MAin, maiN, MAIN
 todas as palavras reservadas da linguagem são escritas com letras 
minúsculas
 em geral, um programa em C é todo escrito com minúsculas, a 
menos de certos tipos de definição
 Programa "Hello World" em C
#include <stdio.h>
main ( ) {
printf ("Hello, World!");
}
versão em português:
#include <stdio.h>
main ( ) {
printf ("Olá, mundo!");
}
Variáveis
 Conceito de variável pode ser expresso de diversas formas
 variável: armazena valores que podem variar
 equivale aos utensílios utilizados para armazenar os alimentos 
quando fazemos uma receita 
 os dados (valores numéricos) que o programa utiliza precisam ser 
armazenados na memória do computador antes de serem 
processados pela CPU: o lugar para isso são as variáveis
 Memória do computador
 sequência grande e numerada de bytes
 cada byte possui um endereço
 cada variável ocupa um conjunto de bytes na memória
 o número de bytes depende do tipo da variável
Memória do computador e variáveis
Numeração 
dos bytes
variável f 
ocupa 4 bytes 
e tem valor 
igual a 3.14
Variáveis 
 como a memória é muito grande e pode possuir bilhões de bytes (109 
bytes) é difícil programar usando os endereços de memória
 por isso há o conceito de nome de variável: para facilitar a 
programação, que é feita por pessoas
 variável: nome que damos a uma posição de memória para que ela 
armazene algum valor que queremos armazenar
 facilita muito a programação
 nome da variável é associado ao seu endereço na memória pelo 
compilador e pelo sistema operacional
Nomes de variáveis e identificadores
 identificadores: nomes que o programador vai escolher para o seu 
programa
 inclui nomes de variáveis, funções, constantes, etc.
 regras para escolher os nomes de identificadores
 deve ser constituído por letras do alfabeto maiúsculas ou minúsculas, 
dígitos (0 a 9) e o caractere underscore _
 o primeiro caractere não pode ser um dígito
 é desaconselhável uso do _ como primeiro caractere
 maiúsculas e minúsculas são caracteres diferentes
 palavras reservadas da linguagem não podem ser usadas
 não usar caracteres acentuados: á, ã, é, á, ó
 muitos compiladores não aceitam
Nomes de variáveis e identificadores
 Exemplos:
int idade; //ok
int Num_Cliente; //ok
float x; //ok 
float 5x; //erro: inicia com dígito
double porcento%; //erro:caractere inválido %
char sim?nao; //erro: caractere inválido ?
int _alfa; //correto, porém desaconselhável
char letra, Letra; //duas variáveis diferentes
 correto, porém desaconselhável 
Ver mais 
exemplos no 
livro
Nomes de variáveis e identificadores
Cuidados com a escolha dos nomes dos identificadores
 o nome deve ser descritivo do conteúdo que ela armazena!
 Ex: double fatura; char resposta; int fatorial; float salario;
 Não: double x; char a; int sdfg; float wxyz;
 o nome não deve ser escrito todo em letras maiúsculas
 característica reservada para as CONSTANTES em C (convenção)
 escrever de forma a facilitar a leitura:
nomeclienteprincipal
NomeClientePrincipal
nome_cliente_principal
Nome_Cliente_Principal
Tipos de dados básicos
número grande em 
ponto flutuante 8double
número pequeno em 
ponto flutuante 4float
um número inteiro4int
um caractere (ou um 
inteiro pequeno)1char
ValorTamanho (bytes)Tipo
 a linguagem C implementa 4 tipos de dados básicos
 cada compilador é livre para escolher tamanhos (bytes) adequados de 
acordo com seu próprio hardware
 as variáveis e expressões podem assumir um destes tipos:
o número de 
bytes 
depende da 
arquitetura do 
computador
Modificadores de Tipos
 São palavras que alteram o significado de um tipo base, definindo um 
novo tipo derivado => especifica as características da variável
 As palavras são: short, long, signed, unsigned
 Exemplos: tipos comuns modificados => tipos derivados
short int 
long int 
signed char 
signed int 
signed short int 
signed long int 
unsigned char 
unsigned int 
unsigned short int 
unsigned long int 
Faixa de valores para as variáveis
Tipo Num de bits Formato para leitura Menor valor Maior valor 
 com scanf 
char 8 %c -128 127
unsigned char 8 %c 0 255
signed char 8 %c -128 127
int 16 %d -32.768 32.767
unsigned int 16 %u 0 65.535 
signed int 16 %i -32.768 32.767
short int 16 %hi -32.768 32.767
unsigned short int 16 %hu 0 65.535
signed short int 16 %hi -32.768 32.767 
long int 32 %li -2.147.483.648 2.147.483.647
signed long int 32 %li -2.147.483.648 2.147.483.647
unsigned long int 32 %lu 0 4.294.967.295
float 32 %f 3,4E-38 3.4E+38 
double 64 %lf 1,7E-308 1,7E+308
long double 80 %Lf 3,4E-4932 3,4E+4932
Tipos básicos em verde Valores para uma máquina de 16 bits
Declaração e inicialização de variáveis
 toda variável precisa ser declarada antes de ser usada
 formato da declaração 
 tipo da variável nome da variável; 
 exemplos:
int contador;
char c;
float pi;
 a variável representa um espaço na memória; ao ser declarada, ela é 
associada a um espaço que contém 0s e 1s;
 assim, ela conterá qualquer valor (que pode ser um lixo de memória) 
desde a sua declaração
Operações com tipo int
 atribuição
 para atribuir um valor a uma variável, utilizamos a operação de 
atribuição
 sintaxe: variável = expressão; 
 exemplos:
int num;
num = -17;
int numero = -17; 
int n1 =3, n2 = 5;
int a = 10, b, c, d = 123; //4 variáveis
int valor = num;
a = b = c = d = 5; //atribuições múltiplas
atribuições múltiplas são feitas da direita para a esquerda
Operações com tipo int, float e double
 operações com números inteiros e em ponto flutuante
 operadores binários: + - * /
 operadores unários: ++ -- 
 resto da divisão inteira (módulo) %
 qualquer operação entre inteiros resulta em um inteiro
 Exemplo: 
 21 / 4 retorna 5 int b = 21/4;
 21%4 módulo retorna 1 int c = 21%4; 
21 4
51
Valor da 
divisão inteira
módulo
Operadores de incremento e decremento
 operador unário ++ soma uma unidade à variável
 operador unário -- subtrai uma unidade à variável
 exemplos: 
x++; //equivalentea x = x+1;
x--; //equivalente a x = x – 1;
 estes operadores podem ser pré-fixados ou pós-fixados
x = 23; y = x++; // resulta em y =23 e x = 24
x = 23; y = ++x; //resulta em y = x = 24
 Pré-fixado: primeiro incrementa, depois usa o valor na expressão
 Pós-fixado: primeiro usa o valor na expressão, depois incrementa
Operadores combinados com a atribuição
• As operações de incremento (++) e decremento (--) são 
exemplos de operações combinadas com a atribuição
• Na linguagem C, sempre que for necessário escrever 
uma operação de atribuição da forma
 
 poderemos combinar as operações. Exemplos:
variavel = variavel operador expressao;
x = x + 5; x += 5;
x = x – (a + b); x -= (a + b);
x = x * (a – b); x *= (a – b);
x = x / (x + 1); x /= (x + 1);
Exercício
  
Calcule o resultado de cada variável após a execução das 
seguintes operações: 
 int x,y,z;
  x = y = 10;
 z = ++x;
  x = -x;
  y++;
  z = z + x + y;
Variáveis do tipo char
#include <stdio.h>
int main () {
    char Ch;
    Ch='D';
    printf ("%c",Ch);  //char D
 printf ("%d",Ch);  //int 68
}
 são representadas pela linguagem como inteiros de 8 bits (um byte)
 por isso, podem ser vistas também como inteiros
 cada caractere tem o valor inteiro de sua posição na tabela de 
caracteres ASCII
Variáveis do tipo char
#include <stdio.h>
int main () {
 
 char Ch;
 scanf("%c", &Ch);
 printf ("Voce pressionou a tecla %c",Ch);
}
Captura e imprime o 
caractere digitado 
pelo usuário
Tabela de caracteres ASCII
Dec  Char                           Dec  Char     Dec  Char     Dec  Char
---------                           ---------     ---------     ----------
  0  NUL (null)                      32  SPACE     64  @         96  `
  1  SOH (start of heading)          33  !         65  A         97  a
  2  STX (start of text)             34  "         66  B         98  b
  3  ETX (end of text)               35  #         67  C         99  c
  4  EOT (end of transmission)       36  $         68  D        100  d
  5  ENQ (enquiry)                   37  %         69  E        101  e
  6  ACK (acknowledge)               38  &         70  F        102  f
  7  BEL (bell)                      39  '         71  G        103  g
  8  BS  (backspace)                 40  (         72  H        104  h
  9  TAB (horizontal tab)            41  )         73  I        105  i
 10  LF  (NL line feed, new line)    42  *         74  J        106  j
 11  VT  (vertical tab)              43  +         75  K        107  k
 12  FF  (NP form feed, new page)    44  ,         76  L        108  l
 13  CR  (carriage return)           45  -         77  M        109  m
 14  SO  (shift out)                 46  .         78  N        110  n
 15  SI  (shift in)                  47  /         79  O        111  o
 16  DLE (data link escape)          48  0         80  P        112  p
 17  DC1 (device control 1)          49  1         81  Q        113  q
 18  DC2 (device control 2)          50  2         82  R        114  r
 19  DC3 (device control 3)          51  3         83  S        115  s
 20  DC4 (device control 4)          52  4         84  T        116  t
 21  NAK (negative acknowledge)      53  5         85  U        117  u
 22  SYN (synchronous idle)          54  6         86  V        118  v
 23  ETB (end of trans. block)       55  7         87  W        119  w
 24  CAN (cancel)                    56  8         88  X        120  x
 25  EM  (end of medium)             57  9         89  Y        121  y
 26  SUB (substitute)                58  :         90  Z        122  z
 27  ESC (escape)                    59  ;         91  [        123  {
 28  FS  (file separator)            60  <         92  \        124  |
 29  GS  (group separator)           61  =         93  ]        125  }
 30  RS  (record separator)          62  >         94  ^        126  ~
 31  US  (unit separator)            63  ?         95  _        127  DEL
ASCII
American 
Standard Code 
for Information 
Interchange
Caracteres possíveis de imprimir
Comandos de entrada e saída
 sintaxe da função printf
printf (string_de_controle,lista_de_argumentos);
 string: sequência de caracteres entre aspas duplas ” ”
 string de controle: descreve tudo o que vai ser impresso na tela
 o texto a ser impresso
 as variáveis, de quais tipos e em que posição
 o local onde o valor das variáveis será impresso é marcado com o 
caractere especial %
Formatação de saída
 exemplo: printf(”o valor de %d é \n”, numero);
 código Significado
%d Inteiro
%f Float
 %c Caractere
%s String
 %% escreve % 
 
O formato 
depende do tipo 
da variável a ser 
impressa
Exemplos
printf ("Teste %% %%");     imprime      Teste % %
printf ("%f",40.345);       imprime       40.345
printf ("Um caractere %c e um inteiro %d",'D',120);
 imprime      Um caractere D e um inteiro 120
printf ("%s e um exemplo","Este"); 
 imprime    Este e um exemplo
printf ("%s%d%%","Juros de ",10);    
       imprime       Juros de 10%"
Comando de leitura
 a leitura de dados digitados pelo usuário no teclado é feita pela 
função scanf com sintaxe
scanf (string-de-controle,lista-de-argumentos);
 Exemplo: 
Efeito: lê o valor de um número inteiro e o armazena na variável idade
 scanf(“%d”,&idade); 
Trecho de código: 
printf (“Digite a sua idade:\n”);
scanf (“%d”, &idade);
printf(“Sua idade é: %d”, idade); 
String de controle: formatos de leitura
%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 
Exemplo de uso de strings de controle
#include <stdio.h>
main ( )
{
 char a ;
printf ( “digite um caracter\n” );
 scanf ( “ % c”, &a );
 printf (“ \n %c = %d em decimal”, a, a);
 printf (“%o em octal, %x em hexadecimal”, a, a);
}
 
Digitando a:
 a = 109 em decimal, 155 em octal, 6d em hexadecimal 
Caracteres especiais: constantes iniciadas por \
Código Significado 
\b Retrocesso ("back")
\f Alimentação de formulário ("form feed") 
\n Nova linha ("new line") 
\t Tabulação horizontal ("tab") 
\" Aspas 
\' Apóstrofo 
\0 Nulo (0 em decimal) 
\\ Barra invertida 
\v Tabulação vertical 
\a Sinal sonoro ("beep") 
\N Constante octal (N é o valor da constante) 
\xN Constante hexadecimal (N é o valor da constante)
Formatando a impressão com printf
é possível estabelecer o tamanho mínimo para a impressão de um valor 
#include <stdio.h>
main ( ) {
   printf (“os alunos são %2d \n”, 350);
   printf (“os alunos são %4d \n”, 350);
   printf (“os alunos são %5d \n”, 350);
} 
Saída:  os alunos são 350
     os alunos são  350
        os alunos são   350 
Define o 
tamanho do 
espaço de 
impressão
32
Formatação de valores numéricos
• formatação de valores para números inteiros
• Exemplo:
00003%05d
3%01d
 3%5d
3%d
3
Valor exibidoFormataçãoValor
33
Formatação de valores numéricos
• Especificação do formato de saída
• Exemplo: %8.3f 
– significa: imprimir um valor de ponto flutuante com 
oito caracteres no total e com três casas decimais
• Se for necessário, será acrescentado o caractere ‘ ‘ 
(espaço) à esquerda do valor para completar o 
tamanho total
34
Formatação de valores numéricos
• Exemplo:
 1.259e+001%12.3e
1.258584E+001%E
1.258584e+001%e
 12.586%7.3f
12.586%6.3f
12.586%5.3f
area = 2*pi*raio
2.003100%.6f
2.003%5.3f
raio = 2.0031
 3.142%8.3f
3.142%5.3f
pi = 3.14159
Valor exibidoTagValor
Exercícios Estude os capítulos 1 e 2.
 Faça os exercícios dos capítulos 1 e 2.
 Leia o capítulo 3 para a próxima aula, isto é, ler antes da aula.
 Curso de C na Web
http://www.ead.cpdee.ufmg.br/cursos/C/c.html
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35

Outros materiais