Introdução a Linguagem de Programação C

Slides:



Advertisements
Apresentações semelhantes
Renata Freire Programação 1 Renata Freire
Advertisements

Programação II Estruturas de Dados Aula 01
Programação para Engenharia I
LABORATÓRIO DE PROGRAMAÇÃO
Algoritmos e Programação Linguagens de Programação Teoria Aula 5 (05/05) Universidade Federal do Vale do São.
Introdução a Programação Renata Freire
LINGUAGEM C.
Introdução Linguagem C
Tópicos Preliminares na Linguagem C
LPG - I: Ponteiros e Vetores/Matrizes UDESC - SBS
LINGUAGEM ESTRUTURADA TURBO C
Tipos de dados, valores literais e variáveis
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
LINGUAGEM C Centro Federal de Educação Tecnológica da Paraíba Coordenação de Informática Professor: Lafayette B. Melo.
Linguagem C Strings.
Linguagem C.
Estruturas de Dados Homogêneas Multidimensionais – Matrizes
Laboratório de Programação de Computadores I
Linguagem C Estruturas de Sequências
Variável Variável: “objecto” que pode assumir diversos valores;
Ling. C - Variáveis Uma variável não é mais do que o nome que nós damos a uma determinada posição de memória para conter um valor de um determinado tipo.
Introdução a Linguagem de Programação C
Linguagem C Conteúdos já desenvolvidos
1MF. Vectores Tipo de dado usado para representar um CONJUNTO de dados do um mesmo tipo Estrutura de dados homogénea unidimensional Ex: Ler a nota de 3.
Revisão da Linguagem C.
O Portal do Estudante de Computação
O Portal do Estudante de Computação
INTRODUÇÃ A COMPUTAÇÃO ENG. CIVIL
Introdução a Computação e Cálculo Numérico
Introdução a Computação e Cálculo Numérico
Aula prática 7 Strings Monitoria de Introdução à Programação
Ameliara Freire O comando de entrada de dados é utilizado quando desejamos fornecer um valor para um nosso programa. Os dispositivos.
CADEIA DE CARACTERES (Strings)
Seminário 1: Revisão de C
UMA VISÃO GERAL DA LINGUAGEM C
PROGRAMAÇÃO I UNIDADE 2.
Fábio de Oliveira Borges
PCI- Introdução a linguagem C
Programação em C++ Compiladores
Vetor Prof. Guilherme Baião S. Silva Adaptações:
Técnicas de Programação I Prof:. Msc. Arimatéia Junior Fortaleza-2011.
Estruturas de Dados Aula 2: Estruturas Estáticas 07/04/2014.
Fundamentos de programação
Aulas 2 e 3 – Java – Prof. Marcelo Heitor # O método main e argumentos na linha de comando; # Fluxo padrão de entrada e saída; # A classe JOptionPane;
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
3. Introdução à Linguagem C
Aula prática 7 Strings Monitoria de Introdução à Programação
Introdução a Linguagem de Programação C
Tipos de Dados Operadores
Algumas notas sobre a linguagem de programação C
MSc. Marcelo Torres – professortorres.com.br. Linguagem de Programação 01 - Introdução à Linguagem C MSc. Marcelo Torres – professortorres.com.br.
Algoritmos e Estrutura de Dados I Jean Carlo Mendes
Wellington Felix.  Criada por Brian Kernighan e Denis Ritchie, na década de 1970, para uso em um computador DEC PDP-11 em Unix  C++ é uma extensão da.
Tipos de dados inteiro caracter real logico
Linguagem C - Funções Automação Industrial Informática Básica
Aula Prática 1 Monitoria IP/CC (~if669) (A partir do slide elaborado por Luís Gabriel)
Introdução à Programação Aula Prática 2 Operadores e Comandos Condicionais Monitoria
Linguagem C.
ALGORITMIA. ALGORITMO Conjunto de instruções ou acções que ao serem executadas, permitirão realizar uma determinada tarefa.
Algoritmos e Programação MC102 Prof. Paulo Miranda IC-UNICAMP Aula 2 Variáveis e Atribuições.
Programação Computacional Aula 8: Entrada e Saída pelo Console Prof a. Madeleine Medrano
Algoritmo e Programação
Tipos de Dados Todo o trabalho realizado por um computador é baseado na manipulação das informações contidas em sua memória. Estas informações podem.
Aula prática 7 Strings Monitoria de Introdução à Programação.
Profa. Maria Augusta Constante Puget
UNDB ESTRUTURAS DE DADOS Prof. Alessandro Gonçalves
Introdução à Linguagem C
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Aula prática 7 Strings Monitoria de Introdução à Programação.
Linguagem de Programação
Transcrição da apresentação:

Introdução a Linguagem de Programação C Baseada na apresentação de Daniela G. Trevisan - daniela@cesup.ufrgs.br

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

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

C comparado a outras linguagens Nível Alto Nível Baixo Nível Médio Clareza Velocidade Ada C Basic Pascal Assembler COBOL Modula -2 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

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

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

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 a as variáveis utilizadas no programa. Introdução Linguagem C

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

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> Introdução Linguagem C

Estrutura de um programa C /* Primeiro Programa em C */ #include <stdio.h> main() { printf(“Meu primeiro programa em C\n”); } Introdução Linguagem C

Vamos utilizar o TC – ambiente DOS Introdução Linguagem C

Pressionar <ALT+ letra do menu> Introdução Linguagem C

No DOS o mouse não funciona Introdução Linguagem C

<ALT + F5> permuta telas Introdução Linguagem C

Estrutura de um programa C /* Primeiro Programa em C */ comentários #include <stdio.h> /*biblioteca de E/S */ main() /*função principal – inicio do programa*/ { /*marca início da função*/ printf(“Meu primeiro programa em C\n”); /*função para escrever na tela*/ } /*marca fim da função*/ Introdução Linguagem C

Compilando e Executando Para compilar: (verifica a sintaxe) <ALT + C> Compile to OBJ <ENTER> Para compilar e gerar executável: Executando: <ALT + R> Run ou Trace over(F7) <ENTER> OBS: Se o nome do executável não for informado o default é NONAME.C, e ficará salvo em OPTIONS  Output_directory (default) Introdução Linguagem C

Introdução Linguagem C Variável 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 Main ( ) { int idade; idade = 30;   printf (“ A idade é : %d”, idade); } Introdução Linguagem C

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

Declaraçã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

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 1 -128 a 127 int 2 -32.768 a 32.767 float 4 3.4e-38 a 3.4e+38 double 8 1.7e-308 a 1.7e+308 Introdução Linguagem C

Diferentes tipos de inteiros   Long ou Long int (4 bytes) Unsigned Char (0 a 255) Unsigned int (0 a 65.535) obs: int tem sempre o tamanho da palavra da máquina Introdução Linguagem C

Programa Exemplo – Tipos de Dados e Variáveis #include <stdio.h> 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); } Introdução Linguagem C

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

Intruçõ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 deverá ser usado. Introdução Linguagem C

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

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

Exemplo strings de controle #include <stdio.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); }   Digitando m:  m = 109 em decimal, 155 em octal, 6d em hexadecimal Introdução Linguagem C

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

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

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

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); } Saída: os alunos são 350 os alunos são 350 os alunos são 350 Introdução Linguagem C

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

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); } Introdução Linguagem C

Programando – Exercício Faça um programa para ler e escrever na tela os seguintes dados: Nome Endereço Telefone Cidade Cep Introdução Linguagem C

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

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

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

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

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

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

Comparações e Testes Se x = 1; 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

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

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

Variável String → Só Dicas matriz do tipo char terminada pelo caractere null ‘\0’ cada caractere de um string pode ser acessado individualmente vetor de tamanho n ® string de tamanho ( n-1 ) Ex: char string[10] = “exemplo” ;   char string[10] = { “exemplo” };   char string[10] = { ‘e’, ‘x’, ‘e’, ‘m’, ‘p’, ‘l’, ‘o’, ‘\0’ }; printf ( “%s”, string ); printf ( “%c”, string [ 0 ] ); Introdução Linguagem C

Introdução Linguagem C Lendo Strings scanf : lê o string até que um branco seja encontrado Ex: main ( ) { char nome[40]; printf ( “Digite seu nome: “ ); scanf ( “%s”, &nome[ 0 ] ); //scanf ( “%s”, nome ); printf ( “Bom dia %c”, nome[0] ); } Saída: Digite seu nome: Jose Maria Bom dia Jose Introdução Linguagem C

Introdução Linguagem C Lendo Strings MUDAR Gets lê caracteres até encontrar ‘\n’ substitui ‘\n’ por ‘\0’ Ex: main ( ) { char nome[40]; printf ( “Digite seu nome: “ ); gets ( &nome[ 0 ] ); // ou gets(nome); printf ( “Bom dia %s”, nome ); } Saída: Digite seu nome: Jose Maria Bom dia Jose Maria Introdução Linguagem C