Programação deComputadoresAula 102/08/2012Profª Ms. Engª Elaine Cecília GattoUnidade 1: Apresentação da Disciplina e Intro...
Informações da disciplina•   Carga Horária Total: 72 horas•   Carga Horária Prática: 36 horas•   Carga Horária Teórica: 36...
Ementa• História e evolução da linguagem C;• Características da linguagem C;• Sintaxe da linguagem C;• Variáveis; operador...
Objetivos• Aplicar técnicas de programação para manipulação de  registros, arquivos, ordenação e estruturação de  dados;• ...
Conteúdo ProgramáticoUNIDADE 1 – APRESENTAÇÃO DA DISCIPLINA E INTRODUÇÃO ÀLINGUAGEM C (4h)     • História da linguagem C; ...
Conteúdo ProgramáticoUNIDADE 2 – COMANDOS DE CONTROLE DE PROGRAMA(4h)     • Seleção;     • Decisão;     • Repetição;     •...
Conteúdo ProgramáticoUNIDADE 3 – FUNÇÕES (4h)    • Funções e estrutura de programas;    • Funções que retornam valor;    •...
Conteúdo ProgramáticoUNIDADE 4 – VETORES, MATRIZES E STRINGS (8h)    • Vetores em C;    • Matrizes unidimensionais;    • M...
Conteúdo ProgramáticoUNIDADE 5 – PONTEIROS (4h)    • Variáveis;    • Operadores;    • Expressões;    • Matrizes;    • Funç...
Conteúdo ProgramáticoUNIDADE 6 – ESTRUTURAS, UNIÕES, ENUMERAÇÕES ETIPOS DEFINIDOS PELO USUÁRIO (8h)    • Estruturas;    • ...
Conteúdo ProgramáticoUNIDADE 7 – ENTRADA E SAÍDA (4h)    • Console;    • Lendo e escrevendo caracteres;    • Lendo e escre...
Conteúdo ProgramáticoUNIDADE 8 – PRÉ-PROCESSADOR (4h)    • #define, #error e #include;    • Diretivas e Defined;    • #lin...
Conteúdo ProgramáticoUNIDADE 9 – ORDENAÇÃO E PESQUISA (4h)    • Seleção, Inserção, Shell e Quicksort;    • Ordenações melh...
Conteúdo ProgramáticoUNIDADE 10 – ESTRUTURA DE DADOS (8h)    • Filas;    • Pilhas;    • Listas;    • Árvores;    • Grafos;...
Conteúdo ProgramáticoUNIDADE 11 – FUNÇÕES DE C (4h)   • Matemáticas;   • Hora e data;   • Gráficas e textuais;   • Miscelâ...
Conteúdo ProgramáticoUNIDADE 12 – EFICIÊNCIA, PORTABILIDADE EDEPURAÇÃO (4h)    • Operadores de incremento e decremento;   ...
MetodologiaAtividades Metodológicas:     • Aulas expositivas e dialogadas;     • Atividades práticas utilizando o computad...
MetodologiaRecursos didáticos:    • Laboratórios;    • Textos;    • Projetor multimídia;    • Notebook;    • Softwares;   ...
Avaliação Instrumento     Objetivo      Contexto     Valor – Peso                 Conceitual  Prova P1                    ...
Bibliografia Básica• MIZRAHI, Victorine Viviane. Treinamento em  linguagem C. 2ª Edição. São Paulo: Editora Prentice  Hall...
Bibliografia Complementar• Instituto Brasileiro em Informática. Dominando a  linguagem C. Rio de Janeiro: IBPI, 1993..• SC...
Grau de Abstração• Linguagens de programação de baixo nível: linguagem de  máquina, por exemplo, Assembly.• Linguagens de ...
Paradigmas de Linguagens deProgramação• Um paradigma de programação fornece e determina a visão  que o programador possui ...
Interpretação X Compilação• Um programa é uma forma de comunicação com o  computador e, sabemos que, a única linguagem que...
Interpretação X Compilação• Um interpretador lê o código fonte do seu programa uma  linha por vez, executando a instrução ...
História da Linguagem C• Criada por Dennis Ritchie, 1972, centro de pesquisas da Bell  Laboratories;• 1ª utilização: reesc...
Estrutura do Programa/* Estrutura de um programa        int função_1 (variáveis)em C */                            {# incl...
Tipos de dados em C•   char – caractere•   int – inteiros•   float – reais•   double – flutuante•   void – função que não ...
Modificadores de tipos dedados• Modificadores são usados para alterar o significado de um  tipo básico para adaptá-lo mais...
Todos os tipos de dados          Tipo           Bits                Faixa          char            8               - 127 a...
Identificadores• São nomes usados para se fazer referência a variáveis,  funções, rótulos e outros objetos definidos pelo ...
Palavras Reservadas em C                           32
Variáveis• Variável é uma posição de memória cujo conteúdo pode ser  modificado durante a execução de um programa. A refer...
Declaração e Inicialização deVariáveis• Declaração de variável:  • int x;• Declaração e inicialização de variável:  • int ...
Constantes• Como uma variável, uma constante também é uma posição de  memória à qual devem ser associados um identificador...
Variáveis Locais• São aquelas declaradas dentro de uma função. Exemplo:main(){  void funcao1(void)  {        int x;       ...
Variáveis LocaisEsta declaração está correta?void funcao(void){    int i;    i = 10;    int j;    j = 20;}                ...
Variáveis LocaisVoid funcao(void){    Int i;    Int j;    I = 10;    J = 20;}                    38
Saída de dados• Utilizar a biblioteca stdio.h para entrar e sair com dados.    • printf(“expressão de controle”, argumento...
Saída de dados• Tamanho de campos na impressão:  • printf(“ n %2d ” , 350);• Para arredondamento:  • printf(“ n %4.2f ” , ...
Exemplosmain(){  int num;  num = 2;  printf(“este é o número dois: %d”, num);}main(){  int evento;  char corrida;  float t...
Exemplosmain(){  unsigned int j=65000;  int i=j;  printf(“%d %u n”, i, j);}main(){  int reajuste = 10;  printf(“o reajuste...
Código de formatação dasfunções de entrada e saídan   Nova linha         %c   Caractere simplest   Tab                %d  ...
Entrada de dados• Utilizar a biblioteca stdio.h para entrar e sair com dados.   • scanf(“expressão de controle”, argumento...
Entrada de dados• Um endereço de memória é visto como um número inteiro  sem sinal, por isso usamos %u;• A saída deste pro...
Exemplosmain(){  float anos, dias;  printf(“digite sua idade em anos: ”);  scanf(“%f”, &anos);  dias = anos * 365;  printf...
Mais Exemplosmain(){  printf(“%4.2f n”, 3456.78);  printf(“%3.2f n”, 3456.78);  printf(“%3.1f n”, 3456.78);  printf(“%10.3...
Operador de atribuição• O Operador de atribuição em C é o sinal de igual =• Ao contrário de outras linguagens, o operador ...
Operadores aritméticos         +    Soma         -    Subtração         *    Multiplicação         /    Divisão         % ...
Expressões com operadoresaritméticos     x = x + k;   x + = k;     x = x – k;   x - = k;     x=x*k;       x * = k;     x =...
Exemplosmain(){  int ftemp, ctemp;  printf(“digite a temperatura em graus fahrenheit: ”);  scanf(“%d”, &ftemp);  ctemp=(ft...
Exemplosmain(){  int x, r;  printf(“digite um numero de até 4 algarismos n”);  scanf(“%d”, &x);  r = 19998 + x;  printf(“o...
Operadores relacionais       >    Maior que       <    Menor que       >=   Maior ou igual que       <=   Menor ou igual q...
Expressões com Operadoresrelacionais• x>y  • Suponha x = 5 e y = 3.  • 5 > 3 (5 é maior que 3? Sim, verdade)  • Suponha x ...
Exemplosmain(){  int verdad, falso;  verdad = (15<20);  falso = (15 == 20);  printf(“verdadeiro = %d, falso = %d n”, verda...
Operadores lógicos                                 Tabela and – e  &&               And – e   1         1      1  ||      ...
Operadores bit a bit&    And                       Tabela verdade E|    Or                        Tabela verdade OU^    Or...
Operador unário -• É usado somente para indicar troca de sinal algébrico do  valor. Pode também multiplicar o valor do ope...
Operador ternário ?• Expressão1 ? Expressão2 : Expressão3;•   Y = x>9 ? 100 : 200;•   Y recebe o valor 100•   Se x for men...
Incremento ++ e decremento --•   ++ soma 1 ao seu operando•   -- subtrai um ao seu operando•   x = x + 1 é igual a ++x ou ...
Prioridade/precedência       Mais alta          ( ) [ ] ->                    ! ~ ++ -- - * & sizeof                      ...
Mais exemplosmain(){  char c;  unsigned char uc;  int i;  unsigned int ui;  float f;  double d;  printf("char %d",sizeof(c...
Mais exemplosmain(){    int x,y; x=10; y=3;    printf("%dn",x/y);    printf("%dn",x%y);}main(){    int x=2,y=3,produto;   ...
Mais exemplosmain(){    int i,j;    printf("digite dois números: ");    scanf("%d%d",&i,&j);    printf("%d == %d é %dn",i,...
Mais exemplosmain(){    int x=0;    printf("x= %dn",x++);    printf("x= %dn",x);    printf("x= %dn",++x);    printf("x= %d...
Mais exemplos#include <stdio.h>main(){    float a, b, c;    printf("Digite três números");    scanf("%f %f %f", &a, &b, &c...
Mais exemplos/* Programa que inverte um número com dois algarismos */#include <stdio.h>main(){    int Num, Unidades, Dezen...
Mais exemplos/*Programa que determina o menor múltiplo de um inteiro maiorque outro inteiro*/#include <stdio.h>main(){   i...
Mais exemplos/*Programa que determina o número de múltiplos de um inteiro ksituados entre dois inteiros x e y*/#include <s...
Mais exemplos/* Programa que fornece a parte fracionária de um númerodado */#include <stdio.h>main(){    float Num, Frac; ...
Upcoming SlideShare
Loading in …5
×

Aula 1 pc - slides

1,111 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,111
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
35
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Aula 1 pc - slides

  1. 1. Programação deComputadoresAula 102/08/2012Profª Ms. Engª Elaine Cecília GattoUnidade 1: Apresentação da Disciplina e Introdução à Linguagem CCurso de Bacharelado em Engenharia de ComputaçãoUniversidade do Sagrado Coraçã – USCBauru/SP
  2. 2. Informações da disciplina• Carga Horária Total: 72 horas• Carga Horária Prática: 36 horas• Carga Horária Teórica: 36 horas• Pré-requisitos: Algoritmos e estrutura de dados• Competências da disciplina: Análise de problemas e projeção de soluções que requeiram uma combinação de hardware e software; Domínio dos aspectos técnicos de sua área de atuação; Projeto e construção de software usando a linguagem C. 2
  3. 3. Ementa• História e evolução da linguagem C;• Características da linguagem C;• Sintaxe da linguagem C;• Variáveis; operadores; tipos de dados; identificadores; palavras reservadas; bibliotecas; entrada e saída; estrutura básica de um programa em C; incremento e decremento;• Estruturas condicionais e de repetição; vetores e matrizes; registros; manipulação de strings e arquivos; macros; funções; ponteiros; estruturas de dados, classes de variáveis; tipos de chamadas; alocação dinâmica. 3
  4. 4. Objetivos• Aplicar técnicas de programação para manipulação de registros, arquivos, ordenação e estruturação de dados;• Utilizar corretamente os comandos de programação da linguagem C; 4
  5. 5. Conteúdo ProgramáticoUNIDADE 1 – APRESENTAÇÃO DA DISCIPLINA E INTRODUÇÃO ÀLINGUAGEM C (4h) • História da linguagem C; • Visão geral da linguagem C; • Expressões em C; • Tipos de dados; • Identificadores; • Variáveis; • Modificadores de acesso; • Especificadores; • Constantes; 5 • Operadores.
  6. 6. Conteúdo ProgramáticoUNIDADE 2 – COMANDOS DE CONTROLE DE PROGRAMA(4h) • Seleção; • Decisão; • Repetição; • Condição; • Iteração. 6
  7. 7. Conteúdo ProgramáticoUNIDADE 3 – FUNÇÕES (4h) • Funções e estrutura de programas; • Funções que retornam valor; • Passando dados para a função chamada; • Funções não inteiras; • Argumentos de funções: • Chamada por valor • Chamada por referência; • Protótipos de funções. 7
  8. 8. Conteúdo ProgramáticoUNIDADE 4 – VETORES, MATRIZES E STRINGS (8h) • Vetores em C; • Matrizes unidimensionais; • Matrizes bidimensionais; • Matrizes multidimensionais; • Matrizes como argumentos de funções; • Strings constantes e variáveis strings; • Funções de strings: Scanf(), gets(), puts(),strlen(), strcat(), strcmp(), strcpy(); • Matriz de strings. 8
  9. 9. Conteúdo ProgramáticoUNIDADE 5 – PONTEIROS (4h) • Variáveis; • Operadores; • Expressões; • Matrizes; • Funções; • Alocação dinâmica. 9
  10. 10. Conteúdo ProgramáticoUNIDADE 6 – ESTRUTURAS, UNIÕES, ENUMERAÇÕES ETIPOS DEFINIDOS PELO USUÁRIO (8h) • Estruturas; • Matrizes de estruturas; • Ponteiros para estruturas; • Campos de bits; • Uniões; • Enumerações; • Sizeof; • Typedef. 10
  11. 11. Conteúdo ProgramáticoUNIDADE 7 – ENTRADA E SAÍDA (4h) • Console; • Lendo e escrevendo caracteres; • Lendo e escrevendo strings; • E/S formatada pelo console; • printf() e scanf(); • Arquivo; • Streams e Arquivos; • Fundamentos de sistema de arquivos; 11 • Streams padrão.
  12. 12. Conteúdo ProgramáticoUNIDADE 8 – PRÉ-PROCESSADOR (4h) • #define, #error e #include; • Diretivas e Defined; • #line e #pragma; • Macros; • Linkedição; • Bibliotecas; • Arquivos de cabeçalho; • Biblioteca padrão C. 12
  13. 13. Conteúdo ProgramáticoUNIDADE 9 – ORDENAÇÃO E PESQUISA (4h) • Seleção, Inserção, Shell e Quicksort; • Ordenações melhores; • Ordenação de strings e Ordenação de estruturas; • Métodos de pesquisa; • Pesquisa seqüencial e Pesquisa binária. 13
  14. 14. Conteúdo ProgramáticoUNIDADE 10 – ESTRUTURA DE DADOS (8h) • Filas; • Pilhas; • Listas; • Árvores; • Grafos; • Recursividade. 14
  15. 15. Conteúdo ProgramáticoUNIDADE 11 – FUNÇÕES DE C (4h) • Matemáticas; • Hora e data; • Gráficas e textuais; • Miscelâneas; 15
  16. 16. Conteúdo ProgramáticoUNIDADE 12 – EFICIÊNCIA, PORTABILIDADE EDEPURAÇÃO (4h) • Operadores de incremento e decremento; • Variáveis em registradores; • Ponteiros e indexação de matrizes; • Programas portáveis; • Depuração e Erros; • Problemas e Colisões; • Manutenção de programas; 16
  17. 17. MetodologiaAtividades Metodológicas: • Aulas expositivas e dialogadas; • Atividades práticas utilizando o computador, softwares específicos e Internet; • Questionamentos orais e escritos (Quiz); • Elaboração de resumos; • Resolução de problemas; • Investigação de conceitos; • Seminários. 17
  18. 18. MetodologiaRecursos didáticos: • Laboratórios; • Textos; • Projetor multimídia; • Notebook; • Softwares; • Plataforma Moodle Tecnológico; • Software DevC; 18
  19. 19. Avaliação Instrumento Objetivo Contexto Valor – Peso Conceitual Prova P1 Individual 35% Procedimental Conceitual Prova P2 Individual 35% Procedimental Individual Trabalhos Procedimental 10% Coletivo Atitudinal Seminários Individual 10% Conceitual Atitudinal Individual Quiz 10% Procedimental Coletivo 19
  20. 20. Bibliografia Básica• MIZRAHI, Victorine Viviane. Treinamento em linguagem C. 2ª Edição. São Paulo: Editora Prentice Hall, 2008.• MANZANO, José Augusto N. G. Estudo Dirigido de Linguagem C. 13.ª Edição. Editora Érica.• SCHILDT, Herbert. C completo e total. 3ª Edição. São Paulo: Editora Makron Books. 20
  21. 21. Bibliografia Complementar• Instituto Brasileiro em Informática. Dominando a linguagem C. Rio de Janeiro: IBPI, 1993..• SCHILDT, Herbert. Linguagem C: guia do usuário. Rio de Janeiro: McGraw-Hill, 1986.• HANCOCK, Lê. Manual de linguagem C. Rio de Janeiro: Campus, 1986.• PUGH, Kenneth. Programando em linguagem C. São Paulo: McGraw-Hill, 1990.• SCHILDT, Herbert. Turbo C avançado: guia do usuário. São Paulo: McGraw-Hill, 1990. 21
  22. 22. Grau de Abstração• Linguagens de programação de baixo nível: linguagem de máquina, por exemplo, Assembly.• Linguagens de programação de médio nível: conversão direta para código de máquina, por exemplo, C.• Linguagem de programação de alto nível: fácil para ser humano e complexo para a máquina, por exemplo, Java. 22
  23. 23. Paradigmas de Linguagens deProgramação• Um paradigma de programação fornece e determina a visão que o programador possui sobre a estruturação e execução do programa. Os principais paradigmas de linguagens de programação são: • Linguagem Funcional: trata a computação como uma avaliação de funções matemáticas, por exemplo, LISP. • Programação Lógica: faz uso da lógica matemática, por exemplo, PROLOG. • Programação Imperativa: • Programação Estruturada: ou programação modular, por exemplo, PASCAL. • Orientação a Objetos: abstração de conceitos do mundo real, por exemplo, JAVA. 23
  24. 24. Interpretação X Compilação• Um programa é uma forma de comunicação com o computador e, sabemos que, a única linguagem que o computador entende, é a linguagem de máquina.• Assim, todos os programas devem estar em linguagem de máquina e, para isso, eles devem ser traduzidos. A tradução tem duas categorias: interpretação e compilação.• A criação de um programa consiste na conversão do código fonte para códigos de linguagem de máquina. Esta “transformação” pode ocorrer antes ou durante a execução.• Caso ocorra antes da execução o processo é chamado de compilação – normalmente gera um arquivo executável.• Caso ocorra durante a execução o processo é chamado de 24 interpretação – HTML é um bom exemplo de linguagem interpretada.
  25. 25. Interpretação X Compilação• 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 em um código-objeto, que é uma tradução do código-fonte do programa em uma forma que o computador possa executar diretamente.• Um programa interpretado precisa do seu interpretador instalado na máquina em que será executado.• Um programa compilado é independente. 25
  26. 26. História da Linguagem C• Criada por Dennis Ritchie, 1972, centro de pesquisas da Bell Laboratories;• 1ª utilização: reescrita do sistema operacional UNIX;• 1980: vários compiladores C disponíveis;• Linguagem imperativa de propósito geral;• Algumas características: • Portabilidade; • Geração de código eficiente; • Simplicidade; • Facilidade de uso;• Observação: C é case sensitive 26
  27. 27. Estrutura do Programa/* Estrutura de um programa int função_1 (variáveis)em C */ {# include declaração de variáveis<arquivo_cabecalho.h> instrução_1;main ( ) instrução_2;{ - declaração de variáveis - instrução_1; return (INT); instrução_2; } função_1(variáveis); instrução_3; - -} 27
  28. 28. Tipos de dados em C• char – caractere• int – inteiros• float – reais• double – flutuante• void – função que não retorna valor 28
  29. 29. Modificadores de tipos dedados• Modificadores são usados para alterar o significado de um tipo básico para adaptá-lo mais precisamente às necessidades de diversas situações.• Para Caractere e Inteiro: • signed – com sinal • unsigned – sem sinal • long – longo • short – curto• Para double: • long 29
  30. 30. Todos os tipos de dados Tipo Bits Faixa char 8 - 127 a 127 unsigned char 8 0 a 255 signed char 8 -127 a 127 int 16 -32.767 a 32.767 unsigned int 16 0 a 65.535 signed int 16 -32.767 a 32.767 short int 16 -32.767 a 32.767 unsigned short int 16 0 a 65.535 signed short int 16 -32.767 a 32.767 long int 32 -2.147.483.647 a 2.147.483.647 signed long int 32 -2.147.483.647 a 2.147.483.647 unsigned long int 32 0 a 4.294.967.295 float 32 Seis dígitos de precisão 30 double 64 Dez dígitos de precisão long double 80 Dez dígitos de precisão
  31. 31. Identificadores• São nomes usados para se fazer referência a variáveis, funções, rótulos e outros objetos definidos pelo usuário; • int X; • int _X;• É diferente de: • int x; • int _x;• Dicas: • Um programa deve ser legível para outros programadores; • Escolher identificadores intuitivos, por exemplo, se uma variável deve armazenar uma soma, um identificador muito bom para ela será Soma. 31
  32. 32. Palavras Reservadas em C 32
  33. 33. Variáveis• Variável é uma posição de memória cujo conteúdo pode ser modificado durante a execução de um programa. A referência a uma variável no programa é feita através do seu identificador. Os valores que podem ser nela armazenados dependem do seu tipo de dado.• Sintaxe: • tipo identificador; • int x; • int é o tipo e x é o identificador; 33
  34. 34. Declaração e Inicialização deVariáveis• Declaração de variável: • int x;• Declaração e inicialização de variável: • int x = 3; • int y, x = 3; • int x=3, y; 34
  35. 35. Constantes• Como uma variável, uma constante também é uma posição de memória à qual devem ser associados um identificador e um tipo de dado.• O que caracteriza uma constante é o fato de que o conteúdo de uma constante não pode ser modificado durante a execução do programa.• Este conteúdo é fixado quando da declaração da constante o que deve ser feito de acordo com a seguinte sintaxe: • const Tipo de Dado Identificador = Valor; 35
  36. 36. Variáveis Locais• São aquelas declaradas dentro de uma função. Exemplo:main(){ void funcao1(void) { int x; x=10; } void funcao2(void) { int x; x=10; } 36}
  37. 37. Variáveis LocaisEsta declaração está correta?void funcao(void){ int i; i = 10; int j; j = 20;} 37
  38. 38. Variáveis LocaisVoid funcao(void){ Int i; Int j; I = 10; J = 20;} 38
  39. 39. Saída de dados• Utilizar a biblioteca stdio.h para entrar e sair com dados. • printf(“expressão de controle”, argumentos);• Exemplos:main(){ printf(“este é o comando de saída de dados”); printf(“Este é o número dois: %d”, 2); printf(“%s está a %d milhões de milhas n do sol”, ”Vênus”, 67); printf(“a letra %c ”, ‘j’); printf(“pronuncia-se %s.”, “jota”);} 39
  40. 40. Saída de dados• Tamanho de campos na impressão: • printf(“ n %2d ” , 350);• Para arredondamento: • printf(“ n %4.2f ” , 3456.78 );• Para alinhamento: • printf(“ n %10.2f %10.2f %10.2f ”, 8.0, 15.3, 584.13);• Complemento de zeros a esquerda; • printf(“ n %04d ” , 21);• Impressão de caracteres: • printf(“ %d %c %x %o n ” , ‘A’, ‘A’, ‘A’, ‘A’); 40
  41. 41. Exemplosmain(){ int num; num = 2; printf(“este é o número dois: %d”, num);}main(){ int evento; char corrida; float tempo; evento = 5; corrida = ‘c’; tempo = 27.25; printf(“o tempo vitorioso na eliminatoria %c”, corrida); printf(“n da competicao %d foi %.2f.”, evento, tempo); 41}
  42. 42. Exemplosmain(){ unsigned int j=65000; int i=j; printf(“%d %u n”, i, j);}main(){ int reajuste = 10; printf(“o reajuste foi de %d%%. n”, reajuste);}main(){ printf(“os alunos são %2d. n”, 350); printf(“os alunos são %4d. n”, 350); printf(“os alunos são %6d. n”, 350); 42}
  43. 43. Código de formatação dasfunções de entrada e saídan Nova linha %c Caractere simplest Tab %d Decimalb Retrocesso %e Notação cientifica” Aspas %f Ponto flutuante Barra %o Octalf Salta formulário %s Cadeia de caracteres0 nulo %u Decimal sem sinal %x Hexadecimal 43
  44. 44. Entrada de dados• Utilizar a biblioteca stdio.h para entrar e sair com dados. • scanf(“expressão de controle”, argumentos); • scanf(“ %_ ”, &);• Argumentos: deve consistir nos endereços das variáveis. A linguagem C oferece um operador para tipos básicos chamado operador de endereço e referenciado pelo símbolo & que retorna o endereço do operando.• Exemplos:main() { int num; num = 2; scanf(“ %d ” , &num); 44 }
  45. 45. Entrada de dados• Um endereço de memória é visto como um número inteiro sem sinal, por isso usamos %u;• A saída deste programa varia conforme a máquina e a memória do equipamento, um exemplo é:• Valor = 2• Endereço = 1370 45
  46. 46. Exemplosmain(){ float anos, dias; printf(“digite sua idade em anos: ”); scanf(“%f”, &anos); dias = anos * 365; printf(“sua idade em dias é %.0f .n”, dias);}main(){ char a; printf(“digite um caractere e veja-o em decimal, ”); printf(“octal e hexadecimal .n”); scanf(“%c”,&a); printf(“n %c=%d . , %o oct. e %x hex. n”, a, a, a, a); 46}
  47. 47. Mais Exemplosmain(){ printf(“%4.2f n”, 3456.78); printf(“%3.2f n”, 3456.78); printf(“%3.1f n”, 3456.78); printf(“%10.3f n”, 3456.78);}main(){ printf(“%.2f %2f %2f n”, 8.0, 15.3, 584.13); printf(“%.2f %2f %2f n”, 834.0, 1500.55, 4890.21);}main(){ printf(“-%10.2f -%10.2f -%10.2f n”, 8.0, 15.3, 584.13); printf(“-%10.2f -%10.2f -%10.2f n”, 834.0, 1500.55, 4890.21); 47 }
  48. 48. Operador de atribuição• O Operador de atribuição em C é o sinal de igual =• Ao contrário de outras linguagens, o operador de atribuição pode ser utilizado em expressões que também envolvem outros operadores. 48
  49. 49. Operadores aritméticos + Soma - Subtração * Multiplicação / Divisão % Resto da divisão ++ Incremento -- decremento 49
  50. 50. Expressões com operadoresaritméticos x = x + k; x + = k; x = x – k; x - = k; x=x*k; x * = k; x = x / k; x / = k; x = x % k; x % = k; 50
  51. 51. Exemplosmain(){ int ftemp, ctemp; printf(“digite a temperatura em graus fahrenheit: ”); scanf(“%d”, &ftemp); ctemp=(ftemp-32)*5/9; printf(“temperatura em graus celsius é %d”, ctemp);}main(){ int ftemp; printf(“digite temperatura em graus fahrenheit:”); scanf(“%d”, &ftemp); printf(“temper. em graus celsius é %d”, (f-temp-32)* 5/9); 51}
  52. 52. Exemplosmain(){ int x, r; printf(“digite um numero de até 4 algarismos n”); scanf(“%d”, &x); r = 19998 + x; printf(“o resultado da nossa conta sera: %d n”, r); printf(“digite o segundo numero (4 algarismos) n”); scanf(“%d”, &x); printf(“o meu numero e: %d n”, 9999-x); printf(“digite o quarto numero (4 algarismos) n”); scanf(“%d”, &x); printf(“o meu numero e: %d n”, 9999-x); 52}
  53. 53. Operadores relacionais > Maior que < Menor que >= Maior ou igual que <= Menor ou igual que == Igual != Diferente 53
  54. 54. Expressões com Operadoresrelacionais• x>y • Suponha x = 5 e y = 3. • 5 > 3 (5 é maior que 3? Sim, verdade) • Suponha x = 3 e y = 5. • 3 > 5 (3 é maior que 5? Não, falso)• x<y • Suponha x = 5 e y = 3. • 5 < 3 (5 é menor que 3? Não, Falso) • Suponha x = 3 e y = 5. • 3 < 5 (3 é menor que 5? Sim, verdadeiro) 54
  55. 55. Exemplosmain(){ int verdad, falso; verdad = (15<20); falso = (15 == 20); printf(“verdadeiro = %d, falso = %d n”, verdad, falso);}main(){ int veloc; veloc = 75; printf(“n a velocidade é igual a 55 ? %d”, veloc==55); veloc = 55; printf(“n a velocidade é igual a 55 ? %d”, veloc==55); 55}
  56. 56. Operadores lógicos Tabela and – e && And – e 1 1 1 || Or – ou 1 0 0 ! Not – não 0 1 0 0 0 0 Tabela or - ouTabela not – nao 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 56
  57. 57. Operadores bit a bit& And Tabela verdade E| Or Tabela verdade OU^ Or exclusive Tabela OU exclusivo~ Complemento de um>> Deslocamento à esquerda<< Deslocamento à direitaOperadores bit a bit referem-se a testar, atribuir ou deslocar osbit efeitvos em um byte ou em uma palavra, que corresondemaos tipos de dados char e int e suas variantes. 57
  58. 58. Operador unário -• É usado somente para indicar troca de sinal algébrico do valor. Pode também multiplicar o valor do operando por -1.• Exemplo: • num = -10; • num = - num; 58
  59. 59. Operador ternário ?• Expressão1 ? Expressão2 : Expressão3;• Y = x>9 ? 100 : 200;• Y recebe o valor 100• Se x for menor que 9, y recebe o valor 200• O operador ternário funciona da seguinte forma: • a expressão1 é avaliada, se ela for verdadeira, então a expressão2 é avaliada e se torna o valor da expressão; caso contrário a expressão3 é avaliada e torna-se o valor da expressão. 59
  60. 60. Incremento ++ e decremento --• ++ soma 1 ao seu operando• -- subtrai um ao seu operando• x = x + 1 é igual a ++x ou x++;• x= x – 1 é igual a - - x ou x - - ;• Exemplo:• x = 10;• y = ++x; primeiro incrementa depois usa o valor• y = x++; primeiro usa o valor e depois incrementa• Em ambos o caso y receberá 11, entretanto a diferença está 60 em quando isso acontece
  61. 61. Prioridade/precedência Mais alta ( ) [ ] -> ! ~ ++ -- - * & sizeof */% +- << >> < <= > >= == != & ^ ! && !! ?: 61 = += -= *= /= Mais baixa .
  62. 62. Mais exemplosmain(){ char c; unsigned char uc; int i; unsigned int ui; float f; double d; printf("char %d",sizeof(c)); printf("unsigned char %d",sizeof(uc)); printf("int %d",sizeof(i)); printf("unsigned int %d",sizeof(ui)); printf("float %d",sizeof(f)); printf("double %d",sizeof(d));} 62
  63. 63. Mais exemplosmain(){ int x,y; x=10; y=3; printf("%dn",x/y); printf("%dn",x%y);}main(){ int x=2,y=3,produto; if ((produto=x*y)>0) printf("é maior");} 63
  64. 64. Mais exemplosmain(){ int i,j; printf("digite dois números: "); scanf("%d%d",&i,&j); printf("%d == %d é %dn",i,j,i==j); printf("%d != %d é %dn",i,j,i!=j); printf("%d <= %d é %dn",i,j,i<=j); printf("%d >= %d é %dn",i,j,i>=j); printf("%d < %d é %dn",i,j,i< j); printf("%d > %d é %dn",i,j,i> j);} 64
  65. 65. Mais exemplosmain(){ int x=0; printf("x= %dn",x++); printf("x= %dn",x); printf("x= %dn",++x); printf("x= %dn",x);}main(){ int i=1; printf("%d/3 é: %f",i,(float) i/3); 65}
  66. 66. Mais exemplos#include <stdio.h>main(){ float a, b, c; printf("Digite três números"); scanf("%f %f %f", &a, &b, &c); printf("A media dos numeros %f , %f e %f é igual a %f", a, b, c, (a + b + c)/3);} 66
  67. 67. Mais exemplos/* Programa que inverte um número com dois algarismos */#include <stdio.h>main(){ int Num, Unidades, Dezenas, Invertido; printf("Digite um inteiro com dois algarismos"); scanf("%d", &Num); Unidades = Num % 10; Dezenas = Num/10; Invertido = Unidades * 10 + Dezenas; printf("O invertido de %d e %d ", Num, Invertido); 67}
  68. 68. Mais exemplos/*Programa que determina o menor múltiplo de um inteiro maiorque outro inteiro*/#include <stdio.h>main(){ int Num, Divisor, MenMultiplo; printf("Digite o inteiro do qual o número procurado deve ser múltiplo"); scanf("%d", &Divisor); printf("Digite o inteiro que deve ser menor que o múltiplo n"); scanf("%d", &Num); MenMultiplo = Num - Num % Divisor + Divisor; printf("O menor multiplo de %d maior do que %d e %d n", Divisor, Num, MenMultiplo);} 68
  69. 69. Mais exemplos/*Programa que determina o número de múltiplos de um inteiro ksituados entre dois inteiros x e y*/#include <stdio.h>main(){ int i, x, y, a, k, NumMultiplos = 0; printf("Digite os inteiros x e y (y > x)"); scanf("%d %d", &x, &y); a = y - 1; printf("Digite o inteiro k n"); scanf("%d", &k); NumMultiplos = (a - a % k - x + x % k)/k; printf("O número de multiplos de %d compreendidos entre %d e %d e %d n", k, x, y, NumMultiplos);} 69
  70. 70. Mais exemplos/* Programa que fornece a parte fracionária de um númerodado */#include <stdio.h>main(){ float Num, Frac; int Inteiro; printf("Digite um numero "); scanf("%f", &Num); Inteiro = Num; Frac = Num - Inteiro; printf("A parte fracionaria de %f e %f ", Num, Frac);} 70

×