Prefácio. Profº Callé 10

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

Download "Prefácio. Profº Callé 10"

Transcrição

1 Linguagem C 9

2 Prefácio Esta Apostila foi planejada para um curso de programação em Linguagem C, e o objetivo principal é de apresentá-la claramente, mostrando assim a criação de vários programas, explicando exatamente o que ocorre em cada passo Por que C? Porque é popular, disponível na maioria dos sistemas de computação e relativamente fácil de aprender, até mesmo como primeira linguagem de programação Ao aluno interessado haverá a oportunidade de criar novos programas e de desenvolver mais idéias a partir das apresentadas Para os exemplos contidos na apostila, foi utilizado o compilador Turbo C++ do Borland para computadores IBM-PC e sistema operac MS-DOS, mas podem ser processados em qualquer compilador compatível com o MS-DOS ou UNIX Profº Callé 10

3 Capítulo 1 Introdução Origem da Linguagem C Linguagem de Médio Nível e Estruturada Interpretadores e Compiladores Modelo de um programa em C Compilação Separada Compilando um programa em C Mapa de Memória de C 11

4 Origem Foi inventada e implementada inicialmente pôr Dennis M Ritchie e Ken Thompson em um DEC PDP-11 utilizando o sistema operacional UNIX, em 1972 Linguagem C com BCPL B C padrão formado pelo ANSI Desenvolveu a Linguagem C (década de 70) Linguagem antiga, mas ainda em uso na Europa Originou a Linguagem B ANSI : Padrão que define um conjunto completo de funções de E/S que pode ser utilizado para ler e escrever qualquer tipo de dado Linguagem de Médio Nível Para computadores, é uma linguagem de nível médio Não significa que é menos poderosa ou menos desenvolvida Linguagem C combina elementos de linguagem de alto nível com funcionalidade de linguagem Assembly Permite a manipulação de bits, bytes e endereços Bit: Sinônimo de dígito binário; 0 ou 1 Byte: Caractere de 8 bits Endereço: Nele estão contidas as memórias do computador Linguagem C tem velocidade de Linguagem de Máquina É muito utilizada em editores, compiladores, gerenciadores de banco de dados, etc 12

5 Nível mais alto: Ada, Modula-2, Pascal, Cobol, Fortran, Basic Médio Nível: C, Forth, Macro-assembler Nível mais baixo: Assembler Um código em C é muito portável! OBS: Portabilidade significa que é possível adaptar um software escrito para um tipo de computador a outro Exemplo: Programa para um Compilador Programa p/ Apple Mac Intosh C um IBM-PC Palavras-Chaves: A Linguagem C possui apenas 32 palavras-chaves Se formos comparar, a linguagem Basic (p/ IBM-PC) contém 159 palavras-chaves! Linguagem Estruturada A característica especial de uma linguagem estruturada é de, através da criação de sub-rotinas, com o uso de variáveis locais, processar eventos que não causem nenhum efeito inesperado nas outras partes do programa Por exemplo, em uma linguagem estruturada, o uso do goto é proibido Linguagem não estruturada: Fortran, Basic, Cobol Linguagem estruturada: Pascal, C,Modula-2, Ada 13

6 Obs: O termo Linguagem estruturada em blocos não é rigorosamente aplicável em C Linguagem C é simplesmente referida como Linguagem Estruturada Linguagens estruturadas tendem a ser modernas, pois os programadores a consideram mais fáceis Função = Sub-rotina isolada Permite definir e codificar separadamente as tarefas de um programa Após ter sido criada (a função), permite ser utilizada em várias situações, sem criar efeitos inesperados em outras partes do programa Outro meio de estruturar o código em C é criando-se um bloco de código Este bloco é escrito no programa entre chaves: { } Isto faz com que o programador conceitue a verdadeira natureza da rotina A linguagem C propõe ao usuário planejar programas estruturados e modulares O resultado é um programa mais legível e documentado Linguagem para Programadores Nem todas linguagens de computadores são para programadores!!! Por exemplo: Linguagem Basic foi criada para os usuários que não precisam, necessariamente, ser programadores e assim resolverem problemas relativamente simples em seus computadores A linguagem C foi criada, influênciada e testada por programadores profissionais Ela proporciona: 14

7 Poucas restrições e reclamações; Funções isoladas; Estruturas de bloco; Conjunto compacto de palavras-chaves É possível tornar um código escrito, compilá-lo e rodá-lo em outra máquina com pouca ou nenhuma modificação Esta portabilidade economiza tempo e dinheiro! Interpretadores e Compiladores Os termos, interpretadores e compiladores referem-se a maneira como um programa é executado Exemplo: Basic - normalmente é interpretada C - compilada Interpretadores e compiladores são simplesmente programas sofisticados que operam sobre o código-fonte do seu programa Interpretador: Lê o código-fonte de seu programa uma linha por vez, para depois finalizar (RUN) Compiladores: Lê o programa inteiro de uma só vez e o converte em um código-objeto, com isso o programa é executado diretamente Palavras-Chaves de C: 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 15

8 O compilador, se não houver erros, gera um programa em disco com o sufixo Obj com as instruções já traduzidas Este programa não pode ser executado até que seje criado um produto final em disco com o sufixo Exe, produto este feito por um programa chamado Linkeditor Com isso a velocidade de execução do programa pode ser de 20 vezes mais rápida do que quando o programa é interpretado Mais vantagens: Se o programa já foi compilado e linkeditado, não será mais necessária a presença do compilador Programas Exe não podem ser alterados, com isso o código fonte estará protegido Obs: Linkeditor: Une funções compiladas separadamente em um programa Combina as funções da Biblioteca C padrão com o código escrito pelo programador A saída do linkeditor é um programa executável Tempo de compilação: Refere-se ao tempo durante o qual o compilador lê os arquivos-fonte e gera o código-objeto Um erro em tempo de compilação é um erro de sintaxe descoberto durante a compilação Sintaxe: São regras a serem seguidas ao digitar comandos Para evitar um erro no programa, é indispensável a atenção quanto à sintaxe de C O compilador avisará ao usuário, no caso de um erro Tempo de execução: Tempo durante o qual um programa roda Depuração: É o processo de localizar e corrigir erros de execução 16

9 Modelo de programa C Em muitos compiladores é acrescidas diversas palavraschaves para explorar melhor os processadores 8088/8086 As mais comuns são: asm _cs _ds _es _ss cdecl far huge interrupt near pascal Todas palavras-chaves em C são minúsculas, else é uma palavra-chave, mas ELSE não! A palavra-chave não pode ser utilizada como uma variável ou nome de uma função A única função que sempre deve estar presente é: main ( ) É a primeira função a ser chamada quando a execução do programa começa, embora não seja tecnicamente parte da linguagem C A função main( ) não é utilizada como variável A Biblioteca e a Linkedição Todo compilador C vem com uma biblioteca C padrão de funções para realizar tarefas necessárias mais comuns, definidas pelo padrão ANSI C No entanto é provável que um compilador tenha outras funções adicionais, como por exemplo: gráfica Se o programador usa uma função (determinada função) várias vezes e sua biblioteca padrão não contém esta função, é possível colocá-la em uma biblioteca Assim sempre que necessário ela será utilizada E quando esta função for chamada, uma vez memorizada pelo compilador C, o linkeditor combinará o códigoescrito com o código-objeto já encontrado na biblioteca Este processo é chamado de Linkedição 17

10 Alguns compiladores C tem seu próprio linkeditor, enquanto outros usam o linkeditor padrão fornecido pelo sistema operacional Compilação Separada Para programas longos, é permitido que um programa esteja contido em vários arquivos e que cada arquivo seje compilado separadamente Com isso podemos mudar o código de um arquivo, sem recompilar o programa todo Compilando um Programa em C Para compilarmos um programa em C, devemos: Criar o programa ; Compilar o programa ; Linkeditar o programa com funções necessárias da biblioteca Para alguns compiladores é necessário usar um editor separado para criar o programa Os compiladores só aceitam arquivos de texto padrão para o editor Mapa de memória de C Pilha Heap Variáveis Globais > 4 regiões da memória Código do Programa Obs: Acima temos um mapa conceitual 18

11 Pilha: Guarda o estado atual da CPU Heap: Memória livre, a disposição do programa C Variáveis Globais: São criadas e acessadas independentemente Código do Programa: O compilador gera o código Código-fonte: É o programa que pode ser lido; é a entrada para o compilador C Código-objeto: Traduz o código-fonte em linguagem de máquina; é a entrada para o linkeditor 19

12 Capítulo 2 Elementos Básicos de C A função main ( ) Comentários A função printf ( ) Códigos de caracteres de Escape Strings Comandos de formato printf Exercícios 20

13 A função main ( ) Um programa em C é constituído de: Título: main ( ), parte principal de qualquer programa C Corpo do Programa: terminado por outra chave } é iniciado por uma chave {, e Uma função, que necessariamente estará presente é denominada de main ( ), que é a primeira função a ser chamada quando o programa é executado main ( ) Contém um esboço do que o programa faz; inicia a execução do programa main ( ) primeira função a ser executada { inicia o corpo da função } termina a função Os parênteses ( ) após o nome indicam que esta é uma função Toda função deve ser iniciada por uma chave de abertura e encerrada por uma chave de fechamento Devemos nos preocupar com o layout do programa, pois se um programa for bem organizado, conseqüentemente será mais simples de se ler e entender Nome da função { instrução; instrução; { instrução; } instrução; } 21

14 Quando é aberta uma chave {, deslocamos o código de programa à direita desta, e quando fechamos uma chave }, deslocamos para a esquerda Obs: Letra minúscula para formação escrita de variáveis, funções e comandos Letra maiúscula para constantes Comentários Todo programa deve conter comentários como guia de explicação, e em C, é iniciado com o par de caracteres : /* ; e finalizado pelo par: */ O comentário pode ser colocado em qualquer lugar do programa, menos no meio de uma palavra-chave ou entre outro comentário, e sempre são delimitados pelo chamados símbolos de comentários /* barra-asterísco */ asterísco-barra Comentários são úteis também para identificar o propósito ou nome de um programa Exemplo correto: Exemplo incorreto: /* Primeiro programa em C */ swi/*isso não funciona*/tch main ( ) { ou printf ( Programando em C ); } /*este progr/*não funciona*/ 22

15 Como o compilador ignora caracteres contidos em símbolos de comentários e espaços, os comentários podem ser escritos em várias linhas /* Exemplo de comentário em várias linhas */ Muitos programadores inserem um grande comentário descritivo ao início dos códigos Isto também ocorre quando é desenvolvido programas em partes separadas por pessoas distintas e depois unidos num produto final A função printf ( ) É uma função de E/S que não faz parte do padrão de linguagem C, ela é providenciada pelo compilador C pois todos os sistemas tem uma versão de printf ( ) Esta função escreve na tela um texto entre aspas duplas Pertence a uma biblioteca do compilador e deve ser linkeditada em nossos programas Função é uma coleção de comandos identificada por nome Utilizar o nome de uma função em um comando é chamar a função e executar suas instruções; ou seja, os parênteses em printf ( ) indicam que estamos utilizando uma função e no interior desses parênteses estão as informações passadas pelo programa main ( ) à função printf( ) Esta informação é chamada de argumento de printf ( ) O controle, então, é passado para a função printf que imprimirá na tela do monitor de vídeo, e quando encerra a execução desta, o controle é transferido novamente para o programa 23

16 A sintaxe para a função printf ( ) é: printf ( expressão de controle, lista de argumentos) A expressão de controle pode conter caracteres que serão, por sua vez, demonstrados na tela do computador e comandos de formato ( códigos de formatação ) que indicam a forma em que os argumentos devem ser impressos A função printf( ) pode ter um único ou vários argumentos Obs: Os argumentos são separados por vírgula (, ) Exemplo: /* primeiro exemplo */ main( ) { printf( O resultado do jogo foi %d x 0,2); } Na primeira linha do programa temos um comentário sugerindo um título ou nome do programa Todo comentário fica a critério do programador, sendo assim não é obrigatório o uso deste A função main( ) a seguir inicia a parte executável A chave de abertura é utilizada para que o compilador possa ler as instruções Em seguida a função printf( ) passa a ter o controle O texto a ser impresso está compreendido entre aspas duplas e o código de formatação %d indica que será impresso um número decimal Este número decimal é o 2 que se encontra na lista de argumentos A linha de instrução é finalizada por um ponto-vírgula ; fato este fundamental para concluir uma linha de instrução A chave de fechamento encerra o corpo do programa e o texto impresso no monitor de vídeo será: O resultado do jogo foi 2 x 0 Códigos de caracteres de Escape 24

17 A tabela abaixo demonstra os códigos de C para caracteres que não podem ser inseridos diretamente através do teclado A função printf( ) aceita todos eles Os caracteres de escape começam com uma barra invertida \ seguida por uma letra que seleciona um código de controle Código de escape Significado \a alarme ou alerta (beep) \b retrocesso, retorna o cursor de uma coluna \n nova linha, muda de linha \t tabulação horizontal no vídeo ou impressora \f limpa a tela do vídeo ou passa para a próxima página da impressora \v tabulação vertical no vídeo ou na impressora \r retorno do cursor, fica na primeira posição da linha \o nulo, fim de uma string \N valor octal, imprime na base octal ( onde N é uma constante octal ) \xn valor hexadecimal, imprime na base hexadecimal(onde N é uma ctehexa) \ aspas ( ) \\ barra invertida ( \ ) \? ponto de interrogação \ apóstrofo ( ) Obs: Como a barra invertida \ tem uso especial na linguagem C, devemos associar duas barras invertidas \\ para representar uma Exemplo: 25

18 main ( ) { printf ( \n\tisto é um teste ); } O programa acima pula uma linha (\n), posiciona o cursor na próxima coluna de tabulação (\t) e escreve no monitor de vídeo como segue abaixo 1º coluna 2º linha > Isto é um teste Strings Strings é uma das mais úteis e importantes formas de dados em C Armazena e manipula textos como palavras e sentenças Atenção: Não deve-se confundir string com caractere Um único caractere estará envolvido por aspas simples Exemplo: a Uma string é envolvida por aspas duplas Exemplo: o, teste ou o teste Sempre que o compilador encontrar qualquer coisa entre aspas duplas, ele reconhecerá que trata-se de uma string constante Cada caractere de uma string ocupa 1 byte de memória As strings consistem em dois tipos: Constantes caracteres que são impressos na tela Comandos de Formato são códigos de formatação Comandos de formato printf 26

19 A tabela abaixo mostra os códigos para impressão formatada de texto Códigos printf( ) Formato %c caractere %d ou %i inteiros decimais com sinal %u inteiros decimais sem sinal %o octal %x ou %X hexadecimal %e ou %E notação científica %f ou %F ponto flutuante decimal %g usa %e ou %f, o que for mais curto %G usa %E ou %F o que for mais curto %s strings de caractere %% escreve o símbolo % (porcentagem) %ld decimal longo %lf ponto flutuante longo (DOUBLE) Um comando de formato começa com um símbolo percentual (%), e é seguido pelo código de formato A ordem da combinação sempre será da esquerda para a direita Exemplo: printf( Estamos %s\na linguagem %c, aprendendo, C ); Será impresso no vídeo o seguinte texto: Estamos aprendendo a linguagem C A função printf imprimirá inicialmente a palavra Estamos ; logo após receberá a instrução que deverá ser impresso 27

20 uma string de caractere Nesta string será localizado o conjunto de caracteres envolvidos por aspas duplas após o término do texto a ser impresso Um código de escape \n comanda o cursor para a próxima linha, quando então será impresso a continuação da sentença a linguagem precedida de um caractere C identificado por um outro comando de formato (%c) Lembre-se: Os argumentos, no caso aprendendo e C são separados por vírgula Ponto flutuante decimal: Quando deseja-se imprimir um número com casas decimais, utilizamos o comando de formato %f Exemplo: Desejamos imprimir apenas com 3 casas decimais o número 87, Então digitamos: printf ( O número é %3f, ); A saída será: Obs: O computador arredonda o número! Exemplo: O número 156, pode ser arredondado para: 156, ou 156, ou 156,55480 ou 156,5549 ou 156,555 ou 156,6 ou 157 Exercícios 28

21 1- Comente resumidamente a origem da Linguagem C 2 - O que vem a ser Interpretadores e Compiladores? 3 - Cite 4 caracteres de escape e seus significados 4 - Para que servem os comentários? 5 - Porque os programadores costumam utilizar comentários? 6 - O que é uma função? 7 - O que faz um Linkeditor? 8 - Quando utilizamos %f? Cite um exemplo : 29

22 9 - O que é string e quais os tipos? 10 - Qual a sintaxe da função printf ( )? 11 - Explique a função main ( ) : 12 - Esboce o Mapa conceitual da memória C : 13 - O que faz a Biblioteca C? 14 - Cite 4 comandos de formato printf e explique sua forma de formatação: 15 - O que falta para a linha do programa abaixo ser executada com sucesso? printf( A linguagem %c é de %s m%cdio, C, nive, ) 30

23 16 - Faça um programa que imprima seus dados pessoais, como o nome, RG, idade, endereço, utilizando todas as funções e comandos vistos até este capítulo 17 - Analise o programa abaixo e descreva, em ordem, o que será impresso no vídeo: main ( ) /*programa teste*/ { printf( O número %2f é o %s\n de um %cálculo do produto\t\ %d x 15,6789\ \n\?, , resultado, C,24); 18 - Elabore um programa que imprima o nº10 em octal e o nº538 em hexadecimal: 31

24 Capítulo 3 Iniciação de Variáveis Constantes Tipos de Constantes Variáveis Tipos de Variáveis Significado das Variáveis Básicas Variáveis Globais e Locais Exercícios 32

25 Constantes Constantes referem-se a valores fixos que o programa não pode alterar A maneira como cada constante é representada depende do seu tipo Ou seja: Constantes inteiras são descritas como números sem componentes fracionários Exemplo: 20 e -150 Constantes em ponto flutuante requerem o ponto decimal seguida pela parte fracionária do número Exemplo: Obs: Em C utilizamos o ponto antes da parte fracionária É proibido, neste caso, o uso da vírgula! Constantes de caractere são envolvidas por aspas simples Exemplo: 'a' e '+' Uma constante cadeia de caracteres é envolvida pos aspas duplas Exemplo: "linguagem C" Dependendo de como deseja-se o resultado através do dado obtido, teremos duas formas de digitar o mesmo programa Exemplo: main( ) { printf("o resultado obtido e:%d",5); } No exemplo acima a constante 5,será impressa no formato decimal Ou 33

26 main( ) { printf("o resultado obtido é 5"); } Imprimirá também, além do texto o número 5 Embora o 2ºexemplo é mais simples, não devemos dispensar o intuito do 1º exemplo, pois se nos defrontarmos com um programa que exija através da entrada de dados(teclado) um certo dado é necessário que este seja encontrado pelo comando de formato para que seja possível a sua impressão Tipos de Constantes Existem três tipos de constantes em C: literais, simbólicas e objeto Uma constante literal é um valor digitado diretamente em um comando ou expressão de um programa Exemplo : pi=31415; MAX=0xff; /*hexadecimal*/ distancia=43e+09; ch='h'; Constantes simbólicas são aquelas, que através de diretivas, fazem com que o compilador signifique/traduza algo Exemplo: # define PI Uma diretiva #define tem três partes: a palavra-chave #define, um nome e um valor Sendo assim, se considerarmos o exemplo de diretiva acima, o programa poderá utilizar PI em vários locais do programa 34

27 Exemplo: int i, j ; i= PI; j= PI*3; A diretiva #define não define um objeto Ela define um nome simbólico para um valor literal Quando o compilador encontra um nome simbólico tal como PI, ele substitui esse símbolo por exatamente como se fosse digitado o número diretamente Obs: Diretivas, serão tópicos de assunto que serão vistos em capítulos posteriores A constante-objeto, também conhecida por constantes tipificadas, é um agrupamento de constante literal com variável Ou seja, assim como as variáveis, elas ocupam espaço de memória, mas, da mesma forma que as constantes, seus valores não podem ser modificados Exemplo: main( ) { int resultado = 200; resultado = valor; printf("conta = %d\n",resultado); printf("resposta = %d\n",valor); } Veremos, então, na tela do monitor de vídeo: conta = 200 resposta = 200 Obs: int - variável a ser vista posteriormente Variáveis 35

28 As Variáveis são o aspecto fundamental de qualquer linguagem de computador Uma variável é uma posição de memória, com um nome para referenciar o seu conteúdo, que é usada para guardar um valor que pode ser modificado pelo programa A forma geral para declarar uma variável é: Nome de um tipo de variável nome da variável ; Em C, o nome de uma variável não tem nenhuma relação com seu tipo Tipos de Variáveis Tipo Tamanho escala/abrangência Bit / Bytes char a 127 unsigned char a 255 signed char a 127 int a unsigned int a signed int 16 2 o mesmo que int long a unsigned long int a float ,4E-38 a 3,4E+38 double ,7E-308 a 1,7E+308 long double ,4E-4932 a 3,4E+4932 Podemos observar na tabela acima, que na linguagem C existem 4 tipos de variáveis básicas: char, int, float e double 36

29 Estes tipos básicos podem estar acompanhados por modificadores de tipo : signed, unsigned e long O uso importante de signed é modificar char ou int nas implementações em que esse tipo não tem sinal Algumas implementações podem permitir que unsigned seja aplicado aos tipos de ponto flutuante Significado das Variáveis Básicas Vejamos então o siginificado das Variáveis básicas: char - É uma palavra-chave (ou variável) que indica caracteres ASCII int - Valores inteiros na faixa de à float - Dígitos de precisão (c/casas decimais) na faixa de 3,4E-38 à 3,4E+38 double - Dígitos de precisão na faixa de 1,7E-308 à 1,7E+308 Exemplo de programa: main( ) { int quantidade; char empresa; float tempo; quantidade=5; empresa='b'; tempo=13456; printf("a fabricação de %d terminais de vídeo,quantidade); printf( \nna empresa %c gasta apenas %2f minutos de hora, empresa,tempo); } O programa possui três variáveis: int, char e float E a elas é dado um nome Obs: Observe que a cada término da instrução usamos ponto-vírgula 37

30 Posteriormente associamos a variável um valor, seja em números ou caracteres A variável int aceita apenas números inteiros, no exemplo a ela foi associado o nº 5 A variável float acatará números com ponto flutuante (c/casa decimal) Já a variável tipo char armazenará caracteres ASCII Se for único caractere, este deverá ser envolvido em aspas simples Mas no caso de uma cadeia de caractere (mais de um caractere) este deverá ser identificado através de uma matriz e estar contido entre chaves e aspas duplas (exemplo posterior) Por fim após nomearmos as variáveis e a elas associarmos valores, a execução do programa resultará em: A fabricação de 5 terminais de vídeo na empresa B gasta apenas 1346 minutos de hora O número 5 é impresso pelo comando de formato %d pois trata-se de número decimal; um único caractere B é expresso por %c e o tempo identificado com apenas 2 casas decimais e arredondado Exemplo de programa: main( ) { int x=30; char y[12]={ 900 pessoas }; char z= Z ; printf( No dia %d haviam %s\n,x,y); printf( no teatro para assistir a peça %c,z); } Observe neste exemplo que é possível em uma linha de instrução associarmos ao mesmo tempo o nome e o valor à variável A variável char y terá como atribuição uma cadeia de caracteres que serão impressos através do comando de formato %c Porque a matriz [12]? Utilizando a palavra-chave char podemos declarar uma string (cadeia de caracteres) que são, em C, terminadas em nulo Isto quer dizer que terminam com um byte zero, também chamado de caractere nulo A linguagem C acrescenta esse byte 38

31 automaticamente às strings literais, mas a responsabilidade sempre existirá ao programador para garantir que as strings estejam corretamente terminados Exemplo: char string[12]={ Linguagem C }; O conjunto entre aspas duplas contém 11 caracteres (strings literais ) Sendo assim, ao declararmos o array=12 (array significa tabela, leque) estamos garantindo o byte zero (caractere nulo) Nada impede de declararmos arrays maiores, o importante é garantirmos pelo menos um caractere adicional, chamado de caractere nulo ao array Podemos concluir então, que a utilização de array em C significa a criação de matrizes O resultado do programa será: No dia 30 haviam 900 pessoas no teatro para assistir a peça Z Nota: ASCII A tabela ASCII tem 256 códigos Dispõe de números de 0 a 127(decimal) cobrindo letras, dígitos de 0 a 9, caracteres de pontuação e caracteres de controle como salto de linha, tabulação, etc Os computadores IBM usam 128 caracteres adicionais com códigos de 128 a 255 que consistem em símbolos de línguas estrangeiras e caracteres gráficos No fim da apostila temos a tabela ASCII!!! A forma de representar um caractere de código acima de 127 decimal é: \xdd onde dd representa o código de caractere em notação hexadecimal; e pode ser usado na expressão de controle de printf( ) como qualquer outro caractere O exemplo a seguir mostra a possibilidade de imprimirmos caracteres gráficos, utilizando a tabela ASCII 39

32 Resultado: main( ) { printf( \xe1 \xe8 \xfo \xf6 \xe3 ); } β φ π Variáveis Globais e Locais Quando uma variável for utilizada pelo programa, devese defini-las, para isto basta indicar seu tipo e nome Exemplo: int a, b; double despesas; main( ) { int d, e; } As variáveis a, b e despesas são variáveis globais pois são válidas para todo o programa em virtude de terem sido declaradas fora da função main( ) As variáveis d e e são consideradas locais a função main( ), pois foram declaradas dentro da mesma Exercícios 1 - O que é uma Constante Literal? Cite um exemplo: 40

33 2 - Qual a forma geral para declarar uma Variável? 3 - Verifique se o programa abaixo funciona corretamente Descreva, se houver, os erros e a solução para os mesmos main( ); { printf( O placar foi de %c x %%, 5, 2 ); } 4 - Qual o procedimento para, através da palavra-chave char, declararmos uma string 5 - Faça um programa, consultando a tabela ASCII, de forma que resulte após a compilação o seguinte desenho gráfico: 6 - Cite 4 variáveis básicas em C explicando seu significado e tamanho em C 7 - Faça um programa utilizando 3 variáveis básicas 41

34 8 - Escreva um programa que declare 3 variáveis inteiras e atribua os valores 6, 14 e 53 a elas ; 3 variáveis caracteres e atribua a elas as letras x, y e z ; finalmente imprima na tela: As variáveis inteiras contém os números 6, 14 e 53 As variáveis caracteres contém os valores x, y e z 9 - Qual a forma de se representar um caracter de código acima de 127 decimal? 10 - O programa abaixo está correto? Porque? main( ) { char a[19]={ Compilar e Linkeditar } printf( Em C é necessário %s,a); } 11 - Qual tipo de variável utilizamos para números com casa decimal 12 - Qual a abrangência da variável long double? 13 - Cite 2 modificadores de tipo e explique um deles 42

35 14 - O que são variáveis Globais e Locais? 15 - O que são constantes simbólicas? 16 - Assinale V (verdadeiro) ou F (falso) : ( ) Uma constante possui valor fixo e alterável ( ) Constante-objeto é um agrupamento de constante literal com variável ( ) Uma variável é uma posição de memória que é usada para guardar um valor que não pode ser modificado pelo programa Capítulo 4 43

36 Operadores Definição de Operadores Operadores de Atribuição Operadores Aritméticos Operador Unário Operadores de Incremento e Decremento Operadores Aritméticos de Atribuição Operador Vírgula Precedência dos Operadores em C Exercícios Definição de Operadores A linguagem C dá mais ênfase aos operadores que a maioria das outras linguagens de computador; com isso dizemos que C é rica em Operadores Internos Tendo um pouco mais de 40 tipos de operadores, alguns são mais usados que outros, como por exemplo os Operadores Aritméticos O que fazem os Operadores? Trabalham sobre seus operandos de modo precisamente definido A linguagem C define quatro tipos de operadores: Aritméticos, Relacionais, Lógicos e Bit a 44

37 bit A linguagem C possui também alguns operadores especiais para tarefas particulares Operador de Atribuição É possível utilizar um operador de atribuição dentro de qualquer expressão válida em C Isso não é possível em certas linguagens de computação, tais como: Pascal, Basic e Fortan, que tratam os operadores de atribuição como um caso especial de comando A forma geral do operador de atribuição é: Nome da Variável = Expressão Devemos memorizar que, o sinal de igual( = ) não tem a mesma interpretação dada em matemática Ou seja, o sinal = em C, somente representará a atribuição da expressão à direita ao nome da variável à esquerda Exemplo: PI = ; Kilo = 1000 ; A linguagem C aceita várias atribuições (atribuições múltiplas) na mesma instrução; ou seja, em um único comando Exemplo: x = y = z = 80 ; Em programas profissionais, valores são atribuídos à variáveis usando esse método Exemplo de programa: 45

38 main( ) { int x ; x = y = 30 ; printf( O resultado foi %d,y); } Operadores Aritméticos Representam as operações aritméticas básicas como a soma, subtração, multiplicação e divisão + soma - subtração * multiplicação / divisão % módulo de divisão (resto) Obs: O operador módulo % não pode ser usado nos tipos em ponto flutuante Exemplo de programa: main( ) { int x, y ; float b,c; float a = 513 ; b= x = 10 ; c= y = 4 ; printf( \n X + Y = %d, x + y);/* soma */ printf( \n A - Y = %2f, a - y );/*subtração */ printf( \n Y x A = %2f, y * a );/* multiplicação */ printf( \n X\xf6Y= %d e o resto =%d,x/y, x%y );/* divisão*/; 46

39 printf( \n ou X\xf6Y = %1f, b/c ); /* divisão */ } Resultado: X + Y = 14 A - Y = 113 Y x A = 2052 X Y = 2 e o resto = 2 ou X Y = 25 Quanto a análise do programa, podemos afirmar que o uso de float e o comando de formato printf %f deve-se ao fato de usarmos números com ponto flutuante No caso de um número puramente inteiro, o uso de int satisfaz a condição O sinal de = envolvido por aspas duplas significa em C apenas um caractere a ser impresso Utilizamos \xf6, código este em hexa, para imprimirmos o caractere Nas últimas duas linhas de instrução, é possível observarmos os dois exemplos de respostas utilizando desta vez variáveis diferentes, mas com o mesmo valor O fato de usarmos variáveis diferentes refere-se ao fato de não podermos imprimir um resultado de divisão com ponto flutuante utilizando variáveis do tipo int Obs: Se o nome de uma variável for dada em letras minúsculas ou maiúsculas,devemos respeitar o nome desta sempre na forma original Exemplo: int ABC = 123; /*letras maiúsculas*/ printf( Os números são %d, ABC); ou int Valor=30; /*letras maiúsculas e minúsculas*/ 47

40 printf( O resultado é %d,valor); O não cumprimento desta norma em C, acarretará erro ao compilarmos o programa! Operador Unário Indica a troca do sinal algébrico do valor, ou seja é um operador que multiplica o seu operando por -1 Exemplo: resultado_a= -3 ; resultado_b= - resultado_a ; Desta forma obteremos com resultado B o número 3, porque: (-3) x (-1) = 3 Como o próprio nome diz, este tipo de operador necessita de apenas um operando, com isso atribui a negação aritmética Operadores de Incremento e Decremento A linguagem C dispõem de dois operadores não encontrados em outras linguagens; são eles: Operador de incremento + + adiciona 1 ao seu operando Operador de decremento - - subtrai 1 ao seu operando Este é um dos fatores, em que podemos em C, comprimir comandos de programa Em outras palavras: Exemplo: x = x + 1 ; x = x - 1 ; é o mesmo que é o mesmo que + + x ; - - x ; 48

41 Os operadores de incremento trabalham de dois modos O primeiro modo é chamado pré-fixado, em que o operador aparece antes do nome da variável( como no exemplo acima ) O segundo modo é o pós-fixado em que o operador aparece após o nome da variável Exemplo: x = x + 1 ; x = x - 1 ; é o mesmo que é o mesmo que x + + ; x - - ; Porém existe uma diferença quando esses operadores são usados em uma expressão! Quando preceder (pré-fixado) o seu operando, C executa o incremento ou decremento antes de usar o valor do operando Se o operador estiver após (pós-fixado) o seu operando, C usará o valor do operando antes de incrementá-lo ou decrementá-lo 1ºexemplo: (pré-fixado) a = 6 ; b = + + a ; printf ( a = %d, b = %d, a, b ); Imprimirá: a = 7, b = 7 2ºexemplo: (pós-fixado) a = 6 ; b = a + + ; printf( a = %d, b = %d, a, b ); Imprimirá: a = 7, b = 6 49

42 A análise vale também para o operador de decremento(--) Exemplo: main( ) /*pós-fixado*/ { int a = 0 ; printf( %d é um número nulo \n,a ); printf( %d indica vazio \n,a- - ); printf( %d é um número negativo,a); } Imprimirá: 0 é um número nulo 0 indica vazio -1 é um número negativo Exemplo: main( ) /*pré-fixado*/ { int a = 0 ; printf( %d é um número nulo \n, a ); printf( %d é um número negativo \n,- - a); printf( %d é um nºdecrescente em relação ao ao zero,a ); } Imprimirá: 0 é um número nulo -1 é um número negativo -1 é um nºdecrescente em relação ao zero Obs: Se as duas linhas abaixo são equivalentes, pergunta-se por que não preferir uma a outra? x = x + 1 ; /*funciona, mas não é o ideal*/ x + + ; /* preferível */ 50

43 A maioria dos compiladores C produzem o código-objeto muito mais rápido e eficiente para as operações se incremento e/ou decremento Por essa razão, devemos usar os operadores de incremento e decremento sempre que possível! Precedência Devemos atentar quanto a precedência dos operadores Todo compilador C tem um calculador de expressões próprio que disseca as expressões do código-fonte e constrói instruções no código compilado para calcular resultados das expressões O calculador de expressões obedece rigorosamente as regras de ordem de precedência e avaliação Na ausência de parênteses, uma expressão é calculada usando um conjunto de regras padrão Exemplo: conta = a + b * h ; 1º passo: calcula-se b * h e em seguida 2º passo: soma-se com a e atribui o resultado à variável conta Em C, multiplicação e divisão são efetuadas antes da soma e subtração Porém, caso desejamos, dependendo da finalidade da expressão matemática, somar-se ou subtrair-se antes da multiplicação ou divisão, será necessário o uso dos parênteses Exemplo: conta = ( a + b ) * h ; Alguns parênteses, embora tecnicamente desnecessários, tornam as intenções do programador perfeitamente claras Exemplo: conta = ( ( a * b ) / c ) + ( d - e ) ; Primeiramente a é multiplicado por b, porque esta sub-expressão está no interior dos parênteses aninhados O resultado é dividido por c, enquanto que e é subtraído de d independentemente Finalizando, a soma é efetuada, atribuindo-se o resultado à variável conta 51

44 Operadores Aritméticos de Atribuição São eles: +=, -=, *=, /= e %= Forma geral: Nome da variável Oparitmético Expressão ; de atribuição As expressões com estes operadores são mais compactas e normalmente produzem um código de máquina mais eficiente Exemplos: a+=3 ; /* equivale a: a=a+3 */ b- = 2 ;/* equivale a: b=b- 2 */ c *=4;/* equivale a: c=c 4*/ d/=1;/* equivale a: d=d 1*/ e%=5;/* equivale a: e=e%5*/ Exemplo de programa: main( ); { int a=2; int b=3; printf( valor = %d\n,a); a+=b;/*equivale a: a=2+3*/ printf( valor = %d\n,a); a+=b;/*equivale a: a=5+3*/ printf( valor = %d\n,a); 52

45 } Imprimirá: valor = 2 valor = 5 valor = 8 Operadores Relacionais Utilizamos para fazer comparações de valores relativos de operadores inteiros ou de ponto flutuante Os operadores relacionais em C são: Operador Ação > maior que >= maior ou igual que < menor que <= menor ou igual que = = igualdade! = diferente A idéia de verdadeiro e falso acompanha os conceitos dos operadores lógicos e relacionais Em C, verdadeiro é qualquer valor diferente de zero E falso equivale a zero As expressões que usam operadores relacionais ou lógicos devolvem zero para falso e 1 (um) para verdadeiro Podemos criar laços em um programa C utilizando os operadores relacionais Exemplo de diagrama: se a>2 53

46 vai para e e se a==1 vai para f se a <1 vai para g f g Conclusão do programa O operador relacional de igualdade (= =) é representado por dois sinais de igual Um erro comum é o ato de usar um único sinal de igual como operador Neste caso o compilador não acusará erro, pois como em C toda expressão tem um valor verdadeiro ou falso, este não seria um erro de programa e sim do programador Exemplo: main( ); { int a=10; printf( \no número é igual a 100? %d,a==100); a=50; printf( \no número é igual a 50?%d,a==50); printf( \n0falso e 1verdadeiro ); } Imprimirá: O número é igual a 100? 0 O número é igual a 50? 1 0falso e 1verdadeiro Obs: A análise seria inversa para o operador!= (diferente) 54

47 O Operador Vírgula É usado para encadear várias expressões O operador vírgula tem o mesmo significado da expressão: faça isso e isso Exemplo: a = ( b = 2, b + 1 ); Primeiramente é atribuído o valor 2 à b, em seguida soma-se 2 à 1 e concluindo, é atribuído 3 à variável a Pelo fato do operador vírgula ter uma precedência menor que o operador de atribuição (=), é necessário o uso de parênteses Precedência dos Operadores em C Operadores em ordem de precedência: + +, - - maior *, /, % +, - >, >=, <, <= = =,!= =, +=, - =, * =, / =, %=, (vírgula) menor 55

48 Exercícios 1 - Quais os operadores aritméticos básicos em C? 2 - Rescreva a seguinte instrução usando operador de incremento soma = soma +1 ; 3 - Os operadores relacionais são usados para: ( assinale o correto ) a) trocar valores lógicos por variáveis ; b) distinguir diferentes tipos de variáveis ; c) representar operações aritméticas ou d) comparar valores 4 - A forma geral do operador de atribuição é: 5 - Qual a função do calculador de expressões em C? 56

49 6 - Qual a forma geral do Operador Aritmético de Atribuição? 7 - O que entende-se por verdadeiro e falso em C? 8 - Qual será o valor de y? x = 5 ; y = x ==5; 9 - Como funcionam os Operadores de Incremento e Decremento? 10 - Faça um programa utilizando o Operador de Incremento préfixado 11 - O programa abaixo utiliza que operador? main ( ) { int x=2 ; printf ( %d é um número positivo,x--); 57

50 a) Operador de Incremento b) Operador Unário c) Operador Aritmético pré-fixado d) Operador de decremento pós-fixado } 12 - O sinal de igual = em C, significa: 13 - Descreva a equivalência: j /= 2 x += y h %=10 c*31415 M - = Escreva um programa que contenha 4 variáveis e imprima sua média aritmética (Utilizar variáveis do tipo int e float) 15 - Analise e descreva o que o programa imprime: main ( ) { float x, y, A ; x = 35 ; y = 65; 58

51 } printf ( valor1 = %2f \n, x+y); x*=y ; printf ( valor2 = %3f \n,x); y - =x ; printf ( valor3 = %2f \n,y); A=x+y; printf ( valor 4 é igual a 6,3? %d,a==63); printf ( \n 0falso e 1verdadeiro ); Imprimirá: 16 - Cite o motivo de usarmos o operador vírgula 17 - Demonstre a precedência dos operadores em C 18 - Qual o resultado impresso? main ( ); { int a, b ; float c ; a = ((20*1*3) + 4) + (16/2); b = (6/2+4) - 3*15; c = a/b ; printf ( O resultado é %2f, c+=3); 59

52 } 19 - O programa abaixo possui erros de execução Demonstre-os: main ( ); int a = b = 20, printf ( %d equivale a %d,a,b); printf ( Com incremento fica %d, ++a) printf ( *pré-fixado* ); } Correções se necessárias: Imprimirá então: 20 - O que representa x+++y? Porque? a) x++ + y b) x + ++y c) x + y d) x - y 60

53 Capítulo 5 Préprocessador de C Diretivas do pré-processador Tipos de diretivas A diretiva #include 61

54 A diretiva #define Exercícios Neste capítulo, aprenderemos sobre o pré-processador de C com o intuito de podermos, desde já, digitarmos programas completos em C no microcomputador 62

55 Diretivas do pré-processador O pré-processador faz parte do compilador, sendo assim podemos considerá-lo como uma linguagem dentro da linguagem C É possível incluirmos diversas instruções do compilador no códigofonte de um programa em C O pré-processador é executado automaticamente antes da compilação por instruções chamadas de : Diretivas, que embora não sejam parte da linguagem de programação C, expandem o escopo do ambiente de programação em C, tendo a finalidade de alterar o código-fonte na sua forma de texto Ao digitarmos uma linha de programa, solicitamos ao compilador codificar para instruções em linguagem de máquina para serem executadas pelo processador Mas o compilador solicitado somente terá êxito se instruirmos ele com uma linguagem Esta linguagem ou instruções são as diretivas Então, podemos definir que diretivas do pré-processador são instruções para o compilador, antes do processo de compilação ser iniciado E as linhas normais de um programa são instruções para o microcomputador ANSI Padrão que define um conjunto completo de funções de E/S que pode ser utilizado para ler e escrever qualquer tipo de dado 63

56 TIPOS: Segundo o padrão ANSI, o pré-processador de C contém as diretivas: # include # define # if # ifdef # ifndef # undef # else # endif # elif # line # error # pragma Alguns critérios são adotados para o correto uso das diretivas Todas as diretivas começam com o símbolo escopo # Cada diretiva deve estar na sua própria linha As diretivas, por convenção, aparecem no início do programa ( antes de main( ) ) ou antes de uma função particular Mas nada impede que sejam colocadas em qualquer parte do programa, desde que corretamente A diretiva #include Sabemos que diretivas são, de certo modo, minilinguagens embutidas em C 64

57 A diretiva #include instrui o compilador a ler outro programa, chamado de arquivo-fonte, adicionado àquele que contém a diretiva #include O nome de um arquivo-fonte, quando associado à uma diretiva, deve estar sempre envolvido por aspas duplas ( )ou símbolos de maior e menor ( > e < ) Sua forma geral é : # include nome do arquivo-fonte ou # include <nome do arquivo-fonte> Esta linha de instrução, vista em sua forma geral, é chamada de arquivo-cabeçalho e é compilada para as rotinas de arquivos em disco da biblioteca Ou seja, o arquivo será localizado de forma definida pelo fabricante do compilador ( caso em que o nome do arquivo-fonte esteje envolvido por chaves angulares ) Se o nome do arquivo-fonte estiver entre aspas, a busca do arquivo será no diretório atual e se não for encontrado a busca é repetida como se o nome do arquivo estiver envolvido por chaves angulares Os arquivo-fontes são criados pelo fabricante e variam conforme a versão do software Um programador pode criar um programa de rotina contendo, por exemplo, várias fórmulas e colocá-lo em uma diretiva Assim não haverá a necessidade de reescrever este programa para utilizá-lo em outro programa Exemplo: /* prog1 */ / * prog2 * / main( ) #include <prog1> { main( ) { 65

58 } } Geralmente, uma versão de um software (no caso do Turbo C++), acompanha arquivos-fontes criados pelo fabricante com protótipos que poderão ser usados pelo usuário/programador sempre que o programa desejar Por exemplo: A função printf( ) requer um protótipo que é encontrado através da diretiva que contém o arquivo-fonte específico * Exemplos de arquivos-fonte contidos na diretiva # include < stdioh > necessária a sua utilização quanto ao fato de obter-se a saída de dados impressa na tela do vídeo < conioh > arquivo-fonte que contém o protótipo para o uso da função clrscr ( )- utilizado para limpar a tela, da função getche( )- utilizado para entrada de dados via teclado < dosh > utilizamos este arquivo-fonte para obter a pausa da tela após a execução da saída de dados - delay( ) Algumas versões trazem um número maior ou reduzido de diretivas, ocasionando uma maior ou menor concentração de arquivosfonte Ou seja, podemos encontrar o protótipo de uma função em diretivas diferentes dependendo da versão do software OBS: Se ao digitarmos um programa e for detectado um ou mais erros devido a falta de protótipos, uma mensagem irá aparecer, e através do help, poderemos localizar em que diretiva encontra-se o arquivo-fonte necessário para a plena compilação e execução do programa Nos exemplos expostos ao longo do curso, será abordado a explicação quanto a utilização de novos arquivos-fontes ou funções ligadas a eles O nome do arquivo-fonte pode ser expresso no programa em letras maiúsculas ou minúsculas A forma geral de uma diretiva não inclui ponto e vírgula ( ; ) 66

59 Exemplo de programa : /* Programa DIRETIVA */ # include <stdioh> # include <conioh>/*o nome do arquivo-fonte pode ser escrito */ # include <DOSH> /* em letras maiúsculas ou minúsculas */ main ( ) { clrscr( ); printf ( linguagem C ); delay(1000); /*atraso*/ } Imprimirá: Linguagem C No programa é utilizada a diretiva #include e três arquivos-fonte <stdioh> - utilizado para exibir a saída de dados Este protótipo contém uma linguagem própria que instrui o processador antes da compilação <conioh> - arquivo-fonte solicitado para a utilização da função clrscr( ), função esta que limpa a tela antes ou após a apresentação de um dado/texto ou resultado Sua forma geral é: clrscr( ) < dosh > - arquivo-fonte que instrui o processador quanto ao correto funcionamento da função delay( ), função esta utilizada para obter um retardo ou pausa antes de concluir o programa propriamente dito Sua forma geral é: delay (<tempo>) ; onde: tempo é digitado em milisegundos Exemplo: delay (1000); O tempo de retardo resultará em 1 segundo 67

60 A diretiva #define Esta diretiva, como seu próprio nome sugere, tem a função de definir um identificador (macro) e uma string que o substituirá toda vez que for encontrado no arquivo-fonte A diretiva #define, neste caso, definirá constantes simbólicas com nomes apropriados A forma geral desta diretiva é: # define macro string Ao macro é dado um nome, que por convenção é escrito em letras maiúsculas para maior destaque e compreensão quando da leitura do programa A string consiste em um texto que é associado ao identificador (macro) Este texto pode ser em forma de números ou letras (neste último caso devemos envolve-los por aspas duplas) Somente é permitido um comando por linha, e lembre-se: nunca haverá ponto-e-vírgula após qualquer diretiva do préprocessador de C, caso contrário resultará em uma mensagem de erro criptográfica Se a string for maior que uma linha, podemos continua-la na próxima linha, porém delimitando-a com uma barra invertida (\) É importante entender que basicamente a diretiva #define associa texto (string) à um símbolo (macro) Exemplo: # define PI # define VALOR 100 # define PROGRAMA Diretivas em C 68

61 Deverá haver espaços entre o identificador (macro) e a string, para evidentemente separá-los A clareza do código aumenta com o uso de macros permitindo assim o uso de nomes sugestivos para as expressões Um dos exemplos de programa, na qual é recomendável o uso da diretiva #define, é a de utilizarmos uma constante várias vezes no programa Ou seja, podemos definir um valor a uma constante, no qual em cada vez que a solicitarmos, poderemos escrevê-la apenas citando seu identificador Exemplo: # include <stdioh> # include <conioh> # include <dosh> # define PI main( ) { float L=30; /*podemos resumir em uma só linha: */ float R=18;/* float L=30,R=18; */ clrscr( ); printf ( A área é: %3f, PI*R*R); printf ( \no volume é: %3f, PI*R*R*L); delay(3000); } Imprimirá: A área é: O volume é: O programa acima utiliza três diretivas includes no qual possuem os protótipos para a pausa, limpar a tela, e impressão das respostas no vídeo A diretiva #define associa o identificador PI a uma string , assim sempre que o identificador for mencionado o programa o substitui pela string Esta diretiva também possui outra forte característica: O nome do macro pode ter argumentos Isto significa que toda vez que o nome do macro é encontrado, os argumentos a ele associados podem ser substituídos pelos argumentos reais encontrados no programa 69

62 Exemplo: # include <stdioh> # include <conioh> # include <dosh> # define CONTA(X) printf( %3f\n,X) main( ) { float Z=3510; float Y; Y=Z*314; clrscr( ); CONTA (Z); CONTA (Y); delay (2000); } Imprimirá: Quando o programa enxergar a ocorrência CONTA, esta será substituída printf( %3f\n,X) O X na definição do macro será substituído pelo nome do macro no programa Ou seja, CONTA(Z) será substituída por printf( %3f\n,Z) e CONTA(Y) será substituída por printf( %3f\n,Y) Com isso concluirmos X como argumento Outro exemplo: # include <stdioh> 70

63 # include <conioh> # include <dosh> # define PI # define AREA(X) (2*PI*X*X) main( ) { float raio; raio=3; clrscr( ); printf( A área da esfera é %2f,AREA(raio)); delay(6000); } Imprimirá: A área da esfera é 5655 Quando o programa encontrar o macro área, substituirá sua definição (raio) pela equação 2*PI*X*X O valor de X será o valor contido na variável raio Exercícios 1- Qual a forma geral da diretiva # define? 71

64 2- Cite, segundo o padrão ANSI, algumas diretivas contidas em C 3- Defina o que são diretivas do pré-processador de C 4- Cite 3 exemplos de arquivos-fontes contidos na diretiva #include 5- A função printf( ) requer um protótipo que é encontrado através da diretiva que contém o arquivo-fonte específico No caso da diretiva #include citamos como exemplo stdioh, conioh e dosh Explique quando estes protótipos são utilizados 6- Qual a função da diretiva # define? Descreva sua forma geral 72

65 7- Cite dois exemplos de protótipos utilizados na diretiva #define e explique-os: 8- Assinale Verdadeiro ( V ) ou Falso ( F ) ( ) A diretiva #define possui uma forte característica, na qual o nome do macro não pode ter argumentos ( ) O pré-processador C é um programa contido no compilador que altera o programa-fonte antes da compilação ( ) A diretiva #define define constantes simbólicas ou macros A diretiva #include inclui um programa-fonte no seu programa ( ) Macros aumentam a clareza do código, pois não permitem a utilização de nomes sugestivos para expressões ( ) Um dos exemplos de programa, na qual é recomendável o uso da diretiva #define, é a de utilizarmos uma constante várias vezes no programa 9- O que são Strings? Explique: 10- Faça um programa que apresente o resultado da adição e multiplicação, baseando-se na utilização da propriedade distributiva, ou seja, quando forem lidas as variáveis A, B, C e D, estas deverão ser somadas e multiplicadas A com B, A com C e A com D; B com C e B com D; e finalmente C com D 73

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Leia mais

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

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

2. Constantes e Variáveis

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

Leia mais

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

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

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

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

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

7. Estrutura de Decisão

7. Estrutura de Decisão 7. Estrutura de Decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições. Uma condição é uma expressão lógica. A classificação

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Tipos de dados, variáveis e constantes Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Tipos de dados Os programas manipulam dados, armazenando-os

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

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

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

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

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

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios

GABARITO COMENTADO SISTEMAS OPERACIONAIS. PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida, Vinícius de M. Rios CURSO - TADS TURMA 2008.1 2 PERÍODO 3 MÓDULO AVALIAÇÃO MP2 DATA 02/10/2008 SISTEMAS OPERACIONAIS 2008/2 GABARITO COMENTADO SISTEMAS OPERACIONAIS PROF. Cláudio de C. Monteiro, Evanderson S. de Almeida,

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

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

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

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

Resolução da lista de exercícios de casos de uso

Resolução da lista de exercícios de casos de uso Resolução da lista de exercícios de casos de uso 1. Explique quando são criados e utilizados os diagramas de casos de uso no processo de desenvolvimento incremental e iterativo. Na fase de concepção se

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

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

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

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

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

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

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

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger

Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger Gerenciamento de Entrada e Saída Hélio Crestana Guardia e Hermes Senger O controle da entrada e saída (E/S ou I/O, input/output) de dados dos dispositivos é uma das funções principais de um sistema operacional.

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

Curso de Programação Computadores

Curso de Programação Computadores 3 O Primeiro Programa em C Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 3 O Primeiro Programa em C 3.1 - Introdução Depois dos conceitos

Leia mais

Resumo da Matéria de Linguagem de Programação. Linguagem C

Resumo da Matéria de Linguagem de Programação. Linguagem C Resumo da Matéria de Linguagem de Programação Linguagem C Vitor H. Migoto de Gouvêa 2011 Sumário Como instalar um programa para executar o C...3 Sintaxe inicial da Linguagem de Programação C...4 Variáveis

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

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva

Algoritmos Estruturas Seqüenciais. José Gustavo de Souza Paiva Algoritmos Estruturas Seqüenciais José Gustavo de Souza Paiva 1 Introdução Objetivo básico da computação auxiliar os seres humanos em trabalhos repetitivos e braçais, diminuindo i i d esforços e economizando

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

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante

Capítulo SETE Números em Ponto Fixo e Ponto Flutuante Capítulo SETE Números em Ponto Fixo e Ponto Flutuante 7.1 Números em ponto fixo Observação inicial: os termos ponto fixo e ponto flutuante são traduções diretas dos termos ingleses fixed point e floating

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

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre

Programação. MEAer. Bertinho Andrade da Costa. Instituto Superior Técnico. Introdução ao Pré-Processador. 2011/2012 1º Semestre Programação MEAer Bertinho Andrade da Costa 2011/2012 1º Semestre Instituto Superior Técnico Introdução ao Pré-Processador Programação 2011/2012 DEEC-IST Introdução ao Pré-Processador 1 Sumário Introdução

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

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

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

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

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

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

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Linguagem e Técnicas de Programação I Operadores, expressões e funções Prof. MSc. Hugo Souza Material desenvolvido por: Profa. Ameliara Freire Operadores básicos Toda linguagem de programação, existem

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

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

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

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação

Introdução. A Informação e sua Representação (Parte II) Universidade Federal de Campina Grande. Unidade Acadêmica de Sistemas e Computação Universidade Federal de Campina Grande Unidade Acadêmica de Sistemas e Computação Introdução à Computação A Informação e sua Representação (Parte II) Prof. a Joseana Macêdo Fechine Régis de Araújo joseana@computacao.ufcg.edu.br

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

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

Trabalho 3: Agenda de Tarefas

Trabalho 3: Agenda de Tarefas INF 1620 Estruturas de Dados Semestre 08.2 Trabalho 3: Agenda de Tarefas O objetivo deste trabalho é a implementação de um conjunto de funções para a manipulação de uma agenda de tarefas diárias, de forma

Leia mais

Simulado Informática Concurso Correios - IDEAL INFO

Simulado Informática Concurso Correios - IDEAL INFO Simulado Informática Concurso Correios - IDEAL INFO Esta prova de informática é composta por 20 (vinte) questões de múltipla escolha seguindo o molde adotado pela UnB/CESPE. O tempo para a realização deste

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

INF 1005 Programação I lista 12

INF 1005 Programação I lista 12 INF 1005 Programação I lista 12 Caracteres e cadeias de caracteres (strings) 1. [tarefa 42] Implemente e teste uma função que receba uma string como parâmetro e modifique essa string trocando todos os

Leia mais

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05

IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 IFTO LÓGICA DE PROGRAMAÇÃO AULA 05 Prof. Manoel Campos da Silva Filho Tecnólogo em Processamento de Dados / Unitins Mestre em Engenharia Elétrica / UnB http://lab.ifto.edu.br/~mcampos http://manoelcampos.com

Leia mais

Unidade 5: Sistemas de Representação

Unidade 5: Sistemas de Representação Arquitetura e Organização de Computadores Atualização: 9/8/ Unidade 5: Sistemas de Representação Números de Ponto Flutuante IEEE 754/8 e Caracteres ASCII Prof. Daniel Caetano Objetivo: Compreender a representação

Leia mais

20 Caracteres - Tipo char

20 Caracteres - Tipo char 0 Caracteres - Tipo char Ronaldo F. Hashimoto e Carlos H. Morimoto Até agora vimos como o computador pode ser utilizado para processar informação que pode ser quantificada de forma numérica. No entanto,

Leia mais

LINGUAGEM C UMA INTRODUÇÃO

LINGUAGEM C UMA INTRODUÇÃO LINGUAGEM C UMA INTRODUÇÃO AULA 4 Entrada e saída 1 Entrada, saída, hãmm? O conceito de entrada e saída já foi utilizado de forma intuitiva nos exemplos das aulas anteriores. Entendemos por entrada qualquer

Leia mais

FAQ: Parametrização para Contabilização

FAQ: Parametrização para Contabilização TDN > Softwares de Gestão > RM > Recursos Humanos > Administração de Pessoal > FAQ FAQ: Parametrização para Contabilização Produto: Ambiente: RM Unspecified Versão: 11.0 Avaliação A principal finalidade

Leia mais

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. Lista de exercícios: Grupo I - programa seqüênciais simples 1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros. 2. Fazer um programa

Leia mais

Aula de JavaScript 05/03/10

Aula de JavaScript 05/03/10 Objetos Sabe-se que variável são contêiners que podem armazenar um número, uma string de texto ou outro valor. O JavaScript também suporta objetos. Objetos são contêiners que podem armazenar dados e inclusive

Leia mais

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA. Representação de Dados Tipos de dados: Caracteres (letras, números n e símbolos). s Lógicos. Inteiros. Ponto flutuante: Notações decimais: BCD. A declaração de uma variável vel define o seu tipo. O tipo

Leia mais