Unesp. Linguagem C: Conceitos Básicos. Introdução à Programação em C. Prof. Dr. G. J. de Sena CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Unesp. Linguagem C: Conceitos Básicos. Introdução à Programação em C. Prof. Dr. G. J. de Sena CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA"

Transcrição

1 Unesp UNIVERSIDADE ESTADUAL PAULISTA CAMPUS DE GUARATINGUETÁ FACULDADE DE ENGENHARIA Introdução à Programação em C Linguagem C: Conceitos Básicos Prof. Dr. G. J. de Sena Edição: 2011

2 Capítulo 2 Linguagem C: Conceitos Básicos 2.1. Estrutura de um Programa em C Um programa C é constituído por uma ou mais funções, devendo possuir uma função de abertura, a saber, a função main(). Elementos de uma função: (a) Cabeçalho (header): da forma nome(<argumentos>); Onde os argumentos são opcionais. (b) Lista de declarações dos argumentos. (c) Bloco de instruções. Pontos a observar na codificação de programas em C: Caracter(es) Significado { e } Delimitadores para blocos de instruções. ; Designa o final de uma instrução elementar. /* e */ Delimitadores de comentários: o texto delimitado pelos pares /* e */ é um comentário, sendo ignorado pelo compilador. // Designa o início de um comentário: o texto que segue o par // e continua até o final da linha é um comentário. Exemplo 1 : Programa para cálculo da área de um circulo. Codificação em C: // Calculo da área de um círculo // Programador: Sena Ano: 2010 #include <stdio.h> int main(void) { /* Declarações de Variáveis */ float raio, area; /* entrada do raio*/ 1 O aluno não deve se preocupar neste ponto em entender todos os programas apresentados, mas apenas em ter uma visão geral da linguagem. Os comandos e estruturas apresentados nestes exemplos iniciais serão explicados de modo detalhado mais adiante durante o curso.

3 } printf ("Digite o valor do raio: "); scanf ("%f", &raio); /* processamento: calculo da área*/ area = * raio * raio; /* saída da área */ printf ( "Area = %f", area ); /* pausa p/ mostrar resultado */ system("pause"); Tela de execução: Note-se que a seqüência de escape, \n, pode ser inserida no comando de saída, para forçar o avanço para uma nova linha: printf ( "\narea = %f \n", area ); Tela de execução: A instrução #include antes do cabeçalho da função é uma instrução para o préprocessador da linguagem, sendo tratada antes do processamento do programa. Estas instruções se referem a arquivos especiais que devem ser incluídos e que contêm informações especificas necessárias para a utilização de funções de biblioteca, providas pelo processador da linguagem. A seguir são mostrados exemplos de instruções #include: #include <stdio.h> #include <math.h> #include <stdlib.h> Programa para cálculo da área de um círculo, utilizando a função pow (de math.h) para calcular o quadrado do raio. // Calculo da área de um círculo utilizando a função // pow(x,y), que calcula e retorna o valor de x^y // Programador: Sena Ano: 2010 #include <stdio.h>

4 #include <math.h> int main(void) { /* Declarações de Variáveis */ float raio, area; /* entrada do raio*/ printf ("Digite o valor do raio: "); scanf ("%f", &raio); /* processamento: calculo da área*/ area = * pow(raio,2); // pow(raio,2) = raio^2 /* saída da área */ printf ( "\narea = %f \n", area ); // \n: avança próx. linha /* pausa p/ mostrar resultado */ system("pause"); } Tela de execução: Outras observações relativas à codificação de programas em C: (a) A linguagem C é sensível ao caixa, ou seja, letras maiúsculas e minúsculas são consideradas distintas. Assim, Area e area são identificadores distintos em C. (b) Observe-se, na estruturação de um programa em C, a presença de um recuo ( endentamento ), antes da codificação dos comandos e declarações no bloco de instruções: os comandos e declarações são codificados com um pequeno deslocamento para a direita. (c) Note-se a presença de comentários objetivando documentar o código do programa. Programa para cálculo da área de um círculo, utilizando uma função adicionalmente à função main(). // Calculo da área de um círculo, om a utilização de // uma função implementada pelo programador // Programador: Sena Ano: 2010 # include <stdio.h> # include <math.h> # define PI // definição da constante PI // função principal int main (void) { // declaração de variáveis e funções float raio, area; float processa (float raio); // função para calculo da área // entrada de dados printf("\n\traio? "); // seqüência \t: tabulação scanf ("%f", &raio);

5 /* Estrutura Condicional: a área só é calculada para um valor de raio válido (> 0) */ if (raio < 0) ; // não faz nada: comando "vazio" else // raio válido { area = processa (raio); // chama função printf("\n\narea = %f\n", area); // saida área } system("pause"); // pausa p/ visualização resultado } // função para cálculo da área float processa (float r) { float a; a = PI * pow(r,2); // calcula return(a); // retorna o valor calculado } Note-se a utilização de uma estrutura condicional para verificar se o raio fornecido é válido (> 0). Tela de execução: Modificação do programa do exemplo anterior, para cálculo da área de vários círculos. // Calculo da área de vários círculos // Programador: Sena Ano: 2010 # include <stdio.h> # include <math.h> # define PI // definição da constante PI // função principal int main (void) { // declaração de variáveis e funções float raio, area; int cont, n ; // contador (cont) e nro de círculos (n) float processa (float raio); // entrada de dados printf ("\nquantos circulos? "); scanf ("%d", &n); // processamento for (cont = 1 ; cont <= n ; ++ cont) /* Repetição */ { /* entrada do raio */ printf("\n\tcirculo %d: raio? ", cont); scanf ("%f", &raio); /* Laço Condicional */ if (raio < 0); // comando "vazio"

6 else // raio válido { area = processa (raio); // chama função printf("\n\narea = %f\n", area); // saida área } } system("pause"); // pausa p/ visualização resultado } // função para cálculo da área float processa (float r) { float a; a = PI * pow(r,2); // calcula return(a); // retorna o valor calculado } Tela de execução: 2.2. Fundamentos Conjunto de Caracteres Letras: A... Z, a... z. Dígitos: Caracteres Especiais:! * + \ " < # ( = { > % ) ~ ; } / ^ - [ :,? & _ ]. b Seqüências de Escape : \b, \n (para nova linha) e \t (para tabulação) Identificadores e Palavras Chave

7 Um identificador é um nome dado a elementos de um programa tais como variáveis, funções e matrizes. Formação: letras, dígitos e o caractere _ (considerado como letra). O primeiro caractere deve ser necessariamente alfabético (sendo permitido também o _). Exemplos válidos: X y24 TaxaDeJuros _saldo TABELA_EXEMPLO Xf Soma Exemplos não válidos: 4th "nome" soma-1 juro final raio??raio O comprimento permitido para um identificador é de, normalmente, até 31 caracteres 2 (de acordo com o padrão ANSI: American National Standaros Institute, que é o comitê responsável pela padronização de linguagens). Palavras-Chaves (reservadas): não devem ser utilizadas como identificadores em um programa. Alguns exemplos de palavras reservadas da Linguagem C são apresentados na tabela a seguir. auto extern sizeof break float static case for struct char goto switch const if typedef default long union do register unsigned double return void else short volatile enum signed while Tipos de Dados Básicos Os tipos de dados básicos da Linguagem C são os apresentados na tabela a seguir. A coluna Memória especifica a quantidade de memória necessária, em bytes, para armazenar um valor de um determinado tipo. Tipo Descrição Memória int Valor Inteiro 2 bytes 2 O comprimento normalmente não representa uma preocupação prática, pois dificilmente se trabalha com nomes de identificadores muito longos.

8 char Caractere 1 byte float double Numero de Ponto Flutuante (precisão simples) Numero de Ponto Flutuante (precisão dupla) 4 bytes 8 bytes Os qualificadores podem ser utilizados para a ampliação de alguns dos tipos de dados básicos. A tabela a seguir ilustra a utilização de qualificadores com o tipo int. short long signed unsigned (int) Constantes As constantes podem ser inteiras, de ponto flutuante, caractere, ou strings (cadeias de caracteres). a) Constantes Inteiras Exemplos: (o caractere - é um operador mudando o sinal da constante) 0900 (constante inválida, pois o primeiro dígito deve ser diferente de 0) Constantes unsigned e long (int): Exemplos: 5000u l ul (Unsigned) (Long) (Unsigned Long) Os tipos das constantes são caracterizados pelos sufixos adicionados aos números: u ou U(unsigned), l ou L(long) e ul ou UL (unsigned long). b) Constantes de Ponto Flutuante Uma constante de ponto flutuante é um numero na base 10 que contém um ponto decimal ou um expoente (ou ambos).

9 Exemplos: Constantes válidas: E e e-24 Constantes inválidas (caractere incorreto sublinhado): 1 3, E E 20 5 Codificações possíveis para 3 10 : e5 3e+5 3E5 3.0e+5.3e6 300e3 Faixa de variação (aproximada) para valores dos tipos float (precisão simples) e double (precisão dupla): Precisão simples: 38 3,4 10 a 38 3,4 10 0,0 38 3,4 10 a 3, Precisão dupla: 308 1,7 10 a 308 1,7 10 0, ,7 10 a 1, c) Constantes Caracteres São formadas por caracteres do conjunto de caracteres do computador, delimitados por apóstrofos (aspas simples: '). Exemplos: 'A', 'X', 'a', '3', '$', ' ',... Os valores das constantes caracteres correspondem aos valores dos códigos ASCII correspondentes aos caracteres. A tabela a seguir apresenta os valores de algumas constantes caracteres Valores de algumas constantes caracteres: Constante Valor (código ASCII)

10 'A' 65 'B' 66 'C' 67 'a' 97 'z' 122 '$' 36 '&' 38 Seqüências de Escape : normalmente comparecem em constantes strings, como será visto mais adiante. Caractere Seqüência de escape Campainha \a Tabulação Horizontal \t Tabulação Vertical \v Nova Linha \n Carriage Return \r Aspas (") \" Apostrofo(') \' Interrogação (?) \? \ \\ Nulo \0 Observações: cada seqüência de escape, como o '\n' por exemplo,é considerado como um caractere na Linguagem C. A seqüência '\0', caractere nulo, corresponde ao caractere que é inserido no final de cada string (cadeia de caracteres), como será visto mais adiante. d) Constantes Strings Uma constante string é uma cadeia de caracteres delimitada por aspas ("..."). Exemplos: "Verde" "Guaratinguetá"

11 "Linha1 \n Linha2 \n Linha3" A constante string no comando printf a seguir faz uso de seqüências de escape para que aspas (") possam ser incluídas na constante: Printf("\t Pressione a tecla \"Return\" para continuar\n"); O compilador da Linguagem C acrescenta um caractere nulo ('\0') ao final de toda constante string. A constante string "A" consiste, de fato, de 2 caracteres, a saber: ' A ','\0', ou seja, consiste do caractere 'A' seguido de um caractere nulo ('\0'). Deve-se estar atento para não confundir os diferentes tipos de elementos providos pela linguagem C. Estude as diferenças entre os exemplos de elementos apresentados na tabela a seguir. Exemplo 'A' "A" A Significado Constante caractere Constante string Identificador 3 Constante numérica (inteira) '3' Constante caractere Declarações de variáveis Declarações de variáveis são efetuadas de acordo com a forma geral a seguir: <tipo> <lista de variáveis>; onde: <tipo> corresponde ao tipo do valor que pode ser armazenado nas variáveis que estão sendo declaradas. Qualificadores podem ser utilizados. <lista de variáveis> é uma lista contendo uma ou mais variáveis, separadas por vírgulas. O ponto-e-vírgula no final separa esta declaração da próxima instrução do programa. Exemplos 3 : /* Declarações de Variáveis: tipos básicos */ 3 No ambiente Dev-C++ os tipos aparecem em negrito no código de um programa.

12 int a,b,c; /*Tipo básico inteiro */ float raiz1, raiz2; /*real de precisão simples */ char flag,texto[80]; /* texto vetor: vetor com 80 elementos tipo caractere */ /* Declarações de Variáveis: qualificadores */ short int a,b,c ; long int r,s,t; int p,q; Ou, de forma mais simples: short a,b,c; long r,s,t; int p,q; /* Declarações de Variáveis: tipos, qualificadores */ int a1, b1; unsigned xa, yb; double r1, r2; /* ou long float 4 r1,r2; */ Valores iniciais podem ser atribuídos às variáveis nas mesmas instruções em que são declaradas. Estes valores podem ser alterados durante a execução do programa em que as variáveis são declaradas. /* declarações de variáveis: valores iniciais */ int d=20; char asterisco = '*'; float result = 0.0; double precis = e-6; Constantes Simbólicas Uma constante simbólica é um nome dado a uma seqüência de caracteres, podendo ser utilizado no código do programa em que foi definida para designar aquela seqüência. Constantes simbólicas podem ser empregadas para representar constantes numéricas, caracteres ou constantes do tipo string. Na fase de compilação, cada ocorrência de uma constante simbólica é substituída pela seqüência de caracteres utilizada na sua definição. A definição de uma constante simbólica normalmente ocorre no inicio do programa, tendo a forma geral: onde: #define <nome_constante> <texto> 4 Não permitido no Dev-C++.

13 <nome_constante> identificador para a constante, é normalmente escrito em letras maiúsculas. <texto> seqüência de caracteres de definição da constante. Exemplos: // Definiçãqo de Constantes #define TAXA 0.15 #define PI #define VERDADE 1 #define FALSO 0 #define AMIGO "Professor" Observações: (i) Considere o trecho de programa a seguir: #define PI float raio, area;... // emprego de constante simbólica area = PI * raio * raio;... Após a compilação, a instrução referente ao cálculo da área se torna: area = * raio * raio; Observe-se que a substituição é literal, ou seja, se no trecho de programa acima a constante fosse definida como segue: #define PI ; Após a compilação, a instrução referente ao cálculo da área se torna: area = ; * raio * raio; (ii) A substituição do texto não ocorre se a constante comparece em uma cadeia de caracteres ( string ). (iii) A definição de uma constante simbólica é uma característica incluída no préprecessador C, que é o programa responsável pelo primeiro passo na tradução de um programa C Operadores e Expressões a) Introdução a Expressões

14 Exemplos: Expressões Simples : a+b x = y c=a+x x >= b x == y ++i (atribuição) (teste de igualdade) (incremento) b) Expressões Aritméticas b.1) Operadores aritméticos São os seguinte: +, -, *, /, %. As seguintes observações se aplicam a estes operadores: (i) Operador %: Retorna o resto da divisão inteira. (ii) Exponenciação em C: Efetuada com a utilização da função pow, como será descrito mais adiante neste capítulo. (iii) a/b, com a e b inteiros: Divisão inteira (quociente truncado). (iv) a % b: Os operandos a e b devem ser inteiros, com b 0. (v) A+B, A-B, A*B, A/B: Os operandos A e B podem ser dos tipos inteiro (int), ponto flutuante (float; double) ou caractere (char). int a=10, b=3; Expressão: Resultado da avaliação: a+b 13 a-b 7 a*b 30 a/b 3 a%b 1 char c1,c2; c1 = 'A' /* ASCII 65 */ c2 = 'a'; /* ASCII 97 */ /* cte '2' -> ASCII 50 */

15 Expressão: Resultado da avaliação: c1 + c2 162 c1 + c c1 + c2 + '2' 212 No caso do operador %, quando um dos operandos for negativo, o resultado da operação será o resto da divisão com sinal do primeiro operando. int a=11, b=-3; Expressão: Resultado da avaliação: Verificação: a / b -3 a % b a 2 a b * b a % b int a=-11, b=3; Expressão: Resultado da avaliação: Verificação: a / b -3 a % b a -2 a b * b a % b b.2) Conversão de tipo na Avaliação Em geral o resultado final será expresso com a maior precisão possível, conforme o tipo de dado dos operandos envolvidos na operação. Declarações: Expressão: Tipo do valor resultante: float a; double b; a + b double.

16 Declarações: Expressão: Tipo do valor resultante: float a; char b; int c; a + b a + c float Para a conversão do resultado de uma expressão para um tipo de dados desejado pode ser utilizado um construtor de de cast, cuja forma geral é a seguinte: (<tipo_de_dado>) <expressão> onde <tipo_de_dado> designa o tipo de dado para o qual o resultado da <expressão> deverá ser convertido. Exemplos: Declarações: Expressão: Observação: int i = 8; Operação inválida, pois os dois float f = 9.7; (i + f) % 4; operandos deveriam ser do tipo int, o que não ocorre neste caso: i f % 4 float ((int)(i + f)) % 4 ((int) f) % 3 Operação válida, pois, neste caso os dois operandos são do tipo int: int i f ) % 4 int Operação válida: int f % 3 Observe-se que neste caso o valor de f será truncado (antes do cálculo do resto da divisão). b.3) Precedência de Operadores Para o caso dos operadores aritméticos, a precedência é definida como mostrado na tabela a seguir:

17 Ordem de precedência Operadores (i) * / % (ii) + - Dentro de um mesmo grupo de precedência, a associatividade é da esquerda para direita. Por exemplo, no caso de uma multiplicação seguida de uma divisão, a multiplicação é efetuada primeiro. Exemplos: Ordem de avaliação de algumas expressões: Expressão aritmética (C) Ordem de avaliação Expressão equivalente a * b / c a b/c * d a * b / c R1 R2 a b / c * d R1 R2 R3 ab c b a d c Considere a seguinte expressão aritmética: w = 2 * ((i % 5) * (4 + (j 3)/(k + 2))) Uma solução equivalente e em princípio melhor, em termos de legibilidade, é dada por: u = i % 5; v = 4 + (j 3)/(k + 2); w = 2 * (u * v); b.4) Operadores Unários Estudaremos nesta seção os seguintes operadores unários: Operador Significado - Menos unário ++ Operador de incremento -- Operador de decremento Sizeof Retorna o tamanho de seu operando, em bytes (tipo) Construtor de cast (conversão de tipo)

18 Exemplos e detalhamento destes operadores são apresentados a seguir, com exceção do construtor de cast, já apresentado na seção (b.2). Observe-se que a associatividade dos operadores unários é da direita para a esquerda. b.4.1) Menos unário Exemplos: (x + y) -5e-32 -a b.4.2) Operadores de incremento e decremento Suponha que i seja uma variável inteira. A tabela a seguir apresenta o significado das operações de incremento (++) e decremento (--) aplicadas à variável i. Expressão Equivalente a: ++i i i i i i - 1 Os operadores de incremento e decremento podem anteceder ou seguir um identificador de variável, com significados distintos, como esclarece a tabela a seguir. Expressão ++i i++ Observações O valor corrente de i é incrementado e o novo valor é utilizado no contexto em que a expressão comparece. O valor corrente de i é utilizado no contexto em que a expressão aparece, após o que o valor de i será incrementado. Exemplos: Considere os trechos de programas a seguir, em que comparecem operações de incremento e decremento. Os comentários ao lado das instruções mostram os valores atribuídos às variáveis após a execução das respectivas instruções. int i = 10, j, k; j = ++i; /* i = 11; j = 11 */ k = --i; /* i = 10; k = 10 */ int i = 10, j, k; j = i++; /* j = 10; i = 11 */ k = i--; /* k = 11; i = 10 */ b.4.2) Operador sizeof

19 O programa a seguir apresenta o tamanho requerido em bytes para armazenar valores de cada um dos tipos de dados básicos da Linguagem C, no ambiente do Dev-C++. // Operador sizeof: memória requerida // para dados dos tipos básicos // Programador: Sena Ano: 2010 #include <stdio.h> int main(void) { /* Teste do operador sizeof */ int i; float x; double y; char c; printf ("\n\n\tint: \t%d\n",sizeof i); printf ("\tfloat: \t%d\n", sizeof x); printf ("\tdouble:\t%d\n", sizeof y); printf ("\tchar: \t%d\n\n", sizeof c); system("pause"); } Tela de execução: O programa a seguir corresponde a uma variação do programa anterior, utilizando o construtor de cast: // Operador sizeof: memória requerida para dados // dos tipos básicos: uso de construtor de cast // Programador: Sena Ano: 2010 #include <stdio.h> int main(void) { /* Teste do operador sizeof */ printf ("\n\n\tint: \t%d\n",sizeof (int)); printf ("\tfloat: \t%d\n", sizeof (float)); printf ("\tdouble:\t%d\n", sizeof (double)); printf ("\tchar: \t%d\n\n", sizeof (char)); system("pause"); }

20 c) Operadores Relacionais e Lógicos c.1) Operadores Relacionais: < <= > >= Operadores de Igualdade: == (igual a)!= (diferente: não igual a ) Uma expressão construída utilizando os operadores relacionais, e que também pode incluir os operadores lógicos (estudados a seguir) é uma expressão lógica. Uma expressão lógica é avaliada como verdadeiro (representado pelo valor inteiro 1) ou falso (representado pelo valor inteiro 0). int i=1, j=2, k=3; float f = 5.5; char c = 'w'; /* ASCII 119 */ Expressão: Resultado da avaliação: i < j 1 (j+k) > (i+j) 1 j!= 2 0 i == 1 1 (i+f) <= 5 0 c == c!= 'q' 1 c <= 5*(i+f) 0 Note-se que o resultado da avaliação pode, por exemplo, ser armazenado numa variável inteira, como mostra o exemplo a seguir: // Operadores relacionais // Programador: Sena Ano: 2010 #include <stdio.h> int main(void) { /* Declaração de variáveis */ int i = 1; float f = 5.5; char c = 'w'; /* ASCII 119 */

21 } int r; /* resultado avaliação */ /* av. expressao relacional */ r = c <= 5*(i+f); /* saida e pausa */ printf ("\nresultado de c <= 5*(i+f) = %2d\n",r); system("pause"); Tela de execução: c.2) Operadores ( ou conectores ) Lógicos Operador && Significado e ( and : conjunção lógica) ou ( or : disjunção lógica)! não ( not : negação lógica) Os operandos das expressões construídas com estes operadores devem ser expressões lógicas. A avaliação das expressões envolvendo os operadores lógicos é efetuada em conformidade com a tabela de verdade: nesta são apresentados os resultados da avaliação das expressões em função dos valores dos operandos lógicos envolvidos, como mostrado a seguir. Tabela de verdade Operandos a e b: expressões lógicas a b a && b a b!a!b int i = 7; float f = 5.7; char c = 'w'; /* ASCII 119 */

22 Expressão: Resultado da avaliação: (i >= 5) && (c == 'w') 1 (c!= 'r') && (c == 119) 1 (f > 11) (c < 'a') 0 (f <= 11) (i > 100) 1 Observação: (f <= 11) (i++ > 100) 1 i = 7 (f<=11) (++i > 100) 1 i = 7 (f<=11) && (++i == 8) 1 i = 8 (f<=11) && (i++ == 8) 0 i = 8 f > 5 1!(f > 5) 0!(i > (f + 1)) 0 A tabela a seguir mostra como os operadores estudados até este ponto são manipulados na Linguagem C, em termos de precedência e associatividade. Operador(es) Precedência Associatividade ! sizeof (tipo) ( 1 ) D E * / % ( 2 ) E D + - ( 3 ) E D < <= > >= ( 4 ) E D ==!= ( 5 ) E D && ( 6 ) E D ( 7 ) E D Tendo em conta a precedência de operadores em C, muitas vezes parênteses podem ser excluídos, sem que isto comprometa o resultado da avaliação, como mostra o exemplo a seguir: (c!= 'p') ((i + f) <= 10) c!= 'p' i + f <= 10 Não obstante, recomenda-se o emprego de parênteses mesmo que não sejam necessários, sempre que o seu uso puder contribuir para a clareza da codificação.

23 Ainda com relação à avaliação de expressões numéricas, em geral, na Linguagem C, as operações envolvendo operadores aritméticos são avaliadas inicialmente, sendo seguidas pelas operações envolvendo os operadores relacionais e, por último, são avaliadas as operações envolvendo os operadores lógicos Operadores de Atribuição a) Atribuições Simples O operador de atribuição é o = (não confundir com ==, operador de igualdade). Forma geral de uma atribuição: <identificador> = <expressão> Exemplos: Abaixo são apresentados alguns exemplos de instruções de atribuição. a = 3 eps = x = z area = base * altura Quando os operandos são de tipos diferentes em uma expressão de atribuição, o valor da expressão à direita é convertido para o tipo do identificador à esquerda do operador de atribuição. A tabela a seguir ilustra duas situações, apresentando, em cada uma delas, os tipos da expressão (e) e da variável (v) e a conversão efetuada pelo processador da linguagem. v e; e float v int v e; e double v float O valor de e é truncado. O valor de e é arredondado. Exemplos: int i, j = 5; /* declaração de variáveis */ Instrução de atribuição: Valor atribuído: i = j; /* ( i = 5 ) */ i = j / 2; /* ( i = 2 ) */ i = 2 * j / 2; /* ( i = 5 ) */

24 i = 2 * (j / 2); /* ( i = 4 ) */ i = 'x'; /* ( i = 120 ) */ i = '0'; /* ( i = 48 ) */ i = ('x' '0') / 3; /* ( i = 24 ) */ i = ('y' '0') / 3; /* ( i = 24 ) */ b) Atribuições Múltiplas Forma geral: id1 id 2 expressão onde id i designa o i-ésimo identificador. Note-se que no caso de atribuições múltiplas, a associatividade feita da direita para a esquerda: id id expressão id id expressão Exemplos: int i, j; /* declaração de variáveis */ Instrução de atribuição: Valores atribuídos: i = j = 5; /* j = 5; i = 5 */ i = j = 5.9; /* j = 5; I = 5 */ c) Operadores: +=, -+, *=, /=, %= Apresenta-se, a seguir, a sintaxe e a semântica dos operadores += e -+. Na descrição a seguir, id designa um identificador e expr, uma expressão. id += expr id = id + expr id *= expr id = id * expr Exemplos: /* declaração de variáveis */ int i = 5, j = 7; float f = 5.5, g = -3.25; Instrução de atribuição: Valor atribuído:

25 i += 5 ; /* ( i = 10 ) */ f -= g ; /* ( f = 8.75 ) */ j *= ( i 3 ); /* ( j = 14 ) */ f /= 3; /* ( f = ) */ i %= (j 2 ); /* ( i = 0 ) */ Com relação à precedência dos operadores de atribuição, inclui-se a linha mostrada abaixo na tabela de precedências apresentada anteriormente: Operador(es) Precedência Associatividade = += -= *= /+ %= ( 9 ) D E Operador Condicional (? :) Este operador é utilizado na construção de uma expressão condicional, cuja forma geral é a seguinte: expressão 1? expressão 2 : exp ressão 3 A semântica de uma expressão condicional é a seguinte: se a expressão 1 for avaliada como verdadeira, então execute a expressão 2, caso contrário, execute a expressão 3. flag = (i < 0)? 0 : 100; /* se i < 0 então flog = 0 senão flog = 100 */ min = (f < g) f : g; /* atribui a min o menor valor entre f e g */ int a = 1, b = 2, c = 3... c += (a > 0 && a <= 10)? ++a : a / b; Apresenta-se, a seguir, a avaliação da expressão condicional, evidenciando o valor que será atribuído à variável c.

26 c a 0 && a 10? a : 1 1 a 2 1 c 5 a / b Com relação à precedência do operador condicional, inclui-se a linha mostrada abaixo na tabela de precedências apresentada anteriormente: Operador(es) Precedência Associatividade? : ( 8 ) D E Funções de Biblioteca Características gerais: Não fazem parte da linguagem, apesar de todas as implantações as incluírem. Funções de biblioteca similares normalmente são agrupadas como programasobjeto em bibliotecas separadas. A tabela a seguir apresenta alguns exemplos de funções de biblioteca da Linguagem C. Na tabela a seguir, a coluna Tipo se refere ao tipo do valor retornado. Com relação aos argumentos a serem especificados na chamada destas funções, observar a legenda apresentada a seguir: c: argumento do tipo char. i: argumento do tipo int. d: argunto do tipo double. u: argumento do tipo unsigned. Exemplos de Funções de Biblioteca Função Tipo Descrição abs(i) int i cos(d) cosh(d) double double exp(d) double d e fabs(d) double d fmod(d1,d2) double Retorna a parte não inteira do quociente de d1/d2,com sinal de d1

27 log(d) double ln(d ) pow(d1,d2) double d2 d printf( ) int Impressão rand() int Retorna aleatoriamente, um inteiro positivo sin(d) double sqrt(d) double d srand(u) void 5 Inicializa o gerador de números aleatórios scanf (...) int Entrada de dados tan(d) double tg (d) toascii(c) int Converte o valor do argumento para ASCII tolower(c) int Converte o caractere armazenado em c, se uma letra maiúscula, para uma letra minúscula. Nenhuma conversão é efetuada para os demais caracteres. toupper(c) int Como no caso da função anterior, mas convertendo a letra para uma letra maiúscula. 1 Exercícios [2]: 1) Apresentar a ordem de execução e o resultado da avaliação de: int i=1, j=2; int x, y, a, b; a) y = (2*j+1+i)/++i*j++; b) i = j = (++i + ++j) / j++; c) a = ++j + --j * (b = 7/2); 2) Como será avaliada a expressão x +++y: a) x++ + y b) x + ++y 3) Apresentar os valores que serão atribuídos a cada uma das variáveis, após a avaliação das expressões a seguir: int a=1, b=2, c=3, d=4; 5 void: a função não retorna nenhum valor.

28 a) a += b + c; b) b *= c = d + 2; c) d %= a + a + a; d) d -= c-= b -=a; e) a += b += c += 7; 4) Apresentar o valor que será atribuído a k após a avaliação da expressão a seguir: int k, j = 3; k= j==3; 5) Indicar a ordem de avaliação e apresentar o resultado da avaliação das expressões a seguir: int i=1, j=2, k=3, n=2; float x = 3.3, y = 4.4; a) i < j+3 b) 2 * i 7 <= j 8 c) x == y d)!(n - j) e)!n j f)!x *!x g) i && j && k h) i j-3 && 0 i) i == 2 j==4 k==5 j) i=2 j==4 k == 5 k) x < 5.0 && x!= 1.0 i > j 6) Reescrever, sem usar o operador de negação (!) a)!(i==j) b)!(i+1 < j-2) c)!(i<j && n < m) d)!(i<j j<2 && n<3) Referências Bibliográficas 1. Ascencio, A. F. G.; Campos, E. A. V. Fundamentos da programação de computadores. São Paulo: Prentice Hall, Gottfried, B. S. Programming with C. McGraw-Hill, Mizrahi, V.V. Treinamento em Linguagem C. São Paulo: Pearson Prentice Hall, Sene, E.L.F. Primeiro Curso de Programação em C. Florianópolis: Visual Books, 2009.

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

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

Leia mais

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

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

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

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

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

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

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

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

Programas simples em C

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

Leia mais

Linguagem de Programação em C

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

Leia mais

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

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

Leia mais

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

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

Leia mais

Estruturas de entrada e saída

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

Leia mais

Sintaxe Básica de Java Parte 1

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

Leia mais

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

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

Leia mais

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

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

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

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

Leia mais

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1 Linguagem C: Estruturas de Controle Prof. Leonardo Barreto Campos 1 Sumário Estrutura de Controle e de Fluxo Comandos de Seleção: O comando if; Ifs Aninhados; A escada if-else-if; A expressão condicional;

Leia mais

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

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

Leia mais

LINGUAGEM DE PROGRAMAÇÃO C. Introdução a. Material cedido pela Profa. Judith Kelner do Centro de Informática da UFPE

LINGUAGEM DE PROGRAMAÇÃO C. Introdução a. Material cedido pela Profa. Judith Kelner do Centro de Informática da UFPE 1 Introdução a LINGUAGEM DE PROGRAMAÇÃO C Material cedido pela Profa. Judith Kelner do Centro de Informática da UFPE 2 HISTÓRICO 5 CARACTERÍSTICAS 6 CRÍTICAS 7 PROGRAMA EM C 8 TIPOS DE ARQUIVOS FONTES

Leia mais

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++

ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ ESTRUTURA DE UM PROGRAMA EM C++ Estrutura de um Programa em C++ #include { Este trecho é reservado para o corpo da função, com a declaração de suas variáveis locais, seus comandos e funções

Leia mais

Curso de C: uma breve introdução

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

Leia mais

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

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

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

Leia mais

Conceitos Básicos de C

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

Leia mais

INF 1005 Programação I

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

Leia mais

José Romildo Malaquias 2011-1

José Romildo Malaquias 2011-1 Programação de Computadores I Aula 08 Programação: Estruturas de Repetição José Romildo Malaquias Departamento de Computação Universidade Federal de Ouro Preto 2011-1 1/58 Motivação Como imprimir os três

Leia mais

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

Capítulo 2: Introdução à Linguagem C Capítulo 2: Introdução à Linguagem C Waldemar Celes e Roberto Ierusalimschy 29 de Fevereiro de 2012 1 Ciclo de desenvolvimento O modelo hipotético de computador utilizado no capítulo anterior, embora muito

Leia mais

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

system(pause); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa Atividade Prática no Ambiente Dev C++ Para as nossas atividades práticas vamos utilizar o ambiente de desenvolvimento da Linguagem C, Dev C++, ele é bastante fácil de utilizar e com muitos recursos. Segue

Leia mais

Linguagem de Programação C

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

Leia mais

Java Como Programar, 8/E

Java Como Programar, 8/E Capítulo 2 Introdução aos aplicativos Java Java Como Programar, 8/E (C) 2010 Pearson Education, Inc. Todos os 2.1 Introdução Programação de aplicativo Java. Utilize as ferramentas do JDK para compilar

Leia mais

Roteiro 1 - Como iniciar uma aplicação de console no Dev-C++

Roteiro 1 - Como iniciar uma aplicação de console no Dev-C++ Roteiro 1 - Como iniciar uma aplicação de console no Dev-C++ Uma aplicação do tipo console é uma aplicação que roda no Prompt de comando. Ela não utiliza interface gráfica do Windows. Este documento tem

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C Belo Horizonte 2010 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4 3.1 Strings

Leia mais

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

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

Leia mais

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes

LINGUAGEM C: DESCOMPLICADA. Prof. André R. Backes LINGUAGEM C: DESCOMPLICADA Prof. André R. Backes 1 COMANDOS DE CONTROLE CONDICIONAL Os programas escritos até o momento são programas sequeciais: um comando é executado após o outro, do começo ao fim do

Leia mais

Apostila de Estruturas de Dados

Apostila de Estruturas de Dados Apostila de Estruturas de Dados Profs. Waldemar Celes e José Lucas Rangel PUC-RIO - Curso de Engenharia - 2002 Apresentação A disciplina de Estruturas de Dados (ED) está sendo ministrada em sua nova versão

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

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1

14. Arquivos. W. Celes e J. L. Rangel. Estruturas de Dados PUC-Rio 13-1 14. Arquivos W. Celes e J. L. Rangel Neste capítulo, apresentaremos alguns conceitos básicos sobre arquivos, e alguns detalhes da forma de tratamento de arquivos em disco na linguagem C. A finalidade desta

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

Aluísio Eustáquio da Silva

Aluísio Eustáquio da Silva 1 Aluísio Eustáquio da Silva SciLab Programável Material didático usado em aulas de Programação de Computadores, Algoritmos e Lógica de Programação Betim Maio de 2012 2 PROGRAMAÇÃO O SciLab permite que

Leia mais

Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1

Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1 Apostila Básica de Lógica e Programação para Game Maker por Giosepe Luiz 1 Sumário 1. Introdução a Lógica... 03 2. Verdadeiro e Falso... 03 3. Conectivo E e OU... 03 4. Negação... 04 5. Introdução a Programação...

Leia mais

UNIVERSIDADE FEDERAL DO PARANÁ

UNIVERSIDADE FEDERAL DO PARANÁ CURSO: Ciência da Computação DATA: / / 2013 PERÍODO: 4 o. PROFESSOR: Andrey DISCIPLINA: Técnicas Alternativas de Programação AULA: 02 APRESENTAÇÃO: Apresentação; conceitos básicos da linguagem java; estrutura

Leia mais

Linguagens de Programação I

Linguagens de Programação I Linguagens de Programação I Tema # 8 Strings e Estruturas Susana M Iglesias 1 STRINGS - INTRODUÇÃO Strings (cadeia de caracteres): é uma serie de caracteres que podem ser tratados como uma unidade simples,

Leia mais

9. Estruturas em C Registros

9. Estruturas em C Registros 9. Estruturas em C Registros Unesp Campus de Guaratinguetá Curso: Programação de Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro 1 9. Estrutura Até o presente momento os nossos dados eram armazenados

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ESCOLA Fundamentos de Programação 1 Escola Alcides Maya - Primeiro Módulo 2 Sumário Fundamentos de Programação 1 Fundamentos de Programação 1 Introdução... 4 2 Introdução à Linguagem

Leia mais

Parte I. Conhecendo A Linguagem C

Parte I. Conhecendo A Linguagem C 1 Parte I Conhecendo A Linguagem C 3 1 CONCEITOS BÁSICOS DA LINGUAGEM C Antes mesmo de falarmos em linguagem C, gostaria de apresentar-lhes o Juan, um passarinho bem simpático que tem por objetivo chamar

Leia mais

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como:

Apresentar os conceitos básicos e as estruturas de linguagem relacionadas à tomada de decisão ofertadas pela linguagem C, tais como: Cláudio C. Rodrigues Faculdade da Computação - UFU LINGUAGEM C - 02: ESTRUTURA DE SELEÇÃO CONDICIONAL Faculdade da Computação - UFU 1 Objetivo Apresentar os conceitos básicos e as estruturas de linguagem

Leia mais

Lab de Programação de sistemas I

Lab de Programação de sistemas I Lab de Programação de sistemas I Apresentação Prof Daves Martins Msc Computação de Alto Desempenho Email: daves.martins@ifsudestemg.edu.br Agenda Orientação a Objetos Conceitos e Práticas Programação OO

Leia mais

Estruturas (Registros)

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

Leia mais

Sistemas Microcontrolados

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

Leia mais

Padrões de Codificação Java

Padrões de Codificação Java Padrões de Codificação Java João Carlos Pinheiro jcpinheiro@cefet-ma.br Versão: 1.0 Última Atualização: Março / 2005 1 Objetivos Apresentar os padrões de codificação Java da SUN 2 Introdução Um padrão

Leia mais

Cursos de AUTOMAÇÃO INDUSTRIAL e ENGENHARIA DE CONTROLE E AUTOMAÇÃO

Cursos de AUTOMAÇÃO INDUSTRIAL e ENGENHARIA DE CONTROLE E AUTOMAÇÃO Centro Universitário de Maringá - CESUMAR Cursos de AUTOMAÇÃO INDUSTRIAL e ENGENHARIA DE CONTROLE E AUTOMAÇÃO Disciplina de Informática para Automação Prof. EE. Carlos Henrique Z. Pantaleão 2005 2 SUMÁRIO

Leia mais

UFMG. Curso de Linguagem C. Universidade Federal de Minas Gerais

UFMG. Curso de Linguagem C. Universidade Federal de Minas Gerais Curso de Linguagem C UFMG Universidade Federal de Minas Gerais 1 Curso de Linguagem C 1 UFMG.. 1 Universidade Federal de Minas Gerais 1 Aula 1 - INTRODUÇÃO.. 5 AULA 2 - Primeiros Passos.. 5 O C é "Case

Leia mais

Programação Estruturada e Orientada a Objetos REVISÃO

Programação Estruturada e Orientada a Objetos REVISÃO Programação Estruturada e Orientada a Objetos REVISÃO 2013 O que veremos hoje? Introdução Revisão Estruturas de Controle de Fluxo Exercícios Transparências baseadas no material do Prof. Gilbert Azevedo

Leia mais

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014

MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP. Curso Superior de Tecnologia em Sistemas para Internet 2/2014 MANUAL DE NORMAS PARA DESENVOLVIMENTO DE CÓDIGO DA FÁBRICA VIRTUAL DE SOFTWARE DA FIPP Curso Superior de Tecnologia em Sistemas para Internet 2/2014 1. Nomes e localização dos arquivos do projeto: O template

Leia mais

Apostila de Introdução à Linguagem C

Apostila de Introdução à Linguagem C Universidade Federal de Juiz de Fora Faculdade de Engenharia e Arquitetura Programa de Educação Tutorial Apostila de Introdução à Linguagem C Por Marcela Rocha Tortureli de Sá Bolsista do grupo PETCivil

Leia mais

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP AGRUPAMENTO DE ESCOLAS DE SANTA COMBA DÃO CURSO PROFISSIONAL DE TÉCNICO DE GESTÃO E PROGRAMAÇÃO DE SISTEMAS INFORMÁTICOS 2012-2015 PROGRAMAÇÃO E SISTEMAS DE INFORMAÇÃO MÓDULO 2 Mecanismos de Controlo de

Leia mais

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++

Edwar Saliba Júnior. Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Edwar Saliba Júnior Dicas, Comandos e Exemplos Comparativos entre Linguagem Algorítmica e Linguagem C / C++ Belo Horizonte 2009 Sumário 1 Nota:... 2 2 Comandos e Palavras Reservadas:... 3 3 Dicas... 4

Leia mais

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Expressões. Prof. Alberto Costa Neto alberto@ufs.br. Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Linguagens de Programação Departamento de Computação Universidade Federal de Sergipe Expressão é uma frase de um programa que ao ser avaliada retorna um valor Tipos Literais Agregados Chamadas de Função

Leia mais

SUMÁRIO. 4. MACROS E FUNÇÕES... 31 4.1. Preprocessamento... 31 4.1.1. A diretiva #define... 31 4.1.2. A diretiva #include... 33

SUMÁRIO. 4. MACROS E FUNÇÕES... 31 4.1. Preprocessamento... 31 4.1.1. A diretiva #define... 31 4.1.2. A diretiva #include... 33 SUMÁRIO 1. INTRODUÇÃO... 01 1.1. A Origem da Linguagem C... 01 1.2. O Ambiente Turbo C... 01 1.3. A Estrutura Básica dos Programas... 02 1.4. Tipos de Dados... 04 1.4.1. Tipos de Dados Modificados... 05

Leia mais

Linguagens de programação

Linguagens de programação Prof. André Backes Linguagens de programação Linguagem de Máquina Computador entende apenas pulsos elétricos Presença ou não de pulso 1 ou 0 Tudo no computador deve ser descrito em termos de 1 s ou 0 s

Leia mais

Curso de Programação em C

Curso de Programação em C Curso de Programação em C INTRODUÇÃO Vamos, neste curso, aprender os conceitos básicos da linguagem de programação C a qual tem se tornado cada dia mais popular, devido à sua versatilidade e ao seu poder.

Leia mais

Alocação dinâmica de memória

Alocação dinâmica de memória Alocação dinâmica de memória Jander Moreira 1 Primeiras palavras Na solução de problemas por meio algoritmos ou programas, é comum surgir a necessidade de manter todo o conjunto de dados a ser processado

Leia mais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais Curso de Linguagem C UFMG Universidade Federal de Minas Gerais Esta apostila foi elaborada com o conteúdo do site do Curso de Linguagem C da UFMG ( site - http://www.ead.eee.ufmg.br/cursos/c/). Esta versão.doc

Leia mais

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br

JAVA. Fabrício de Sousa fabbricio7@yahoo.com.br JAVA Fabrício de Sousa fabbricio7@yahoo.com.br Agenda 2 Características Ambientes de Desenvolvimento Sintaxe Comentários Tipos de dados primitivos Caracteres especiais Variáveis Operadores Aritméticos

Leia mais

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba

3/19/2014. Compilador DEV C++ ENGENHARIAS LÓGICA DE PROGRAMAÇÃO Henry Lubanco/ Joelio Piraciaba Compilador DEV C++ 101 Compilador DEV C++ 102 1 Compilador DEV C++ Compilar (Ctrl+F9) Executar (Ctrl+F10) Compilar e executar (F9) 103 Compilador DEV C++ Escolher a pasta Escolher o nome e o tipo de arquivo

Leia mais

Estrutura, União e Enumeração em C

Estrutura, União e Enumeração em C USP-ICMC-BInfo Estrutura, União e Enumeração em C SCC501 - ICC-II 2011 Prof. João Luís 1 Introduzindo Estruturas Estrutura: coleção de tipos diferentes. Define-se primeiro o tipo: struct inflavel char

Leia mais

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5

JavaScript 2.0X 1.0 3.0X 1.1 4.0 4.05 1.2 4.06 4.61 1.3 5.0 1.4 6.0 1.5 JavaScript Diego R. Frank, Leonardo Seibt FIT Faculdades de Informática de Taquara Fundação Educacional Encosta Inferior do Nordeste Av. Oscar Martins Rangel, 4500 Taquara RS Brasil difrank@terra.com.br,

Leia mais

Iniciação rápida à Linguagem C

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

Leia mais

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

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

Leia mais

Universidade Federal de Uberlândia

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

Leia mais

Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes

Registros. Técnicas de Programação. Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Rafael Silva Guimarães :p://:p.ci.ifes.edu.br/informa@ca/rafael_guimaraes Registros Técnicas de Programação Baseado no material do Prof. Rafael Vargas Mesquita Conceito de Registro (Struct) Vetores e Matrizes

Leia mais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais Curso de Linguagem C UFMG Universidade Federal de Minas Gerais 1 Esta apostila foi elaborada com o conteúdo do site do Curso de Linguagem C da UFMG ( site - http://www.ead.eee.ufmg.br/cursos/c/). Esta

Leia mais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais

Curso de Linguagem C UFMG. Universidade Federal de Minas Gerais Curso de Linguagem C UFMG Universidade Federal de Minas Gerais 1 Esta apostila foi elaborada com o conteúdo do site do Curso de Linguagem C da UFMG ( site - http://www.ead.eee.ufmg.br/cursos/c/). Esta

Leia mais

Algoritmo para converter uma temperatura em Fahrenheit para Celsius

Algoritmo para converter uma temperatura em Fahrenheit para Celsius Algoritmo e Programação Algoritmo para converter uma temperatura em Fahrenheit para Celsius Conversão: Celsius -> Fahrenheit F = C 1,8 + 32 Fahrenheit -> Celsius C = ( F 32) / 1,8 1 Formas de representar

Leia mais

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada

Module Introduction. Programação. Cap. 4 Algoritmos e Programação Estruturada 5374 : Engenharia Informática 6638 : Tecnologias e Sistemas de Informação 9099 : Bioengenharia 10135 : Ciências Biomédicas Cap. 4 Algoritmos e Estruturada Module Introduction Algoritmos e Estruturada Objectivos:

Leia mais

Estruturas de Repetição

Estruturas de Repetição Estruturas de Repetição Lista de Exercícios - 04 Linguagem e Técnicas de Programação Professor: Edwar Saliba Júnior Estruturas de Repetição O que são e para que servem? São comandos que são utilizados

Leia mais

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento

Exercício 1. Tabela 1: Cadastro de usuários, senhas e privilégios (exemplo). Login Senha Privilégio Armamento 1/5 Exercício 1 Um sistema de segurança militar, usado num submarino nuclear, controla o acesso de usuários a três subsistemas (armamento, navegação e comunicações) através da digitação do login do usuário

Leia mais

Aritmética e Álgebra COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br

Aritmética e Álgebra COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br Aritmética e Álgebra COM10615-Tópicos Especiais em Programação I edmar.kampke@ufes.br Introdução Forte relação entre Matemática e Computação Aritmética e Álgebra são as partes mais elementares da matemática

Leia mais

Utilizem a classe Aula.java da aula passada:

Utilizem a classe Aula.java da aula passada: Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Utilizem a classe Aula.java da aula passada: public class Aula { public static void main(string[]

Leia mais

13 Números Reais - Tipo float

13 Números Reais - Tipo float 13 Números Reais - Tipo float Ronaldo F. Hashimoto e Carlos H. Morimoto Até omomentonoslimitamosaouso do tipo inteiro para variáveis e expressões aritméticas. Vamos introduzir agora o tipo real. Ao final

Leia mais

ALGORITMOS E ESTRUTURAS DE DADOS Terceiro Trabalho Prático Recursividade e Pilhas

ALGORITMOS E ESTRUTURAS DE DADOS Terceiro Trabalho Prático Recursividade e Pilhas Universidade Federal de Ouro Preto Instituto de Ciências Exatas e Biológicas Departamento de Computação ALGORITMOS E ESTRUTURAS DE DADOS Terceiro Trabalho Prático Recursividade e Pilhas Luiz Henrique Santos

Leia mais

Estruturas de Dados Francisco Morgado (Teóricas e Teórico-Práticas) Carlos Cunha (Práticas) Paulo Almeida (Práticas)

Estruturas de Dados Francisco Morgado (Teóricas e Teórico-Práticas) Carlos Cunha (Práticas) Paulo Almeida (Práticas) Estruturas de Dados Engª de Sistemas e Informática 1º Ano, 2º Semestre Francisco Morgado (Teóricas e Teórico-Práticas) Carlos Cunha (Práticas) Paulo Almeida (Práticas) Escola Superior de Tecnologia de

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C

INTRODUÇÃO AO JAVA PARA PROGRAMADORES C PROGRAMAÇÃO SERVIDOR EM SISTEMAS WEB INTRODUÇÃO AO JAVA PARA PROGRAMADORES C Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar a grande semelhança entre Java e C Apresentar a organização diferenciada

Leia mais

PROGRAMAÇÃO DE COMPUTADORES I (Parte 1)

PROGRAMAÇÃO DE COMPUTADORES I (Parte 1) PROGRAMAÇÃO DE COMPUTADORES I (Parte 1) Prof. Eduardo Machado Real Conteúdos: Introdução à Programação de Computadores Estrutura Sequencial Estrutura Condicional Estruturas de Repetição Programação de

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

Linguagens de Programação ( Microsoft Visual C# )

Linguagens de Programação ( Microsoft Visual C# ) Linguagens de Programação ( Microsoft Visual C# ) O C# (C Sharp) é uma linguagem de programação desenvolvida pela Microsoft. A escolha de C# para uso neste estudo, deve-se a sua simplicidade, versatilidade

Leia mais

Programação em C. Este guia é um trabalho em progresso, em constante. Uma cópia deste guia, em sua versão mais recente, pode ser encontrada na página

Programação em C. Este guia é um trabalho em progresso, em constante. Uma cópia deste guia, em sua versão mais recente, pode ser encontrada na página Programação em C Um guia para programação em linguagem C, que pretende servir também como uma introdução à Computação. (Baseado, em parte, no curso de Introdução à Computação [MAC- 110/115] do IME-USP.)

Leia mais

Universidade Federal de Minas Gerais. Apostila: Curso de Linguagem C / UFMG

Universidade Federal de Minas Gerais. Apostila: Curso de Linguagem C / UFMG Universidade Federal de Minas Gerais Apostila: Curso de Linguagem C / UFMG Curso dirigido pelo Pr. Renato Cardoso Mesquita Outubro de 1998 Pág. 1 Curso de Linguagem C - CPDEE / UFMG Sumário INTRODUÇÃO

Leia mais

ESTRUTURA CONDICIONAL

ESTRUTURA CONDICIONAL AULA 6 ESTRUTURA CONDICIONAL 130 Tem como objetivo executar um conjunto de comandos caso uma condição lógica seja atendida. Quando a resposta lógica for falsa, nada será executado. Sintaxe Se CONDIÇÃO

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Operações com Strings Introdução a Ponteiros e Funções Profa Rosana Braga 1 Strings Strings são seqüências de caracteres

Leia mais

Introdução a POO. Introdução a Linguagem C++ e POO

Introdução a POO. Introdução a Linguagem C++ e POO Introdução a POO Marcio Santi Linguagem C++ Introdução a Linguagem C++ e POO Programação Orientada a Objetos (POO) e C++ Recursos C++ não relacionados às classes Incompatibilidades entre C e C++ Classes

Leia mais

ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES

ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES 1 Disciplina: ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES Faculdade de Engenharia de Computação Práticas de Laboratório 1- Cronograma Previsto (este cronograma pode sofrer alterações em decorrência de ajustes

Leia mais