A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

UMA VISÃO GERAL DA LINGUAGEM C

Apresentações semelhantes


Apresentação em tema: "UMA VISÃO GERAL DA LINGUAGEM C"— Transcrição da apresentação:

1 UMA VISÃO GERAL DA LINGUAGEM C
ALGORITMOS I UMA VISÃO GERAL DA LINGUAGEM C Prof. Me. Jeime Nunes

2 Introdução Linguagem C
Breve Histórico Em 1973 Dennis Ritchie reescreveu o sistema operacional UNIX em uma linguagem de alto nível (Ling. C). Surgem diversas implementações utilizando C, porém os códigos gerados eram incompatíveis. ANSI (American National Standard Institute), em 1983 padronizou a ling. C. Introdução Linguagem C

3 C comparado a outras linguagens
Devemos entender Nível Alto como sendo a capacidade da linguagem em compreender instruções escritas em “dialetos” próximos do inglês (Ada e Pascal, por exemplo) e Nível Baixo para aquelas linguagens que se aproximam do assembly, que é a linguagem própria da máquina, compostas por instruções binárias e outras incompreensíveis para o ser humano não treinado para este propósito. Infelizmente, quanto mais clara uma linguagem for para o humano (simplicidade >) mais obscura o será para a máquina (velocidade <). Introdução Linguagem C

4 Introdução Linguagem C
C comparado a outras linguagens Nível Alto Java Ada Modula -2 Pascal COBOL FORTRAN BASIC Clareza Nível Médio C C++ FORTH Nível Baixo Assembler Velocidade Introdução Linguagem C

5 Introdução Linguagem C
Aplicações escritas em C Sistema Operacional: UNIX Planilhas: 1,2,3 e Excel Banco de Dados: dBase III, IV e Access ( gerenciador de base de dados). Aplicações Gráficas: Efeitos Especiais de filmes como Star Trek e Star War. Introdução Linguagem C

6 Introdução Linguagem C
Características da Linguagem C Portabilidade entre máquinas e sistemas operacionais. Alia características de linguagens de alto e baixo nível (liberdade ao programador). Programas Estruturados. Total interação com o Sistema Operacional. Código compacto e rápido, quando comparado ao código de outras linguagem de complexidade análoga. Introdução Linguagem C

7 Introdução Linguagem C
Características da Linguagem C C é uma linguagem compilada: lê todo o código fonte e gera o código objeto (ling. de máquina) uma única vez. Linguagens Interpretadas: lê o código fonte, traduz e executa cada vez que o programa for executado. Introdução Linguagem C

8 Introdução Linguagem C
Detalhes Importantes Sempre que o código fonte for alterado ele deve ser novamente compilado. C é “case senitive” Deve-se listar antecipadamente todas as variáveis utilizadas no programa. Introdução Linguagem C

9 Introdução Linguagem C
Palavras reservadas São palavras que têm um significado especial para a linguagem. auto, break, case, if, for, while, begin, end, continue, return, const,.... C entende tais palavras apenas em letras minúsculas Introdução Linguagem C

10 Introdução Linguagem C
Bibliotecas Conjunto de funções para realizar tarefas específicas. Biblioteca padrão C - ANSI - funções básicas. As primeiras linhas do programa indicam as bibliotecas utilizadas #include “minha_biblioteca.h” ou #include <minha_biblioteca.h> Exemplo: #include <stdio.h> #include <stdlib.h> Introdução Linguagem C

11 Introdução Linguagem C
Bibliotecas Stdlib.h  (standard library) é um arquivo cabeçalho da biblioteca de propósito geral padrão da linguagem de programação C. Ela possui funções envolvendo alocação de memória, controle de processos, conversões e outras. Stdio.h arquivo-cabeçalho utilizado para o uso de funções de entrada e saída Introdução Linguagem C

12 Estrutura de um programa C
Arquivo-cabeçalho Comentário Introdução Linguagem C

13 Estrutura de um programa C
Introdução Linguagem C

14 ALGORITMOS I EXPRESSÕES EM C Prof. Me. Jeime Nunes de Andrade

15 Introdução Linguagem C
Primeiros Passos Compilador Dev C++ Introdução Linguagem C

16 Introdução Linguagem C
Primeiros Passos Vejamos um primeiro programa em C: Introdução Linguagem C

17 Introdução Linguagem C
Primeiros Passos Arquivos de cabeçalho Diz ao compilador que ele deve incluir o arquivo-cabeçalho stdio.h Este arquivo possui declarações de funções úteis para entrada e saída de dados Comentários Quando fazemos um programa, uma boa idéia é usar comentários O compilador C desconsidera qualquer coisa que esteja entre /* e */ ou linha que comece com // Introdução Linguagem C

18 Introdução Linguagem C
Primeiros Passos Função main A linha int main indica que estamos definindo uma funçao de nome main. Todos os programas em C têm que ter uma função main, pois é esta função que será chamada quando o programa for executado. O conteúdo da função é delimitado por chaves {}. Funções printf() função que coloca uma string na tela. System () função que pause a tela de visualização return () - Indica o retorno de uma função Introdução Linguagem C

19 ALGORITMOS I EXPRESSÕES EM C VARIÁVEIS Prof. Me. Jeime Nunes

20 Introdução Linguagem C
EXPRESSÕES EM C Tipos Básicos de Dados Os tipos básicos de dados Char: utilizado para conter valores defnidos pelo conjunto de caracteres ASCII Int: utilizado para representar valores inteiros float e double: utilizado para representar valores em ponto flutuante ( digitos com valores decimais) Introdução Linguagem C

21 Introdução Linguagem C
Tipos Básicos de Dados determinar um conjunto de valores e as possíveis operações realizadas sobre os mesmos ; informa a quantidade de memória (bytes); tipo bytes escala char a 127 int a float e-38 a 3.4e+38 double e a 1.7e+308 Introdução Linguagem C

22 Diferentes tipos de inteiros
Long ou Long int (4 bytes) Unsigned Char (0 a 255) Unsigned int (0 a ) Introdução Linguagem C

23 Introdução Linguagem C
Variáveis Variável: “objeto” que pode assumir diversos valores; Espaço de memória de um certo tipo de dado associado a um nome para referenciar seu conteúdo Introdução Linguagem C

24 Introdução Linguagem C
Variáveis Programas manipulam dados (valores) e esses dados são armazenados em variáveis Uma variável é uma posição na memória referenciada por um identificador (nome) Uma variável deve ser declarada informando o tipo de dado que ela armazenará e o nome dela float total, media; int soma, subtração, x, y; Muitas variáveis podem ser criadas em uma declaração Introdução Linguagem C

25 Introdução Linguagem C
Variáveis Uma declaração de variável instrui o compilador: a reservar um espaço de memória suficiente para armazenar o tipo de dado declarado o nome ao qual iremos referenciar esta posição de memória Só após a declaração da variável, é que esta pode ser referenciada (utilizada) Quando uma variável é referenciada no programa, o valor armazenado nela é utilizado Introdução Linguagem C

26 Introdução Linguagem C
Nomes de Variáveis Quantos caracteres quiser (32); Comece com letras ou sublinhado: Seguidos de letras, números ou sublinhados C é sensível ao caso: peso <> Peso <> pEso Não podemos definir um identificador com o mesmo nome que uma palavra chave auto static extern int long if while do Introdução Linguagem C

27 Declaração e Inicialização de Variáveis
Instrução para reservar uma quantidade de memória para um certo tipo de dado, indicando o nome pelo qual a área será referenciada <tipo> <nome-da-variável>; ou <tipo> <nome1>, <nome2>,...,<nomen>; EX: char nome; int idade, num; Introdução Linguagem C

28 Introdução Linguagem C
EXPRESSÕES EM C Atribuição Um comando de atribuição modifica o valor armazenado na variável O operador de atribuição é o sinal de “=“ int total; total = 55; total = 65; Só se pode atribuir a uma variável valores compatíveis com o tipo declarado da variável Variável total armazena valor 55 Valor 65 sobrescreve o valor armazenado antes Qual é o valor da variável total? Introdução Linguagem C

29 Inicialização de Variáveis
EXPRESSÕES EM C Inicialização de Variáveis variável pode ser inicializada com o comando de atribuição na hora de sua declaração Declara variável total do tipo int int total = 55; Em C, variáveis não são inicializadas automaticamente Inicializa total com valor 55 Introdução Linguagem C

30 Programa Exemplo – Tipos de Dados e Variáveis
#include <stdio.h> #include <conio.h> int main( ) { int soma=10; float money=2.21; char letra= 'A'; double pi=2.01E6; printf ("valor da soma = %d\n", soma); printf ("Valor de Money = %f\n", money); printf("Valor de Letra = %c\n", letra); printf("Valor de Pi = %e\n", pi); getch(); } Introdução Linguagem C

31 Introdução Linguagem C
EXPRESSÕES EM C Desafio O que o programa a baixo faz? Introdução Linguagem C

32 Introdução Linguagem C
EXPRESSÕES EM C Prática Crie um programa que troque os valores atribuidos a duas variáveis Introdução Linguagem C

33 COMANDOS BASICOS DE ENTREDA E SAÍDA
ALGORITMOS I EXPRESSÕES EM C COMANDOS BASICOS DE ENTREDA E SAÍDA Prof. Me. Jeime Nunes

34 Processamento de dados
Comandos básicos Saída de Dados Entrada de Dados Processamento de dados Instruções de E/S Introdução Linguagem C

35 Instruções de E/S – Scanf ( )
Leitura de dados tipados via teclado Scanf (“string de controle”, lista de argumentos); Exemplo: scanf(“%d”,&idade); OBS: Para seqüência de caracteres (%s), o caracter & não precisa ser usado. Introdução Linguagem C

36 Introdução Linguagem C
Prática Escreva um programa que declare e imprima um conjunto de variáveis para atribuir os respectivos valores: 10 3.6 ‘A’ Escreva um programa que imprima os dados de uma casa que esta a venda. Rua: Nova Iguaçu Bairro: Limeira N: 34 Valor: R$ ,00 Introdução Linguagem C

37 Comandos de E/S – printf ( )
Apresentação de dados no monitor printf(“string de controle”, lista de argumentos); Exemplo: printf (“Digite a sua idade:\n”); scanf (“%d”, &idade); printf(“Sua idade é: %d”, idade); Introdução Linguagem C

38 Introdução Linguagem C
String de controle %c ® caracter %d ® inteiro %e ® número ou notação científica %f ® ponto flutuante %o ® octal %x ® hexadecimal %s ® string (cadeia de caracteres) %lf ® double Introdução Linguagem C

39 Exemplo strings de controle
Digitando m:  m = 109 em decimal, 155 em octal, 6d em hexadecimal #include <stdio.h> #include <conio.h> main ( ) { char a ; printf ("digite um caracter"); scanf ( "% c", &a ); printf ("\n %c = %d em decimal", a, a); printf ("%o em octal, %x em hexadecimal", a, a); getch(); } Introdução Linguagem C

40 Introdução Linguagem C
Operador de Endereço & Um endereço de memória é o nome que o computador usa para identificar uma variável Toda variável ocupa uma área de memória e seu endereço é o primeiro byte por ela ocupado Ex : inteiro ® 2 bytes float ® 4 bytes char ® 1 byte Introdução Linguagem C

41 Introdução Linguagem C
Operador de Endereço & Quando usamos “&” precedendo uma variável estamos falando do endereço desta variável na memória Ex: Saída: valor = 2, endereço = 1230 Varia conforme memória da máquina main ( ) { int num; num = 2; printf ("valor = %d, endereço = %d", num,&num); getch(); } Introdução Linguagem C

42 Introdução Linguagem C
Caracteres Especiais \n nova linha \r enter \t tabulação (tab) \b retrocesso \” aspas \\ barra Introdução Linguagem C

43 Formatando as saídas - printf
É possível estabelecer o tamanho mínimo para a impressão de um campo #include <stdio.h> main ( ) { printf (“os alunos são %2d \n”, 350); printf (“os alunos são %4d \n”, 350); printf (“os alunos são %5d \n”, 350); system(“pause”); return 0 } Saída: os alunos são 350 os alunos são 350 os alunos são 350 Introdução Linguagem C

44 Formatando as saídas - printf
Adiciona espaço antes da string #include <stdio.h> main ( ) { printf (“ %3.1f \n”, ); printf (“ %10.3f \n”, ); } Saída: Introdução Linguagem C

45 Programando – Exercício 1
Faça um programa para ler e escrever na tela o seu nome e a sua idade. #include <stdio.h> main( ) { int idade; char nome[30]; printf (“Digite o seu nome:\n”); scanf(“%s”, nome); printf (“Digite a sua idade:\n”); scanf (“%d”, &idade); printf(“A idade do(a) %s é %d”,nome, idade); } Digite o seu nome: jeime Digite a sua idade: 33 A idade do(a) jeime é 33 Introdução Linguagem C

46 Strings (Vetor de caracteres)
ALGORITMOS I Strings (Vetor de caracteres) Prof. Me. Jeime Nunes

47 Introdução Linguagem C
EXPRESSÕES EM C Problema Nosso cliente precisa de um programa feito em C para que ele possa inserir um conjunto de palavras e exibir-las na tela Introdução Linguagem C

48 Introdução Linguagem C
EXPRESSÕES EM C Caracteres Em C, o tipo char: É usado para representar caracteres Pode armazenar valores inteiros(em1 byte), representando assim, 256 valores distintos Uma constante char é escrita entre aspas simples Introdução Linguagem C

49 Introdução Linguagem C
EXPRESSÕES EM C Caracteres São representados internamente na memória do computador por códigos numéricos A correspondência entre os caracteres e os seus códigos numéricos é feita por uma tabela ASCII Na tabela ASCII: Os dígitos são codificados em seqüência as letras minúsculas e maiúsculas também formam dois grupos sequenciais Introdução Linguagem C

50 Introdução Linguagem C
EXPRESSÕES EM C Tabela ASCII Introdução Linguagem C

51 Impressão de Caracteres
EXPRESSÕES EM C Impressão de Caracteres Podem ser impressos de duas formas diferentes usando o printf: Existe a função putchar da biblioteca stdio.h que permite a impressão de um caractere Introdução Linguagem C

52 Introdução Linguagem C
EXPRESSÕES EM C Leitura de Caracteres Leitura de caracteres com a função scanf Existe a função getchar da biblioteca stdio.h que permite a leitura de um caractere Introdução Linguagem C

53 Introdução Linguagem C
EXPRESSÕES EM C Leitura de Caracteres Função scanf e getchar obriga que a tecla <enter> seja pressionada após a entrada dos dados Existem funções para ler dados sem esperar pelo <enter> em C para ambientes Windows: Função getche – definida em conio.h Lê um caractere e o exibe na tela Função getch – definida em conio.h Lê um caractere e não o exibe na tela (invisível) Introdução Linguagem C

54 Vetor de Caracteres (String)
EXPRESSÕES EM C Vetor de Caracteres (String) É representada por um vetor do tipo char e terminada obrigatoriamente, pelo caractere nulo‘\0 ’ O especificador de formato%s da função printf permite imprimir uma cadeia de caracteres A partir do endereço para o primeiro caractere, as funções processam caractere a caractere até que‘\0’seja encontrado Introdução Linguagem C

55 Inicialização de Strings
EXPRESSÕES EM C Inicialização de Strings Inicialização do vetor de caracteres na declaração Inicialização do vetor na declaração através da escrita dos caracteres entre aspas duplas Introdução Linguagem C

56 Inicialização de Strings
EXPRESSÕES EM C Inicialização de Strings Introdução Linguagem C

57 Introdução Linguagem C
EXPRESSÕES EM C Leitura de Strings Especificador %s na função scanf captura somente uma seqüência de caracteres não brancos Limitação: somente nomes simples podem ser lidos Um caracter branco pode ser um: espaço( ‘’) Caractere de tabulação( ‘\t ’) Caractere de nova linha( ‘\n ’) Introdução Linguagem C

58 Permitindo Ler Mais de um Nome com o scanf
EXPRESSÕES EM C Permitindo Ler Mais de um Nome com o scanf A função acima lê uma seqüência de caracteres até que seja digitado um <enter> A inclusão do espaço antes de % descartam espaços em brancos que precedem o nome Introdução Linguagem C

59 Permitindo Ler Mais de um Nome com o scanf
EXPRESSÕES EM C Permitindo Ler Mais de um Nome com o scanf Para limitar o número máximo de caracteres capturados: Introdução Linguagem C

60 APRENDER A APRENDER deve ser nossa meta.
ALGORITMOS II EXPRESSÕES EM C OPERADORES APRENDER A APRENDER deve ser nossa meta. Prof. Me. Leandro Oliveira de Souza

61 Operadores Aritméticos
AÇÃO + Adição * Multiplicação / Divisão % Resto da divisão inteira - Subtração (unário) -- Decremento ++ Incremento Introdução Linguagem C

62 Operadores Relacionais e Lógicos
Ação > Maior que >= Maior ou igual que < Menor que <= Menor ou igual que == Igual a != Diferente de && Condição “E” || Condição “OU” ! Não Introdução Linguagem C

63 Operadores - Observação
Em C o resultado da comparação será ZERO se resultar em FALSO e DIFERENTE DE ZERO no caso de obtermos VERDADEIRO num teste qualquer. Introdução Linguagem C

64 Introdução Linguagem C
Operadores - Exemplo Saída: Verd.=1 Falso = 0 #include <stdio.h> main ( ) { int verdadeiro, falso; verdadeiro = (15 < 20); falso = (15 == 20); printf(“Verd.= %d,Falso= %d”, verdadeiro, falso); } Introdução Linguagem C

65 Introdução Linguagem C
Comparações e Testes Observemos antes de mais nada que ++x é diferente de x++! Se x = 10; y = ++x; /* x=x+1; y=x; */ então x = 11 e y = 11 Porém Se x = 10; y = x++; /* y=x; x=x+1 */ então x = 11 e y = 10 Introdução Linguagem C

66 Programa Exemplo – Pre/Pos Incremento
Quais são as saídas deste programa ? #include<stdio.h> main() { int cont = 0, x; x=++cont; printf(“Loop=%d, Cont=%d\n”, loop, cont); x=cont++; Introdução Linguagem C

67 Comparações e Testes int x = 1; int y = 2;
printf(“%d == %d e’ %d\n”, x, y, x==y ); Qual seria a saída deste comando? resultaria em 1 == 2 0 (pois a expressão é falsa) Introdução Linguagem C

68 if (10 > 4 && !(10 < 9) || 3 <= 4)
Comparações e Testes if (10 > 4 && !(10 < 9) || 3 <= 4) Como seria avaliado esta instrução? resultaria em Verdadeiro, pois dez é maior que quatro E dez não é menor que nove OU três é menor ou igual a quatro Introdução Linguagem C

69 Introdução Linguagem C
Operador Sizeof Este operador retorna o tamanho da variável ou tipo que está em seu operando. Por exemplo “sizeof(char)” resultaria em 1. Introdução Linguagem C

70 Introdução Linguagem C
Conversões de Tipos Quando forem misturadas variáveis de diferentes tipos, o compilador C converterá os operandos para o tipo de operando maior, de acordo com as regras descritas a seguir: 1-Todo char e short int é convertido para int. Todo float é convertido para double. 2-Para os demais pares de operandos valem as seguintes regras em seqüência: 2.1- Se um operando for long double, o outro também o será. 2.2- Se um operando for double, o outro também o será. 2.3- Se um operando for long, o outro também o será. 2.4- Se um operando for unsigned, o outro também o será. Introdução Linguagem C

71 Conversões de Tipos - NOTA
Nota: Devemos observar que o compilador C é bastante flexível e pouco vigilante, comportando-se de maneira muito diferente de um compilador Clipper ou Pascal, sempre vigilantes com relação aos tipos das variáveis. De fato aqueles compiladores podem gerar executáveis misturando tipos, porém a ocorrência de erros de execução é quase inevitável. Ao contrário destes compiladores, os compiladores C “ajeitam” as coisas para o programa funcionar da “melhor maneira possível”, o que não significa em hipótese alguma que os resultados serão os esperados por programadores “relapsos”. Assim esta boa característica dos compiladores C, pode transformar-se numa autêntica “bomba relógio” para programas não muito bem elaborados. Introdução Linguagem C

72 Introdução Linguagem C
Dúvidas ou sugestões Introdução Linguagem C

73 Introdução Linguagem C
Dúvidas ou sugestões Introdução Linguagem C


Carregar ppt "UMA VISÃO GERAL DA LINGUAGEM C"

Apresentações semelhantes


Anúncios Google