Buscar

LinguagemC-1

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 34 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 34 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 34 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

Gustavo Luís F. Vicente
Linguagem C
MÓDULO 1
Introdução
Linguagem C 2
Preliminares
 Plano de Ensino
 Dinâmica
 Aulas em sala (PPT / cuspe & “giz”)
 Exercícios, exercícios, e mais exercícios...
 Material
 Livros sobre C da biblioteca
 C padrão ANSI
 C Completo e Total
 Apostilas
 Listas de exercícios
 ConexãoUFF
Linguagem C 3
Preliminares
 Avaliações 1, 2 e 3
 Prova (100%)
 Todos individuais, sem consulta
 VS: matéria toda
Linguagem C 4
Preliminares
Aulas
Provas 1, 2, 3
VS
Feriado / Recesso
Compensação
Linguagem C 5
O Que é um Computador?
• Computador
– Dispositivo capaz de executar cálculos e tomar decisões lógicas
– Computadores processam dados sob o controle de um conjunto 
de instruções chamado programa
• Hardware
– Vários dispositivos formando um computador
– Teclado, vídeo, mouse, discos, memória, CD-ROM, unidades de 
processamento
• Software
– Programas que são executados no computador
Linguagem C 6
Unidades Lógicas do Computador
• Seis unidades lógicas em todo computador
– Unidades de entrada (Input unit)
• Obtém informação de dispositivos de entrada (teclado, mouse, etc)
– Unidades de saída (Output unit)
• Mostra informações (em monitores de vídeo, impessoras, etc)
– Unidades de memória
• Acesso rápido, baixa capacidade, armazena informações de entrada
– Unidade Lógica e Aritmética (ALU) 
• Executa cálculos aritméticos e decisões lógicas
– Unidade Central de Processamento (CPU) 
• Supervisiona e coordena as outras unidades do computador
– Unidade secundária de armazenamento
• Barato, duradouro, alta capacidade de armazenamento
• Armazena programas
Linguagem C 7
Linguagens de Computador
– Linguagem de máquina
• Sequência de números que definem instruções específicas
• Exemplo:
+1300042774
+1400593419
+1200274027
– Linguagem Assembly
• Abreviações (normalmente em inglês) que representam operações 
elementares do computador (“traduzidos” via assemblers, para 
linguagem de máquina)
• Exemplo:
LOAD salario
ADD comissao
STORE pagto
Linguagem C 8
Linguagens de Computador
– Linguagens de alto nível
• Código próximo da linguagem natural
• Uso de notação matemática (“traduzidos” via compiladores)
• Linguagens: C, C++, Pascal, Basic, Fortran, Cobol, Algol, etc
• Exemplo:
pagto = salario + comissao
Linguagem C 9
Ciclo de desenvolvimento de programas
EDIÇÃO COMPILAÇÃO
.bas, .c, .cpp, 
.pas, .for, etc
.obj
Código-fonte Código-objeto
LINKEDIÇÃO
.exe
Código-
executável
Erro de lógica
(execução)
Erro de 
sintaxe
Linguagem C 10
Histórico da linguagem C
• Criada em 1971, por Dennis Ritchie e Brian Kernighan
• Definida a partir da linguagem B, derivada da BCPL
• Criada inicialmente no ambiente Unix
• Padronizada pela ANSI, em 1989
Linguagem C 11
Características Básicas
• Minimalista
– sem termos desnecessários, sem redundâncias
– p.ex.: o if não tem then
• Sem verificações de limites
– p.ex.: pode-se acessar o 11º elemento de um vetor de 10 
elementos
• Composto por funções
– blocos de código, identificados por um nome
Linguagem C 12
Bibliotecas de Funções
• Programas em C são formados por funções
– Um programador pode criar suas próprias funções
• Vantagem: o programador sabe exatamente como ela funciona
• Desvantagem: tempo gasto
– Programadores normalmente utilizam funções da biblioteca do C
• Use-as como blocos funcionais (tipo caixa-preta)
– Evite reinventar a roda
• Se uma função já existe e faz o que você precisa, prefira utilizá-la a 
criar a sua própria
• Funções das bibliotecas: criadas e testadas, eficientes e portáveis
Linguagem C 13
Um programa Simples em C
1 /* Primeiro programa em C */
2 #include <stdio.h>
3 
4 /* Função main() inicia a execução do programa */
5 int main()
6 {
7 printf( ”Benvindo à linguagem C!\n" );
8 
9 return 0; /* Indica que o programa terminou normalmente 
*/
10 
11 } /* Fim da função main() */
Benvindo à linguagem C!
Comentários em C
• Texto cercado por /* e */ é ignorado pelo compilador
• Usado para descrever o programa
Este programa
escreve uma linha
de texto na tela.
Linguagem C 14
Um programa Simples em C
#include <stdio.h>
• diretiva de compilação ou diretiva do pré-processador
• instrui o compilador a incluir um arquivo na compilação do programa
• o arquivo stdio.h declara as funções de entrada/saída 
• stdio.h é uma das bibliotecas de funções do C
• os símbolos < e > indicam que o compilador irá procurar o arquivo no
diretório default (que normalmente não é o diretório de trabalho)
• se o arquivo a ser incluído estiver no diretório de trabalho, utilizam-se as
aspas dúplas no lugar de <...>
•p.ex.: #include “meu_arquivo.h”
Linguagem C 15
Um programa Simples em C
int main()
• todo programa em C é composto por funções, sendo que a única
obrigatória é a função main()
• os parênteses indicam que main é uma função
• int significa que a função main() retorna um valor inteiro
• as chaves { e } indicam um bloco de instruções
• o corpo de toda função deve estar contido entre chaves
Linguagem C 16
Um programa Simples em C
printf("Benvindo à linguagem C! \ n");
• instrui o computador a executar uma ação
• no caso, escreve a cadeia de caracteres entre aspas duplas
• toda a linha é chamada de instrução
• todainstrução deve ser terminada com um ponto-e-vírgula (;)
• caracter de escape
• indica que a função printf() deve executar alguma coisa a mais
• \n representa o caracter newline (mudança de linha)
Linguagem C 17
Um programa Simples em C
Algumas sequências de escape comumente usadas:
\n newline - cursor vai para o início da próxima linha
\t horizontal tab - move o cursor para o próximo tab
\a alert - emite sinal sonoro
\\ contra-barra - insere uma contra-barra
\” aspas duplas - insere aspas duplas
Linguagem C 18
Um programa Simples em C
return 0;
• uma maneira para sair da função
• return o, neste caso, indica que a função terminou normalmente
Fecha chave }
• indica que o fim da função foi alcançado
Linguagem C 19
Um parênteses: desenvolvendo no Linux
Preparando o ambiente
 Acessar: Aplicativos-->Acessórios-->Terminal
 Criar um diretório de trabalho (apenas uma vez):
mkdir ProgC
• Quando vamos programar, entramos no diretório de 
trabalho:
cd ./ProgC
Linguagem C 20
Um parênteses: desenvolvendo no Linux
editor
• Acessar: Aplicativos-->Acessórios-->Editor de Texto
• editamos o código-fonte
• salvamos com a extensão .c
gcc
• compilador de linguagem C
• compila e linkedita
• após edição, compilamos (e linkeditamos) com o gcc
• No terminal:
gcc arq_fonte.c –o arq_executavel
• se compilação OK, executamos:
• ./arq_executavel
Linguagem C 21
Imprimindo uma linha com dois printf()
O resultado é o mesmo
1 /* Primeiro programa em C */
2 #include <stdio.h>
3 
4 /* Função main() inicia a execução do programa */
5 int main()
6 {
7 printf( ”Benvindo à “);
8 printf( “linguagem C!\n" );
9 
10 return 0; /* Indica que o programa terminou normalmente */
11 
12 } /* Fim da função main() */
Benvindo à linguagem C!
Linguagem C 22
Um outro programa simples
1 /* Segundo programa:
2 Programa de adição de dois inteiros */
3 #include <stdio.h>
4 
5 /* Função main() inicia a execução do programa */
6 int main()
7 {
8 int inteiro1; /* Primeiro valor a ser digitado pelo usuário */
9 int inteiro2; /* segundo valor a ser digitadopelo usuário */ 
10 int soma; /* Variável que receberá o resultado da soma */
11 
12 printf( ”Digite o primeiro inteiro\n" ); /* prompt */
13 scanf( "%d", &inteiro1 ); /* lê um inteiroi */
14 
15 printf( ”Digite o segundo inteiro\n" ); /* prompt */
16 scanf( "%d", &inteiro2 ); /* lê um inteiro */
17 
18 soma = inteiro1 + inteiro2; /* Atribui o total a soma */
19 
20 printf( ”A soma é %d\n", soma ); /* Mostra soma */
21 
22 return 0; /* Indica que o programa terminou normalmente */
23 
24 } /* Fim da função main() */
Linguagem C 23
Um outro programa simples
Digite o primeiro inteiro
45
Digite o segundo inteiro
72
A soma é 117
Saída do programa
Linguagem C 24
Um outro programa simples
Como antes: comentários, #include <stdio.h> e main()
int inteiro1, inteiro2, soma; 
• declaração de variáveis
• variáveis: posições de memória onde podemos guardar um valor
• int significa que as variáveis podem armazenar valores inteiros
• nome das variáveis (identificadores)
• inteiro1, inteiro2, soma
• identificadores
•consiste de letras (maiusculas e/ou minúsculas), dígitos (0 a 9) e
underscore („_‟)
• não pode começar com número
• case sensitive: letra maiúscula é diferente de letra minúscula
Linguagem C 25
Um outro programa simples
scanf ("%d", &inteiro1); 
• Obtém um valor do usuário
• scanf() usa a entrada padrão (normalmente o teclado)
• Esta instrução scanf() tem dois argumentos
• “%d” - indica que o valor a ser digitado deverá ser um inteiro decimal
• &inteiro1 - posição de memória onde o valor será guardado
• & é um operador que estudaremos mais adiante; por enquanto apenas
não se esqueça de colocá-lo antes do nome da variável, em instruções 
scanf()
•Durante a execução do programa o usuário responde à instrução
scanf() digitando um valor (inteiro, neste caso), e pressionando 
a tecla ENTER
Linguagem C 26
Um outro programa simples
= (operador de atribuição de valor)
• Atribui um valor a uma variável
• É um operador binário (precisa de dois operandos)
• soma = variavel1 + variavel2;
• soma recebe (variavel1 + variavel2)
• regra: a variável à esquerda recebe o valor da direita 
var1 = var2 + var3
Linguagem C 27
Um outro programa simples
printf("A soma é %d \ n", soma);
• similar ao scanf()
• %d significa que um inteiro decimal será mostrado
• soma especifica que inteiro será mostrado
• cálculos podem ser executados dentro de instruções printf()
printf("A soma é %d \ n", inteiro1 + inteiro2);
Linguagem C 28
Conceitos de Memória
Variáveis
• nomes de variáveis correspondem a posições de memória
• toda variável possui um nome, um tipo, um tamanho e 
um valor (conteúdo)
• sempre que um novo valor é guardado em uma variável (através do
scanf(), por exemplo), este novo valor substitui (sobrescreve) o
valor anterior
• a leitura de uma variável não altera o seu valor
• Uma representação visual
45inteiro1
Linguagem C 29
Conceitos de Memória
Uma representação visual (cont.)
45inteiro1
72inteiro2
?soma
45inteiro1
72inteiro2
117soma
Antes da soma Depois da soma
Linguagem C 30
Aritmética
• Cálculos aritméticos
• Use * para multiplicar e / para dividir
• Divisão de inteiros trunca o resultado
• 7 / 5 resulta em 1
• Operador % retorna o resto de divisão de inteiros
• 7 % 5 resulta 2
• Precedência de operadores
• Alguns operadores aritméticos são executados antes de outros
(p.ex.: multiplicação antes de adição)
• use parênteses quando necessário
• Exemplo: calcule a média de três variáveis a, b e c
• Não faça: a+b+c/3
• Faça: (a+b+c)/3
Linguagem C 31
Aritmética
• Operadores aritméticos
Operador Função Expressão em C
+ Adição a + b
- Subtração a - b
* Multiplicação a * b
/ Divisão a / b
% Resto a % b 
• Precedência de execução
• ( ) Executado primeiro. Se houver vários parênteses na mesma
expressão, os mais internos são processados antes.
• *, /, % Executados em segundo. Se existem vários na mesma
expressão, executados da esquerda para a direita.
• +, - Executados por último. Se existem vários na mesma
expressão, executados da esquerda para a direita.
Linguagem C 32
Aritmética: precedência
y = 2 * 5 * 5 + 3 * 5 + 7
2 * 5 resulta 
y = 10 * 5 + 3 * 5 + 7
10 * 5 resulta 
y = 50 + 3 * 5 + 7
3 * 5 resulta 
y = 50 + 15 + 7
50 + 15 resulta 
y = 65 + 7
65 + 7 resulta 
y = 72
Passo 1:
Passo 2:
Passo 3:
Passo 4:
Passo 5:
Passo 6:
10
50
15
65
72
Linguagem C 33
Palavras Reservadas do C
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
• A linguagem C possui 32 palavras reservadas
• Palavras reservadas não podem ser usadas como
identificadores, ou seja, para nomear variáveis, funções ou
tipos definidos pelo usuário.
Linguagem C 34
Exercícios
1.Programa que pede o ano de nascimento e informa a 
idade da pessoa.
2. Você vai para os states, mas lá só se mede a 
temperatura em graus Farenheit (°F). Faça, então, um 
programa que pede a temperatura em °F e mostra a 
temperatura correspondente em °C, sabendo a fórmula de 
conversão °F  °C:
C = (F–32)/1.8
1.A turma vai fazer um churrasco para comemorar o 
retorno das aulas. Você ficou encarregado de calcular a 
quantidade de carne a ser comprada. Sabendo que cada 
pessoas come, em média, 300g de carne, faça uma 
programa que pede o número de pessoas e informa a 
quantidade de carne a ser comprada, em kg.

Outros materiais