Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira

Tamanho: px
Começar a partir da página:

Download "Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira"

Transcrição

1 Linguagem C Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João Pedro Patriarca (jpatri@cc.isel.ipl.pt)

2 C versus Java C Java Dennis Ritchie: 196?-197? Programação de sistemas Desenhado para estar perto do hardware Acesso directo à memória (eficiência tempo/espaço) Permite portabilidade entre várias plataformas de hardware Portabilidade ao nível do código fonte Linguagem procedimental James Gosling: 199? Sintaxe semelhante a C Suporte de OOP com mais mecanismos automáticos mas menos liberdade nos paradigmas suportados 2

3 Perigos e (des)vantagens face a Java Gestão de memória feita explicitamente Java tem gestão automática com garbage collection Iniciação explícita Java inicia os campos e detecta utilização sem iniciação Detecção de erros explícita Java gera excepção (referência a null, indexação fora dos limites, ) Mais linhas de código para a mesma funcionalidade Fácil cometer erros não detectados pelo compilador Não existe portabilidade de código já compilado As bibliotecas não são portáveis Não existe uma interface gráfica standard e portável 3

4 Exemplo em C #include <stdio.h> int main() { int nextchar; /* char readed */ int count = 0; /* words counter */ int inword = 0; /* current state */ while (( nextchar = getchar() )!= EOF) { if (nextchar == '\n' nextchar == ' ') inword = 0; else if (! inword) { inword = 1; ++count; printf("words=%d\n",count); return 0; words.c 4

5 Expressões, Instruções e Blocos Uma expressão produz um valor 1<<5 8%3 (a+1)*2 ++a*2 a=3 a== Se a tinha depois fica com: Instrução: expressão terminada por ; a=3; a=(a+1)*2; Bloco: sequência de instruções entre chavetas Corpo de funções Instruções do if, while, for, { x++; a=x*4; { x++; a=x*4; return 0; #include <stdio.h> int main() { int nextchar; /* char readed */ int count = 0; /* words counter */ int inword = 0; /* current state */ while (( nextchar = getchar() )!= EOF) { if (nextchar == '\n' nextchar == ' ') inword = 0; else if (! inword) { inword = 1; ++count; printf("words=%d\n",count); 5

6 Instruções de controlo e valores lógicos As instruções de controlo de fluxo do programa têm sintaxe e semântica equivalentes à linguagem Java Na linguagem C não existe o tipo boolean Uma expressão de controlo é verdadeira se o resultado for diferente de 0 int x = 10; while (x) { putchar(. ); --x; bib: K&R, cap. 3 O resultado da avaliação das operações relacionais é 1 ou 0 b = x==x; 1 b = 10<5; 0 6

7 Identificadores, Tipos e Constantes Identificadores As mesmas regras de Java: Tipos básicos (char, int, float, double) Modificadores de dimensão (short, long) aplicáveis a int Modificadores de sinal (signed, unsigned) aplicáveis a int e char Constantes int: x23 23L 23U double ou float: F F 12.3e e10F char: K \n \t \ \\ \0 \113 \x48 string: abc aspas=\ linha\n Sequências de escape: \a alerta (bell) \t Tabulador \b Backspace \\ Carácter backslash #include <stdio.h> int main() { int nextchar; /* char readed */ int count = 0; /* words counter */ int inword = 0; /* current state */ while (( nextchar = getchar() )!= EOF) { if (nextchar == '\n' nextchar == ' ') inword = 0; else if (! inword) { inword = 1; ++count; printf("words=%d\n",count); return 0; 7

8 Variáveis/Declarações Nome Tipo char c; int i = 10; Zona de memória associada a um nome Significado e dimensão dos valores armazenados Âmbito (scope) Onde é vista a variável Bloco de função, Argumento de função, Global, outros blocos Tempo de vida Desde a reserva de memória à libertação Automático (sujeito ao bloco) Estático (sujeito ao programa) Qualificador const const double PI= ; return 0; #include <stdio.h> int main() { int nextchar; /* char readed */ int count = 0; /* words counter */ int inword = 0; /* current state */ while (( nextchar = getchar() )!= EOF) { if (nextchar == '\n' nextchar == ' ') inword = 0; else if (! inword) { inword = 1; ++count; printf("words=%d\n",count); 8

9 Tipo char Tipo Utilização Dimensão Valores signed char Valores muito pequenos 8 bits unsigned char Código de um carácter (1 byte) char??? int main(void) { signed char sc= 0; unsigned char uc= 0; char c = 0; primitivetypes.c char ca='a', ca; for(ca=ca-'a'+'a' ; ca<='z' ; ++ca, ++ca) printf("%c-%d %c-%d\n",ca,ca,ca,ca); --sc; --uc; --c; printf("%d, %d, %c, %d\n",sc,uc,c,c); A-65 a-97 B-66 b-98 C-67 c-99 D-68 d X-88 x-120 Y-89 y-121 Z-90 z-122-1, 255,, -1 return 0; 9

10 Tipo int Tipo Utilização Dimensão típica (32 bits) Valores signed int ou int Valores 32 bits unsigned int inteiros (4 bytes) (2 32 = ) long int ou long Valores 32 ou 64 bits unsigned long grandes (4 ou 8 bytes) short int ou short Valores 16 bits unsigned short pequenos (2 bytes) (2 16 =65.536) Standard só garante: sizeof(char) sizeof(short) sizeof(int) sizeof(long) unsigned int ui=~0u; primitivetypes.c unsigned long ul=~0u; unsigned short us=~0u; printf( max unsigned\n\tint=%u\n \tlong=%u\n\tshort=%u\n signed int=~0=%d,ui,ul,us,ui); max unsigned int= long= short=65535 signed int=~0=-1 10

11 Tipo float e double Tipo Utilização Dimensão Expoente (norma IEEE 754) (bits) Mantissa (bits) Valores float Valores reais pequenos 32 bits (4 bytes) 8 23 ± ± double Valores reais grandes 64 bits (8 bytes) ± ± v = ±m 2 e m = 1.M, e = E-127 M é a mantissa, valendo cada bit: E é o expoente, valendo cada bit: M=2-2 =0.25 m=1.25 E= =124 e=-3 v= = Existem representações especiais para: zero, infinito e indeterminado 11

12 Conversão de tipos Conversão implícita Verificada em tempo de compilação Promoção char int float double short int int long int Em expressões quando os operandos são de tipos diferentes Conversão para o tipo mais abrangente int small = 10L; long large = small;??? any; any = large + small; Conversão explícita (cast) Para realizar despromoções small = (int) large; Podem gerar código short int val = -1; small = (int) val; 12

13 Operadores Aritméticos: Quatro operadores entre inteiros e reais: +, -, * e / Resto de divisão inteira: % Operadores unários: + e Incremento e decremento (prefixo e sufixo): ++ e Relacionais: >, >=, <, <=, == e!= Lógicos: &&, e o unário! Bit a bit: &,, ^, <<, >> e o unário ~ Afectação: = Compostos: +=, -=, *=, /=, %=, &=, =, ^=, <<= e >>= Precedência e Associatividade () [] ->.! ~ * & (type) sizeof * / % + - << >> < <= > >= ==!= & ^ &&?: = += -=, 13

14 Função printf() #include <stdio.h> pc.c void printchar(int c) { printf( Char %c code=%d hex=0x%x\n,c,c,c); int main(void) { printchar( A ); printchar( H ); return 0; Char A code=65 hex=0x41 Char H code=72 hex=0x48 %c Carácter cujo código é o valor \% sequência de escape %d Valor inteiro em decimal %x %X Valor inteiro em hexadecimal %o Valor inteiro em octal %u Valor inteiro sem sinal %f Valor real bib: K&R, cap. 7 {.2 14

15 Compilar, Ligar e executar (Linux/GNU) $ gcc Wall g c words.c Compila o ficheiro fonte words.c e gera o ficheiro words.o com o código compilado Neste passo são detectados os erros de compilação pre-processador; sintaxe; semânticos $ gcc words.o o words Liga words.o com a biblioteca standard e gera o ficheiro executável words Neste passo são detectados erros de ligação Símbolo não encontrado $./words < abc.txt Executa o programa dando como entrada (input) o conteúdo do ficheiro abc.txt Neste passo são detectados os erros de execução O programa não cumpre o objectivo Debug $ insight words 15

Introdução a C Tipos de Dados Variáveis Operadores

Introdução a C Tipos de Dados Variáveis Operadores Introdução a C Tipos de Dados Variáveis Operadores INF1005 Programação I Prof. Hélio Lopes lopes@inf.puc-rio.br sala 408 RDC 1 introdução a C tópicos ciclo de desenvolvimento sistemas numéricos tipos de

Leia mais

Conceitos Básicos de C

Conceitos Básicos de C Conceitos Básicos de C Bibliografia Problem Solving & Program design in C, Jeri R. Hanly e Elliot B. Kpffman, 3 a edição Data Structures and Algorithm Analysis in C, Mark Allen Weiss, 2 a edição, Addison-Wesley,

Leia mais

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação Linguagem C: variáveis, operadores, entrada/saída Prof. Críston Algoritmos e Programação Linguagem C Linguagem de uso geral (qualquer tipo de aplicação) Uma das linguagens mais utilizadas Foi utilizada

Leia mais

Programas simples em C

Programas simples em C Programas simples em C Problema 1. Escreve um programa em C que dados dois inteiros indique se são iguais ou qual o maior. Utilizar a construção em 5 etapas... quais? 1. Perceber o problema 2. Ideia da

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Estrutura de um Programa C Inclusão de bibliotecas auxiliares: #include Definição de constantes:

Leia mais

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO

INTRODUÇÃO À LINGUAGEM PASCAL PREFÁCIO INTRODUÇÃO À LINGUAGEM PASCAL CESAR BEZERRA TEIXEIRA,MSC PREFÁCIO A linguagem C foi desenvolvida no início da década de 70 por dois pesquisadores do Bell Laboratories, Brian Kernihgan e Dennis Ritchie,

Leia mais

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

MC102 Algoritmos e programação de computadores Aula 3: Variáveis MC102 Algoritmos e programação de computadores Aula 3: Variáveis Variáveis Variáveis são locais onde armazenamos valores na memória. Toda variável é caracterizada por um nome, que a identifica em um programa,

Leia mais

Capítulo 2: Introdução à Linguagem C

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C INF1005 Programação 1 Pontifícia Universidade Católica Departamento de Informática Programa Programa é um algoritmo escrito em uma linguagem de programação. No nosso

Leia mais

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Linguagem C Tipos de Dados void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador Funções void void pode ser usado em lugar de um tipo, para indicar a ausência de valor

Leia mais

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre Cap. 02 Fundamentos de Linguagens Sumário : Linguagem, alfabeto e gramática

Leia mais

Programação: Tipos, Variáveis e Expressões

Programação: Tipos, Variáveis e Expressões Programação de Computadores I Aula 05 Programação: Tipos, Variáveis e Expressões José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/56 Valores Valor é uma entidade

Leia mais

Linguagens de Programação

Linguagens de Programação 68 Linguagens de Programação Uma linguagem de programação é um vocabulário e um conjunto de regras gramaticais usadas para escrever programas de computador. Esses programas instruem o computador a realizar

Leia mais

Tipos de Dados Simples

Tipos de Dados Simples Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples

Leia mais

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu. Programação Estruturada Linguagem C Fundamentos da Linguagem Prof. Luis Nícolas de Amorim Trigo nicolas.trigo@ifsertao-pe.edu.br Sumário Estrutura Básica Bibliotecas Básicas Tipos de Dados Básicos Variáveis/Declaração

Leia mais

Algoritmos e Programação

Algoritmos e Programação Universidade Federal do Vale do São Francisco Curso de Engenharia da Produção / Elétrica Algoritmos e Programação Parte 05 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti

Leia mais

Conceitos de Linguagens de Programação

Conceitos de Linguagens de Programação Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações

Leia mais

Sistemas Microcontrolados

Sistemas Microcontrolados Sistemas Microcontrolados Aula 4: Programação em C para PIC Marco Jose da Silva mdasilva@utfpr.edu.br Compiladores C para PICs C18 HI-TECH CCS IAR MikroC http://www.microchip.com/ http://www.htsoft.com/

Leia mais

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C Universidade Federal de Uberlândia Faculdade de Computação A Linguagem C Prof. Renato Pimentel 1 Programação Quando queremos criar ou desenvolver um software para realizar determinado tipo de processamento

Leia mais

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10

2. OPERADORES... 6 3. ALGORITMOS, FLUXOGRAMAS E PROGRAMAS... 8 4. FUNÇÕES... 10 1. TIPOS DE DADOS... 3 1.1 DEFINIÇÃO DE DADOS... 3 1.2 - DEFINIÇÃO DE VARIÁVEIS... 3 1.3 - VARIÁVEIS EM C... 3 1.3.1. NOME DAS VARIÁVEIS... 3 1.3.2 - TIPOS BÁSICOS... 3 1.3.3 DECLARAÇÃO DE VARIÁVEIS...

Leia mais

2. Constantes e Variáveis

2. Constantes e Variáveis 2. Constantes e Variáveis Neste capitulo veremos como os dados constantes e variáveis são manipulados pela linguagem C. O que são constantes inteiras, reais, caracteres e strings. Quais são as regras de

Leia mais

Algoritmos e Programação Estruturada

Algoritmos e Programação Estruturada Algoritmos e Programação Estruturada Virgínia M. Cardoso Linguagem C Criada por Dennis M. Ritchie e Ken Thompson no Laboratório Bell em 1972. A Linguagem C foi baseada na Linguagem B criada por Thompson.

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream> Aula 1 C é uma linguagem de programação estruturada desenvolvida por Dennis Ritchie nos laboratórios Bell entre 1969 e 1972; Algumas características: É case-sensitive, ou seja, o compilador difere letras

Leia mais

Componentes da linguagem C++

Componentes da linguagem C++ Componentes da linguagem C++ C++ é uma linguagem de programação orientada a objetos (OO) que oferece suporte às características OO, além de permitir você realizar outras tarefas, similarmente a outras

Leia mais

número 32.767: 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Por exemplo, tendo o seguinte binário com sinal (em vermelho indica positivo): 0 0 0 0 0 0 1 1 = 3

número 32.767: 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Por exemplo, tendo o seguinte binário com sinal (em vermelho indica positivo): 0 0 0 0 0 0 1 1 = 3 Os cinco tipos básicos de dados e seus modificadores Em C temos os tipos de dados básicos char (caractere), int (inteiro), float (ponto flutuante), double (ponto flutuante de dupla precisão) e void (sem

Leia mais

Representação de Dados (inteiros não negativos)

Representação de Dados (inteiros não negativos) Representação de Dados (inteiros não negativos) 1 Memória Armazena instruções e dados durante a execução de um programa A memória principal pode ser vista como um array de bytes, cada um com seu endereço

Leia mais

Introdução à Programação

Introdução à Programação Introdução à Programação Introdução a Linguagem C Construções Básicas Programa em C #include int main ( ) { Palavras Reservadas } float celsius ; float farenheit ; celsius = 30; farenheit = 9.0/5

Leia mais

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados

Leia mais

LINGUAGEM C. Estrutura básica de um programa

LINGUAGEM C. Estrutura básica de um programa LINGUAGEM C Estrutura básica de um programa Um programa em linguagem C é constituído por uma sequência de funções (módulos) que em conjunto irão permitir resolver o problema proposto. Estas funções contêm

Leia mais

Programando em C++ Histórico da Linguagem C

Programando em C++ Histórico da Linguagem C Programando em C++ Joaquim Quinteiro Uchôa joukim@comp.ufla.br DCC-UFLA, 2002 Programando em C++ p.1/38 Histórico da Linguagem C Linguagem C: 1972 - Laboratório Bells, por Dennis Ritchie, a partir da linguagem

Leia mais

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO Tópicos Estrutura Básica B de Programas C e C++ Tipos de Dados Variáveis Strings Entrada e Saída de Dados no C e C++ INTRODUÇÃO O C++ aceita

Leia mais

Linguagem de Programação em C

Linguagem de Programação em C Linguagem de Programação em C Anderson L. S. Moreira anderson.moreira@recife.ifpe.edu.br http://alsm.cc O que fazer com essa apresentação 2 Introdução Por que programar? Quando o homem necessita do auxilio

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Linguagem C: Desenvolvida por Dennis Ritchie nos laboratórios da AT&T Bell (EUA) no início dos anos 70; Algol

Leia mais

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo LTP-IV Prof. Dr. Silvio do Lago Pereira Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo Contato e-mail: slago@ime.usp.br home page: www.ime.usp.br/~slago apostila: Linguagem

Leia mais

INF 1005 Programação I

INF 1005 Programação I INF 1005 Programação I Aula 12 Cadeia de Caracteres (Strings) Edirlei Soares de Lima Caracteres Até o momento nós somente utilizamos variáveis que armazenam números (int, float ou

Leia mais

Sintaxe Básica de Java Parte 1

Sintaxe Básica de Java Parte 1 Sintaxe Básica de Java Parte 1 Universidade Católica de Pernambuco Ciência da Computação Prof. Márcio Bueno poonoite@marcioubeno.com Fonte: Material da Profª Karina Oliveira Estrutura de Programa Um programa

Leia mais

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com

Laboratório de Programação. Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com Laboratório de Programação Prof. Oscar Luiz Monteiro de Farias fariasol@gmail.com Ementa: Equivalente ao sumário do livro: The C Programming Language, Second edition. Autores: Brian W. Kernighan, Dennis

Leia mais

Resumo da Introdução de Prática de Programação com C. A Linguagem C

Resumo da Introdução de Prática de Programação com C. A Linguagem C Resumo da Introdução de Prática de Programação com C A Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional

Leia mais

Linguagem C. Ricardo Terra. rterrabh@gmail.com. Ricardo Terra (rterrabh@gmail.com) Linguagem C 1 de agosto de 2012 1 / 341

Linguagem C. Ricardo Terra. rterrabh@gmail.com. Ricardo Terra (rterrabh@gmail.com) Linguagem C 1 de agosto de 2012 1 / 341 Linguagem C Ricardo Terra rterrabh@gmail.com Ricardo Terra (rterrabh@gmail.com) Linguagem C 1 de agosto de 2012 1 / 341 Conteúdo 1 Introdução Tópicos Importantes 2 Sintaxe Básica 3 Ponteiros 4 Tópicos

Leia mais

Programação Estruturada I

Programação Estruturada I Programação Estruturada I Introdução a Linguagem C Prof. Thiago Caproni Tavares 1 Prof. Mateus dos Santos 2 1 thiago.tavares@ifsuldeminas.edu.br 2 mateus.santos@ifsuldeminas.edu.br Última Atualização:

Leia mais

Programação em Linguagem C 1 CONCEITOS PRELIMINARES

Programação em Linguagem C 1 CONCEITOS PRELIMINARES Linguagem C Índice 1 Conceitos preliminares...1 1.1 Microcomputadores padrão Intel x86...1 1.2 Modos de memória nos microcomputadores...3 1.3 O sistema operacional...3 2 Introdução a Linguagem C...4 2.1

Leia mais

Linguagem de Programação I

Linguagem de Programação I Linguagem de Programação I Curso de Sistemas de Informação Karla Donato Fook karladf@ifma.edu.br DESU / DAI 2016 Linguagem de Programação C 2 1 Linguagem de Programação C Os programas em C consistem em

Leia mais

Algoritmos e Técnicas de

Algoritmos e Técnicas de INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE Algoritmos e Técnicas de Programação Docente: Éberton da Silva Marinho e-mail: ebertonsm@gmail.com eberton.marinho@ifrn.edu.br

Leia mais

C para microcontroladores

C para microcontroladores Copyright 2007 Hans Jörg Schneebeli C para microcontroladores Hans Jörg Schneebeli Objetivo O objetivo é mostrar como se pode programar dispositivos, como microcontroladores, com restrições severas de

Leia mais

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores 12/03/2011 VARIÁVEIS E TIPOS DE DADOS Linguagem C Introdução à Programação C Introdução à Ciência da Computação I Prof. Denis F. Wolf Origem de C está associada ao sistema Unix Histórico: 1970: Ken Thompson desenvolve B, baseada em BCPL, para

Leia mais

Apostila de Linguagem C (Conceitos Básicos)

Apostila de Linguagem C (Conceitos Básicos) Apostila de Linguagem C (Conceitos Básicos) Prof. Luiz Gustavo Almeida Martins 1. INTRODUÇÃO 1.1. HISTÓRICO LINGUAGEM C Conceitos Básicos A Linguagem C, criada em 1970 por Dennis Ritchie, é uma evolução

Leia mais

Variáveis e Comandos de Atribuição

Variáveis e Comandos de Atribuição BCC 201 - Introdução à Programação Variáveis e Comandos de Atribuição Guillermo Cámara-Chávez UFOP 1/47 Estrutura Básica de um programa C I < d i r e t i v a s do pré p r o c e s s a d o r > < d e c l

Leia mais

Linguagem de Programação C

Linguagem de Programação C Universidade de Brasília Departamento de Ciência da Computação Linguagem de Programação C Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Variáveis vari veis em um programa C est o associadas a posi es

Leia mais

Programação em Linguagem C

Programação em Linguagem C Engenharia de Sistemas e Informática 1º Ano 2º Semestre Programação em Linguagem C Escola Superior de Tecnologia de Viseu Instituto Politécnico de Viseu Carlos Simões ÍNDICE 1 Introdução à Linguagem de

Leia mais

Programação Básica em Arduino Aula 2

Programação Básica em Arduino Aula 2 Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas

Leia mais

Algoritmo e Técnica de Programação - Linguagem C

Algoritmo e Técnica de Programação - Linguagem C Algoritmo e Técnica de Programação Linguagem C Gilbran Silva de Andrade 5 de junho de 2008 Introdução A liguagem C foi inventada e implementada por Dennis Ritchie em um DEC PDP-11 que utilizava o sistema

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

Introdução à Programação em Linguagem C

Introdução à Programação em Linguagem C Material Complementar EA869 (Prof. Von Zuben DCA/FEEC/Unicamp) 1 1. Enfoque Introdução à Programação em Linguagem C Será tratada aqui a linguagem C tradicional, sendo que existem outras variantes tais

Leia mais

Iniciação rápida à Linguagem C

Iniciação rápida à Linguagem C Iniciação rápida à Linguagem C jrg, SO, ISCTE 2009-10-1ºS vs 001 1. O "Hello World" O "Hello World" é o seguinte programa ( 1 ) printf ("Hello World!\n"); A primeira linha do programa é um "include". Esta

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Introdução à Linguagem C

Introdução à Linguagem C Prof a.dr a.thatyana de Faria Piola Seraphim (ECO) Prof.Dr.Enzo Seraphim (ECO) Universidade Federal de Itajubá thatyana@unifei.edu.br seraphim@unifei.edu.br Introdução - História A linguagem de programação

Leia mais

Programação em C++: Introdução

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 02 Introdução a Linguagem C Edirlei Soares de Lima Lógica de Programação Lógica de Programação é a técnica de criar sequências lógicas de ações para

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Convertendo Algoritmos para a Linguagem C

Convertendo Algoritmos para a Linguagem C onvertendo Algoritmos para a Linguagem Notas de Aula Prof. Francisco Rapchan www.geocities.com/chicorapchan O objetivo deste texto é mostrar alguns programas em, dando uma breve descrição de seu funcionamento

Leia mais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais

UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06. Funções, variáveis, parâmetros formais UNIVERSIDADE DO VALE DO RIO DOS SINOS - UNISINOS CENTRO DE CIÊNCIAS EXATAS E TECNOLÓGICAS - CENTRO 06 Disciplina: Linguagem de Programação C Profª Viviane Todt Diverio Funções, variáveis, parâmetros formais

Leia mais

Italo Valcy <italo@dcc.ufba.br>

Italo Valcy <italo@dcc.ufba.br> Programação C Módulo 01 Introdução à linguagem C Italo Valcy www.ieee.org/ufba Italo Valcy Programação em C Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente,

Leia mais

Introdução à Programação

Introdução à Programação Aula Teórica/Pratica 5: ciclos e funções Getchar e putchar Escrever e ler caracteres A função getchar da biblioteca stdio.h permite de receber exatamente um (1) carácter da o "teclado"ou stdin Definição:

Leia mais

Programação em linguagem C EA870 - FEEC - Unicamp

Programação em linguagem C EA870 - FEEC - Unicamp Programação em linguagem C EA870 - FEEC - Unicamp Introdução à linguagem C, para programação de microcontroladores HC11, utilizando o compilador ICC11 Murillo Fernandes Bernardes bernarde@fee.unicamp.br

Leia mais

Estruturas de entrada e saída

Estruturas de entrada e saída capa Estruturas de entrada e saída - A linguagem C utiliza de algumas funções para tratamento de entrada e saída de dados. - A maioria dessas funções estão presentes na biblioteca . - As funções

Leia mais

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto Linguagem C O C nasceu na década de 70. Seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 rodando o sistema operacional UNIX. O C é derivado de uma outra linguagem: o B,

Leia mais

Roteiro 1: Dados, variáveis, operadores e precedência

Roteiro 1: Dados, variáveis, operadores e precedência 1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta

Leia mais

Linguagem de Programação C

Linguagem de Programação C Universidade Estadual de Mato Grosso do Sul UEMS Bacharelado em Ciência da Computação Linguagem de Programação C nilton@comp.uems.br Dourados, março de 2009. SUMÁRIO 1-Linguagem de Programação C 1.1 Introdução

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 2: Classes e objectos LEEC@IST Java 1/24 Classes (1) Sintaxe Qualif* class Ident [ extends IdentC] [ implements IdentI [,IdentI]* ] { [ Atributos Métodos ]* Qualif:

Leia mais

O COMPUTADOR. Introdução à Computação

O COMPUTADOR. Introdução à Computação O COMPUTADOR Introdução à Computação Sumário O Hardware O Software Linguagens de Programação Histórico da Linguagem C Componentes Básicos do Computador O HARDWARE: O equipamento propriamente dito. Inclui:

Leia mais

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1

Algoritmos e Estruturas de Dados I (DCC/003) 2013/2. Introdução à Programação de Computadores. Aula - Tópico 1 Algoritmos e Estruturas de Dados I (DCC/003) 2013/2 Introdução à Programação de Computadores Aula - Tópico 1 1 Por que usar um computador? Como conversar com um computador? 0101001001010100101011 0010100110101011111010

Leia mais

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros

Leia mais

Conteúdo programático

Conteúdo programático Introdução à Linguagem C Conteúdo programático Introdução à Linguagem C Estrutura de Programas Variáveis, Constantes Operadores, Entrada e Saída de Dados Estruturas de Desvio Estrutura de Múltipla Escolha

Leia mais

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br LP II Estrutura de Dados Introdução e Linguagem C Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br Resumo da aula Considerações Gerais Introdução a Linguagem C Variáveis e C Tipos de

Leia mais

Laboratório de Programação 02

Laboratório de Programação 02 Laboratório de Programação 02 Ambiente de Desenvolvimento e Revisão da Linguagem C Prof. Carlos Eduardo de Barros Paes Prof. Julio Arakaki Departamento de Computação PUC-SP Code::Blocks Ambiente integrado

Leia mais

Keeper of Knowledge. Capítulo 1 Conceitos Básicos do Java

Keeper of Knowledge. Capítulo 1 Conceitos Básicos do Java Capítulo 1 Conceitos Básicos do Java INTRODUÇÃO O objectivo deste tutorial é ensinar as regras básicas de programação em Java e facilitar a aprendizagem dos capítulos que se seguem. Qualquer dúvida sobre

Leia mais

Curso Prático de C++

Curso Prático de C++ Sumário Autor: Prof. Luiz Bianchi Universidade Regional de Blumenau FUNDAMENTOS... 3 Declaração de variáveis... 4 Tipos de dados... 4 Operador de atribuição... 5 Comentários... 5 Tipos modificados... 6

Leia mais

APOSTILA DO CURSO LINGUAGEM C. Prof. Erico Fagundes Anicet Lisboa, M. Sc. erico@ericolisboa.eng.br

APOSTILA DO CURSO LINGUAGEM C. Prof. Erico Fagundes Anicet Lisboa, M. Sc. erico@ericolisboa.eng.br APOSTILA DO CURSO LINGUAGEM C Prof. Erico Fagundes Anicet Lisboa, M. Sc. erico@ericolisboa.eng.br Versão digital disponível na internet http://www.ericolisboa.eng.br RIO DE JANEIRO, RJ - BRASIL NOVEMBRO

Leia mais

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++

INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO CURSO: Bacharelado em Ciências e Tecnologia INFORMÁTICA APLICADA AULA 02 LINGUAGEM DE PROGRAMAÇÃO C++ Profª ª Danielle Casillo COMPILADORES Toda linguagem de programação

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Curso C: Ponteiros e Arrays

Curso C: Ponteiros e Arrays Universidade de Brasília Departamento de Ciência da Computação Curso C: Ponteiros e Arrays Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Ponteiros um ponteiro Ž uma vari vel que contžm o endere o um

Leia mais

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009

Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Programação 2009/2010 MEEC - MEAer Laboratório 5 Semana de 26 de outubro de 2009 Ao desenvolver os seguintes programas tenha em atenção o bom uso dos comentários, o uso da indentação e o correcto nome

Leia mais

Conceito de classe em C++

Conceito de classe em C++ Introdução à Programação com Classes em C++ Ana Paula Rocha, Luís Paulo Reis, João Pascoal Faria FEUP - MIEEC Programação 2-2008/2009 Conceito de classe em C++ Classe em sentido lato: tipo de dados definido

Leia mais

1. Introdução. 2. Compiladores 3. A Linguagem C do CCS Bibliografia. Teresina - 2011. 1.1. C vs Assembly

1. Introdução. 2. Compiladores 3. A Linguagem C do CCS Bibliografia. Teresina - 2011. 1.1. C vs Assembly Universidade Federal do Piauí Centro de Tecnologia Departamento de Engenharia Elétrica Linguagem C Prof. Marcos Zurita zurita@ufpi.edu.br www.ufpi.br/zurita Teresina - 2011 1. Introdução 1.1. C vs Assembly

Leia mais

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Criar a classe Aula.java com o seguinte código: Compilar e Executar Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Tipo de Dados em Linguagem C

Tipo de Dados em Linguagem C Tipo de Dados em Linguagem C Principais tipos de dados em C int : tipo de dados inteiros (exemplo: 1, -3, 100, -9, 18, etc.) float : tipo de dados reais (exemplo: 1.33, 3.14, 2.00, -9.0, 1.8, etc.) Ocupa

Leia mais

Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010

Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010 Princípios de programação em Linguagem C Cesar Tadeu Pozzer UFSM 16/08/2010 Introdução a Programação em Linguagem C Antes de um algoritmo ser executado no computador, ele deve ser traduzido em uma linguagem

Leia mais

Algoritmos e Programação usando a Linguagem C. Prof. MSc. Renato Afonso Cota Silva

Algoritmos e Programação usando a Linguagem C. Prof. MSc. Renato Afonso Cota Silva Algoritmos e Programação usando a Linguagem C Prof. MSc. Renato Afonso Cota Silva 1 2 Aula 1 Introdução à Linguagem C... 4 1.1 Introdução... 4 1.2 Fundamentos da Linguagem... 5 1.3 Comandos de Entrada

Leia mais

APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO

APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO APOSTILA DE PROGRAMAÇÃO I PARA ENGENHARIA DE PRODUÇÃO Prof. ANDRÉ CARLOS SILVA FASAR Versão 1.1 SUMÁRIO 1 INTRODUÇÃO AO C++...11 1.1. Aspectos gerais da linguagem C++...11 1.1.1. Comentários...12 1.1.2.

Leia mais

Estruturas (Registros)

Estruturas (Registros) Estruturas (Registros) Agrupa conjunto de tipos de dados distintos sob um único nome string string inteiro inteiro inteiro float float Cadastro Pessoal Nome Endereço Telefone Idade Data de Nascimento Peso

Leia mais

Curso de C: uma breve introdução

Curso de C: uma breve introdução V Semana de Engenharia Elétrica - UFBA Licença de uso e distribuição Todo o material aqui disponível pode, posteriormente, ser utilizado sobre os termos da: Creative Commons License:

Leia mais

Curso básico de Linguagem C. Desenvolvido por Ricardo Lüders

Curso básico de Linguagem C. Desenvolvido por Ricardo Lüders Curso básico de Linguagem C Desenvolvido por Ricardo Lüders Introdução Introdução > Sobre o curso Sobre o curso O curso será apresentado em 5 (cinco) encontros, totalizando 20 (vinte) horas/aula. Apresentará

Leia mais

1 - INTRODUÇÃO: O QUE É C?

1 - INTRODUÇÃO: O QUE É C? 1 - INTRODUÇÃO: O QUE É C? C é uma linguagem de programação de computadores; Desenvolvida em 1972 por Dennis Ritchie no Bell Lab para uso no sistema operacional Unix; Foi amplamente aceita por oferecer

Leia mais

Universidade Federal de Uberlândia

Universidade Federal de Uberlândia Universidade Federal de Uberlândia Programação Orientada a Objetos I Introdução a Java Sintaxe básica OO Prof. Fabiano Azevedo Dorça Em Java, cada classe dá origem a um arquivo.java contendo o código fonte.

Leia mais

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes ITENS FUNDAMENTAIS Profª Angélica da Silva Nunes CONCEITOS BÁSICOS Hardware - é a parte física do computador, tais como: teclado, monitor de vídeo, etc. Software - são os programas e aplicativos que permitem

Leia mais

Capítulo 2. Fundamentos de Java

Capítulo 2. Fundamentos de Java Capítulo 2. Fundamentos de Java 1/52 Índice 2.1 - Variáveis Tipos Escopo Inicialização Casting Literais 2.2 - Operadores Aritméticos Relacionais Bit a Bit De atribuição 2.3 - Expressões, statements e blocos

Leia mais

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos

Estrutura de Dados. Prof. Gustavo Willam Pereira. Créditos: Profa. Juliana Pinheiro Campos Estrutura de Dados Prof. Gustavo Willam Pereira Créditos: Profa. Juliana Pinheiro Campos ESTRUTURAS DE DADOS Ementa Introdução à Linguagem C. Recursividade. Alocação dinâmica de memória. Conceito de tipos

Leia mais

Introdução à linguagem

Introdução à linguagem A Tecnologia Java 1 Introdução à linguagem Origens do JAVA Projecto Green, programação para a electrónica de Consumo (Dezembro 1990): Pouca memória disponível Processadores fracos Arquitecturas muito diferentes

Leia mais