Trabalho de Formatura: Curso de Linguagem C. Autor: Jair Gustavo de Mello Torres Orientador: Carlos Antônio Alves

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

Download "Trabalho de Formatura: Curso de Linguagem C. Autor: Jair Gustavo de Mello Torres Orientador: Carlos Antônio Alves"

Transcrição

1 Trabalho de Formatura: Curso de Linguagem C Autor: Jair Gustavo de Mello Torres Orientador: Carlos Antônio Alves Ilha Solteira - Junho de 2006

2 Sumário Módulo 1 Apresentação do Histórico e das Características Básicas da Linguagem C Página 1.1 História da Linguagem C Compiladores e Interpretadores Características da Linguagem C Aplicações Escritas em C A Linguagem C Comparada à Outras Linguagens Estrutura de um Programa em Linguagem C Comentários Diretiva #include Uso do ponto-e-vírgula Compreendendo os Tipos de Arquivo 06 Módulo 2 Características e Definições Gerais da Linguagem C Palavras Reservadas em Linguagem C Nomes e Identificadores Usados na Linguagem C Tipos e Dados Modificadores de Tipos Definição de Variáveis Definição de Constantes Constantes Hexadecimais e Octais Constantes Strings Códigos de Barra Invertida Operadores Operador de atribuição Operadores Aritméticos Operadores Relacionais Operadores Lógicos Manipulação de bits Operadores de assinalamento Operadores de Pré e Pós-Incremento Operadores de Endereço Tabela de Operadores da Linguagem C Expressões Conversões de Tipos em Expressões Modeladores (CASTS) Espaçamento e Parênteses 17 Módulo 3 Funções na Linguagem C Funções 20

3 3.2 Variáveis dentro das Funções Main como uma Função Introdução aos Parâmetros Parâmetros Múltiplos Retornando um Valor de uma Função Comando Return Protótipos de Função Biblioteca de Execução Funções que não Retornam Int Variáveis Locais Sobrecarga da Função Declarando Variáveis Globais Solucionando os Conflitos de Nomes de Variáveis Locais e Globais Chamada por Valor Chamada por Referência Obtendo um Endereço Usando um Endereço de Memória Alterando o Valor de um Parâmetro Alterando Somente Parâmetros Específicos Funções Recursivas 33 Módulo 4 - Funções PRINTF() e SCANF() Função PRINTF() Exibindo Valores do Tipo int Usando Printf() Exibindo um Valor Inteiro Octal ou Hexadecimal Exibindo Valores do Tipo Unsigned Int Exibindo Valores do Tipo Long Int Exibindo Valores do Tipo Float Exibindo Valores do Tipo Char Exibindo Valores de Ponto Flutuante em um Formato Exponencial Exibindo Valores em Ponto Flutuante Exibindo uma String de Caracteres Exibindo um Endereço de Ponteiro Precedendo um Valor com um Sinal de Adição ou de Subtração Formatando um Valor Inteiro Saída de Inteiros Preenchida com Zeros Exibindo um Prefixo Antes dos Valores Octais ou Decimais Formatando um Valor em Ponto Flutuante Formatando a Saída Exponencial Justificando à Esquerda a Saída de Printf() Combinando os Especificadores de Formato de Printf() Trabalhando com os Caracteres Escape de Printf() Determinando o Número de Caracteres que Printf() Exibiu Usando o Valor de Retorno de Printf() Função SCANF(): Usando Caracteres em Scanf() que Serão Descartados 44

4 4.2.2 Lendo Valores em Variáveis Lendo String de Caracteres Formatando a Entrada de Scanf() Determinando o Número Máximo de Caracteres a ser Lido Lendo Somente Caracteres Pré-Determinados 46 Módulo 5 - Estruturas de Fluxo de Controle A Declaração If Usando a Declaração Else O Encadeamento If-Else-If A Expressão Condicional Ifs Aninhados A Declaração For Partes do Comando For são Opcionais Laço Null Laço Infinito Usando o operador vírgula da Linguagem C dentro de um laço for A Declaração While Partes de um Laço While A Declaração Do-While Comando Continue Finalizando um Laço Usando o Comando Break Desvios com o comando goto A Declaração Switch As Declarações Switch Aninhadas Laços Aninhados 64 Módulo 6 Matrizes Compreendendo as Matrizes Declarando uma Matriz Requisitos de Armazenamento de uma Matriz Inicializando uma Matriz Acessando Elementos da Matriz Percorrendo em um Laço Elementos da Matriz Usando Constantes Para Definir as Matrizes Passando uma Matriz a uma Função Revisitando as Matrizes Como Funções Como as Matrizes de String Diferem Quantos Elementos Uma Matriz Pode Armazenar Matrizes Multidimensionais Inicializando Elementos em Uma Matriz Bidimensional Percorrendo em Um Laço Uma Matriz Bidimensional Percorrendo Uma Matriz Tridimensional Passando uma Matriz Bidimensional Para uma Função Tratando as Matrizes Multidimensionais Como Uma Dimensão 74

5 Módulo 7 Ponteiros Ponteiros como Endereços Determinando o Endereço de uma Variável Como a Linguagem C trata Matrizes como Ponteiros Aplicando o Operador de Endereço (&) a uma Matriz Declarando Variáveis Ponteiros Desreferenciando um Ponteiro Usando Valores de Ponteiro Ponteiros com Parâmetros de Função A Aritmética de Ponteiros Incrementando e Decrementando um Ponteiro Percorrendo uma String usando um Ponteiro Funções que retornam Ponteiros Criando uma Função que retorna um Ponteiro Uma Matriz de Ponteiros Percorrendo em um Laço uma Matriz de Strings de Caracteres Usando um Ponteiro para um Ponteiro para String de Caracteres Declarando uma Constante String usando um Ponteiro O Ponteiro do tipo Void Ponteiros para as Funções Ponteiro para uma Função Usando um Ponteiro para um Ponteiro para um Ponteiro 84 Módulo 8 - Sistema de Arquivos Introdução O Ponteiro de Arquivo Abrindo um Arquivo Usando FOPEN A Estrutura FILE Fechando um Arquivo Aberto Lendo e Gravando Informações no Arquivo um Caracter de Cada Vez O Ponteiro de Posição do Ponteiro de Arquivo Determinando a Posição Atual no Arquivo O Significado de Canais de Arquivo Lendo Linhas de Textos Gravando Linhas de Texto Exemplo do Uso das Funções Fgets e Fputs As Funções Fread( ) E Fwrite( ) As Funções Fprintf( ) e Fscanf( ) Testando o Final do Arquivo Posicionamento do Ponteiro de Arquivo com Base em sua Posição 97 Atual 8.17 Excluindo um Arquivo 97 Módulo 9 Funções Gráficas na Linguagem C A Tela Gráfica 100

6 9.2 Detectando o Adaptador Gráfico Inicializando a Parte Gráfica Obtendo as Dimensões da Tela Desenhando uma Reta na Tela Desenhando um Retângulo na Tela Desenhando um Ponto na Tela Desenhando um Círculo na Tela Desenhando um Arco Circular na Tela Limpando a Tela Gráfica Mudando as Cores do um Desenho Mudando a Cor de Fundo e o Preenchimento do um Desenho 106 Módulo 10 Estruturas, Uniões, Enumerações e Typedef Estruturas Referenciando os Campos da Estrutura Matrizes de Estruturas Atribuindo Estruturas Passando Estruturas para Funções Ponteiros para Estruturas Matrizes e Estruturas dentro de Estruturas Uniões Enumerações A Palavra Reservada Typedef 118 Módulo 11 Funções de Entrada/Saída (I/O) e Programa Analisador 121 Espectral 11.1 Introdução As Funções inport e outport Placas de Aquisição de Sinais Analógicos Conversor A/D Conversor D/A Fatores de Escala para o Modo Gráfico Fator de Escala Eixo X Fator de Escala Eixo Y Programa: Análise Espectral 126 Referências Bibliográficas 134 Módulo 1 Apresentação do Histórico e das Características Básicas da Linguagem C

7 1.1 História da Linguagem C A Linguagem C é uma linguagem de programação que tem sua origem em outras duas linguagens anteriores: a Linguagem BCPL e a Linguagem B. A Linguagem BCPL foi desenvolvida por Martin Richards. Esta linguagem influenciou a linguagem inventada por Ken Thompson, chamado B. Logo em seguida, Dennis Ritchie desenvolveu a Linguagem C que foi implementada em um DEC PDP-11, usando o sistema operacional UNIX. A Linguagem C, dada a sua simplicidade e flexibilidade, tornou-se ao longo do tempo uma das linguagens de programação mais usadas, sendo utilizada na criação e desenvolvimento de softwares e sistemas operacionais que se tornaram famosos em todo mundo, como por exemplo o Sistema Operacional Windows. Entretanto, a Linguagem C atinge seus limites a partir do ponto em que os programas escritos na linguagem atingem um certo tamanho, entre e linhas, devido à problemas de gerenciamento do código. Para resolver este problema, em 1980, enquanto trabalhava nos laboratórios da Bell, em Murray Bill, New Jersey, Bjarne Stroustrup acrescentou várias extensões à linguagem C e chamou inicialmente esta nova linguagem de C com classes. Em 1983, o nome adotado para esta nova linguagem foi C++. Muitas modificações foram feitas na Linguagem C++ para que ela pudesse suportar a programação orientada a objetos (POO). 1.2 Compiladores e Interpretadores Compiladores e Interpretadores são simplesmente programas sofisticados que agem sobre o código-fonte do seu programa, ou seja, depois que o código-fonte de um determinado programa é escrito ele é submetido à um Compilador ou um Interpretador que fará com que seja possível sua execução em uma determinada máquina. O Compilador lê o programa inteiro e converte-o em um código executável. Uma vez o programa compilado, uma linha de código-fonte está significativamente distante do código executável. O compilador não é necessário para executar o programa, desde que ele já esteja compilado, ou seja, neste caso não será necessário que se tenha um programa instalado na máquina que reconheça o código em questão. O Interpretador lê o código-fonte do seu programa uma linha por vez e executa uma instrução específica contida naquela linha. O interpretador deverá estar presente toda vez que o programa estiver sendo executado, ou seja, é necessário que um interpretador específico da linguagem utilizada esteja instalado na máquina. Existem dois termos freqüentes: tempo de compilação e tempo de execução. O termo tempo de compilação refere-se aos eventos que acontecem durante o processo de compilação e tempo de execução, aos eventos que ocorrem enquanto o programa está sendo executado. Infelizmente, constantemente esses termos estão relacionados a mensagens de erros, como em erros de tempo de compilação e erros de tempo de execução.

8 1.3 Características da Linguagem C Portabilidade entre máquinas e sistemas operacionais, ou seja, um código escrito em linguagem C poderá ser executado em diferentes máquinas independentemente da sua configuração física (hardware) e do sistema operacional residente. A linguagem C é estruturada, com isso desencoraja a utilização dos goto's desvios incondicionais -, que geram os chamados códigos "macarronada". O "goto" é substituído por diversos tipos de laços e desvios, tais como: while, do-while, for; if-thenelse, switch, que permitem ao programador exercer um controle lógico mais eficaz sobre os códigos fontes de seus programas. A linguagem C/C++ possui sub-rotinas com variáveis locais, isto é, funções cujas variáveis são visíveis apenas dentro desta função e somente no momento em que estas funções estejam sendo usadas. Assim as variáveis com mesmo nome, que pertençam a funções distintas, são protegidas dos efeitos colaterais (proteção de variáveis), isto é, uma modificação em nível funcional não acarretará mudança na variável em nível global. Desta forma, mudanças de valores de variáveis no corpo do programa principal não afetam as variáveis de funções e vice-versa, a não ser que o programador assim o queira. Código compacto e rápido, quando comparado ao código de outras linguagem de complexidade análoga. A linguagem C é Case-Sensitive. É importante saber que as letras maiúsculas e minúsculas são tratadas como caracteres distintos. Por exemplo, em algumas linguagens, os nomes de variáveis count, Count e COUNT são três maneiras de se especificar a mesma variável. Entretanto na linguagem C, serão três variáveis diferentes. Então, quando você digitar programas em C seja cuidadoso na utilização correta das letras. 1.4 Aplicações Escritas em C Atualmente, nos Estados Unidos, C é a linguagem mais utilizada pelos programadores, por permitir, dadas suas características, a escrita de programas típicos do Assembler, BASIC, COBOL e Clipper, sempre com maior eficiência e portabilidade, como podemos constatar pelos exemplos abaixo relacionados: Sistema Operacional: UNIX (Sistema Operacional executável em micro computadores e em mainframes). Montadores: Clipper (O utilitário de banco de dados mais usado no Brasil). Planilhas: 1,2,3 e Excel (A planilha eletrônica com maior volume de vendas mundial). Banco de Dados: dbase III, IV e Access (o gerenciador de base de dados mais utilizado no mundo). InfoStar: O Editor de Texto mais utilizado nos USA no Sistema Operacional UNIX. Utilitários: FormTool (Editor de formulário mais vendido no mundo). Aplicações Gráficas: Efeitos Especiais de filmes com Star Trek e Star War. Linguagens como o Power Builder e o Visual Basic, respectivamente as linguagens mais utilizadas nos EUA e no Brasil.

9 No Brasil utilizada por empresas especializadas na elaboração de vinhetas e outros efeitos especiais. 1.5 A Linguagem C Comparada à Outras Linguagens Deve-se entender Nível Alto como sendo a capacidade da linguagem em compreender instruções escritas em dialetos próximos do inglês (Ada e Pascal, por exemplo) e Nível Baixo para aquelas linguagens que se aproximam do Assembly, que é a linguagem própria da máquina, compostas por instruções binárias e outras incompreensíveis para o ser humano não treinado para este propósito. Infelizmente, quanto mais clara uma linguagem for para o humano (simplicidade >) mais obscura o será para a máquina (velocidade <). A Linguagem C é freqüentemente referenciada como uma linguagem de nível médio, posicionando-se entre o Assembly (baixo nível) e o Pascal (alto nível). Uma das razões da invenção da Linguagem C foi dar ao programador uma linguagem de alto nível que poderia ser utilizada como uma substituta para a linguagem Assembly. Entretanto, ainda que a Linguagem C possua estruturas de controle de alto nível, como é encontrado na Pascal, ela também permite que o programador manipule bits, bytes e endereços de uma maneira mais proximamente ligada à máquina, ao contrário da abstração apresentadas por outras linguagens de alto nível. Por esse motivo, a Linguagem C tem sido ocasionalmente chamada de código Assembly de alto nível. Por sua natureza dupla, a Linguagem C permite que sejam criados programas rápidos e eficientes sem a necessidade de se recorrer a linguagem Assembly. A filosofia que existe por trás da Linguagem C é que o programador sabe realmente o que está fazendo. Por esse motivo, a Linguagem C quase nunca coloca-se no caminho do programador, deixando-o livre para usar (ou abusar) dela de qualquer forma que queira. O motivo para essa liberdade na programação é permitir ao compilador C criar códigos muito rápidos e eficientes, já que ele deixa a responsabilidade da verificação de erros para o programador. Observemos o esquema a seguir: Nível Baixo Nível Médio Nível Alto VELOCIDADE CLAREZA Assembler Macro Assembler Forth C Fortran Basic COBOL Pascal Ada MODULA-2 Antes da Linguagem C tornar-se um padrão de fato (meados de 1.988, nos USA), tínhamos, aproximadamente, o seguinte perfil de mercado: - Aplicações de Banco de Dados

10 - Mainframe: COBOL e gerenciadores - Micros: dbase, Clipper e BASIC e gerenciadores como Btrieve. - Aplicações Gráficas: Pascal. - Aplicações Científicas: FORTRAN e Pascal. - Utilitários, Sistemas Operacionais e Compiladores: Assembler. A chegada de poderosos compiladores C (Borland, Microsoft e Zortech-Symantec), revolucionou totalmente estes conceitos pois passou a permitir a construção de praticamente qualquer tipo de aplicação na Linguagem C, normalmente mais rápidas do que na linguagem original e portável entre os diversos ambientes ( roda em DOS, UNIX, etc. com poucas mudanças). Devemos entender no entanto, que apenas temos uma relativa portabilidade, pois a verdadeira portabilidade depende necessariamente da implementação do sistema operacional, necessariamente aberto, o que não existe fora do mundo Unix. Quadro de características de linguagens: Linguagens / Assembler BASIC Clipper COBOL C Características Ideais Pascal Executáveis Curtos ótimo fraco péssimo fraco ótimo Executáveis Rápidos ótimo Bom razoável fraco bom Portáveis péssimo Bom ótimo ótimo bom Manipulação de Bits ótimo razoável péssimo fraco ótimo O quadro anterior, deixa claro o porquê da revolução causada pela Linguagem C, dados os inúmeros pontos fortes da linguagem e a inexistência de pontos fracos da mesma. Não deve-se concluir apressadamente que poderemos desenvolver tudo em C e abandonarmos todas as outras linguagens, pelos seguintes motivos: - Alta base de programas escritos em Assembler, COBOL, BASIC, Pascal. - Conhecimento amplo de linguagens concorrentes como COBOL, Clipper e BASIC. - Melhor adaptação de alguma linguagem para tarefa específica como Gráficos (Pascal), Inteligência Artificial (Prolog, LISP), matemáticas (Pascal e FORTRAN), aplicações comerciais (COBOL, Clipper e BASIC). As versões atuais das linguagens BASIC, C, Clipper, Pascal e COBOL, estão muito mais semelhantes do que o eram ao tempo em que este quadro foi elaborado, portanto na prática muitas vezes este quadro, meramente teórico, pode tornar-se inaplicável. À médio prazo, pode-se afirmar que a Linguagem C deverá ir desalojando as outras linguagens podendo até mesmo tornar-se um padrão de direito, porém devemos lembrar que algumas linguagens foram propostas para isto (Algol, PL/1) e não só não conseguiram atingir seus objetivos como praticamente desapareceram. 1.6 Estrutura de um Programa em Linguagem C

11 Um programa em Linguagem C é formado por uma ou mais funções. Cada função possui um nome exclusivo e corresponde à um bloco de código, delimitado por um par de chaves, contendo um conjunto de declarações, expressões, comandos de controle e chamadas à outras funções. Uma função denominada main é obrigatória em todos os programas, pois é o seu ponto de entrada, isto é, o programa começa a ser executado no início da função main e termina ao final desta função. Normalmente a declaração desta função possui a seguinte forma: int main(void), mas adiante será estudada outra forma de declaração para esta função. Ao concluir a função main, com o comando return, a execução do programa é finalizada, sendo que pelo padrão ANSI, esta função deve retornar 0 (zero) se o programa foi finalizado com sucesso, ou um valor maior que zero caso ele tenha sido finalizado por uma situação anormal. Além da função main, o programa pode possuir outras funções, sendo que estas devem ser, direta ou indiretamente, chamadas pela função main. Abaixo, um programa escrito em linguagem C, muito simples que você pode rodar no seu compilador: /* Seu primeiro programa em linguagem C*/ void main () printf ("Bem vindo ao mundo da programação em C!!!\n"); getchar(); /* Aguarda pressionar Enter */ Comentários Os comentários servem principalmente para documentação do programa e são ignorados pelo compilador, portanto não irão afetar o programa executável gerado. Os comentário iniciam com o símbolo /* e se estendem até aparecer o símbolo */. Um comentário pode aparecer em qualquer lugar no programa onde possa aparecer um espaço em branco e pode se estender por mais de uma linha Diretiva #include Toda a diretiva, em C, começa com o símbolo # no início da linha. A diretiva #include inclui o conteúdo de um outro arquivo dentro do programa atual, ou seja, a linha que contêm a diretiva é substituída pelo conteúdo do arquivo especificado. Sintaxe: #include <nome do arquivo> ou #include nome do arquivo O primeiro caso é o mais utilizado. Ele serve para incluir alguns arquivos que contêm declaração das funções da biblioteca padrão, entre outras coisas. Estes arquivos, normalmente, possuem a extensão.h e se encontram em algum diretório pré-definido pelo compilador. Sempre que o programa utilizar alguma função da biblioteca-padrão deve ser incluído o arquivo correspondente. A tabela a seguir apresenta alguns dos principais.h da linguagem C: Descrição stdio.h - Funções de entrada e saída (I/O) string.h - Funções de tratamento de strings

12 math.h - Funções matemáticas ctype.h - Funções de teste e tratamento de caracteres stdlib.h - Funções de uso genérico A segunda forma, onde o nome do arquivo aparece entre aspas duplas, serve normalmente para incluir algum arquivo que tenha sido criado pelo próprio programador ou por terceiros e que se encontre no diretório atual, ou seja, no mesmo diretório do programa que está sendo compilado Uso do Ponto-e-Vírgula Você pode não ter percebido, mas no código em C apresentado no item 1.6 usamos duas vezes o ponto-e-vírgula, quando terminamos a declaração dos comandos printf() e getchar(). Ele é usado para separar diferentes comandos dentro do seu código em C. Durante o processo de compilação executado pelo compilador, o ponto-e-vírgula mostra ao compilador quando uma linha de comando termina e quando outra linha de comando se inicia. Ou seja, se você esquecer do ponto-e-vírgula seu compilador irá acusar um erro pois ele não irá saber quando termina ou começa um determinado comando dentro do código que você digitou. 1.7 Compreendendo os Tipos de Arquivo Ao criar um programa em linguagem C, você coloca seus comando em um arquivofonte, que tem a extensão.c. Se o seu programa for compilado com sucesso, o compilador irá criar um programa executável com a extensão.exe. Durante a compilação, o compilador cria em seu diretório outros arquivos com extensão.obj. Estes arquivos contém as instruções em forma binária, ou seja 1s e 0s, que o computador compreende. Vale ressaltar que os códigos estudados neste material foram testados no compilador Turbo C Síntese do Módulo É apresentado à seguir, uma síntese do que foi tratado em cada item deste módulo. Com esta síntese você poderá relembrar conceitos vistos durante nosso estudo ou mesmo direcionar seu estudo, caso você já tenha conhecimentos na Linguagem C História da Linguagem C: apresenta um breve relato sobre o desenvolvimento da Linguagem de Programação C. Nele é mostrado que a Linguagem C foi desenvolvida por Dennis Ritchie e que ela é na verdade uma linguagem derivada de outras duas linguagens de programação anteriores, a BCPL e a Linguagem B. Mesmo sendo uma linguagem flexível e poderosa, a Linguagem C chegou a seus limites, e com isso, o desenvolvimento de uma nova linguagem tornou-se inevitável, sendo desenvolvida a Linguagem C++, que na verdade era a Linguagem C com novas características que superaram seus limites. Foram feitas várias modificações e melhorias na Linguagem C++ para que ela pudesse suportar a programação orientada a objeto (POO).

13 2 1.2 Compiladores e Interpretadores: neste item, foi mostrada a diferença entre compilador e interpretador. Compiladores e Interpretadores são programas que traduzem um código-fonte de um programa para a linguagem que a máquina entende. No caso do Interpretador, ele faz isso linha por linha do código-fonte, toda vez que o programa em questão é executado. Ou seja, é necessário que exista na máquina um interpretador específico instalado para a linguagem de programação em que o programa em questão foi escrito. No caso do Compilador é gerado um programa executável, ou seja, o Compilador cria um arquivo que pode ser lido pelo sistema operacional da máquina, eliminando assim a necessidade de um interpretador instalado. Foi visto também que o termo tempo de compilação refere-se aos eventos que acontecem durante o processo de compilação e tempo de execução, aos eventos que ocorrem enquanto o programa está sendo executado Características da Linguagem C: neste item, apresentou-se as principais características da Linguagem C, entre elas: que a Linguagem C é portável; a Linguagem C é estruturada; a linguagem C/C++ possui sub-rotinas com variáveis locais; seu código é compacto e rápido; a linguagem é case-sensitive Aplicações Escritas em C: devido à sua compatibilidade com outras linguagens de programação, como por exemplo, Assembly, Cobol, Clipper, Basic, a Linguagem C é largamente utilizada no desenvolvimento de programas, sistemas operacionais e até em efeitos especiais em filmes A Linguagem C Comparada à Outras Linguagens: neste item foi feita uma comparação entre a Linguagem C e outras linguagens de programação. Mostrouse que a Linguagem C se classifica como uma linguagem de nível médio, pois mesmo possuindo estruturas de controle de alto nível, ela permite a manipulação de bits, bytes e endereços de uma maneira bem próxima à máquina. Além do mais, a Linguagem C é veloz e tem uma alta portabilidade. Mas mostra-se que não é possível pensar em abandonar as outras linguagens e usar-se somente a Linguagem C Estrutura de um Programa em Linguagem C: foi estudado neste item que um programa em Linguagem C é formado por uma ou mais funções. Cada função possui um nome exclusivo e corresponde à um bloco de código, delimitado por um par de chaves, contendo um conjunto de declarações, expressões, comandos de controle e chamadas à outras funções. Uma função denominada main é obrigatória em todos os programas, pois é o seu ponto de entrada, isto é, o programa começa a ser executado no início da função main e termina ao final desta função Comentários: comentários servem principalmente para documentação do programa e são ignorados pelo compilador, portanto não irão afetar o programa executável gerado. Os comentário iniciam com o símbolo /* e se estendem até aparecer o símbolo */ Diretiva #include: neste subitem foi estudada a diretiva #include inclui o conteúdo de um outro arquivo dentro do programa atual, ou seja, a linha que contêm a diretiva é substituída pelo conteúdo do arquivo especificado. Ela serve para incluir alguns arquivos que contêm declaração das funções da biblioteca padrão, entre outras coisas Uso do ponto-e-vírgula: foi visto que o ponto-e-vírgula é usado para separar diferentes comandos dentro do seu código em C. Durante o processo de compilação

14 executado pelo compilador, o ponto-e-vírgula mostra ao compilador quando uma linha de comando termina e quando outra linha de comando se inicia Compreendendo os Tipos de Arquivo: foi explicado detalhadamente os tipos de arquivos usados na programação em Linguagem C, como por exemplo, os arquivos com extensão.c,.exe e.obj. Módulo 2 Características e Definições Gerais da Linguagem C 2.1 Palavras Reservadas na Linguagem C Na Linguagem C existem palavras que são de uso reservado, ou seja, não pode-se usá-las para escrever programas, por exemplo, usando o nome de uma palavra reservada para referenciar uma variável. Uma palavra reservada é essencialmente um comando e, na maioria das vezes, as palavras reservadas de uma linguagem definem o que pode ser feito e como pode ser feito. O conjunto de palavras reservadas em Linguagem C especificado pelo padrão ANSI C são as relacionadas abaixo: auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while Como já foi dito no Módulo 1, a Linguagem C diferencia letras maiúsculas e minúsculas, ou seja, char é uma palavra reservada da Linguagem C mas CHAR ou ChAr não é. Reforçando o que já foi mencionado, as palavras reservadas só irão executar os comandos que lhes foram designados. 2.2 Nomes e Identificadores Usados na Linguagem C A Linguagem C chama o que é usado para referenciar variáveis, funções, rótulos e vários outros objetos definidos pelo usuário de identificadores. Quanto aos nomes ou identificadores usados na declaração de variáveis, deve-se considerar as seguintes regras: ('_'); 1 nomes de variáveis começam com uma letra ('A'..'Z', 'a'..'z') ou pelo underscore 2 após podem ser seguidos dígitos, letras e underscores; 3 evitar o uso do '_' no primeiro caractere do identificador de uma variável, pois este tipo de identificadores é de uso do sistema;

15 4 normalmente ao declarar-se uma variável esta será inicializada com zero. Não se deve, no entanto, contar que isto sempre seja verdadeiro, portanto inicializa-se sempre as variáveis. Aqui estão alguns exemplos de nomes de identificadores corretos e incorretos: Correto count test23 high_balance Incorreto 1count Olá! Aqui high..balance Em C os primeiros 32 caracteres de um nome de identificador são significantes. Isso quer dizer que duas variáveis com os 32 primeiros caracteres em comum, diferindo somente no 33º, são consideradas iguais. Como você deve lembrar, em C, letras maiúsculas e minúsculas são tratadas como diferentes e distintas umas das outras. Por isso, count, Count e COUNT são três identificadores distintos. Um identificador não pode ser o mesmo que uma palavra reservada e não devem ter o mesmo nome de uma função tanto uma função que você tenha escrito como uma função de biblioteca da linguagem C. 2.3 Tipos e Dados Quando um programa é escrito em qualquer linguagem de programação é necessário a definição de algumas variáveis. Variáveis são instâncias em que serão armazenados valores utilizados durante a execução de programas. Estas variáveis podem ser modificadas para suportar diferentes tipos de dados. Na tabela abaixo constam os tipos básicos de dados da Linguagem C: Tipo Tamanho (em bits) Intervalo Char a 127 Int a Float 32 3,4E-38 a 3,4E+38 double 64 1,7E-308 a 1,7E+308 void 0 sem valor Modificadores de Tipos Possuindo os tipos básicos de dados, pode-se ainda formatá-los para atender melhor as necessidades de cada situação. Com exceção do tipo void, todos os outros tipos básicos podem ter modificadores precedendo-os. Você pode ter como modificadores signed, unsigned, long e short. Os modificadores signed, unsigned, long e short podem ser aplicados aos tipos de base caractere e inteira. Entretanto, long, também pode ser aplicado ao tipo double. A tabela a seguir mostra todas as combinações permitidas dos tipos básicos e dos modificadores de tipo.

16 Tipo Tamanho (em bits) Intervalo char a 127 unsigned char 8 0 a 255 signed char a 127 int a unsigned int 16 0 a signed int a short int a unsigned short int 16 0 a signed short int a long int a signed long int a unsigned long int 32 0 a float 32 3,4E-38 a 3,4E+38 double 64 1,7E-308 a 1,7E+308 long double 80 3,4E-4932 a 1,1E+4932 A linguagem C permite uma notação simplificada para declaração de inteiro unsigned, short ou long. Você pode simplesmente usar a palavra unsigned, short ou long sem o int. O int está implícito. Por exemplo: unsigned x; unsigned int x; declaram igualmente variáveis inteiras sem sinal. Variáveis do tipo char podem ser usadas para armazenar valores outros que são simplesmente o conjunto de caracteres ASCII. Uma variável char pode ser usada também como um pequeno inteiro com intervalo de 128 a 127, e no lugar de um inteiro quando a situação não requer números grandes. 2.4 Definição de Variáveis Variáveis são instâncias onde o programa em execução coloca os dados que estão sendo processados durante sua execução. As variáveis devem ser declaradas, ou seja, devem ser definidos nome, tipo e algumas vezes seu valor inicial. As variáveis são classificadas em variáveis locais e globais. Variáveis globais são aquelas declaradas fora do escopo das funções. Variáveis locais são aquelas declaradas no início de um bloco e seus escopos estão restritos aos blocos em que foram declaradas. A declaração de variáveis locais deve obrigatoriamente ser a primeira parte de um bloco, ou seja, deve vir logo após um caractere de abre chaves, ''; e não deve ser intercalada com instruções ou comandos. Veja a sintaxe para se declarar uma variável: <tipo> <nome> Exemplos:

17 int mul = 100; char a, b, c; float valor; 2.5 Definição de Constantes O conceito de constantes em linguagens de programação é atribuir um certo valor constante a um nome, e quando este nome for referenciado dentro do código do programa, será utilizado nas operações o valor atribuído a este nome. Ou seja, se for definida a constante PI com o valor 3, , quando for encontrado no código o nome PI, será utilizado em seu lugar o valor 3, Na Linguagem C, constantes podem ser definidas da seguinte maneira : #define <nome_da_constante> valor Exemplos: #define PI 3, #define SINAL "aberto" #define MULT A*B Observe que na definição de uma constante não há o ; no final. Se for colocado, este fará parte do valor associado à constante Constantes Hexadecimais e Octais Em programação algumas vezes é comum usar um sistema de numeração baseado em 8 ou 16 em vez de 10. O sistema numérico baseado em 8 é chamado octal e usa os dígitos de 0 a 7. Em octal, o número 10 é o mesmo que 8 em decimal. O sistema numérico de base 16 é chamado hexadecimal e usa os dígitos de 0 a 9 mais as letras de A até F, que equivalem a 10, 11, 12, 13, 14 e 15. Por exemplo, o número hexadecimal 10 é 16 em decimal. Por causa da freqüência com que estes dois sistemas numéricos são usados, a linguagem C permite que se especifique constantes inteiro em hexadecimal ou octal em vez de decimal, se preferir. Uma constante hexadecimal deve começar com 0x (um zero seguido de um x), seguido pela constante em formato hexadecimal. Uma constante octal começa com um zero. Aqui estão alguns exemplos: hex = 0xFF; /* 255 em decimal */ oct = 011; /* 9 em decimal */ Constantes Strings Outro tipo de constante suportada pela Linguagem C é o tipo string. Uma string é um conjunto de caracteres entre aspas. Por exemplo, você é um vencedor é uma string. Não confunda strings com caractere. Uma constante caractere simples fica entre dois apóstrofos, por exemplo a. Entretanto a é uma string que contém somente uma letra.

18 2.5.3 Códigos de Barra Invertida Colocar todas as constantes caractere entre aspas funciona para muitos caracteres, mas alguns, como o retorno de carro, são impossíveis de serem inseridos em uma string a partir do teclado. Por isso, a linguagem C fornece constantes caractere mais barra invertida especiais. Estes códigos são mostrados na tabela a seguir: Código Significado Código Significado \b Retrocesso \f Alimentação de formulário \n Nova linha \r Retorno de carro \t Tabulação horizontal \ Aspas \ Apóstrofo \0 Nulo \\ Barra invertida \v Tabulação vertical \a Sinal sonoro \N Constante octal \xn Constante hexadecimal Usa-se um código de barra invertida exatamente da mesma maneira como usa qualquer outro caractere. Por exemplo: ch = \t ; printf ( este é um teste\n ); Esse fragmento de código primeiro atribui uma tabulação a ch e, então, imprime este é um teste na tela, seguido de uma nova linha. 2.6 Operadores A linguagem C é muito rica em operadores internos. Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit Operador de atribuição O operador = atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda. Exemplos: a = 10; b = c * valor + getval(x); a = b = c = 1; /*Aceita associação sucessiva de valores*/ Operadores Aritméticos São aqueles que operam sobre números e expressões, resultando valores numéricos. São eles: Operador + Soma - subtração * multiplicação Ação

19 2.6.3 Operadores Relacionais / divisão % módulo da divisão (resto da divisão inteira) - sinal negativo (operador unário) Operam sobre expressões, resultando valores lógicos de TRUE (verdadeiro) ou FALSE (falso). são eles: Atenção! Operador > Maior >= maior ou igual < Menor <= menor ou igual == Igual!= não igual (diferente) Não existem os operadores relacionais: =<, => e <>. Não confunda a atribuição ( = ) com a comparação ( == ). Ação Operadores Lógicos Operam sobre expressões, resultando valores lógicos de TRUE (verdadeiro) ou FALSE (falso). Possuem a característica de short circuit, ou seja, sua execução é curta e só é executada até o ponto necessário. São eles: Operador Ação && operação AND operação OR! operador de negação NOT (operador unário) Exemplos de short circuit : (a == b) && (b == c) /* Se a!= b não avalia o resto da expressão */ (a == b) (b == c) /* Se a == b não avalia o resto da expressão */ Manipulação de bits A manipulação é feita em todos os bits da variável a qual não pode ser do tipo float ou double. Os operadores que manipulam bits estão relacionados abaixo: Operador Ação & bit and bit or ^ bit xor - exclusive or

20 << Rotação a esquerda >> Rotação a direita ~ bit not (complemento) Observação: x << n irá rotacionar n vezes a variável x à esquerda Operadores de assinalamento É expresso da seguinte forma: (operadores combinados) var = var op expr -> var op = expr Onde tempos op como um dos seguintes operadores: Exemplo de aplicação: Operador Ação + Soma - Subtração * Multiplicação / Divisão % módulo (resto da divisão) >> Rotação a direita << Rotação a esquerda & And ^ xor - exclusive or Or i+= 2; /* É equivalente a: i = i + 2 */ j-= 3; /* É equivalente a: j = j 3 */ k >>= 3; /* É equivalente a: k = k >> 3;*/ z &= flag; /* É equivalente a: z = z & flag;*/ Operadores de Pré e Pós-Incremento Operadores de pré e pós-incremento são aqueles usados quando é necessário incrementar ou decrementar um determinado valor. As operações abaixo podem ser representadas assim: i = i + 1; i = ++i; ++i; i = i 1; i = --i; --i; z = a; a = a + 1; z = a++; z = a; a = a 1; z = a--; a = a + 1; z = a; z = ++a; a = a - 1; z = a; z = --a; Operadores de Endereço

21 Exemplos: São operadores usados com ponteiros, para acesso a endereços de memória. int var, *x; x = &var; var = *x; Operador Significado & endereço de uma variável * conteúdo do endereço especificado 2.7 Tabela de Operadores da Linguagem C Operador Função Exemplo C - menos unário a = -b; + mais unário a = +b ;! negação lógica! flag ~ bitwise not a = ~b ; & endereço de a = &b ; * referência a ptr a = *ptr ; sizeof tamanho de var a = sizeof(b) ; ++ incremento ++a; ou a++; -- decremento --a; ou a--; * multiplicação a = b * c; / divisão inteira a = b / c; / divisão real a = b / c; % resto da divisão a = b % c; + soma a = b + c; - subtração a = b c; >> shift right a = b >> n; << shift left a = b << n; > maior que a > b >= maior ou igual a a >= b < menor que a < b <= menor ou igual a a <= b = = igual a a == b!= diferente de a!= b & bitwise AND a = b & c; bitwise OR a = b c; ^ bitwise XOR a = b ^ c; && logical AND flag1 && flag2 logical OR flag1 flag2 = assinalamento a = b; OP= assinalamento a OP= b;

22 2.8 Expressões Operadores, constantes e variáveis constituem expressões. Uma expressão em C é qualquer combinação válida dessas partes. Uma vez que muitas expressões tendem a seguir as regras gerais da álgebra, estas regras são freqüentemente consideradas. Entretanto, existem alguns aspectos das expressões que estão especificamente relacionadas com a linguagem C e serão discutidas agora Conversões de Tipos em Expressões Quando constantes e variáveis de tipos diferentes são misturadas em uma expressão, elas são convertidas para o mesmo tipo. O compilador C converterá todos os operandos para o tipo do operando maior. Isso é feito na base de operação a operação, como descrito nestas regras de conversão de tipos: Todos os chars e shor ints são convertidos para ints. Todos os floats são convertidos para doubles; Para todos os pares de operandos, se um deles é um long double, o outro operando é convertido para uma long double. Se um dos operandos é double, o outro é convertido para double. Se um é long, o outro é convertido para long. Se um é unsigned, o outro é convertido para unsigned. Uma vez que essas regras de conversão tenham sido aplicadas, cada par de operandos será do mesmo tipo e o resultado de cada operação terá o mesmo tipo dos dois operandos. Note que a regra 2 tem muitas condições que devem ser aplicada em seqüência. Por exemplo, considere a conversão de tipos que ocorre na expressão a seguir: Primeiro, o caractere ch é convertido para um inteiro e float f é convertido para double. Então, o resultado de ch/i é convertido para um double, já que f * d é um double.

23 O resultado final é um double, tendo em vista que, neste caso, os dois operandos são double Modeladores (CASTS) É possível forçar uma expressão a ser de um tipo específico usando-se uma construção chamada de modelador. A forma geral de um modelador é: (tipo) expressão (float) x / 2; Onde tipo é um dos tipos dado-padrão da linguagem C. Por exemplo, se x é um inteiro e você quer certificar-se de que a expressão x/2 resulta em um tipo float, garantindo um componente fracionário, pode escrever: Aqui, o modelador (float) é associado com o x, o que faz com que o 2 seja elevado ao tipo float e o resultado seja um float. Entretanto, tome cuidado: se você escrever a expressão acima como segue, o componente fracionário não será considerado: (float) (x / 2); float. Neste caso, uma divisão de inteiros é levada a cabo e o resultado é transformado em Modeladores são freqüentemente considerados como operadores. Como um operador, um modelador é unário e tem a mesma precedência de qualquer outro operador unário Espaçamento e Parênteses Pode-se colocar espaços numa expressão para torná-la mais legível. O uso de parênteses redundantes ou adicionais não causará erros ou diminuirá a velocidade de execução da expressão. É estimulado o uso de parênteses para tornar clara e exata a ordem de avaliação, tanto para você como para outros que precisarem entender o seu programa mais tarde. Por exemplo, as duas expressões seguintes são as mesmas: x=645/(num_entry)-y*(3217/balance); x = 645 / (num_entry) y * (3127 / balance); Qual das duas expressões seguintes é mais fácil de ler? x=y/3-24*temp-127; x = (y/3) (34*temp) 127;

24 2.9 Síntese do Módulo É apresentada, a seguir, uma síntese do que foi tratado em cada item deste módulo. Com esta síntese você poderá relembrar conceitos vistos durante nosso estudo ou mesmo direcionar seu estudo, caso você já tenha conhecimentos na Linguagem C Palavras Reservadas em Linguagem C: foi visto neste item, que na Linguagem C existem palavras que são de uso reservado, ou seja, referenciam comandos ou ações e, portanto, não podem ser usadas pelo programador para referenciar por exemplo uma variável em um determinado programa. Foi apresentado uma tabela relacionando as palavras reservadas da Linguagem C Nomes e Identificadores Usados na Linguagem C: a Linguagem C chama o que é usado para referenciar variáveis, funções, rótulos e vários outros objetos definidos pelo usuário de identificadores. Em C os primeiros 32 caracteres de um nome de identificador são significantes. Um identificador não pode ser o mesmo que uma palavra reservada e não devem ter o mesmo nome de uma função Tipos e Dados: variáveis são instâncias em que serão armazenados valores utilizados durante a execução de programas. Estas variáveis podem ser modificadas para suportar diferentes tipos de dados. Foi visto que os tipos básicos de dados da Linguagem C são: char, int, float, doublé, void Modificadores de Tipos: possuindo os tipos básicos de dados, pode-se ainda formatá-los para atender melhor as necessidades de cada situação. Com exceção do tipo void, todos os outros tipos básicos podem ter modificadores precedendo-os. Foi apresentado uma tabela mostrando todas as combinações permitidas dos tipos básicos e dos modificadores de tipo Definição de Variáveis: foi visto que variáveis são instâncias onde o programa em execução coloca os dados que estão sendo processados durante sua execução. As variáveis devem ser declaradas, ou seja, devem ser definidos nome, tipo e algumas vezes seu valor inicial. As variáveis são classificadas em variáveis locais e globais Definição de Constantes: definimos uma constante quando atribuímos um certo valor constante à um nome. Quando este nome é referenciado dentro de um programa, será utilizado nas operações o valor atribuído a este nome Constantes Hexadecimais e Octais: em programação algumas vezes é comum usar um sistema de numeração baseado em 8 ou 16 em vez de 10. Por causa da freqüência com que estes dois sistemas numéricos são usados, a linguagem C permite que se especifique constantes inteiro em hexadecimal ou octal em vez de decimal, se preferir Constantes Strings: Outro tipo de constante suportada pela Linguagem C é o tipo string. Uma string é um conjunto de caracteres entre aspas. Por exemplo, você é um vencedor é uma string Códigos de Barra Invertida: colocar todas as constantes caractere entre aspas funciona para muitos caracteres, mas alguns, como o retorno de carro, são impossíveis de serem inseridos em uma string a partir do teclado. Por isso, a linguagem C fornece constantes caractere mais barra invertida especiais. Estes códigos foram mostrados em uma tabela.

25 Operadores: Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas e lógicas específicas. A linguagem C possui três classes gerais de operadores: aritméticos, relacionais e lógicos e bit-a-bit Operador de atribuição: o operador = atribui um valor ou resultado de uma expressão contida a sua direita para a variável especificada a sua esquerda Operadores Aritméticos: são aqueles que operam sobre números e expressões, resultando valores numéricos Operadores Relacionais: operam sobre expressões, resultando valores lógicos de TRUE (verdadeiro) ou FALSE (falso) Operadores Lógicos: operam sobre expressões, resultando valores lógicos de TRUE (verdadeiro) ou FALSE (falso). Possuem a característica de short circuit, ou seja, sua execução é curta e só é executada até o ponto necessário Manipulação de bits: a manipulação é feita em todos os bits da variável a qual não pode ser do tipo float ou double. Os operadores que manipulam bits foram relacionados em uma tabela Operadores de assinalamento: assinalam o uso de uma operação, combinando operadores de tal forma a diminuir o código e facilitar sua posterior compreensão Operadores de Pré e Pós-Incremento: operadores de pré e pósincremento são aqueles usados quando é necessário incrementar ou decrementar um determinado valor Operadores de Endereço: são operadores usados com ponteiros, para acesso a endereços de memória Tabela de Operadores da Linguagem C: foi apresentada uma tabela com os operadores disponíveis na Linguagem C Expressões: operadores, constantes e variáveis constituem expressões. Uma expressão em C é qualquer combinação válida dessas partes Conversões de Tipos em Expressões: quando constantes e variáveis de tipos diferentes são misturadas em uma expressão, elas são convertidas para o mesmo tipo. O compilador C converterá todos os operandos para o tipo do operando maior Modeladores (CASTS): é possível forçar uma expressão a ser de um tipo específico usando-se uma construção chamada de modelador. Modeladores são freqüentemente considerados como operadores. Como um operador, um modelador é unário e tem a mesma precedência de qualquer outro operador unário Espaçamento e Parênteses: pode-se colocar espaços numa expressão para torná-la mais legível. O uso de parênteses redundantes ou adicionais não causará erros ou diminuirá a velocidade de execução da expressão.módulo 3 Funções na Linguagem C

26 3.1 Funções A maioria dos programas apresentam a função main. Quando os programas tornamse maiores e mais complexos, pode-se melhorar a clareza e compreensão do trabalho dividindo-o em partes menores, chamadas funções. Vamos citar o exemplo de um determinado programa, suponha um programa de contabilidade. Poderia haver no programa uma função que efetuasse as operações normais de um contador, uma função diferentes para contas a pagar, uma terceira para contas a receber e uma quarta para gerar um balanço. Se fossem colocados todos os comandos do programa dentro da função main, o programa ficaria muito grande, e seria difícil de compreende-lo. À medida que o tamanho e a complexidade do programa aumentam, aumenta também a possibilidade de erros. Se o programa for dividido em blocos menores e mais facilmente gerenciáveis, poderá evitar erros. Uma função é uma coleção nomeada de comandos que efetuam uma tarefa específica. Por exemplo, a função ola_mundo, usa a função printf para exibir uma mensagem: void ola_mundo (void) printf( Olá mundo!\n ); A palavra chave void diz a Linguagem C que a função não retorna um valor. Em muitos casos, as funções usarão return para retornar o valor de um cálculo para a função chamadora. Se a função não usa return para retornar um resultado, deve-se preceder o nome da função com void. O void que aparece nos parâmetros diz que a função não usa parâmetros. Um parâmetro é a informação que o programa passa para a função. Por exemplo, quando os programas chamam printf, as informações que se especifica dentro dos parênteses são parâmetros. Quando uma função não usa parâmetros, deve-se colocar void dentro dos parênteses. Para usar uma função, especifica-se o nome da função seguido de parênteses. Os programadores referenciam o uso de uma função como uma chamada da função. O programa a seguir, usa a função oi_pessoal: void ola_pessoal(void) printf("ola pessoal!\n"); ola_pessoal(); Ao executar esse programa, a função main é executada primeiro. Como se pode ver, o único comando em main é a chamada da função oi_pessoal. Quando C encontra a chamada da função, imediatamente transfere a execução do programa para a função, iniciando a execução do programa com o primeiro comando da função. Depois que o último comando da função termina, a Linguagem C transfere a execução para o comando que segue imediatamente a chamada da função.

Módulo 1 Apresentação do Histórico e das Características Básicas da Linguagem C

Módulo 1 Apresentação do Histórico e das Características Básicas da Linguagem C Módulo 1 Apresentação do Histórico e das Características Básicas da Linguagem C 1.1 História da Linguagem C A Linguagem C é uma linguagem de programação que tem sua origem em outras duas linguagens anteriores:

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

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

Conceitos básicos da linguagem C

Conceitos básicos da linguagem C Conceitos básicos da linguagem C 2 Em 1969 Ken Thompson cria o Unix. O C nasceu logo depois, na década de 70. Dennis Ritchie, implementou-o pela primeira vez usando o sistema operacional UNIX criado por

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

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

INTRODUÇÃO À LINGUAGEM C++

INTRODUÇÃO À LINGUAGEM C++ INTRODUÇÃO À LINGUAGEM C++ 1 - VARIÁVEIS Variáveis espaço de memória reservado para armazenar tipos de dados, com um nome para referenciar seu conteúdo. Observações importantes Todas as variáveis devem

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

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

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 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

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

Faculdade de Ciências Aplicadas de Cascavel FACIAP Curso de Ciência da Computação LINGUAGEM C/C++

Faculdade de Ciências Aplicadas de Cascavel FACIAP Curso de Ciência da Computação LINGUAGEM C/C++ Faculdade de Ciências Aplicadas de Cascavel FACIAP Curso de Ciência da Computação LINGUAGEM C/C++ CASCAVEL - PR 2004 SUMÁRIO UNIDADE 1 CONSIDERAÇÕES INICIAIS SOBRE A LINGUAGEM C 1 1.1 AS ORIGENS DO C/C++

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

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

5 Apresentando a linguagem C

5 Apresentando a linguagem C 5 Apresentando a linguagem C O criador da linguagem de programação C foi Dennis Ritchie que, na década de 70, programou-a por meio de um computador DEC PDP-11 rodando sistema operacional Unix. Entretanto,

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

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 5 Instruções de controle: Parte 2 Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 5.1 Introdução Instrução de repetição for Instrução de repetição do while Instrução de seleção

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

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

9 Comandos condicionais

9 Comandos condicionais 9 Comandos condicionais Um comando condicional é uma instrução empregada quando se deseja criar um desvio, isto é, a opção de executar-se ou não um determinado trecho de código, segundo uma condição. Em

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

Curso de Linguagem C

Curso de Linguagem C Curso de Linguagem C 1 Aula 1 - INTRODUÇÃO...4 AULA 2 - Primeiros Passos...5 O C é "Case Sensitive"...5 Dois Primeiros Programas...6 Introdução às Funções...7 Introdução Básica às Entradas e Saídas...

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

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

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

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade

REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade REPRESENTAÇÃO DE DADOS EM SISTEMAS DE COMPUTAÇÃO AULA 03 Arquitetura de Computadores Gil Eduardo de Andrade O conteúdo deste documento é baseado no livro Princípios Básicos de Arquitetura e Organização

Leia mais

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Algoritmos e Estruturas de Dados I 01/2013 Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo Problema 1 Suponha que soma (+) e subtração (-) são as únicas operações disponíveis em

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

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

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação Lógica de Programação 3. INTRODUÇÃO À LINGUAGEM C Caro Aluno Vamos iniciar o terceiro capítulo da nossa disciplina. Agora vamos começar a aplicar os conceitos vistos nos capítulos anteriores em uma linguagem

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

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

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES CAPÍTULO 5 5 VETORES E MATRIZES 5.1 Vetores Um vetor armazena uma determinada quantidade de dados de mesmo tipo. Vamos supor o problema de encontrar a média de idade de 4 pessoas. O programa poderia ser:

Leia mais

compreender a importância de cada estrutura de controle disponível na Linguagem C;

compreender a importância de cada estrutura de controle disponível na Linguagem C; Aula 3 Estruturas de controle Objetivos Esperamos que, ao final desta aula, você seja capaz de: compreender a importância de cada estrutura de controle disponível na Linguagem C; construir programas em

Leia mais

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m - 2 0 1 3 P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1: Inteligência É a faculdade de criar objetos artificiais, especialmente ferramentas para fazer ferramentas. Henri Bergson. WHILE Além dos comandos if-else e switch, o controle de fluxo de um programa pode

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

1 Funções básicas de implementação de arquivos

1 Funções básicas de implementação de arquivos 1 Funções básicas de implementação de arquivos 1.1 Definindo registros Depois de um objeto do mundo real ter sido modelado, ou seja, após seus atributos importantes (e relevantes) terem sido identificados,

Leia mais

Definição de Programas de Computadores e Linguagem de Programação de Comutadores

Definição de Programas de Computadores e Linguagem de Programação de Comutadores Definição de Programas de Computadores e Linguagem de Programação de Comutadores O computador é um equipamento eletrônico composto por circuitos eletrônicos, que trabalham com o estado ligado(1) e desligado(0),

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

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

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 1 Conceitos muito básicos 1 Introdução 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

Estrutura de Dados Básica

Estrutura de Dados Básica Estrutura de Dados Básica Professor: Osvaldo Kotaro Takai. Aula 4: Tipos de Dados O objetivo desta aula é apresentar os tipos de dados manipulados pela linguagem C, tais como vetores e matrizes, bem como

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

TÉCNICAS DE PROGRAMAÇÃO

TÉCNICAS DE PROGRAMAÇÃO TÉCNICAS DE PROGRAMAÇÃO (Adaptado do texto do prof. Adair Santa Catarina) ALGORITMOS COM QUALIDADE MÁXIMAS DE PROGRAMAÇÃO 1) Algoritmos devem ser feitos para serem lidos por seres humanos: Tenha em mente

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

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

Programação: Estruturas de seleção

Programação: Estruturas de seleção Programação de Computadores I Aula 07 Programação: Estruturas de seleção José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/53 Valores booleanos Os valores booleanos

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

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i). Cast (conversão) Um tipo de dado pode ser convertido momentaneamente em outro tipo com um cast. Em linguagem C a sintaxe usada é formada pelo tipo desejado entre parênteses precedendo a expressão a ser

Leia mais

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Lógica Aula 2 Técnicas de Programação Criando algoritmos Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos Criando

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2014.1 http://www.dcc.ufrj.br/~fabiom/java Introdução Esse não é um curso de Java! O objetivo é aprender os conceitos da programação orientada a objetos,

Leia mais

Estrutura Condicional em Java

Estrutura Condicional em Java Estrutura Condicional em Java Linguagem de Programação 1 O Java contém três tipos de instruções de seleção. A instrução if realiza uma ação se uma condição for verdadeira ou pula a ação se a condição for

Leia mais

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00 Fundamentos da Programação 32 A. Conceito Variáveis contém dados: VIII. VARIÁVEIS de entrada que o computador precisa manipular; de saída que o computador precisa imprimir; e temporários, utilizados de

Leia mais

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela?

1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? Exercícios sobre Linguagem PHP: 1) Ao ser executado o código abaixo, em PHP, qual será o resultado impresso em tela? 2) Considere a linguagem de programação PHP e seus operadores. A execução da sentença:

Leia mais

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com

CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES. Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com CONCEITOS BÁSICOS PARA A CONSTRUÇÃO DE ALGORITMOS PARA COMPUTADORES Isac Aguiar isacaguiar.com.br isacaguiar@gmail.com Objetivos Compreender os conceitos de lógica de programação e de algoritmos. Conhecer

Leia mais

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem

Leia mais

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento

15 a Aula Subprogramação /Subalgoritmos Função e Procedimento FISP 1/6 15 a Aula Subprogramação /Subalgoritmos Função e Procedimento Objetivo: Simplificação e racionalização na elaboração de algoritmos mais complexos Recursos: Estruturação de algoritmos e modularização

Leia mais

Programação de Computadores I. Linguagem C Arquivos

Programação de Computadores I. Linguagem C Arquivos Linguagem C Arquivos Prof. Edwar Saliba Júnior Novembro de 2011 Unidade 12 Arquivos 1 Trabalhando com Arquivos Um arquivo em Linguagem C pode representar diversas coisas, como: arquivos em disco, uma impressora,

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

Linguagem de Programação

Linguagem de Programação Linguagem de Programação Introdução a Linguagem C Princípios de Programação em C Gil Eduardo de Andrade Conceitos Iniciais: Linguagem C Introdução É uma linguagem estruturada; Foi desenvolvida na década

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

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

INF 1007 Programação II

INF 1007 Programação II INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência

Leia mais

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias Departamento de Engenharia Rural Centro de Ciências Agrárias Programação I Prof. Bruno Vilela Oliveira bruno@cca.ufes.br http://www.brunovilela.webnode.com.br Aulas 2-3-4-5-6-7-8 Lógica Algoritmos Portugol

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

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com. Algoritmos e Programação Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.br 2012 Conteúdo e Objetivos da Aula Introdução a Linguagem C Revisão

Leia mais

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário

CADERNOS DE INFORMÁTICA Nº 1. Fundamentos de Informática I - Word 2010. Sumário CADERNO DE INFORMÁTICA FACITA Faculdade de Itápolis Aplicativos Editores de Texto WORD 2007/2010 Sumário Editor de texto... 3 Iniciando Microsoft Word... 4 Fichários:... 4 Atalhos... 5 Área de Trabalho:

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

Computador Digital Circuitos de um computador (Hardware)

Computador Digital Circuitos de um computador (Hardware) Computador Digital SIS17 - Arquitetura de Computadores (Parte I) Máquina que pode resolver problemas executando uma série de instruções que lhe são fornecidas. Executa Programas conjunto de instruções

Leia mais

Montagem e Manutenção. Luís Guilherme A. Pontes

Montagem e Manutenção. Luís Guilherme A. Pontes Montagem e Manutenção Luís Guilherme A. Pontes Introdução Qual é a importância da Montagem e Manutenção de Computadores? Sistema Binário Sistema Binário Existem duas maneiras de se trabalhar e armazenar

Leia mais

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza

Introdução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo

Leia mais

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3

Algoritmos e Estruturas de Dados I. Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Algoritmos e Estruturas de Dados I Universidade Federal de São João del-rei Pedro Mitsuo Shiroma Sala 119 Bloco 3 Laboratório de AEDS 1 Aula 01 Linguagens de Programação Cada linguagem de programação obedece

Leia mais

UNIDADE 6 - PROGRAMAÇÃO MODULAR

UNIDADE 6 - PROGRAMAÇÃO MODULAR UNIDADE 6 - PROGRAMAÇÃO MODULAR Até o momento as estruturas de controle (seqüência, seleção e repetição) de um algoritmo definia-o como um bloco lógico (início e fim). À medida que os problemas a serem

Leia mais

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos LÓGICA DE PROGRAMAÇÃO Vitor Valerio de Souza Campos Exemplos de algoritmos Faça um algoritmo para mostrar o resultado da multiplicação de dois números. Algoritmo em descrição narrativa Passo 1 Receber

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

Linguagem de Programação I. Aula 05 Linguagem C

Linguagem de Programação I. Aula 05 Linguagem C Linguagem de Programação I Aula 05 Linguagem C Da Aula Anterior Algoritmos Portugol: aspectos básicos Estruturas repetição e controle Array: vetores e matrizes Nesta Aula Linguagens de Programação A Linguagem

Leia mais

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO

Capítulo 2. VARIÁVEIS DO TIPO INTEIRO Capítulo 2. VARIÁVEIS DO TIPO INTEIRO OBJETIVOS DO CAPÍTULO Conceitos de: variáveis do tipo inteiro, atribuição, avisos e erros de compilação, erros de execução, comentários dentro do programa-fonte Operadores

Leia mais

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice

Apostilas OBJETIVA Atendente Comercial / Carteiro / Op. Triagem e Transbordo CORREIOS - Concurso Público 2015 2º CADERNO. Índice 2º CADERNO Índice Pg. Microsoft Office: Excel 2010... Exercícios pertinentes... 02 63 Microsoft Office: Power Point 2010... Exercícios pertinentes... 104 146 Internet e Intranet. Conceitos básicos, navegadores

Leia mais

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética

E/S CPU. Memória (Instruções e dados) 2 PARADIGMA IMPERATIVO. Instruções e dados. Resultados das operações. Unidade lógica e aritmética 2 PARADIGMA IMPERATIVO 2.1 CONCEITO As linguagens que pertencem ao paradigma imperativo tomam por base a perspectiva da máquina. Ou seja, no modo como o computador executa programas em linguagem de máquina.

Leia mais

DESENVOLVIMENTO DE SOFTWARE

DESENVOLVIMENTO DE SOFTWARE VARIAÁ VEL Antes de iniciarmos os comandos referentes a Banco de Dados, precisamos de uma breve descrição técnica sobre Variáveis que serão uma constante em programação seja qual for sua forma de leitura.

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

Linguagens de Programação

Linguagens de Programação Linguagens de Programação Prof. Miguel Elias Mitre Campista http://www.gta.ufrj.br/~miguel Parte IV Introdução à Programação em C++ (Continuação) Relembrando da Última Aula... Funções Classes de armazenamento

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

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

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada Programação Estruturada Programação Estruturada Paradigmas de Linguagens de Programação As linguagens desse paradigma são muitas vezes chamadas de linguagens convencionais, procedurais ou imperativas.

Leia mais

Algoritmos DCC 119. Introdução e Conceitos Básicos

Algoritmos DCC 119. Introdução e Conceitos Básicos Algoritmos DCC 119 Introdução e Conceitos Básicos Sumário Sistemas de Numeração Sistemas Computacionais Estrutura de um Computador Digital Sistemas Operacionais Algoritmo Introdução Formas de representação

Leia mais

Introdução a Linguagem C

Introdução a Linguagem C Rafael Silva Guimarães =p://=p.ci.ifes.edu.br/informacca/rafael_guimaraes Introdução a Linguagem C Técnicas de Programação Histórico O C é derivado de uma outra linguagem: o B, criado por Ken Thompson.

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

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, Características da linguagem C, Interpretação X Compilação, Estrutura básica de um programa em C, Tipos

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

Organização de Computadores 1

Organização de Computadores 1 Organização de Computadores 1 5 CONJUNTO DE INSTRUÇÕES Prof. Luiz Gustavo A. Martins Introdução O que é um conjunto de instruções? Coleção completa das instruções que a CPU é capaz de executar (entende).

Leia mais

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br

LÓGICA DE PROGRAMAÇÃO. Professor Celso Masotti http://ead.celsomasotti.com.br LÓGICA DE PROGRAMAÇÃO Professor Celso Masotti http://ead.celsomasotti.com.br Ano: 2015 1 HTML & PHP em Ambiente Web PARTE II Sumário I Decisão... 4 Operadores de Comparação... 6 II IF ELSEIF ELSE... 7

Leia mais

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA

UNIVERSIDADE FEDERAL DO RIO GRANDE DO SUL INSTITUTO DE INFORMÁTICA INFORMÁTICA APLICADA Responda 1) Quem desenvolveu a linguagem C? Quando? 2) Existe alguma norma sobre a sintaxe da linguagem C? 3) Quais são os tipos básicos de dados disponíveis na linguagem C? 4) Quais são as principais

Leia mais

Organização de Computadores Software

Organização de Computadores Software Organização de Computadores Software Professor Marcus Vinícius Midena Ramos Colegiado de Engenharia de Computação (74)3614.1936 marcus.ramos@univasf.edu.br www.univasf.edu.br/~marcus.ramos Objetivos: Entender

Leia mais