Elementos de Linguagem C
|
|
|
- Ana Clara Pinhal Vilalobos
- 9 Há anos
- Visualizações:
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
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
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
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
Algoritmos e Programação
Algoritmos e Programação Aula 3 Introdução a Linguagem C Profa. Marina Gomes [email protected] 1 Aula de Hoje - Criar programas simples em C utilizando a estrutura básica; - Declarar variáveis;
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
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
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
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
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
Carlos Eduardo Batista. Centro de Informática - UFPB
Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB [email protected] Complexidade dos sistemas de software Estrutura Decomposição Abstração Hierarquia Projeto de sistemas complexos
#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
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
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 [email protected] Introdução A linguagem C foi inventada por Dennis Ritchie e
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
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
Computação 2. Aula Profª. Fabiany Listas Duplamente Encadeadas
Computação 2 Aula 10.1 Listas Duplamente Encadeadas Profª. Fabiany [email protected] ListaEncadeada.h #ifndef _LISTAENCADEADA_H_ #define _LISTAENCADEADA_H_ #include #include #include
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:
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
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
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
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
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];
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
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
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
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
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 [email protected] Departamento de Física Instituto Superior Técnico Universidade de Lisboa
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
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
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
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
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
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
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
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
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
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 ([email protected]) baseado no slides de Pedro Pereira Enquadramento
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
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
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
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
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
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
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
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
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.
