Elementos de Linguagem C

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

Download "Elementos de Linguagem C"

Transcrição

1 Elementos de Linguagem C Parte II Elementos de linguagem C Parte II 1

2 Macros O pré-processador da linguagem C suporta a substituição de macros, criadas com #define nome_macro texto de substituição As macros admitem parâmeros #define nome_macro(param) texto com param nome_macro(ola) origina: texto com ola Uma macro pode ser definida em várias linhas desde que terminadas por '\' Se uma macro contiver mais do que um statement, deve escrever-se de forma a evitar ambiguidades, nomeadamente quando usada em if-else #define nome_macro do{ \ statement1; \ statement2; \ }while(0) Elementos de linguagem C Parte II 2

3 Macros Operador # O operador # aplicado a um parâmetro produz uma string com o texto desse parâmetro Exemplo: #define print(param) \ printf("valor de " #param ": %d\n", param); Se existir um int x, escrevendo print(x) expande para: printf("valor de " "x" ": %d\n", x); Se x tiver o valor 10, resulta na consola: valor de x: 10 Elementos de linguagem C Parte II 3

4 Macros Operador ## O operador ## entre duas palavras do texto de substituição produz uma única palavra com a junção daquelas. Exemplo: #define declara_var(param) \ int var ## param; A utilização declara_var(1) declara_var(2) declara_var(3) Expande para int var1; int var2; int var3; Elementos de linguagem C Parte II 4

5 Inclusão de ficheiros A directiva #include promove a abertura do ficheiro indicado e a compilação do seu conteúdo, como se pertencesse ao ficheiro onde se encontra a directiva Os ficheiros incluídos podem, por sua vez, incluir outros A aplicação mais frequente deste mecanismo é a publicação de protótipos de funções definidas num módulo de programa e usadas noutro O nome do ficheiro incluído é delimitado por < > ou por "" conforme se trate de um ficheiro de sistema ou definido pelo programador #include <stdio.h> /* standard input-output header-file */ #include "mymodule.h" /* definições relativas a mymodule.c */ Elementos de linguagem C Parte II 5

6 Programas com módulos Na construção de programas em vários módulos, a compilação de cada módulo origina um módulo compilado; a ligação produz o executável a partir dos módulos compilados Cada módulo pode definir variáveis e funções usadas no mesmo módulo ou noutros Se em vários módulos for declarada uma variável externa, com o mesmo nome, a ligação localiza-a como uma única variável, partilhada entre esses módulos. Por razões de estruturação, recomenda-se que a interface entre módulos seja realizada através de funções e não por variáveis partilhadas Se um módulo utilizar uma função definida noutro, sem conhecer o seu protótipo, considera-a com retorno inteiro e parâmetros correspondentes à chamada realizada Para assegurar a coerência entre as funções definidas e a sua utilização, usa-se o mecanismo de inclusão para declarar, nos módulos de definição e de utilização, o protótipo da função Elementos de linguagem C Parte II 6

7 Programas com módulos main.c #include "myfunc.h"... int main(void){ }... x = myfunc(1, 2);... return 0; myfunc.h int myfunc(int a, int b); myfunc.c #include "myfunc.h" int myfunc(int a, int b){ }... return...; Elementos de linguagem C Parte II 7

8 Compilação condicional # if expressão... /* compilado se a expressão for!= 0 */ #else... /* compilado no caso contrário */ #endif # ifdef identificador... /* compilado se o identificador estiver definido */ #endif # ifndef identificador... /* compilado se o identificador não estiver definido */ #endif Elementos de linguagem C Parte II 8

9 Compilação condicional Selecção de código alternativo no mesmo ficheiro fonte Controlo de código de debug Eliminação da inclusão múltipla Um ficheiro de inclusão pode incluir outros, úteis ao módulo em causa Um módulo pode incluir explicitamente um ficheiro e incluí-lo de novo, inadvertidamente, por ser invocado noutro A duplicação das definições contidas no ficheiro pode, e deve, ser eliminada com compilação condicional Elementos de linguagem C Parte II 9

10 Eliminação da inclusão múltipla myfunc.h #ifndef _MYFUNC_H_ #define _MYFUNC_H_ int myfunc(int a, int b); #endif Elementos de linguagem C Parte II 10

11 Qualificadores auto alojamento automático (por omissão dentro das funções) register variável automática candidata a alojamento em registo extern alojamento externo (quando usado dentro de uma função, aloja a variável como se estivesse fora da função) const objecto semelhante a variável mas com conteúdo constante volatile indica que a variável pode mudar de estado sem intervenção do programa; implica a supressão de optimizações que poderiam causar uso errado static diversos significados consoante o contexto de utilização Elementos de linguagem C Parte II 11

12 Qualificador Static Declaração privada de objectos num módulo Uma variável externa ou função, por omissão, é pública definida num módulo e utilizável noutros Com o qualificador static torna-se privada só é conhecida dentro do módulo nomes iguais em módulos diferentes, com static são objectos distintos Alojamento de variáveis internas a funções Contraria o alojamento automático A variável é alojada numa posição fixa da memória e permanece activa durante toda a execução do programa Pelas regras de scope, a variável só é conhecida dentro da função Elementos de linguagem C Parte II 12

13 Variáveis de ambiente Os ambientes de execução suportam a definição de variáveis de ambiente nome=texto Estas variáveis são úteis para configurar o comportamento dos programas Os programas podem aceder a todas as variáveis de ambiente através do ponteiro extern char **environ; Ou obter o texto de uma variável específica com a função getenv() definida no header stdlib.h char *getenv(const char *name); Elementos de linguagem C Parte II 13

14 Biblioteca normalizada As bibliotecas são colecções de funções compiladas, cujo código é seleccionado pelo linker, de acordo com as referências de utilização, e incluído no executável A biblioteca normalizada contém funções, de carácter utilitário e de interface com o ambiente de execução, especificadas no livro The C Programming Language, Appendix B Para que os programas utilizadores conheçam os protótipos das funções, devem incluir o ficheiro header com a respectiva definição assert.h float.h math.h stdarg.h stdlib.h ctype.h limits.h setjmp.h stddef.h string.h errno.h locale.h signal.h stdio.h time.h Elementos de linguagem C Parte II 14

Controlo de Execução. K&R: Capitulo 3

Controlo de Execução. K&R: Capitulo 3 Controlo de Execução K&R: Capitulo 3 IAED, 2009/2010 Controlo de Execução Instruções e Blocos if else-if switch Ciclos: Instruçõeswhile e for Instruçãodo-while break e continue goto e labels 2 IAED, 2009/2010

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

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação

Introdução à Programação Aula 16. Prof. Max Santana Rolemberg Farias Colegiado de Engenharia de Computação Introdução à Programação Aula 16 Prof. Max Santana Rolemberg Farias max.santana@univasf.edu.br Colegiado de Engenharia de Computação COMO UM PROGRAMA C É COMPILADO? 2 Compilação de um Programa A compilação

Leia mais

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node {

Listas (cont.) K&R: Capitulo 6. Lista Simplesmente Ligada IAED, 2012/2013. Conjunto de nós. Cada nó contém. head NULL. typedef struct node { Listas (cont.) K&R: Capitulo 6 Lista Simplesmente Ligada Conjunto de nós head NULL Cada nó contém Informação útil Ponteiro para o próimo nó typedef struct node Item item; struct node *net; *link; Item

Leia mais

Linguagem C Ficheiros Compilação Separada

Linguagem C Ficheiros Compilação Separada Linguagem C Ficheiros Compilação Separada typedef definição de tipos Apontadores para estruturas Ficheiros na bibiloteca standard do C Compilação Separada Definição de novos tipos em C É possível definir

Leia mais

Preprocessador. Macros. #include. #define

Preprocessador. Macros. #include. #define Preprocessador O preprocessamento é uma das primeiras etapas na compilação do código em C. Toda linha que começa com # é uma diretiva para o preprocessador, e se extende até o fim da linha (diferentemente

Leia mais

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C

Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C. Linguagem de Programação C Linguagem C Algoritmos e Lógica de Programação Reinaldo Gomes reinaldo@cefet-al.br Introdução Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em 1973

Leia mais

Linguagem de Programação C

Linguagem de Programação C Algoritmos e Lógica de Programação Linguagem C Reinaldo Gomes reinaldo@cefet-al.br Introdução Pé Pré-processador Variáveis Operadores Introdução: Histórico Linguagem criada por Dennis Ritchie em 1972 Em

Leia mais

ADTs (Abstract Data Types): Motivação

ADTs (Abstract Data Types): Motivação ADTs (Abstract Data Types): Motivação Mesmas estruturas são usadas com vários tipos de dados Listas Pilhas Amontoado FIFOs Inteiros Reais Strings Estruturas O procedimento para inserir um inteiro, real,

Leia mais

Mestrado em Engenharia Física Tecnológica

Mestrado em Engenharia Física Tecnológica 19 a Aula - Biblioteca Standard (I) Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade de Lisboa

Leia mais

Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação

Linguagem C: diretivas, compilação separada. Prof. Críston Algoritmos e Programação Linguagem C: diretivas, compilação separada Prof. Críston Algoritmos e Programação Diretivas do pré processador Permite que o programador modifique a compilação O pré processador é um programa que examina

Leia mais

Algoritmos e Programação

Algoritmos e Programação Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes marinagomes@unipampa.edu.br 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;

Leia mais

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano O C++ foi inicialmente desenvolvido por Bjarne Stroustrup durante a década de 1980 com o objetivo de melhorar a linguagem de programação C, mantendo a compatibilidade com esta linguagem. Exemplos de Aplicações

Leia mais

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 21 Introdução à linguagem compilada C Estrutura e compilação do código fonte Tipos de dados básicos Operadores aritméticos e lógicos

Leia mais

Aula 10: Funções (Parte III)

Aula 10: Funções (Parte III) Aula 10: Funções (Parte III) Introdução a Programação Túlio Toffolo & Puca Huachi http://www.toffolo.com.br BCC201 2019/1 Baseado nos slides do Prof. Guillermo Cámara-Chávez Aulas anteriores Funções Ponteiros

Leia mais

Básico: estrutura de programa, sintaxe Interface com linha de comando

Básico: estrutura de programa, sintaxe Interface com linha de comando Programação em C Sintaxe Básico: estrutura de programa, sintaxe Interface com linha de comando Preprocessamento e compilação Makefiles Ponteiros e estruturas Bibliotecas, ficheiros include e funções Referências

Leia mais

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017

PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 PROGRAMAÇÃO E ALGORITMOS (LEII) Universidade da Beira Interior, Departamento de Informática Hugo Pedro Proença, 2016/2017 Resumo Pré-processador Directivas Macros Exemplos Exercícios Pré-Processador O

Leia mais

Programação de Computadores II

Programação de Computadores II Programação de Computadores II Aula de Revisão 01 Karina Mochetti 2019.1 Formato da Prova Questões teóricas. Escrever um programa do zero. Dar valores finais de variáveis. Completar um programa. Achar

Leia mais

Linguagem C (continuação)

Linguagem C (continuação) Linguagem C (continuação) Funções, arrays e ponteiros Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira Centro de Cálculo Instituto Superior de Engenharia de Lisboa João

Leia mais

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas 03/03/2010 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char? Estruturas de Dados Aula 2: Estruturas Estáticas Tipos Básicos Quantos valores distintos podemos representar com o tipo char? 1 Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa o

Leia mais

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011 Tipos Básicos Quantos valores distintos podemos representar com o tipo char? Operadores de Incremento e Decremento ++ e -- Incrementa ou decrementa

Leia mais

Programação. MEAer e LEE. Bibliotecas e Funções Exercícios. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Bibliotecas e Funções Exercícios. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Bibliotecas e Funções Exercícios Programação 2010/2011 DEEC-IST Bibliotecas e funções 1 Sumário Bibliotecas

Leia mais

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux

Linguagem C Introdução. Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Linguagem C Introdução Contexto Histórico Principais diferenças do Java Funções em C Compilar programas em C no Linux Porquê C em AC? A linguagem C fornece um modelo de programação próximo da máquina física

Leia mais

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. 1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras

Leia mais

Programação de Computadores

Programação de Computadores Programação de Computadores Apresentação da Disciplina Prof. Fabio Henrique N. Abe fabio.henrique.abe@gmail.com 99642-5002 http://www.comp.uems.br/~fhna/ Programação de Computadores Carga Horária da Disciplina

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Complexidade dos sistemas de software Estrutura Decomposição Abstração Hierarquia Projeto de sistemas complexos

Leia mais

Desenvolvimento de Bibliotecas

Desenvolvimento de Bibliotecas 5 Desenvolvimento de Bibliotecas Sumário: Tipos de bibliotecas: arquivo (.a) e partilhada (.so)bibliotecas do sistema (libc, libm,...) Criação duma biblioteca estática Visualização do conteúdo duma biblioteca

Leia mais

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make

Departamento de Engenharia Informática. Sistemas Operativos 1. Utilitário Make Departamento de Engenharia Informática Sistemas Operativos 1 Utilitário Make Março 2003 1. Modelo de Compilação da Linguagem C Compilar um programa muito simples em C requer, pelo menos, o ficheiro de

Leia mais

Bibliotecas e Funções Apresentação das bibliotecas de funções principais do C

Bibliotecas e Funções Apresentação das bibliotecas de funções principais do C Sumário Bibliotecas e Funções Apresentação das bibliotecas de funções principais do C Consulte o ficheiro libc.html (da gnu.org) que está disponível na página da cadeira Exercícios (Tipo exame) Determinação

Leia mais

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

#include <stdio.h> Void main() { printf( Cheguei!\n); } INTRODUÇÃO A LINGUAGEM C #include Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C ANTES DO C ERA A LINGUAGEM B B foi essencialmente uma simplificação da linguagem BCPL. B só tinha um tipo de dado, que

Leia mais

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02 Programação 1 Atribuição, operadores aritméticos, entrada de dados Técnico em Eletrônica Semestre 5 02 Armazenando na memória tipo de variável #include #include main() { int ano; Declaração

Leia mais

O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #.

O pré-processador executa transformações controladas no arquivo fonte antes da compilação. Os comandos (sentenças) sempre são iniciados por #. O modificador static Se o modificador static for utilizado na declaração de uma variável local em uma função, essa variável não perderá seu valor entre chamadas à função. void rot1() { static int var1=0;

Leia mais

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton

Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton Universidade Estadual de Mato Grosso do Sul Ciência da Computação Algoritmos e Estruturas de Dados I (AED-I) Prof. Nilton nilton@comp.uems.br Introdução A linguagem C foi inventada por Dennis Ritchie e

Leia mais

Programação Estruturada

Programação Estruturada Programação Estruturada Introdução à linguagem C Professores Emílio Francesquini e Carla Negri Lintzmayer 2018.Q3 Centro de Matemática, Computação e Cognição Universidade Federal do ABC Programação estruturada

Leia mais

3. Linguagem de Programação C

3. Linguagem de Programação C Introdução à Computação I IBM1006 3. Linguagem de Programação C Prof. Renato Tinós Departamento de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3.2. Estrutura de Programas e Representação

Leia mais

Estruturas Dinâmicas - Ponteiros Parte IV

Estruturas Dinâmicas - Ponteiros Parte IV SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estruturas Dinâmicas - Ponteiros Parte IV Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

Introdução à linguagem C

Introdução à linguagem C Introdução à linguagem C Luís Charneca luis.charneca@gmail.com Introdução ao C O C nasceu na década de 70. O seu inventor, Dennis Ritchie, implementou-o pela primeira vez usando um DEC PDP-11 correndo

Leia mais

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Conceitos básicos. Computação eletrônica: Gurvan Huiban Computação eletrônica: Conceitos básicos Gurvan Huiban ghuiban@cin.ufpe.br Plano de aula 1 Estrutura de um programa em C 2 Variáveis e constantes 3 Comandos de entrada e saída Estrutura de um programa

Leia mais

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas

Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany fabianyl@utfpr.edu.br ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include

Leia mais

Curso Profissional de Técnico de Informática - Sistemas

Curso Profissional de Técnico de Informática - Sistemas Planificação Anual 2018/2019 Curso Profissional de Técnico de Informática - Sistemas LINGUAGENS DE PROGRAMAÇÃO 11º ANO 1 MÓDULO 4 - UFCD 0785 - Programação em C/C++ - Formas complexas Data Início/Final:

Leia mais

Implementação da programação modular II

Implementação da programação modular II Implementação da programação modular II - 1 Implementação da programação modular II Aula 11 Agenda Declaração e definição de dados Os conceitos relacionados com a ligação de programas Os elementos essenciais

Leia mais

Ambiente de desenvolvimento

Ambiente de desenvolvimento Linguagem C Ambiente de desenvolvimento Um programa em C passa por seis fases até a execução: 1) Edição 2) Pré-processamento 3) Compilação 4) Linking 5) Carregamento 6) Execução Etapa 1: Criação do programa

Leia mais

A linguagem C (visão histórica)

A linguagem C (visão histórica) A linguagem C (visão histórica) A linguagem C é uma linguagem de programação desenvolvida no ínício dos anos 70 por Dennis Ritchie, que trabalhava nos laboratórios Bell e que também inciou em paralelo,

Leia mais

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre

Programação. MEAer e LEE. Manipulação de ficheiros de texto. Bertinho Andrade da Costa. Instituto Superior Técnico. 2010/2011 1º Semestre Programação MEAer e LEE Bertinho Andrade da Costa 2010/2011 1º Semestre Instituto Superior Técnico Manipulação de ficheiros de texto Programação 2010/2011 IST-DEEC Manipulação de Ficheiros 1 Sumário Ficheiros

Leia mais

facilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente.

facilita o trabalho em equipe, com diferentes grupos trabalhando em cada módulo independente. Estruturação do Programa Queremos organizar um programa de forma a: dividi-lo em partes que realizem tarefas específicas, resumindo um problema complexo a vários problemas mais simples simplifica a elaboração

Leia mais

Sumário. Ficheiros. Ficheiros

Sumário. Ficheiros. Ficheiros Sumário Ficheiros Motivação Operações Ficheiros de texto e binários Manipulação de ficheiros de texto Abertura Encerramento Descritores de ficheiros: stdin, stdout, stderr Escrita Leitura Outras funções

Leia mais

Conhecendo a Linguagem de Programação C

Conhecendo a Linguagem de Programação C Universidade Federal do Rio Grande do Norte Departamento de Engenharia de Computação e Automação Conhecendo a Linguagem de Programação C DCA0800 - Algoritmos e Lógica de Programação Heitor Medeiros 1 Como

Leia mais

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Programação Estruturada Prof. Rodrigo Hausen  Organização e Gerenciamento de Memória Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];

Leia mais

A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão

A ferramenta make. A - Introdução. O C é orientado para a produção de aplicações informáticas de grande dimensão A - Introdução O C é orientado para a produção de aplicações informáticas de grande dimensão Na geração de aplicações informáticas há ficheiros gerados a partir de outros: logo, os segundos têm obrigatoriamente

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

Funções. IPC2 1999/2000 F. Nunes Ferreira. Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994

Funções. IPC2 1999/2000 F. Nunes Ferreira. Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 Funções IPC2 1999/2000 F. Nunes Ferreira Acetatos baseados no livro C: How to Program (second edition) H. M. Deitel P. J. Deitel Prentice Hall, 1994 2 Funções Utilizar, sempre que possível, as funções

Leia mais

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Introdução Copyright 2014 IFRN Agenda Conceitos básicos ANSI C Hello World Funções em C Exercícios 2 /26 A linguagem

Leia mais

1/24 FICHEIROS DE TEXTO

1/24 FICHEIROS DE TEXTO 1/24 FICHEIROS DE TEXTO Hardware de entrada/saída 2/24 Hardware de entrada/saída Grande variedade de dispositivos de E/S (Input/Output) - de memória: disco interno e externo, DVD, pen, CD,... - de transmissão:

Leia mais

Engenharia de Software

Engenharia de Software Sumário Engenharia de Software Modelos de desenvolvimento de software Fases de desenvolvimento Programação modular Abordagem top-down e bottom-up Linguagens de programação: Compilação / Interpretação Aplicação

Leia mais

SISTEMAS OPERATIVOS I

SISTEMAS OPERATIVOS I Instituto Superior de Engenharia do Porto Departamento de Engenharia Informática SISTEMAS OPERATIVOS I Ficha 6 Abril de 2006 Nuno Malheiro Maria João Viamonte Berta Batista Luis Lino Ferreira Sugestões

Leia mais

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014

UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 UNIVERSIDADE LUSÓFONA DE HUMANIDADES E TECNOLOGIAS 2º Semestre 2013/2014 Programação em C 30/06/2014 Leia com atenção as perguntas e justifique cuidadosamente todas as respostas 1. Qual o objetivo de um

Leia mais

Computação e Programação

Computação e Programação Computação e Programação MEMec, LEAN - 1º Semestre 2015-2016 Aula Teórica 22 Introdução a linguagem compilada C (2) Structs Ponteiros Arrays D.E.M. Área Científica de Controlo Automação e Informática Industrial

Leia mais

Programação II. Módulos, Encapsulamento e TADs. Bruno Feijó Dept. de Informática, PUC-Rio

Programação II. Módulos, Encapsulamento e TADs. Bruno Feijó Dept. de Informática, PUC-Rio Programação II Módulos, Encapsulamento e TADs Bruno Feijó Dept. de Informática, PUC-Rio Módulos Programação modular é uma técnica de design de software na qual particionamos o programa em diversos módulos

Leia mais

Métodos Computacionais

Métodos Computacionais Métodos Computacionais Objetivos da Disciplina e Introdução a Linguagem C Construções Básicas Objetivos da Disciplina Objetivo Geral Discutir técnicas de programação e estruturação de dados para o desenvolvimento

Leia mais

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

Linguagem C. Brian W. Kernighan, Dennis Ritchie (K&R) Slides adaptados, inspirados, muitos copiados dos slides do professor Pedro Pereira 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

Leia mais

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica

13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Mestrado em Engenharia Física Tecnológica 13 a Aula - Instruções Condicionais. Ciclos. Pré-processador. Variáveis de ambiente. Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física

Leia mais

Mestrado em Engenharia Física Tecnológica

Mestrado em Engenharia Física Tecnológica 21 a Aula - Biblioteca Standard (II) Programação Mestrado em Engenharia Física Tecnológica Samuel M. Eleutério sme@tecnico.ulisboa.pt Departamento de Física Instituto Superior Técnico Universidade de Lisboa

Leia mais

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Estruturas de Dados Revisão de Ponteiros Prof. Ricardo J. G. B. Campello Sumário Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C Operações Ponteiros e Arranjos

Leia mais

Introdução a Programação de Jogos

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

Leia mais

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues SEL0433 Aplicação de Microprocessadores I Revisão da Linguagem C Prof. Evandro L. L. Rodrigues Estrutura de um programa C Diretivas de pré processamento Declaração de variáveis globais Declaração de protótipos

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

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1 Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 01: TIPOS, VARIÁVEIS E E/S PADRÃO Faculdade da Computação - UFU 1 A Linguagem C Linguagem de alto nível, genérica. Foi desenvolvida por

Leia mais

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

Programação em C++: Introdução Programação em C++: Introdução J. Barbosa J. Tavares Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo (Knuth73v1) Ex: ordenação

Leia mais

Introdução à Linguagem C Variáveis e Expressões

Introdução à Linguagem C Variáveis e Expressões INF1005: Programação 1 Introdução à Linguagem C Variáveis e Expressões 08/03/10 (c) Paula Rodrigues 1 Tópicos Principais Programando em C Funções Variáveis Define Operadores e Expressões Entrada e Saída

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET42G Aula 21 Prof. Daniel Cavalcanti Jeronymo Conversão de tipos. Alocação dinâmica de memória. Recursão. Criação de bibliotecas, arquivos de cabeçalhos e variáveis globais.

Leia mais

A Linguagem C. A forma de um programa em C

A Linguagem C. A forma de um programa em C A Linguagem C Criada em 1972 por D. M. Ritchie e K. Thompson. Tornou-se uma das mais importantes e populares, principalmente pela portabilidade e flexibilidade. Foi projetada para o desenvolvimento de

Leia mais

Linguagem C Princípios Básicos (parte 1)

Linguagem C Princípios Básicos (parte 1) Linguagem C Princípios Básicos (parte 1) Objetivos O principal objetivo deste artigo é explicar alguns conceitos fundamentais de programação em C. No final será implementado um programa envolvendo todos

Leia mais

4. Estruturas Fundamentais de Programação em C

4. Estruturas Fundamentais de Programação em C 4. Estruturas Fundamentais de Programação em C 4.1. Imprimindo Mensagens e Valores no Monitor de Vídeo A biblioteca de entrada e saída (stdio.h) possui a função printf que imprime mensagens e valores diretamente

Leia mais

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1

Introdução Linguagem C. UDESC - Prof. Juliano Maia 1 Introdução Linguagem C UDESC - Prof. Juliano Maia 1 Índice Seção 1 A linguagem C Seção 2 Esqueleto Básico Programa em C UDESC - Prof. Juliano Maia 2 A linguagem C Seção 1 História Características Orientação

Leia mais

Programação em Sistemas Computacionais

Programação em Sistemas Computacionais Programação em Sistemas Computacionais Linguagem C Introdução, tipos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Jorge Martins (jmartins@isel.pt) baseado no slides de Pedro Pereira Enquadramento

Leia mais

Introdução à Programação em C

Introdução à Programação em C Introdução à Programação em C Tipos e Operadores Elementares Estruturas de Controlo Resumo Novidades em C Exemplo: Factorial Tipos de Dados Básicos Saltos Condicionais: if-then-else Valor de retorno de

Leia mais

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná em C Linguagem de Programação Estruturada I Lucas Ferrari de Oliveira Professor Adjunto Universidade Federal do Paraná Sumário Funções: Conceitos; Forma Geral das funções; Regras de Escopo; Argumentos

Leia mais

Apêndice 1. Padrão de composição de módulos

Apêndice 1. Padrão de composição de módulos Padrão de composição de módulos - 1 Apêndice 1. Padrão de composição de módulos O presente padrão tem por objetivos: Assegurar a existência de definições de interfaces entre módulos; Assegurar a consistência

Leia mais

ECT1203 Linguagem de Programação

ECT1203 Linguagem de Programação Universidade Federal do Rio Grande do Norte Escola de Ciências e Tecnologia ECT1203 Linguagem de Programação Prof. Aquiles Burlamaqui Profa. Caroline Rocha Prof. Luiz Eduardo Leite Prof. Luciano Ferreira

Leia mais

Linguagem C. Linguagem C - Marcos históricos. Algoritmia e Programação

Linguagem C. Linguagem C - Marcos históricos. Algoritmia e Programação Linguagem C Algoritmia e Programação Ano Lectivo 2004/2005 Ana Madureira Linguagem C - Marcos históricos 1969 - Desenvolvimento do UNIX (num PDP 7 em linguagem Assembly) 1969 - Desenvolvimento da linguagem

Leia mais

Introdução a Computação

Introdução a Computação Introdução a Computação Aula 03 Introdução a Linguagem C Edirlei Soares de Lima Programação Programa é um algoritmo escrito em uma linguagem de programação. Existem diversas linguagens

Leia mais

O que é um apontador em C (type pointer in C)?

O que é um apontador em C (type pointer in C)? O que é um apontador em C (type pointer in C)? Um apontador é uma variável que contém um endereço de outra variável. int x = 10;//variável inteira iniciada com o valor 10 int *px = &x;//variável apontadora

Leia mais

Introdução à Programação em C (I)

Introdução à Programação em C (I) Introdução à Programação em C (I) IAED Tagus, 2009/2010 Organização de Ficheiros em C Organização Típica de Ficheiros em C Inclusão de bibliotecas de sistema Inclusão de bibliotecas locais Definição de

Leia mais

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal ALGORITMOS AULA 01 Baseado nas aulas do Prof. Jorgiano Vidal LINGUAGEM C Uma das grandes vantagens do C é que ele possui tanto caracterìsticas de "alto nìvel" quanto de "baixo nìvel". Linguagem de propósito

Leia mais

Regras de estilo para código fonte em C/C++

Regras de estilo para código fonte em C/C++ Regras de estilo para código fonte em C/C++ No processo de escrita de código fonte em uma linguagem de alto nível é interessante que o programador se preocupe não somente com a correção sintática e lógica

Leia mais

Estruturas Dinâmicas - Ponteiros Parte IV

Estruturas Dinâmicas - Ponteiros Parte IV SSC0101 - ICC1 Teórica Introdução à Ciência da Computação I Estruturas Dinâmicas - Ponteiros Parte IV Prof. Vanderlei Bonato: vbonato@icmc.usp.br Prof. Claudio Fabiano Motta Toledo: claudio@icmc.usp.br

Leia mais

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função

Computação 2. Aula 5. Profª. Fabiany defines vetor, strings e matriz por parâmetros de função Computação 2 Aula 5 defines vetor, strings e matriz por parâmetros de função Profª. Fabiany fabianyl@utfpr.com.br #define A diretiva #define define um identificador e uma string que o substituirá toda

Leia mais

Exame de Programação Estruturada (A)

Exame de Programação Estruturada (A) Exame de Programação Estruturada (A) 2006.06.16 1. Resposta: UMA RESOLUÇÃO (VERSÃO A) static int indicevogal(int c) { switch(c) { case A : case a : return 0; case E : case e : return 1; case I : case i

Leia mais

Algoritmos RESUMO - LINGUAGEM C

Algoritmos RESUMO - LINGUAGEM C Algoritmos RESUMO - LINGUAGEM C 1 Sintaxe da linguagem C Componentes reconhecidos pela linguagem C (sintaxe da linguagem): tipos propriedades dos dados; declarações partes do programa, podendo dar significado

Leia mais

Métodos Computacionais em Física Noções Básicas de Linguag

Métodos Computacionais em Física Noções Básicas de Linguag Métodos Computacionais em Física Noções Básicas de Linguagem C Aula 2 Diretivas de preprocessamento Identificadores Tipos Variáveis e Aritmética Operadores e precedência Efeitos colaterais Laços: if, while

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Organização de um programa Copyright 2014 IFRN Agenda Escopo de variáveis Local Global Macros #define Organizando

Leia mais

Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1

Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1 Conceitos Básicos da Linguagem C++ Prof. Leonardo Barreto Campos 1 Sumário As Origens da Linguagem C++; Primeiro Programa em C++; Declaração e Leitura de Variáveis; Estruturas de Seleção; if; switch; Estruturas

Leia mais

Utilização da Linguagem C

Utilização da Linguagem C Histórico Criada em 1972 por Dennis Ritchie Usada no desenvolvimento do sistema operacional Unix no Bell Labs C foi derivada da linguagem B, desenvolvida por Ken Thompson Linguagem procedural de alto nível

Leia mais

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

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

Leia mais

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Computação 2. Aula 7. Profª. Fabiany Ponteiros Computação 2 Aula 7 Ponteiros Profª. Fabiany fabianyl@utfpr.edu.br O que são Ponteiros? Um ponteiro é uma variável que contém um endereço de memória. Este endereço é normalmente a posição de uma outra

Leia mais