SlideShare une entreprise Scribd logo
1  sur  78
Télécharger pour lire hors ligne
Introdução a C
Yuri Tavares dos Passos
Histórico
● Nas universidades de Cambridge e de Londres
criou-se a linguagem CPL (Combined
Programming Language) em 1963.
● Martin Richards (Cambridge) cria a linguagem
BCPL (Basic Combined Programming
Language).
● Ken Tompson do Laboratório Bell cria a
linguagem B em 1970 para o computador PDP-
11.
Histórico
● O Unix é re-escrito na linguagem B,
linguagem interpretada, portanto lenta.
● Como o PDP-11 era orientado por palavra
em vez de byte, assim apareceu a
necessidade de uma sucessora de B.
● Denis Ritchie do Laboratório Bell cria
linguagem C em 1972.
Histórico
● O Unix foi desenvolvido em 1969 sendo
codificado em Assembly e foi re-escrito em
C em 1973. Desse fato gerou a história de
C ser conhecido como uma linguagem de
desenvolvimento de sistemas
operacionais.
Características
● É uma linguagem de programação imperativa.
● Esta forma de programação também é
conhecida como programação modular, ou
programação procedural.
● É uma extensão da programação
estruturada, que afirma que todo programa
pode ser feito utilizando apenas sequências
de comandos, seleções e repetições.
Características
● O nome modular vem da palavra módulos.
● Isto quer dizer que seu programa pode ser
dividido em módulos que possuem um objetivo
específico e resolvem um pequeno problema.
● A união de todos os módulos forma a solução
de um problema maior que é o objetivo do
sistema computacional a ser escrito em
programação modular.
Características
● A programação imperativa descreve um
programa por etapas que correspondem a ações
do que o computador deve fazer para alcançar um
objetivo.
● Verbos no modo imperativo são usados para
denotar estas ações.
● Exemplo:
leia(numero)
escreva(2*numero)
Características
● O nome programação procedural vem da
palavra procedimento.
● Baseia-se na declaração de funções e
procedimentos para construção de
sistemas. Em C, o programa principal é
uma função que chama outras.
● Um módulo pode ser visto como cada uma
destas funções ou procedimentos.
Características
● C é utilizada em programas que prezam pela
execução rápida, como análises numéricas,
processamento de imagens e vídeos,
aplicações de tempo real, drivers de
hardware, etc.
● C também pode ser usada para escrita de
bibliotecas de procedimentos (Ex.: DLL) que
podem servir como extensões ou plugins de
softwares.
Características
● São exemplos de aplicações científicas
com intenso processamento tais como
meteorologia, oceanografia, física,
astronomia, geofísica, engenharia e
economia
Características
● C é uma linguagem de médio nível, pois ela
também pode ser usada em conjunto com
partes escritas em linguagem de máquina.
– Uma linguagem de alto nível é mais próxima da
linguagem humana.
● Ex.: Portuguol do Visualg.
– Uma linguagem de baixo nível é mais próxima da
linguagem de máquina.
● Ex.: Assembly.
Características
● Possui os comandos clássicos de controle de
execução.
● Possui uma sintaxe bem definida para a formação
de programas.
● Faz distinção entre letras maiúsculas e minúsculas.
– Nota ≠ nota
– Valor ≠ valor
– F ≠ f
Características
● Um comando em C é terminado com “;”
(ponto-e-vírgula).
● Um programa em C:
1) Importação de módulos (ou bibliotecas)
contendo outras funções ou comandos;
2) Execução do bloco principal,
representado pela função int main().
Características
/* Inclusão de módulos ou bibliotecas
de funções (opcional) */
#include <módulo>
#include “módulo”
int main(){
/* Bloco principal */
return 0;
}
Primeiro programa
Identificadores
● São os nomes utilizados para criação de componentes
dos programas, tais como variáveis e constantes.
● Possuem regras rígida de definição
– Utilizar apenas letras, números e o caractere “_”
– Começar com uma letra ou o caractere “_”
– Exemplos válidos
● Nome1, NomePessoa, nome_pessoa, nome5, _nome_
– Exemplos inválidos
● 2nome, nome pessoa, p$nome, p-nome.
Tipos de dados básicos
● char
– Usado para representa um caractere apenas. Cada
caractere representa um número, letra ou símbolo que
pode ser inserido via teclado ou representado pelo
computador.
– Um caractere constante pode ser representado por uma
letra, dígito ou símbolo entre aspas simples.
● Ex: 'a', '0', '&', '*'
– Se for necessário utilizar a própria aspas siples deve-se
utilizar o caractere  antes.
● Ex: '''
Tipos de dados básicos
● int
– Representa números inteiros.
● float
– Representa números reais com precisão baixa.
● double
– Números reais com precisão dupla.
● As casas decimais dos números reais são
representados por ponto.
– Ex: 13.456
Tipos de dados básicos
● O char apesar de representar caracteres,
ele também pode ser usado para
representar números pequenos de apenas
um byte.
● Na realidade, um caractere é um número
inteiro que o computador sabe representar
em símbolos.
Tipos de dados básicos
● Tabela de símbolos (excerto)
Binário Decimal Hexadecimal Glifo
0100 0000 64 0x40 @
0100 0001 65 0x41 A
0100 0010 66 0x42 B
0100 0011 67 0x43 C
0100 0100 68 0x44 D
0100 0101 69 0x45 E
0100 0110 70 0x46 F
0100 0111 71 0x47 G
0100 1000 72 0x48 H
0100 1001 73 0x49 I
Tipos básicos Tamanho Precisão
char -> p/ caracteres 1 byte - 128 a + 127
int -> p/ inteiros 4 bytes* -2147483648 a
2147483647
float -> p/ reais 4 bytes* -3.4E-38 a +3.4E+38
double -> p/ reais 8 bytes* -1.7E-308 a +1.7E+308
* Variam a depender do processador
Tipos de dados básicos
Variáveis e atribuições
● As variáveis podem ser declaradas em
qualquer parte do código. Não existem
uma parte específica onde devem ser
declaradas.
● As atribuições em C são feitas utilizando o
simbolo =.
Variáveis e atribuições
Variáveis e atribuições
● Por conta disso, surge o conceito de
declaração local e global.
● Uma declaração é local se apenas uma
parte do código consegue utilizar o que foi
declarado.
● Uma declaração é global quando todo o
programa consegue utilizar o que foi
declarado
Variáveis e atribuições
Variáveis e atribuições
● A área de código que uma declaração de
variável abrange dentro do código é
conhecida como escopo desta variável.
Modificadores de tipos
● Os tipos básicos podem ser modificados
utilizando-se palavras chaves especiais.
● São elas:
Tipo Descrição
unsigned Não usa o bit de sinal
long Aumenta o número de bytes usados
register Usa os registradores da CPU para a variável
signed Usa o bit de sinal (padrão)
short Utiliza o tamanho padrão
Modificadores de tipos
Tipo Tamanho Precisão
Unsigned int 4 bytes* 0 a 4294967295
Long [int] 8 bytes* -263
a 263
-1
Unsigned long [int] 8 bytes* 0 a 264
- 1
long double 12 bytes 96 bits em IEEE 754
* Variam a depender do processador
● Exemplos:
Modificadores de tipos
● Existe também o modificador const que
torna uma variável constante.
● Assim, o valor daquela variável será
atribuído somente uma vez, não podendo
ser alterado novamente durante a execução
do programa.
Modificadores de tipos
Frases literais
● Frases escritas em tela devem ser usadas com aspas
duplas.
● Se forem utilizados caracteres especiais, devem ser
usados com  antes.
– Se existir a necessidade de escrever frases contendo aspas
duplas também
● Caracteres especiais mais comuns:
– n: Quebra de linha
– : Uma barra 
– xNN: um caractere cujo código em hexadecimal é NN.
Frases literais
● Exemplos:
● "Olá, mundo!"
● "Este exemplo possui aspas: "Olá, mundo!""
● "Uma linha.nDuas linhas.nTrês linhas."
● "O operador  é usado no Visualg para realizar a
operação "quociente"."
Variáveis para literais
(strings)
● Frases ou textos literais são conhecidos na
programação como string ou cadeia.
● Uma string é uma sequência de caracteres.
Para declarar uma variável do tipo string deve-
se:
1) usar a palavra char,
2) declarar o nome da variável,
3) em seguida indicar a quantidade máxima de
caracteres que esta variável deve armazenar.
Variáveis para literais
(strings)
● Exemplos:
– char texto[255];
– char msg[120];
– char nome[100];
– char palavra[10];
– char msg1[100], msg2[40];
Comentários
● São trechos de código que não são compilados.
● Servem para documentar o código, explicando partes
do código fonte, com o intuito de auxiliar quem está
lendo.
● Comentário de uma linha:
// comentário
● Comentário de bloco, com várias linhas:
/* comentário
comentário
comentário */
Operadores aritméticos
● Os operadores aritméticos utilizados são:
Operação Símbolo Descrição
Adição + Realiza a soma entre dois operandos
Subtração - Realiza a subtração entre dois operandos
Multiplicação * Realiza a mutiplicação entre dois operandos
Divisão / Realiza a divisão entre dois operandos
A precedência é a mesma da usada nos
algoritmos, podendo ser alterada através do
uso de parênteses. Exemplos:
2 * pi * raio
(n1 + n2 + n3) / 3
Operadores aritméticos
● Observação sobre divisão
– Caso os dois argumentos sejam inteiros, o resultado
será um número inteiro
– Caso qualquer um dos argumentos seja número real
(float, double, etc.) o resultado será um número real.
● Exemplos:
3/2 = ?? 1/2 = ??
3/2.0 = ?? 1.0/2 = ??
Valores lógicos em C
● Na linguagem C, não existe variáveis do tipo
lógico.
● Para isto, C utiliza variáveis inteiras para
expressar valores lógicos.
● Assim, um valor inteiro igual a 0, representa
falso. Um valor inteiro diferente de zero é
considerado verdadeiro.
– Costuma-se usar 1 para representar verdadeiro em
C.
Operadores relacionais
● São utilizados para construção de
expressões lógicas.
● Em C, os operadores relacionais retornam
0 ou 1.
Relação Operando Exemplo Descrição
Igual == a == b Verifica se a é igual a b
Diferente != a != b Verifica se a é diferente de b
Maior > a > b Verifica se a é maior que b
Operadores relacionais
Relação Operando Exemplo Descrição
Menor < a < b Verifica se a é menor a b
Maior ou
igual
>= a >= b Verifica se a é maior ou igual a b
Menor ou
igual
<= a <= b Verifica se a é menor ou igual a b
Operadores relacionais
● Exemplos:
– altura > 19
– idade < 10
– faltas == 0
– media != 6.0
– salario >= 800.00
– valor <= 100
Operadores lógicos
● Operadores capazes de conectar
expressões relacionas ou lógicas. Em C,
retornam 0 ou 1.
Operação Resultado
&& Será 1, quando todos os operandos forem
diferentes de 0, caso contrário será 0.
|| Será 0, quando todos os operandos forem 0,
caso contrário será 1.
! Inverte o valor da expressão lógica (Qualquer
valor diferente de 0 passa a ser 0 e 0 passa a ser
1).
Operadores lógicos
● Precedência:
1º) não: !
2º) e: &&
3º) ou: ||
● Exemplos:
– Considere a = 2, b = 3, c = 4 e d = 5.
– !(a > b) && (c <= d)
– (a == b) || (c != d)
Operadores binários
● São operadores que manipulam os bits de
uma variável. São eles:
Operação Operador Exemplo Descrição
E binário & A &B Aplica um E bit a bit nos
bits de A e de B.
OU binário | A | B Aplica um OU bit a bit
nos bits de A e de B.
NÃO binário ~ ~A Aplica o NÃO em cada
bit de A.
Operadores binários
Operação Operador Exemplo Descrição
Deslocamento
à direita
>> A >> B Desloca os bits de A
para direita, B vezes. B
deve ser um número
inteiro. São colocados
zeros nos bits da
extrema esquerda.
Deslocamento
à esquerda
<< A << B Desloca os bits de A
para esquerda, B vezes.
B deve ser um número
inteiro. São colocados
zeros nos bits da
extrema direita.
Operadores binários
● Exemplos:
– char a = 2, b = 15; //a = 0000 0010 b = 0000
1111
– char c = a & b; //c = 0000 0010
– c = a | b; //c = 0000 1111
– c = ~a; //c = 1111 1101
Operadores binários
● Exemplos:
– char valor = 2; //valor = 0000 0010
– valor = valor << 2; //valor = 0000 1000
Operadores abreviados
● São operadores que abreviam operações usuais em
programação. O uso delas pode tornar a execução do
executável mais rápida.
● Incremento e decremento de 1:
++: incremento de 1
-- : decremento de 1
● Exemplos:
– valor++;
– quantidade--;
– ++folhas;
– --faltas;
Operadores abreviados
● A posição deles influencia
– valor++ será executado por último após outros
comandos.
– ++valor será a primeira coisa a executar numa linha.
● Exemplos:
– Suponha v = x = 1:
float A = v++ /2.0;
float B = ++x /2.0;
Operadores abreviados
● +=: incremento de um valor arbitrário.
● Uso:
<variável> += <expressão>;
● Significa o mesmo que:
<variável> = <variável> + <expressão>;
● Exemplos:
– valor+=3; //valor = valor + 3;
– x += y*2; //x = x + y*2;
Operadores abreviados
● O mesmo ocorre com -=, *=, /=, <<=, >>=,
&= e |=.
Comando de escrita
(impressão)
● Para escrever algo na tela é necessário
incluir o módulo stdio.h. Dentro deste
módulo, existe o comando:
printf()
● O comando printf() possui 1 ou mais
argumentos.
– O primeiro argumento é um literal.
– Os demais argumentos são opcionais.
Comando de escrita
(impressão)
● Com um argumento podemos apenas
escrever frases.
● Exemplos:
– printf("Olá, mundo!")
– printf("Olá, mundo!n")
– printf("1n2n3n4")
Comando de escrita
(impressão)
● Para escrevermos os valores das variáveis
com printf, deve-se utilizar os argumentos
opcionais, de tal forma que cada
argumento corresponde a aparição da
variável na frase que será escrita.
● Além disso, é necessário especificar a
posição na frase em que a variável irá
aparecer e o tipo de variável.
Comando de escrita
(impressão)
● Existem várias especificações de tipos que
podem ser impressos pelo printf. Apenas
os mais usuais serão mostrados a seguir.
Comando de escrita
(impressão)
● %i ou %d: números inteiros decimais.
● %x, %X: números inteiros hexadecimais
com letras minúsculas e letras maíusculas,
respectivamente.
● %f: números reais.
● %e, %E: representa em notação científica
com e ou E, respectivamente.
Comando de escrita
(impressão)
● %g: Usa a menor versão entre %f e %e.
● %G: Usa a menor versão entre %f e %E.
● %c: caracteres
● %s: frases literais armazenadas em
variáveis (strings)
● %p: ponteiros
Comando de escrita
(impressão)
Comando de escrita
(impressão)
● Formatação da saída.
– A forma como os valores das variáveis são
escritas na tela podem ser modificadas no printf. É
possível:
● fixar a quantidade de casas decimais de um número
real;
● Preencher com espaços à esquerda, caso o número
seja pequeno;
● Preencher com zeros à esquerda;
● Etc.
Comando de escrita
(impressão)
Comando de escrita
(impressão)
Comando de escrita
(impressão)
Comando de escrita
(impressão)
Comando de leitura
● Para lermos valores e armazená-los em variáveis,
usa-se o comando scanf.
● O primeiro argumento do scanf é um literal que
deve especificar o tipo da variável, idêntico ao
printf.
● O demais argumentos são as variáveis que serão
lidas, todas começando com &.
● Cada variável armazena o valor apenas após ser
lido o ENTER.
Comando de leitura
● Exemplos:
scanf("%c",&c1);
scanf("%c %c",&c1,&c2);
scanf("%i",&x);
scanf("%i %i %i",&x,&y,&z);
scanf("%f",&salario);
Comando de leitura
● Quando a variável a ser lida for do tipo
literal (também conhecido como string),
não utiliza &.
● Exemplo:
char frase[100], msg1[20], msg2[20];
scanf("%s", frase);
scanf("%s %s", msg1, msg2);
Comando de leitura
Code::Blocks
Code::Blocks
Linha de comando (Linux)
● Mudar para o diretório onde estão seus
códigos em C. Suponha que ele esteja no
diretório /home/nome/c/:
– cd /home/nome/c/
● Suponha que você tenha salvo um arquivo
com nome aula01.c. Para compilá-lo pela
linha de comando, digite:
– gcc aula01.c
Linha de comando (Linux)
● Ao compilar, será gerado um arquivo com
nome a.out. Se você quiser gerar um
arquivo executável com nome próprio use a
opção -o, assim:
– gcc -o aula01 aula01.c
● Execute seu programa digitando ./ antes do
nome do seu programa.
– ./aula01
Linha de comando (Linux)
Exercícios
1) Elaborar um programa que receba a idade de
uma pessoa em número de anos, calcule e
escreva essa idade em meses, dias, horas e
minutos.
2) Elaborar um programa para calcular a diferença
de preços de um determinado produto,
comparando os preços de compra atual e anterior.
O programa deve obter os preços atual e anterior
e exibir a diferença algébrica e percentual dos
preços.
Exercícios
3) Escrever um programa para efetuar o
cálculo da quantidade de litros de
combustível gastos em uma viagem,
sabendo-se que o veículo faz 9 km/litro. O
usuário informará a velocidade média e o
tempo despendido na viagem. (Obter o
tempo em horas e minutos, em separado).
O programa deve apresentar a distância
percorrida e a quantidade de litros gastos.
Exercícios
4) Elaborar um programa para calcular o comprimento
de um círculo, obtendo como entrada a medida do
raio(r). A fórmula da área é 2*pi*raio.
5) Em certa disciplina, a nota média do aluno é
calculada com base em três provas. A primeira prova
tem peso 3, a segunda tem peso 3 e a terceira tem
peso 4.  Fazer um programa para calcular e
apresentar a nota média, tendo como dados de
entrada o nome do aluno e as notas referentes as três
provas e como saída o nome e a média calculada.
Exercícios
6) João deseja fazer um programa em C que
imprima todos os números reais 0.333, 0.25,
0.20 e 0.166. Ele fez o seguinte programa
para isto:
Mas seu programa só escreve zeros. Por quê?
Corrija o programa dele usando o operador da
divisão.
Exercícios
7) O comando sizeof() pode ser usado para descobrir o
tamanho de variáveis ou tipos de variáveis. O programa
abaixo escreve 1 na tela, visto que char é sempre 1 byte.
Faça um programa em C que use o comando sizeof() para
descobrir o tamanho dos seguintes tipos em sua máquina:
int, unsigned int, long int, long, unsigned char, double, float.
#include <stdio.h>
int main(){
printf(“%dn”, sizeof(char));
}
Exercícios
8) Faça um programa que escreva na tela
os 15 primeiros números que são potência
de 2 utilizando apenas operadores
binários.

Contenu connexe

Tendances

Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem cvingue
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoJose Augusto Cintra
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducaommind
 
Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)guest14543db
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem cEugenio Caetano
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+cThiago Freitas
 
Geração de código linguagem c
Geração de código   linguagem cGeração de código   linguagem c
Geração de código linguagem cJefferson Bessa
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Mauro Pereira
 

Tendances (19)

Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Algoritmos e Lógica de Programação
Algoritmos e Lógica de ProgramaçãoAlgoritmos e Lógica de Programação
Algoritmos e Lógica de Programação
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Compiladores 1
Compiladores 1Compiladores 1
Compiladores 1
 
Linguagem C (UFRPE)
Linguagem C (UFRPE)Linguagem C (UFRPE)
Linguagem C (UFRPE)
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
5. introducao a linguagem c
5. introducao a linguagem c5. introducao a linguagem c
5. introducao a linguagem c
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Geração de código linguagem c
Geração de código   linguagem cGeração de código   linguagem c
Geração de código linguagem c
 
Compiladores 6
Compiladores 6Compiladores 6
Compiladores 6
 
Linguagem c
Linguagem cLinguagem c
Linguagem c
 
Compiladores 7
Compiladores 7Compiladores 7
Compiladores 7
 
Compiladores 5
Compiladores 5Compiladores 5
Compiladores 5
 
TDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código CTDC2014 SP - C/C++ - Modularização de Código C
TDC2014 SP - C/C++ - Modularização de Código C
 
Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
Notas deaulas
Notas deaulasNotas deaulas
Notas deaulas
 
Introducao a LPC
Introducao a LPCIntroducao a LPC
Introducao a LPC
 

Similaire à Aula01 introducao operacoes

Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação CJose Augusto Cintra
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfValter moreira
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem CDaniel Barão
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CRodrigo Kiyoshi Saito
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CJoberthSilva
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaSérgio Souza Costa
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1D M
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cppRUI VIEIRA
 
Python introdução a linguagem de programação
Python introdução a linguagem de programaçãoPython introdução a linguagem de programação
Python introdução a linguagem de programaçãoAlysonTrindadeFernan
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação CSchoolByte
 
Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1Pedro Augusto
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Kratos879
 

Similaire à Aula01 introducao operacoes (20)

Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Python_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdfPython_2018-03-02-MC102KLMN-Aula02.pdf
Python_2018-03-02-MC102KLMN-Aula02.pdf
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem C
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Ud2
Ud2Ud2
Ud2
 
Linguagem_C.pdf
Linguagem_C.pdfLinguagem_C.pdf
Linguagem_C.pdf
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Apostila c
Apostila cApostila c
Apostila c
 
Linguagem em c
Linguagem em cLinguagem em c
Linguagem em c
 
Linguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo LuaLinguagens de Script: Caso de Estudo Lua
Linguagens de Script: Caso de Estudo Lua
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1
 
Henriquecristovao manual c-cpp
Henriquecristovao manual c-cppHenriquecristovao manual c-cpp
Henriquecristovao manual c-cpp
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Python introdução a linguagem de programação
Python introdução a linguagem de programaçãoPython introdução a linguagem de programação
Python introdução a linguagem de programação
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1Resumo Tipos de Dados - LP1
Resumo Tipos de Dados - LP1
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 

Plus de Yuri Passos

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdfYuri Passos
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdfYuri Passos
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdfYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidadeYuri Passos
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completosYuri Passos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticasYuri Passos
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turingYuri Passos
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadasYuri Passos
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turingYuri Passos
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidadeYuri Passos
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e VariacõesYuri Passos
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em CYuri Passos
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversaoYuri Passos
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionaisYuri Passos
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticaoYuri Passos
 

Plus de Yuri Passos (20)

06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf06-Complementos de LRE e LR - Reducoes.pdf
06-Complementos de LRE e LR - Reducoes.pdf
 
03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf03-Notacoes O omega teta Complexidade e Corretude.pdf
03-Notacoes O omega teta Complexidade e Corretude.pdf
 
04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf04-Extensoes de MTs.pdf
04-Extensoes de MTs.pdf
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
05 indecibilidade
05 indecibilidade05 indecibilidade
05 indecibilidade
 
09 problemas de grafos np-completos
09 problemas de grafos np-completos09 problemas de grafos np-completos
09 problemas de grafos np-completos
 
10 maquinas probabilisticas
10 maquinas probabilisticas10 maquinas probabilisticas
10 maquinas probabilisticas
 
Teorema de rice
Teorema de riceTeorema de rice
Teorema de rice
 
01 maquinas de turing
01 maquinas de turing01 maquinas de turing
01 maquinas de turing
 
02 maquinas de turing modificadas
02 maquinas de turing modificadas02 maquinas de turing modificadas
02 maquinas de turing modificadas
 
04 tese de church-turing
04 tese de church-turing04 tese de church-turing
04 tese de church-turing
 
07 intratablilidade
07 intratablilidade07 intratablilidade
07 intratablilidade
 
08 SAT e Variacões
08 SAT e Variacões08 SAT e Variacões
08 SAT e Variacões
 
Aula06 matriz em C
Aula06 matriz em CAula06 matriz em C
Aula06 matriz em C
 
Aula04 ponteiros e conversao
Aula04   ponteiros e conversaoAula04   ponteiros e conversao
Aula04 ponteiros e conversao
 
Aula02 condicionais
Aula02   condicionaisAula02   condicionais
Aula02 condicionais
 
Aula03 repeticao
Aula03   repeticaoAula03   repeticao
Aula03 repeticao
 
Aula04
Aula04Aula04
Aula04
 
Aula03
Aula03Aula03
Aula03
 
Aula02
Aula02Aula02
Aula02
 

Dernier

O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusVini Master
 
Aula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAnglica330270
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGabbyCarvalhoAlves
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoAlessandraRaiolDasNe
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Slide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfSlide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfeupedrodecostas
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoEduardoBarreto262551
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...Universidade Federal de Sergipe - UFS
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 

Dernier (18)

O Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos ViniciusO Modelo Atômico de Dalton - Carlos Vinicius
O Modelo Atômico de Dalton - Carlos Vinicius
 
Aula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxxAula 1 Psico Social ensino superior xxxx
Aula 1 Psico Social ensino superior xxxx
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Geologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do MarGeologia Marinha - Variação do Nível do Mar
Geologia Marinha - Variação do Nível do Mar
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Revisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro anoRevisão ENEM ensino médio 2024 para o terceiro ano
Revisão ENEM ensino médio 2024 para o terceiro ano
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Slide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdfSlide As células: unidade da vida, e organelas celulares.pdf
Slide As células: unidade da vida, e organelas celulares.pdf
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Teorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulaoTeorias da Evolução e slides sobre darwnismo e evoulao
Teorias da Evolução e slides sobre darwnismo e evoulao
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V25_...
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 

Aula01 introducao operacoes

  • 1. Introdução a C Yuri Tavares dos Passos
  • 2. Histórico ● Nas universidades de Cambridge e de Londres criou-se a linguagem CPL (Combined Programming Language) em 1963. ● Martin Richards (Cambridge) cria a linguagem BCPL (Basic Combined Programming Language). ● Ken Tompson do Laboratório Bell cria a linguagem B em 1970 para o computador PDP- 11.
  • 3. Histórico ● O Unix é re-escrito na linguagem B, linguagem interpretada, portanto lenta. ● Como o PDP-11 era orientado por palavra em vez de byte, assim apareceu a necessidade de uma sucessora de B. ● Denis Ritchie do Laboratório Bell cria linguagem C em 1972.
  • 4. Histórico ● O Unix foi desenvolvido em 1969 sendo codificado em Assembly e foi re-escrito em C em 1973. Desse fato gerou a história de C ser conhecido como uma linguagem de desenvolvimento de sistemas operacionais.
  • 5. Características ● É uma linguagem de programação imperativa. ● Esta forma de programação também é conhecida como programação modular, ou programação procedural. ● É uma extensão da programação estruturada, que afirma que todo programa pode ser feito utilizando apenas sequências de comandos, seleções e repetições.
  • 6. Características ● O nome modular vem da palavra módulos. ● Isto quer dizer que seu programa pode ser dividido em módulos que possuem um objetivo específico e resolvem um pequeno problema. ● A união de todos os módulos forma a solução de um problema maior que é o objetivo do sistema computacional a ser escrito em programação modular.
  • 7. Características ● A programação imperativa descreve um programa por etapas que correspondem a ações do que o computador deve fazer para alcançar um objetivo. ● Verbos no modo imperativo são usados para denotar estas ações. ● Exemplo: leia(numero) escreva(2*numero)
  • 8. Características ● O nome programação procedural vem da palavra procedimento. ● Baseia-se na declaração de funções e procedimentos para construção de sistemas. Em C, o programa principal é uma função que chama outras. ● Um módulo pode ser visto como cada uma destas funções ou procedimentos.
  • 9. Características ● C é utilizada em programas que prezam pela execução rápida, como análises numéricas, processamento de imagens e vídeos, aplicações de tempo real, drivers de hardware, etc. ● C também pode ser usada para escrita de bibliotecas de procedimentos (Ex.: DLL) que podem servir como extensões ou plugins de softwares.
  • 10. Características ● São exemplos de aplicações científicas com intenso processamento tais como meteorologia, oceanografia, física, astronomia, geofísica, engenharia e economia
  • 11. Características ● C é uma linguagem de médio nível, pois ela também pode ser usada em conjunto com partes escritas em linguagem de máquina. – Uma linguagem de alto nível é mais próxima da linguagem humana. ● Ex.: Portuguol do Visualg. – Uma linguagem de baixo nível é mais próxima da linguagem de máquina. ● Ex.: Assembly.
  • 12. Características ● Possui os comandos clássicos de controle de execução. ● Possui uma sintaxe bem definida para a formação de programas. ● Faz distinção entre letras maiúsculas e minúsculas. – Nota ≠ nota – Valor ≠ valor – F ≠ f
  • 13. Características ● Um comando em C é terminado com “;” (ponto-e-vírgula). ● Um programa em C: 1) Importação de módulos (ou bibliotecas) contendo outras funções ou comandos; 2) Execução do bloco principal, representado pela função int main().
  • 14. Características /* Inclusão de módulos ou bibliotecas de funções (opcional) */ #include <módulo> #include “módulo” int main(){ /* Bloco principal */ return 0; }
  • 16. Identificadores ● São os nomes utilizados para criação de componentes dos programas, tais como variáveis e constantes. ● Possuem regras rígida de definição – Utilizar apenas letras, números e o caractere “_” – Começar com uma letra ou o caractere “_” – Exemplos válidos ● Nome1, NomePessoa, nome_pessoa, nome5, _nome_ – Exemplos inválidos ● 2nome, nome pessoa, p$nome, p-nome.
  • 17. Tipos de dados básicos ● char – Usado para representa um caractere apenas. Cada caractere representa um número, letra ou símbolo que pode ser inserido via teclado ou representado pelo computador. – Um caractere constante pode ser representado por uma letra, dígito ou símbolo entre aspas simples. ● Ex: 'a', '0', '&', '*' – Se for necessário utilizar a própria aspas siples deve-se utilizar o caractere antes. ● Ex: '''
  • 18. Tipos de dados básicos ● int – Representa números inteiros. ● float – Representa números reais com precisão baixa. ● double – Números reais com precisão dupla. ● As casas decimais dos números reais são representados por ponto. – Ex: 13.456
  • 19. Tipos de dados básicos ● O char apesar de representar caracteres, ele também pode ser usado para representar números pequenos de apenas um byte. ● Na realidade, um caractere é um número inteiro que o computador sabe representar em símbolos.
  • 20. Tipos de dados básicos ● Tabela de símbolos (excerto) Binário Decimal Hexadecimal Glifo 0100 0000 64 0x40 @ 0100 0001 65 0x41 A 0100 0010 66 0x42 B 0100 0011 67 0x43 C 0100 0100 68 0x44 D 0100 0101 69 0x45 E 0100 0110 70 0x46 F 0100 0111 71 0x47 G 0100 1000 72 0x48 H 0100 1001 73 0x49 I
  • 21. Tipos básicos Tamanho Precisão char -> p/ caracteres 1 byte - 128 a + 127 int -> p/ inteiros 4 bytes* -2147483648 a 2147483647 float -> p/ reais 4 bytes* -3.4E-38 a +3.4E+38 double -> p/ reais 8 bytes* -1.7E-308 a +1.7E+308 * Variam a depender do processador Tipos de dados básicos
  • 22. Variáveis e atribuições ● As variáveis podem ser declaradas em qualquer parte do código. Não existem uma parte específica onde devem ser declaradas. ● As atribuições em C são feitas utilizando o simbolo =.
  • 24. Variáveis e atribuições ● Por conta disso, surge o conceito de declaração local e global. ● Uma declaração é local se apenas uma parte do código consegue utilizar o que foi declarado. ● Uma declaração é global quando todo o programa consegue utilizar o que foi declarado
  • 26. Variáveis e atribuições ● A área de código que uma declaração de variável abrange dentro do código é conhecida como escopo desta variável.
  • 27. Modificadores de tipos ● Os tipos básicos podem ser modificados utilizando-se palavras chaves especiais. ● São elas: Tipo Descrição unsigned Não usa o bit de sinal long Aumenta o número de bytes usados register Usa os registradores da CPU para a variável signed Usa o bit de sinal (padrão) short Utiliza o tamanho padrão
  • 28. Modificadores de tipos Tipo Tamanho Precisão Unsigned int 4 bytes* 0 a 4294967295 Long [int] 8 bytes* -263 a 263 -1 Unsigned long [int] 8 bytes* 0 a 264 - 1 long double 12 bytes 96 bits em IEEE 754 * Variam a depender do processador ● Exemplos:
  • 29. Modificadores de tipos ● Existe também o modificador const que torna uma variável constante. ● Assim, o valor daquela variável será atribuído somente uma vez, não podendo ser alterado novamente durante a execução do programa.
  • 31. Frases literais ● Frases escritas em tela devem ser usadas com aspas duplas. ● Se forem utilizados caracteres especiais, devem ser usados com antes. – Se existir a necessidade de escrever frases contendo aspas duplas também ● Caracteres especiais mais comuns: – n: Quebra de linha – : Uma barra – xNN: um caractere cujo código em hexadecimal é NN.
  • 32. Frases literais ● Exemplos: ● "Olá, mundo!" ● "Este exemplo possui aspas: "Olá, mundo!"" ● "Uma linha.nDuas linhas.nTrês linhas." ● "O operador é usado no Visualg para realizar a operação "quociente"."
  • 33. Variáveis para literais (strings) ● Frases ou textos literais são conhecidos na programação como string ou cadeia. ● Uma string é uma sequência de caracteres. Para declarar uma variável do tipo string deve- se: 1) usar a palavra char, 2) declarar o nome da variável, 3) em seguida indicar a quantidade máxima de caracteres que esta variável deve armazenar.
  • 34. Variáveis para literais (strings) ● Exemplos: – char texto[255]; – char msg[120]; – char nome[100]; – char palavra[10]; – char msg1[100], msg2[40];
  • 35. Comentários ● São trechos de código que não são compilados. ● Servem para documentar o código, explicando partes do código fonte, com o intuito de auxiliar quem está lendo. ● Comentário de uma linha: // comentário ● Comentário de bloco, com várias linhas: /* comentário comentário comentário */
  • 36. Operadores aritméticos ● Os operadores aritméticos utilizados são: Operação Símbolo Descrição Adição + Realiza a soma entre dois operandos Subtração - Realiza a subtração entre dois operandos Multiplicação * Realiza a mutiplicação entre dois operandos Divisão / Realiza a divisão entre dois operandos A precedência é a mesma da usada nos algoritmos, podendo ser alterada através do uso de parênteses. Exemplos: 2 * pi * raio (n1 + n2 + n3) / 3
  • 37. Operadores aritméticos ● Observação sobre divisão – Caso os dois argumentos sejam inteiros, o resultado será um número inteiro – Caso qualquer um dos argumentos seja número real (float, double, etc.) o resultado será um número real. ● Exemplos: 3/2 = ?? 1/2 = ?? 3/2.0 = ?? 1.0/2 = ??
  • 38. Valores lógicos em C ● Na linguagem C, não existe variáveis do tipo lógico. ● Para isto, C utiliza variáveis inteiras para expressar valores lógicos. ● Assim, um valor inteiro igual a 0, representa falso. Um valor inteiro diferente de zero é considerado verdadeiro. – Costuma-se usar 1 para representar verdadeiro em C.
  • 39. Operadores relacionais ● São utilizados para construção de expressões lógicas. ● Em C, os operadores relacionais retornam 0 ou 1. Relação Operando Exemplo Descrição Igual == a == b Verifica se a é igual a b Diferente != a != b Verifica se a é diferente de b Maior > a > b Verifica se a é maior que b
  • 40. Operadores relacionais Relação Operando Exemplo Descrição Menor < a < b Verifica se a é menor a b Maior ou igual >= a >= b Verifica se a é maior ou igual a b Menor ou igual <= a <= b Verifica se a é menor ou igual a b
  • 41. Operadores relacionais ● Exemplos: – altura > 19 – idade < 10 – faltas == 0 – media != 6.0 – salario >= 800.00 – valor <= 100
  • 42. Operadores lógicos ● Operadores capazes de conectar expressões relacionas ou lógicas. Em C, retornam 0 ou 1. Operação Resultado && Será 1, quando todos os operandos forem diferentes de 0, caso contrário será 0. || Será 0, quando todos os operandos forem 0, caso contrário será 1. ! Inverte o valor da expressão lógica (Qualquer valor diferente de 0 passa a ser 0 e 0 passa a ser 1).
  • 43. Operadores lógicos ● Precedência: 1º) não: ! 2º) e: && 3º) ou: || ● Exemplos: – Considere a = 2, b = 3, c = 4 e d = 5. – !(a > b) && (c <= d) – (a == b) || (c != d)
  • 44. Operadores binários ● São operadores que manipulam os bits de uma variável. São eles: Operação Operador Exemplo Descrição E binário & A &B Aplica um E bit a bit nos bits de A e de B. OU binário | A | B Aplica um OU bit a bit nos bits de A e de B. NÃO binário ~ ~A Aplica o NÃO em cada bit de A.
  • 45. Operadores binários Operação Operador Exemplo Descrição Deslocamento à direita >> A >> B Desloca os bits de A para direita, B vezes. B deve ser um número inteiro. São colocados zeros nos bits da extrema esquerda. Deslocamento à esquerda << A << B Desloca os bits de A para esquerda, B vezes. B deve ser um número inteiro. São colocados zeros nos bits da extrema direita.
  • 46. Operadores binários ● Exemplos: – char a = 2, b = 15; //a = 0000 0010 b = 0000 1111 – char c = a & b; //c = 0000 0010 – c = a | b; //c = 0000 1111 – c = ~a; //c = 1111 1101
  • 47. Operadores binários ● Exemplos: – char valor = 2; //valor = 0000 0010 – valor = valor << 2; //valor = 0000 1000
  • 48. Operadores abreviados ● São operadores que abreviam operações usuais em programação. O uso delas pode tornar a execução do executável mais rápida. ● Incremento e decremento de 1: ++: incremento de 1 -- : decremento de 1 ● Exemplos: – valor++; – quantidade--; – ++folhas; – --faltas;
  • 49. Operadores abreviados ● A posição deles influencia – valor++ será executado por último após outros comandos. – ++valor será a primeira coisa a executar numa linha. ● Exemplos: – Suponha v = x = 1: float A = v++ /2.0; float B = ++x /2.0;
  • 50. Operadores abreviados ● +=: incremento de um valor arbitrário. ● Uso: <variável> += <expressão>; ● Significa o mesmo que: <variável> = <variável> + <expressão>; ● Exemplos: – valor+=3; //valor = valor + 3; – x += y*2; //x = x + y*2;
  • 51. Operadores abreviados ● O mesmo ocorre com -=, *=, /=, <<=, >>=, &= e |=.
  • 52. Comando de escrita (impressão) ● Para escrever algo na tela é necessário incluir o módulo stdio.h. Dentro deste módulo, existe o comando: printf() ● O comando printf() possui 1 ou mais argumentos. – O primeiro argumento é um literal. – Os demais argumentos são opcionais.
  • 53. Comando de escrita (impressão) ● Com um argumento podemos apenas escrever frases. ● Exemplos: – printf("Olá, mundo!") – printf("Olá, mundo!n") – printf("1n2n3n4")
  • 54. Comando de escrita (impressão) ● Para escrevermos os valores das variáveis com printf, deve-se utilizar os argumentos opcionais, de tal forma que cada argumento corresponde a aparição da variável na frase que será escrita. ● Além disso, é necessário especificar a posição na frase em que a variável irá aparecer e o tipo de variável.
  • 55. Comando de escrita (impressão) ● Existem várias especificações de tipos que podem ser impressos pelo printf. Apenas os mais usuais serão mostrados a seguir.
  • 56. Comando de escrita (impressão) ● %i ou %d: números inteiros decimais. ● %x, %X: números inteiros hexadecimais com letras minúsculas e letras maíusculas, respectivamente. ● %f: números reais. ● %e, %E: representa em notação científica com e ou E, respectivamente.
  • 57. Comando de escrita (impressão) ● %g: Usa a menor versão entre %f e %e. ● %G: Usa a menor versão entre %f e %E. ● %c: caracteres ● %s: frases literais armazenadas em variáveis (strings) ● %p: ponteiros
  • 59. Comando de escrita (impressão) ● Formatação da saída. – A forma como os valores das variáveis são escritas na tela podem ser modificadas no printf. É possível: ● fixar a quantidade de casas decimais de um número real; ● Preencher com espaços à esquerda, caso o número seja pequeno; ● Preencher com zeros à esquerda; ● Etc.
  • 64. Comando de leitura ● Para lermos valores e armazená-los em variáveis, usa-se o comando scanf. ● O primeiro argumento do scanf é um literal que deve especificar o tipo da variável, idêntico ao printf. ● O demais argumentos são as variáveis que serão lidas, todas começando com &. ● Cada variável armazena o valor apenas após ser lido o ENTER.
  • 65. Comando de leitura ● Exemplos: scanf("%c",&c1); scanf("%c %c",&c1,&c2); scanf("%i",&x); scanf("%i %i %i",&x,&y,&z); scanf("%f",&salario);
  • 66. Comando de leitura ● Quando a variável a ser lida for do tipo literal (também conhecido como string), não utiliza &. ● Exemplo: char frase[100], msg1[20], msg2[20]; scanf("%s", frase); scanf("%s %s", msg1, msg2);
  • 70. Linha de comando (Linux) ● Mudar para o diretório onde estão seus códigos em C. Suponha que ele esteja no diretório /home/nome/c/: – cd /home/nome/c/ ● Suponha que você tenha salvo um arquivo com nome aula01.c. Para compilá-lo pela linha de comando, digite: – gcc aula01.c
  • 71. Linha de comando (Linux) ● Ao compilar, será gerado um arquivo com nome a.out. Se você quiser gerar um arquivo executável com nome próprio use a opção -o, assim: – gcc -o aula01 aula01.c ● Execute seu programa digitando ./ antes do nome do seu programa. – ./aula01
  • 72. Linha de comando (Linux)
  • 73. Exercícios 1) Elaborar um programa que receba a idade de uma pessoa em número de anos, calcule e escreva essa idade em meses, dias, horas e minutos. 2) Elaborar um programa para calcular a diferença de preços de um determinado produto, comparando os preços de compra atual e anterior. O programa deve obter os preços atual e anterior e exibir a diferença algébrica e percentual dos preços.
  • 74. Exercícios 3) Escrever um programa para efetuar o cálculo da quantidade de litros de combustível gastos em uma viagem, sabendo-se que o veículo faz 9 km/litro. O usuário informará a velocidade média e o tempo despendido na viagem. (Obter o tempo em horas e minutos, em separado). O programa deve apresentar a distância percorrida e a quantidade de litros gastos.
  • 75. Exercícios 4) Elaborar um programa para calcular o comprimento de um círculo, obtendo como entrada a medida do raio(r). A fórmula da área é 2*pi*raio. 5) Em certa disciplina, a nota média do aluno é calculada com base em três provas. A primeira prova tem peso 3, a segunda tem peso 3 e a terceira tem peso 4.  Fazer um programa para calcular e apresentar a nota média, tendo como dados de entrada o nome do aluno e as notas referentes as três provas e como saída o nome e a média calculada.
  • 76. Exercícios 6) João deseja fazer um programa em C que imprima todos os números reais 0.333, 0.25, 0.20 e 0.166. Ele fez o seguinte programa para isto: Mas seu programa só escreve zeros. Por quê? Corrija o programa dele usando o operador da divisão.
  • 77. Exercícios 7) O comando sizeof() pode ser usado para descobrir o tamanho de variáveis ou tipos de variáveis. O programa abaixo escreve 1 na tela, visto que char é sempre 1 byte. Faça um programa em C que use o comando sizeof() para descobrir o tamanho dos seguintes tipos em sua máquina: int, unsigned int, long int, long, unsigned char, double, float. #include <stdio.h> int main(){ printf(“%dn”, sizeof(char)); }
  • 78. Exercícios 8) Faça um programa que escreva na tela os 15 primeiros números que são potência de 2 utilizando apenas operadores binários.