Buscar

Introducao Linguagem 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 46 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 46 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 46 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

INTRODUÇÃO À LINGUAGEM C
 Júlia Krüger Vieira
 jkvieira@inf.ufpel.edu.br
ALGORITMOS E PROGRAMAÇÃO
Desenvolvendo programas
 Planejar;
 Lógica de programação
 Desenvolver;
 Linguagem (C/C++, Fortran, Java, etc...)
 Ambiente de programação (Vi, Notepad, Visual Studio, KDE developer, 
Dev-C++, etc...)
 Pré-processar, compilar e “linkeditar”
 Compiladores (Intel, G95, PGF90, Compaq, etc...)
 Testar (depuração);
 Ambiente de programação
 Corrigir (depuração);
 Ambiente de programação
2Programação de Computadores – UFPel
Tipos de Linguagem
• Baixo-Nível
• São linguagens voltadas para a máquina, isto é, são 
escritas usando-se as instruções do 
microprocessador do computador
• São genericamente chamadas de linguagens Assembly 
ou de montagem
3Programação de Computadores – UFPel
Tipos de Linguagem
• Alto-Nível
• São linguagens voltadas para o ser humano
• Em geral utilizam sintaxe estruturada tornando seu 
código mais legível
• Necessitam de compiladores ou interpretadores para 
gerar as instruções do microprocessador
4Programação de Computadores – UFPel
Tipos de Linguagem
5Programação de Computadores – UFPel
Linguagem C - Introdução
 Pertence a um conjunto de linguagens cujas principais 
características são:
 Portabilidade
 Modularidade
 Compilação separada
 Recursos de baixo nível (tratamento de caracteres)
 Geração de código eficiente
 Confiabilidade
 Regularidade
 Simplicidade
 Facilidade de uso
6Programação de Computadores – UFPel
Linguagem C - Aplicações
 A Linguagem C pode ser utilizada em diversos campos 
de desenvolvimento:
 Sistemas Operacionais
 Gerenciadores de Banco de Dados
 Editores de Texto
 Planilhas Eletrônicas
 Compiladores
 Sistemas de Negócios (Folha, Contabilidade, Estoque, 
etc)
7Programação de Computadores – UFPel
O que eu preciso para programar 
em C?
 Um editor de textos, um compilador ou um ambiente de 
programação que forneça o editor de textos e o 
compilador juntos
 Ambientes:
 Dev-C++
 Ambiente windows de desenvolvimento integrado livre.
● Geany
 Ambiente linux com versão disponível para windows de 
desenvolvimento integrado livre.
8Programação de Computadores – UFPel
Construindo um programa
compilado
arq1.obj
compilado
arq1.obj
compilado
arq2.obj
compilado
arq2.obj
compilado
arq3.obj
compilado
arq3.obj
fonte
arq1.cpp
fonte
arq1.cpp
fonte
arq2.cpp
fonte
arq2.cpp
fonte
arq3.cpp
fonte
arq3.cpp
pré-processado
arq1.i
pré-processado
arq1.i
pré-processado
arq2.i
pré-processado
arq2.i
pré-processado
arq3.i
pré-processado
arq3.i
Pré-processamento Compilação
programa
foo.exe
programa
foo.exe
“linkedição” ou “linkagem”
9Programação de Computadores – UFPel
Compiladores x Interpretadores
 Referem-se ao modo como um programa é executado
 Um interpretador lê o código-fonte do seu programa 
uma linha por vez executando a instrução específica 
contida nessa linha
 Um compilador lê o programa inteiro e converte-o para 
código-objeto
 O código Objeto é uma tradução do código fonte do 
programa em uma forma que o computador possa executar 
diretamente
10Programação de Computadores – UFPel
Compiladores x Interpretadores
 O código objeto também conhecido como código de 
máquina
 Todo Compilador C vem com a biblioteca C padrão
 Muitas das funções que se precisa implementar já 
estão na biblioteca C padrão
 Elas agem com blocos básicos que o programador pode 
combinar
 Se o programador escrever uma função que irá utilizar 
muitas vezes, ela pode ser colocada em uma biblioteca
11Programação de Computadores – UFPel
Compiladores x Interpretadores
 Montador (assembler)
 Tradutor para linguagens de 2a geração
 Compilador
 Traduz todo o programa de uma vez
 Interpretador
 Traduz o programa instrução por instrução
12
TRADUTORCÓDIGO 
FONTE ... LET SOMA = 
VAR1 + TOTAL ... 
(linguagem de 
prog.)
CÓDIGO 
OBJETO ... 
00010110111001011001011010 ..
. (“executável”)
Programação de Computadores – UFPel
Características
 É uma linguagem de alto nível, genérica
 Foi desenvolvida por programadores para 
programadores, tendo como meta características de 
flexibilidade e portabilidade
 
 Utilizada para desenvolver o sistema operacional 
UNIX, e hoje está sendo usada para desenvolver novas 
linguagens, entre elas a linguagem C++, Java, 
entre outras
 Programas em C são compilados, gerando programas 
executáveis
13Programação de Computadores – UFPel
Características
 C é uma linguagem de alto nível com uma sintaxe 
bastante estruturada e flexível tornando sua 
programação bastante simplificada
 C compartilha recursos tanto de alto quanto de baixo 
nível, pois permite acesso e programação direta do 
microprocessador
 Com isto, rotinas cuja dependência do tempo é crítica, 
podem ser facilmente implementadas usando instruções em 
Assembly
 Por esta razão o C é a linguagem preferida dos 
programadores de aplicativos
14Programação de Computadores – UFPel
Características
 C é uma linguagem estruturalmente simples e de 
grande portabilidade
 O compilador C gera códigos mais enxutos e velozes 
do que muitas outras linguagens
 Embora estruturalmente simples (poucas funções 
intrínsecas) o C não perde funcionalidade pois 
permite a inclusão de uma farta quantidade de rotinas 
do usuário
 Os fabricantes de compiladores fornecem uma ampla 
variedade de rotinas pré-compiladas em bibliotecas
15Programação de Computadores – UFPel
Características
 Um cabeçalho contendo as diretivas de compilador 
onde se definem o valor de constantes simbólicas, 
declaração de variáveis, inclusão de bibliotecas, 
declaração de rotinas, etc
 Um bloco de instruções principal e outros blocos de 
rotinas
 Documentação do programa: são os comentários
16Programação de Computadores – UFPel
Características
 Um programa-fonte em C é um texto não formatado 
escrito em um editor de textos usando um o conjunto 
padrão de caracteres ASCII
 A seguir estão os caracteres utilizados em C: 
 a b c d e f g h i j k l m n o p q r s t u v w x y z 
 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
 1 2 3 4 5 6 7 8 9 0 
 + - * / \ = | & ! ? # % ( ) { } [ ] _ ‘ “ . , : < >
17Programação de Computadores – UFPel
Características
 Formação de identificadores: C é case sensitive
 Faz distinção na capitalização dos identificadores de 
variáveis usados em um programa, i.e., os 
identificadores soma, Soma e SOMA são diferentes para o 
compilador C
 Comentários: podem ser escritos em qualquer lugar 
do texto para facilitar a interpretação do algoritmo
 Para que o comentário seja identificado como tal, ele 
deve ter um /* antes e um */ depois
 Exemplo: /* esta e´ uma linha de comentário em C 
*/ 
18Programação de Computadores – UFPel
Sintaxe
 São as regras para cada construção válida em uma 
linguagem específica. Estão relacionadas com:
 Tipos: definem as propriedades dos dados
 Declarações: expressam as partes de um programa
 Funções: especificam as ações que um programa executa, 
quando roda
 Determinação e alteração de valores
 Chamada de funções de I/O
19Programação de Computadores – UFPel
Funções
 São os blocos básicos dos programas em C
 Há funções básicas, definidas na biblioteca C:
 printf (), scanf (), getchar (), putchar ()
 Há funções definidas pelo programador, último 
conteúdo do semestre.
 Todo programa C inicia sua execução chamando a 
função main (), sendo obrigatório a sua declaração 
no programa principal.
20Programação de Computadores – UFPel
Bibliotecas
 Diretiva #include permiteincluir uma biblioteca
 Bibliotecas contêm funções pré-definidas, utilizadas 
nos programas
 Exemplos
21
Funções de texto#include <string.h>
Funções matemáticas#include <math.h>
Funções padrão#include <stdlib.h>
Funções de entrada e saída#include <stdio.h>
Programação de Computadores – UFPel
Funções Matemáticas
22
Função Exemplo Comentário
ceil ceil (x) Arredonda o número real para cima; ceil (3.2) é 4
pow pow (x,y) Calcula x elevado à potência y
exp exp (x) e elevado à potencia x
fabs fabs (x) Valor absoluto de x
floor floor (x) Arredonda o número real para baixo; floor(3.2) é 3
log log (x) Logaritmo natural de x
log10 log10 (x) Logaritmo decimal de x
cos cos (x) Cosseno de x (x em radianos)
sqr sqr (x) X elevado ao quadrado
sqrt sqrt (x) Raix quadrada de x
Sin sin (x) Seno de x
tan tan (x) Tangente de x
Programação de Computadores – UFPel
Exemplo
#include <stdio.h>
/* comentario */
//comentario
main ()
{
 printf ("oi");
}
23Programação de Computadores – UFPel
Identificadores
 São os nomes usados para fazer referência a:
 Variáveis
 Funções
 Módulos
 Rótulos
 Demais objetos definidos pelo usuário
24Programação de Computadores – UFPel
Identificadores
 Regras de Formação:
 O primeiro caracter deve ser uma letra ou sublinhado
 Os 32 primeiros caracteres são significativos
 Case sensitive - difere maiúsculas de minúscula
 Exemplos de identificadores válidos em C:
 a
 A
 Nota
 nota
 _nota
25Programação de Computadores – UFPel
Tipos
 O Tipo serve (grosso modo) para determinar
 Como os valores serão armazenados
 Quais operações poderão ser realizadas sobre estes 
valores
 Tipos para Dados e para Funções
 Tipos escalares
 Tipos não-escalares
 tipo de estrutura, tipo de união, tipo de matriz
26Programação de Computadores – UFPel
Tipos Escalares
 Tipos Aritméticos
 Tipos Inteiros
 char, signed char, unsigned char, short, unsigned short, int, 
unsigned int, long, unsigned long
 Tipos Flutuantes
 float, double, long double
 Tipos Ponteiros
 para funções
 para objetos de dados
 para tipos incompletos
27Programação de Computadores – UFPel
Declarações
 Declaram as variáveis e seus tipos
 Os nomes das variáveis devem conter apenas letras, 
dígitos e o símbolo _
 Os principais tipos são: int, float, double e char
 Exemplos
int n;
int quantidade_valores;
float x, y, somaValores;
char sexo;
char nome[40];
28Programação de Computadores – UFPel
Exemplo
#include <stdio.h>
#include <stdlib.h>
//tamanho dos tipos
main ()
{
 char c;
 unsigned char uc;
 int i;
 unsigned int ui;
 float f;
 double d;
 
 printf ("char %d\n", sizeof (c));
 printf ("unsigned char %d\n", sizeof (uc));
 printf ("int %d\n", sizeof (i));
 printf ("unsigned int %d\n", sizeof (ui));
 prinft ("float %d\n", sizeof (f));
 printf ("double %d", sizeof (d));
 printf (”\n”);
 system (”PAUSE”);
}
29Programação de Computadores – UFPel
Operadores
 Aritméticos (+, -, *, /, %)
 Atribuição (=,+=,-=,*=,/=,%=)
 Relacionais (>, >=, <, <=, ==, !=)
 Lógicos (&&, ||, !)
 Em C, falso é 0 (zero); qualquer outro valor é 
considerado verdadeiro (inclusive negativo)
 Operadores relacionais e lógicos têm menor 
precedência do que operadores aritméticos
30Programação de Computadores – UFPel
Operadores Aritméticos
Operad
or
Exemplo Comentário
+ x + y Soma x e y 
- x – y Subtrai y de x
* x * y Multiplica x por y
/ x / y Divide x por y
% x % y Resto da divisão de x 
por y
++ x++ Incrementa em 1 o valor 
de x
-- y-- Decrementa em 1 o valor 
de y
31Programação de Computadores – UFPel
Operadores de Atribuição
Operad
or
Exemplo Comentário
= x = y Atribui o valor 
de y a x
+= x += y Equivale a x = x 
+ y
-= x -= y Equivale a x = x 
– y
*= x *= y Equivale a x = x 
* y
/= x /= y Equivale a x = 
x / y
%= x %= y Equivale a x = x 
% y 32Programação de Computadores – UFPel
Operadores Relacionais
Operador Exemplo Comentário
== x == y Conteúdo de x é igual ao de y
!= x != y O conteúdo de x é diferente do de y
<= x <= y O conteúdo de x é menor ou igual ao de 
y
>= x >= y O conteúdo de x é maior ou igual ao de 
y
> x > y O conteúdo de x é menor que o de y
< x < y O conteúdo de x é maior que o de y
33
As expressões relacionais em C retornam:As expressões relacionais em C retornam:
• 1 se verdadeiro1 se verdadeiro
• 0 se falso0 se falso
Programação de Computadores – UFPel
Operadores Lógicos
 && (E lógico): retorna verdadeiro se ambos os 
operandos são verdadeiros e falso nos demais casos
Exemplo: if( a>2 && b<3)
 || (OU lógico): retorna verdadeiro se um ou ambos os 
operandos são verdadeiros e falso se ambos são falsos
Exemplo: if( a>1 || b<2)
 ! (NÃO lógico): usada com apenas um operando. 
Retorna verdadeiro se o operando é falso e vice-versa
Exemplo: if( !var )
34Programação de Computadores – UFPel
{De,In}cremento
 ++x
 incrementa x antes de usar o seu valor
 x++
 incrementa x depois de ser usado
 --y
 decrementa y antes de usar o seu valor
 y --
 decrementa y depois de ser usado
35Programação de Computadores – UFPel
Sobre a Precedência
() [] ->
! ~ ++ -- - (tipo) *
& sizeof
* / %
+ -
<< >>
< <= > >=
== !=
&^!
&&
||
?:
= += -= *= /= etc
,
Maior
Menor
36Programação de Computadores – UFPel
Funções Básicas
 printf ()
 Sintaxe: 
printf ("expressão de controle", argumentos);
 É uma função de E/S que permite escrever no dispositivo 
padrão (tela)
 A expressão de controle pode conter:
 caracteres que serão exibidos na tela
 códigos de formatação
 Cada argumento deve ser separado por vírgulas
37Programação de Computadores – UFPel
Funções Básicas
 printf ()
 Códigos de formatação:
 \n (nova linha) 
 \t (tabulação)
 \b (retrocesso)
 \" (aspas)
 \\ (barra)
 \f (salta formulário) 
 \0 (nulo).
38Programação de Computadores – UFPel
Funções Básicas
 printf ()
 Códigos de formatação:
 %c (caractere simples)
 %d (decimal)
 %e (notação científica)
 %f (ponto flutuante)
 %o (octal)
 %s (string)
 %u (decimal sem sinal)
 %x (hexadecimal)
39Programação de Computadores – UFPel
Exemplo - printf ()
#include <stdio.h>
main ()
{
 printf ("este eh o numero dois: %d", 2);
}
#include <stdio.h>
main ()
{
 int a, b;
 float c;
 a = 2;
 b = 10;
 c = 2/( (float) 1/a + (float) 1/b);
 printf ("a= %d b= %d\n", a, b );
 printf ("a média harmônica de a e b é: %f", c);
}
40Programação de Computadores – UFPel
Funções Básicas – scanf ()
 Scanf ()
 Sintaxe:
scanf ("expressão de controle", argumentos);
 É uma função de E/S que permite ler dados formatados da 
entrada padrão (teclado)
 A lista de argumentos deve consistir dos endereços das 
variáveis na memória do computador
 Como obter o endereço de uma variável??
 Colocando um & junto ao nome da variável.
 Ex.: &a (fornece o endereço da variável a)
41Programação de Computadores – UFPel
Exemplo – scanf ()
#include <stdio.h>
main ()
{
 int a, b;
 float c;
 
 printf ("entre com o valor de a\n");
 scanf ("%d", &a);
 printf ("entre com o valor de b\n");
 scanf ("%d", &b);
 c = 2/((float) 1/a + (float) 1/b);
 printf ("a=%d b=%d\n", a, b );
 printf ("a média harmônica de a e b é: %f", c);
}
42Programação de Computadores – UFPel
Utilizando o Dev-C++
 Inicie o Dev-C++ pelo ícone ou pelo menu Iniciar
 Crie um novo arquivo, com o comando File, New Source 
File
 Salve colocando: nome_arquivo.c
43Programação de Computadores – UFPelUtilizando o Dev-C++
#include <stdio.h>
#include <stdlib.h>
main ()
{
 printf ("Alo mundo!");
 system ("PAUSE");
}
44Programação de Computadores – UFPel
Utilizando o Dev-C++
 Compile o programa com a tecla F9, ou utilize 
Compilar/Executar com a tecla F11.
 Se houver algum erro de sintaxe (escrita), aparece 
uma ou mais mensagens no rodapé da janela. Neste 
caso, corrija o programa e repita.
 Se não houver erros, execute o programa irá executar 
normalmente.
45Programação de Computadores – UFPel
Dicas
 Termine todas as linhas com ;
 Sempre salve o programa antes de compilar
 Sempre compile o programa antes de executar
 Quando ocorrer um erro de compilação, dê um duplo 
clique sobre a mensagem de erro para destacar o 
comando errado no programa
 Verifique também a linha anterior, que pode ser a 
responsável pelo erro, especialmente se faltar o ;
 Use comentários, iniciados por //
46Programação de Computadores – UFPel
	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
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46

Continue navegando