Buscar

Introdução à 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 52 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 52 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 52 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

Bruno Jurkovski
Fábio da Fontoura Beltrão
Felipe Augusto Chies
Kauê Soares da Silveira
Lucas Fialho Zawacki
Marcos Vinicius Cavinato
Primeiro Programa
#include <stdio.h>
#include <stdlib.h>
// meu primeiro programa C
int main()
{
/*escrevendo uma mensagem na tela*/
printf(“Entendendo C”);
system(“PAUSE”); 
return 0;
}
Analisando...
� #include <stdio.h> e <stdlib.h>
◦ Este comando inclui bibliotecas necessárias no 
programa (printf , scanf e system);
◦ A inclusão de bibliotecas faz-se utilizando o 
comando #include (sem “;”, pois não se trata de 
uma instrução, mas de uma informação ao pré-
processador);
◦ Utiliza-se bibliotecas para agregar ao programa 
funções não-default do C;
Analisando...
� // meu primeiro programa C
◦ As duas barras (//) fazem com que tudo que 
estiver na mesma linha após // seja 
comentário;
◦ Tudo o que estiver entre “/*” e “*/” é tomado 
como comentário;
◦ Exs.:
//Isto eh um comentario
/*e isto
tb eh um comentario/*
Analisando...
� int main():
◦ Em C tudo o que é executado deve estar em 
uma função; 
◦ Assim, o programa principal encontra-se em 
uma função especial chamada main;
◦ A função main é obrigatória em todo 
programa C;
◦ O conteúdo da função (ou do programa 
principal) é tudo o que estiver entre os { } da 
função;
◦ Note que a função main é do tipo inteiro;
Analisando...
� printf (“Entendendo C”);
�printf imprime na tela o que estiver entre (“...”);
�Só funciona com a biblioteca stdio.h incluída;
� system (“PAUSE”);
�Comando da biblioteca stdlib.h que faz uma 
pausa no programa, exibindo uma mensagem;
�Se omitido o programa terminará muito rápido;
Analisando...
� return 0;
�Como foi visto, a função main é do tipo inteiro, o 
que significa que ela deve retornar um inteiro 
(retornar, nesse caso, refere-se ao Sistema 
Operacional);
�Esse comando determina o fim da função, ou 
seja, do programa principal;
�Qualquer instrução colocada após o comando de 
retorno não será executada;
Variáveis – Tipos de dados
� Os tipos de dados são 4
◦ Inteiros (int): são valores inteiros de no mínimo 
16 bits (-32768 a 32767);
� Ex: 50
◦ Caractere (char): são os caracteres;
� Ex: ‘a’
◦ Ponto flutuante (float): são valores reais de 32 
bits;
� Ex: 3,55124
◦ Ponto flutuante de dupla precisão (double);
� Ex: 3,5555555555554456
Variáveis - Declaração
� Declaramos variáveis com a seguinte 
sintaxe:
tipo_da_variavel nome_da_variavel;
Exemplos:
int var;
float o_nome_que_voce_quiser;
� Também podemos inicializar uma variável 
na declaração:
int variavel_teste = 0;
Variáveis - Declaração
� Podemos declarar diversas variáveis do 
mesmo tipo juntas, usando a sintaxe:
�tipo var1, var2, var3, ... , varN;
� Entretanto, a inicialização deve ser feita 
individualmente. Ex.:
�int x, y, z = 7;
�Declara 3 variáveis (x, y, z) e inicializa z com 
7;
�char ch1 = ‘a’, ch2, ch3 = ‘s’;
Variáveis - Declaração
� Podemos declarar variáveis em 3 lugares 
no programa:
�Fora de todas as funções (variáveis globais);
�No inicio de um bloco de código (só existem 
dentro desse bloco – variáveis locais);
�Como parâmetros de uma função (são 
substituídas pelos valores das variáveis 
passadas, existem apenas dentro da função –
variáveis locais);
Variáveis - Declaração
� Fora de todas as funções (variáveis 
globais);
#include <stdio.h>
int int_global = 10;
int main()
{
printf(“A variavel global eh: %d/n”, 
int_global);
return 0;
}
Variáveis - Declaração
� No início de um bloco de código (só existem 
dentro desse bloco – variáveis locais);
int x = 12; //x global
void funcao()
{
int x = 10; //x local, somente
printf(“%d\n”, x);//existe aqui
}
int main(){
funcao();
printf(“%d\n”, x);
return 0;
}
Imprime 10(que é o ‘x’
dentro da funcao()) e 
depois 12(‘x’ na main)
Variáveis - Declaração
� Como parâmetros de uma função (são 
substituídas pelos valores das 
variáveis passadas);
void funcao(int numero)
{
numero = numero * 4;
printf(“%d”, numero);
}
int main(){
int x = 5;
funcao(5);
return 0;
} 
funcao vai receber “5” e 
vai imprimir 20
Notas importantes sobre o C
� C é case sensitive, ou seja, uma variável 
com nome numero é diferente da variável 
Numero, ou NUMERO;
� Nomes de variáveis não podem começar 
com números ou com alguns caracteres 
especiais; 
�Recomenda-se que comecem com letras, 
pois o compilador usa variáveis que 
começam com caracteres especiais;
Exemplos
� Correto
� int jogador1 = 3;
� float computador_novo, numeroCinco = 5;
� Errado
�double 12dePaus;
�char #letraA;
* Programa exemplo * #include <stdio.h>
#include <stdlib.h>
int global_int = 2; /*variável int global*/
int main()
{
int x = 5; //variáveis locais a main
int y = 12;
int soma1, soma2;
soma1 = x + y;
soma2 = soma1 + global_int;
//imprime somas
printf(“Soma1 = %d\nSoma2 = %d\n”, soma1, 
soma2); 
system(“pause”);
return 0;
}
• Variáveis do tipo const não podem ser 
modificadas, apenas inicializadas;
• É útil para proteger objetos apontados
pelos argumentos de uma função de 
serem modificados por esta função
(assunto que será visto mais tarde).
const int a = 7; 
a = 10; // provocaria erro!!
Constantes
Constantes
� Há duas formas de declararmos 
constantes:
◦ No cabeçalho do programa (válidas em todo o 
programa):
� #define QUANTIDADE 20
� #define NOME “Pedro”
◦ Como variáveis comuns (usando o 
modificador “const”, sujeitas a regras de 
escopo):
//dentro de uma funcao
const int quantidade = 20;
Especificador - Static
�Especificadores informam ao
compilador como a variável deve ser 
armazenada.
�Sua forma geral é:
especificador tipo variável;
Especificador - Static
�Static tem diferentes aplicações em
variáveis locais e globais:
� Local:
É reconhecida apenas no bloco em que
é declarada, porém, retém seu valor entre 
chamadas de função.
Especificador - Static
�Exemplo:
�Saída:
� Global:
� Seu uso fica limitado no arquivo que está
sendo definida.
Especificador - Static
Entrada e Saída – printf()
� printf(): função que imprime informações na 
tela
printf (“INFO”, parâmetros);
� printf() depende da inclusão do cabeçalho 
stdio.h
#include <stdio.h>
Tabela de tipos:
Tipo Código
Inteiro %d, %i
Float, Double %f
Char %c
String %s
%% Imprime %
Entrada e Saída
� Caracteres de barra invertida:
Código Significado
\a Sinal Sonoro
\b Backspace
\n Nova Linha
\t Tabulacao horizontal (tab)
\v Tabulacao vertical
\\ Barra invertida
\? Ponto de interrogação
\’ Aspas simples
\” Aspas duplas
\N Constante em octal
\xN Constante em hexadecimal
printf() - Exemplo#include <stdio.h>
#include <stdlib.h>
//programa exemplo de printf
int main()
{
//declaração de todas as variáveis
int inteiro = 13;
float ptoFlutuante = 14.65;
double duplo = 12.43;
char caractere = ‘A’;
//printf de todas elas
printf(“O inteiro = %d\n”, inteiro);
printf(“O float = %f\n”, ptoFlutuante);
printf(“O double = %f\n”, duplo);
printf(“O caractere = %c\n”, caractere);
system(“pause”);
return 0;
}
Exercícios
� Declare uma variável de cada tipo, 
inicializem-nas fora da declaração como 
quiserem e imprimam todos os valores na 
tela;
� Declare 3 inteiros, inicialize-os com 0 na 
declaração;
Entrada e Saída – scanf()
� scanf(): função que recebe do usuário 
informações:
scanf (“tipos dos dados”, &variáveis);
� Onde os tipos são como na função printf() e as 
variáveis são onde as info. serão armazenadas;
� As variáveis devem ser do mesmo tipo daquele dado 
entre “...”;
� scanf() também necessita do 
cabeçalho stdio.h;
◦ Os tipos de dados são declarados da mesma 
forma que em printf();
Entrada e Saída
� Nota sobre scanf():
�scanf recebe um ponteiro para as variáveis, 
logo antes do nome da variável deve ser 
colocado um “&” – isso será compreendido 
melhor mais a frente do curso;
�strings não necessitam (nem podem receber) 
esse caractere;
�Para leitura de strings o mais recomendado é
gets() (mais adiante);
Exemplo - Scanf()
#include <stdio.h>
#include <stdlib.h>
int main()
{
int idade;
printf(“Entre com sua idade ”);scanf(“%d”, &idade);
idade = idade + 10;
printf(“Sua idade daqui a 10 anos 
sera: %d\n”, idade);
system(“pause”);
return 0;
}
Exemplo 2 – Scanf()
#include <stdio.h>
#include <stdlib.h>
int main()
{
char estringue[20];
printf("Entre com o seu nome: ");
scanf("%s", estringue);
printf("A estringue eh: %s\n", estringue);
system("pause");
return 0;
}
Operadores – Op. Aritméticos
Operador Significado
- Subtração, menos unário
+ Adição
* Multiplicação
/ Divisão
% Modulo Divisão
-- Decremento
++ Incremento
� Exemplos:
� x = k + z; //x recebe k mais z
� x++; /*incremento póstumo x (equivale a x 
= x+1 e a x+=1;*/
Operadores 
Incrementos/Decrementos
� Observe a diferença entre os incremento/decrementos:
int x = 25;
int y = x++;
printf(“%d, %d”, x, 
y)
int x = 25;
int y = ++x;
printf(“%d, %d”, x, 
y)
Saída: x = 26, y = 
25
Saída: x = 26, y = 26
Neste caso:
y recebe 25 e x é incrementado 
ficando 26
Neste caso:
x é incrementado ficando 26 e y 
recebe 26
Operadores
� Operadores de Atribuição:
◦ Em C utilizamos “=“;
� Ex.: int x = a + b;
� Operadores Relacionais:
Operador Significado
> Maior
>= Maior ou igual
< Menor
<= Menor ou igual
== Igual
!= Diferente
Observação
� Não confundir o op. de ATRIBUIÇÃO “=“
com o op. RELACIONAL “==“;
� Ex:
� if (numero = 5) “ERRADO”
� if (numero == 5) CORRETO
�char letra == ‘a’; ERRADO
�char letra = ‘s’; CORRETO
Operadores
� Operadores Lógicos
Operador Significado
&& AND
|| OR
! NOT (unário)
& AND bit a bit
| OR bit a bit
^ XOR bit a bit
~ NOT bit a bit
>> Shift right
<< Shift left
Abreviação de expressões
Expressão Original Expressão Abreviada
x = x + k; x += k;
x = x – k; x -= k;
x = x * k; x *= k;
x = x / k; x /= k;
Exercício
� Faça um programa que receba uma 
temperatura em Celsius e devolva a 
mesma temperatura em Fahrenheit;
� F = C x 1,8 + 32
� Faça um programa que calcule o IMC 
(índice de massa corpórea) de uma 
pessoa, dada sua altura e peso;
�Fórmula do IMC:
� peso / altura2
Estruturas de Controle de Fluxo
�Blocos
�Blocos são declarações e 
expressões agrupadas com { }, que
equivalem, sintaticamente, a uma
expressão única. 
�As chaves são obrigatórias apenas
em comandos de controle de fluxo
(if, for, while, else...) com mais de 
um comando e em funções.
� if-else
� O comando if é utilizado para
expressões de condição
� Sua forma geral é:
if (expressão) {
declaração;
}
else{
declaração;
}
onde a parte do else é opcional.
Estruturas de Controle de Fluxo
Não são usadas “{ }”
pois são seguidos de 
apenas um comando 
If - Else
� Exemplo:
�Saídas
If - Else
� Elabore um programa que faça a leitura (a partir do 
teclado) da temperatura de três cidades.
Depois de coletados os dados, mostrar ao usuário 
quais as cidades cuja temperatura excede 25 
graus.
• Exemplo:
Exercício
� if-else-if
� É uma extensão de else- if.
� Sua forma geral é:
if (condição_1) 
declaração_1;
else if (condição_2) 
declaração_2;
...
else if (condição_n) 
declaração_n;
else
declaração_default;
Estruturas de Controle de Fluxo
If – Else –If (‘Ifs’ encadeados)
� Exemplo:
If – Else –If (‘Ifs’ encadeados)
�Switch
�É um comando de seleção múltipla
� Testa o valor de uma expressão
contra uma lista de inteiros ou
caracteres
Estruturas de Controle de Fluxo
�Sua forma geral é:
switch (variável) {
case constante_1:
declaração_1;
break;
case constante_2:
declaração_2;
break;
...
case constante_n:
declaração_n;
break;
default:
declaração_default;}
Break:
Se não for usado,
segue executando 
os outros 
comandos 
s
Switch
Se não tivesse o
break e ch fosse 1, 
ele imprimiria na tela 
“Você digitou 1.” e 
seguiria executando 
“Você digitou 2.”
Switch - exemplo
Switch - exemplo
Saída
� Fazer um menu de opções (vide modelo) 
que processa um inteiro conforme a opção 
selecionada pelo usuário. Usar o comando 
"switch".
Exercício

Outros materiais