LINGUAGEM DE PROGRAMAÇÃO C. Introdução a. Material cedido pela Profa. Judith Kelner do Centro de Informática da UFPE
|
|
- Luiz Fernando Antas Lemos
- 8 Há anos
- Visualizações:
Transcrição
1 1 Introdução a LINGUAGEM DE PROGRAMAÇÃO C Material cedido pela Profa. Judith Kelner do Centro de Informática da UFPE
2 2 HISTÓRICO 5 CARACTERÍSTICAS 6 CRÍTICAS 7 PROGRAMA EM C 8 TIPOS DE ARQUIVOS FONTES EM C 8 BIBLIOTECAS EM C 8 PALAVRAS CHAVES 9 VARIÁVEIS E CONSTANTES - TIPOS E DECLARAÇÕES 9 TIPOS DE DADOS 11 A NORMA ANSI C 11 IDENTIFICADORES 12 VARIÁVEIS 13 Onde declarar variáveis 13 PARÂMETROS FORMAIS 14 VARIÁVEIS GLOBAIS 15 ESPECIFICADORES DE TIPOS DE ARMAZENAMENTO DEVARIÁVEIS 16 CONSTANTES 18 COMANDOS DE CONTROLE 27
3 3 COMANDO DE ITERAÇÃO 29 COMANDO DE DESVIO 30 ARRANJOS 34 ESTRUTURAS 40 UNIÕES 41 EXEMPLOS: 41 F U N Ç Õ E S 46 USO DE FUNÇÕES 47 FUNÇÕES EM C 47 PASSAGEM DE ESTRUTURAS PARA FUNÇÕES 47 EXEMPLOS DO USO DE FUNÇÕES 49 UTILIZAÇÃO DE PARÂMETROS 50 FUNÇÕES DE ENTRADA E SAÍDA 51 A P O N T A D O R E S ( P O I N T E R S ) 56 APONTADORES 57 APONTADORES E ARGUMENTOS DE FUNÇÕES 58 APONTADORES E ARRANJOS 59 ARITMÉTICA COM ENDEREÇOS 59 APONTADORES DE CARACTERE E FUNÇÕES 60
4 4 APONTADORES PARA FUNÇÕES 61 APONTADORES PARA ESTRUTURAS 62 FUNÇÃO PARA ABRIR E FECHAR ARQUIVOS 63 LEITURA E GRAVAÇÃO EM ARQUIVOS 63 EXEMPLOS 64 O PREPROCESSADOR C 65
5 5 Histórico BCPL B C Projetada por Dennis Ritchie para ser implementada no sistema operacional Unix Evolução: O Unix e os programas de aplicação implementados em C Linguagem de Implementação de vários sistemas operacionais, interpretadores, editores, compiladores, software de comunicação, etc.
6 6 Características Linguagem de programação de finalidade geral É uma linguagem que combina o alto nível com o baixo nível permite a manipulação direta de bits, bytes, palavras e apontadores Possui modernos fluxos de controle e estruturas de dados e, ainda, um rico conjunto de operadores Possui apenas 28 palavras-chaves (reservadas) Permite economia de expressão e gera códigos reduzidos Permite estruturar o software em módulos, arquivos fontes, bibliotecas É facilmente transportável (ANSI C) Alocação dinâmica de memória C permite recursividade O uso da recursividade torna-se inviável quando o tempo ou o espaço da memória forem críticos
7 7 Críticas Dá-se muita liberdade ao programador Programas ininteligíveis, acesso direto a memória Não permite o aninhamento de funções Não há verificação de tipos e nem de limites de arranjos Simplifica o design do compilador C O uso de apontadores pode se tornar muito confuso Mensagens de erro muito vagas ( limitação do compilador ) Alguns comandos não podem ser definidos semanticamente Constatação: não possui muitas facilidades para tratamento de arquivos
8 8 Programa em C Consiste de uma (main) ou mais funções Um programa começa a ser executado no início da função main ( ), que invocará as demais funções A comunicação entre as funções é feita através da passagem de argumentos e/ou variáveis globais Tipos de Arquivos Fontes em C Arquivos fonte *.c Arquivos fonte *.h (stdio.h, math.h) Bibliotecas em C São utilizadas para facilitar o desenvolvimento de software Por exemplo, stdlib.a é sempre incluída em todos os programas C por default
9 9 Palavras Chaves São sempre escritas com letras minúsculas auto break case char continue default do double else entry extern float for goto if int long register return short szeof satic struct switch typedef union unsigned while Variáveis e Constantes - Tipos e Declarações Declaração deve vir antes do uso Os nomes das variáveis são constituídos de letras e dígitos, onde o primeiro caractere é uma letra Há diferença entre letras maiúsculas e minúsculas Uso de letras maiúsculas para constantes (convenção)
10 10 L I N G U A G E M C T I P OS D E D A D O S
11 11 Tipos de Dados char int float double void - tipo caractere (normalmente um byte) - tipo inteiro (tamanho natural de inteiro na máquina 2 bytes ) - tipo ponto flutuante de precisão simples (1e-37 até 1e+37) - tipo ponto flutuante de precisão dupla - tipo explicíto para funções ou ponteiros (será visto a posterior) Qualificadores para o tipo inteiro short long unsigned A Norma ANSI C Diferentes compiladores C para diferentes arquitetura de hardware define tamanhos diferentes para o armazenamento dos tipos de dados da Linguagem C Isto poderá gerar problemas de portabilidade dos fontes Definição da norma ANSI C
12 12 Tipo Tamanho em Bits Intervalo char à 127 unsigned char 8 0 à 255 signed char à 127 int à unsigned int 16 0 à signed int 16 Igual a int short int 16 Igual a int unsigned short int 8 0 à signed short int 8 Igual a short int long int à unsigned long int 32 0 à signed long int 32 Igual a long int float 32 Seis dígitos de precisão double 64 Dez dígitos de precisão long double 128 Dez dígitos de precisão Identificadores Todos os tipos de dados defenidos pelo padrão ANSI Usados para definir nomes de variáveis, funções, rótulos (labels), etc. Consiste de um ou mais caracteres, o primeiro caracter deve ser letra ou _, os demais devem ser letras, ou números ou _ Pode ter qualquer tamanho, os 6 primeiros caracteres devem ser significativos para serem usados como nomes externos, e os 31 primeiros caracteres para nomes internos Correto contador test123 sala_de_aula Incorreto 1contador ola!turma sala-de-aula
13 13 Variáveis É uma posição da memória, identificada por um nome (identificador), usada para guardar um valor que poderá ser usado, modificado pelo programa Todas as variáveis em C devem ser declaradas Uma declaração consiste de um tipo (adcionado de algum qualificador) e de uma lista de variáveis (separadas por vírgula) que sejam deste tipo Ex: int soma, total; double fact; char carac, ch; unsigned int idade; short int valor; C não inicializa as variáveis Variáveis podem ser inicializadas quando declaradas Onde declarar variáveis Ex: int eh_zero = 0, num_max = 5000; float pi = , eps = 1.0e-5; dentro de funções variáveis locais definição dos parâmetros das funções parâmetros formais fora das funções variáveis globais
14 14 Variáveis Locais Só pode ser referenciada dentro do bloco na qual foi definida, são criadas após a sua definição e são destruídas após a saída do bloco Um bloco é identificado por um par de chaves no ínicio e no fim, no máximo um bloco representa uma função Variáveis podem ser definidas em qualquer parte do bloco, normalmente as variáveis são definidas logo no início de uma função ( a variável local só pode ser referenciada depois de ter sido definida) Parâmetros Formais São usados para definir os argumentos de uma função Comportamento igual ao de uma variável local Lista de identificadores, separados por vírgula, após o nome da função entre parenteses Deve-se definir os parâmetros e o tipo deles deve ser o mesmo definido para os argumentos usados na chamada da função ( o compilador não verifica isto)
15 15 Variáveis Globais Diferem das variáveis locais por poderem ser usadas em qualquer parte do código Existem durante todo o ciclo de vida do programa (ocupa memória) Normalmente são declaradas no ínicio do programa e/ou em arquivos do tipo header (*.h) Se uma variável local tem o mesmo nome de uma variável global, dentro do bloco no qual foi definido a variável local ela terá prioridade sobre a global Deve-se evitar o uso abusivo de variáveis globais para evitar problemas de limitação de memória e de tempo de execução As variáveis globais só podem ser declaradas uma só vez O Tipo const Variáveis do tipo const não podem ser modificadas pelo programa, entretanto elas podem ser inicializadas quando forem definidas Ex: const int a = 10;
16 16 Especificadores de Tipos de Armazenamento devariáveis extern extern static register auto Permite que dois ou mais arquivos compartilhem as mesmas variáveis globais As variáveis globais só podem ser declaradas uma só vez É um mecanismo para importar variáveis globais definidas em outros arquivos O escopo de uma variável extern vai do ponto em que ela é declarada no arquivo fonte até o fim do mesmo Para variáveis automáticas (locais) e argumentos, o escopo é a função em que o nome é definido Declaração extern é obrigatória em dois casos Declaração é diferente de definição Ex: Arquivo 1: Arquivo 2: int ap = 0; /* apontador */ extern int ap; double val [MAXVAL]: extern double val[ ]; double empil (f)... double desempil ( )...
17 17 static register Quando usado em uma variável local: instrui o compilador a manter a variável local existente durante o tempo de vida do programa (ela só existe no bloco em que foi definida) Quando usado em uma variável global: instrui o compilador a limitar o uso desta variável ao arquivo onde ela foi definida Ex: int contador ( x) char x; static int meucontador = 0; meucontador = meucontador + 1;... usado em variáveis locais do tipo caractere ou inteiro, provê um acesso mais rápido a mesma (pode também ser usado nos parâmetros formais). Em algums implementações utiliza registradores ao invés de memória auto Ex: register int aux; for (aux = 0; aux < 100; aux++)... usado para declarar variáveis locais. É opcional e pouco usado porque é default
18 18 Constantes São valores constantes fixos dentro do programa que não podem ser alterados Tipo de Dado Exemplos int long int 35000L -34L short int unsigned int 10000U 987U float F 4.34e -3F double long double L hexadecimal int hex = 0x80 (128) octal int oct = 012 (10) character a string este e um teste Código Significado \b Espaço \f Alimenta formulário \n Pula linha \r Carriage return \t Tabulação horizontal \ Aspa dupla \ Aspa simples \0 NULL \\ \ \v Tabulação vertical \a Alerta \N Constante octal \xn Constante hexadecimal
19 19 O uso de constantes simbólicas torna o programa mais legível. Geralmente são escritas com letras maiúsculas. O comando define neste exemplo será processado pelo pré-processador do C (cpp) Ex: #define INICIO 0 /* limite inferior da tabela */ int #define GOS 0.1 /* grau de servico eh 10% */ double #define FIM 123L /* limite inferior */ long
20 20 Operadores Atribuição atribuição aritméticos relacionais lógicos manipulação de bits (bitwise) especiais O operador de atribuição pode ser usado em qualquer expressão válida em C Forma geral: nome-da variavel = expressao ; O nome-da-variavel deve ser uma variável ou um pointer (para um endereço válido na memória) Múltiplas atribuições Ex: x = y = z = 0;
21 21 Quando tipos diferentes de variáveis são usados ocorre uma conversão de tipos nas seguintes situações (este resultado depende da arquitetura do hardware) Tipo da Variável Tipo da Expressão Possíveis Perdas signed char char Se valor > 127, valor final é negativo char short int 8 bits de mais alta ordem char int 8 bits de mais alta ordem char long int 24 bits de mais alta ordem int long int 16 bits de mais alta ordem int float parte fracionária e talvez mais info float double Precisão, resultado arredondado double long double Precisão, resultado arredondado Conversão de alguns tipos (assumindo uma palavra de 16 bits)
22 22 Operadores Aritméticos Operador Prioridade Ação - 3 (1) subtração ( unário ) + 3 adição * 2 multiplicação / 2 divisão % 2 resto da divisão (só para int) -- 1 decrementa ++ 1 incrementa Ex: x = x + 1; ++x; x = x -1; x--; x = 10; y = ++x; y = 11 x = 10; y = x++; y = 10 Operadores Relacionais Operador Prioridade Ação > 4 maior que > = 4 maior ou igual que < 4 menor que < = 4 menor ou igual que = = 5 igual! = 5 diferente
23 23 Operadores Lógicos Operador Prioridade Ação && 6 e 7 ou! 1 não Operadores para Manipulação de Bits (só para int e char) Operador Ação & e ou ^ ou exclusivo ~ complemento de 1 >> deslocamento à esquerda << deslocamento à direita Ex: ch & com paridade & sem paridade ^ (ou) ^ (ou exclusivo)
24 24 char x x depois de cada comando valor de x x = 7; x << 1; x << 3; x << 2; x >> 1; x >> 2; Multiplicação e Divisão através do operador de deslocamento Ex: complemento de 1 ~ Operadores Especiais O operador? Forma geral: Exp1? Exp2 : Exp3 Ex: x = 10; y = x > 9? 100 : 200; Os operadores & e * para pointers (ponteiros) - Um ponteiro é o endereço de uma variável na memória - Uma variável do tipo ponteiro (pointer) pode ser declarada para um tipo específico de dado - Ponteiros podem ser usados para: acesso rápido a elementos de arranjos; modificar os parâmetros de chamad de uma função; e acesso a estruturas dinâmicas Ex: m = &contador; m recebe o endereço de contador q = *m; q recebe o valor que está armazenado no endereço m
25 25 O operador, (vírgula) -Usado para juntar várias expressões Ex: x = ( y = 3, y + 1); Precedência e Ordem de Avaliação A tabela abaixo apresenta um resumo das regras de precedência e de`associatividade de todos os operadores vistos Operador Associatividade ( ) [ ] ->. esquerda para direita! ~ (tipo) * & sizeof direita para esquerda * / % esquerda para direita + - esquerda para direita << >> esquerda para direita > = > < < = esquerda para direita = =! = esquerda para direita & esquerda para direita ^ esquerda para direita esquerda para direita && esquerda para direita esquerda para direita?: direita para esquerda ++ = -= etc. direita para esquerda, esquerda para direita
26 26 L I N G U A G E M C C O M A N D O S D E C O N T R O L E
27 27 Comandos de Controle O ponto-e-virgula (;) é usado como terminador de comandos seleção iteração desvio rótulo (label) expressão bloco Comando de Seleção if Forma Geral: if (expressão) comando; else comando; Num aninhamento, o else é associado ao mais recente if sem else
28 28 switch Forma Geral: switch (expressão) case constante1: comando(s) break; case constante2: comando(s) break;... default: comando(s)
29 29 Comando de Iteração for for (expressao_1; expressao_2; expressao_3) inicialização comando; condição de parada incremento Loop infinito: for (; ;) comando; for sem corpo: for ( t=0; t < VALOR; t++); while Forma Geral: while (condição) comando; do-while Forma Geral: do comando(s) ; while (condição);
30 30 Comando de Desvio return Forma Geral: return expressão; (opcional) goto Forma Geral: goto label;... label: comando; break Forma Geral: break; exit Forma Geral: void exit (int codigo-de-retorno); continue Forma Geral: continue;
31 31 Expressões Qualquer expressão válida em C seguida de um ; Ex: func ( ); /* chamada de funcao */ a = b + c; /* comando de atribuicao */ ; /* comando nulo */ Bloco de Comandos Comandos agrupados que são tratados como uma unidade. Devem estar entre
32 32 Exemplos main () printf( programa em C\n ); main ( ) /* copia entrada na saída */ main( ) int c; int c; c = getchar( ) ; while ((c = getchar( ))!= EOF) while (c!= EOF) putchar(c); putchar (c); c = getchar( ); main() /* teste da funcao de potencia */ int j; for ( j = 0; j < 10; j++) printf ( %d %d %d\n, j, pot(2,j), pot(-3,j)); pot (x, n) int x, n; int j, p; p = 1; for (j = 1; j <= n; ++j) p = p * x; return (p);
33 33 L I G U A G E M C A R R A N J O S
34 34 Arranjos Coleção de variáveis do mesmo tipo referenciadas por um só nome. Um elemento específico num arranjo é localizado por um índice ou mais Os arranjos em C podem ter de 1 a N dimensões Pode-se declarar arranjos em quaisquer dos tipos de dados descritos anteriormente Os índices de arranjos começam sempre de 0 C não faz testes para os limites de um arranjo Arranjo Bi-dimensional Arranjos com várias dimensões são declarados colocando-se a dimensão adicional dentro de outro par de colchetes Ex: float matriz [2] [2];
35 35 Strings O uso mais comum para os arranjos uni-dimensionais é na declaração de strings (cadeia de caracteres) Em C um string é definido como uma cadeia de caracteres que termina por um caractere null ( \0 ). Portanto quando declarar o arranjo adicione 1 ao tamanho máximo Ex: char s [11]; s pode armazenar 10 caracteres s [10] deve ser o caracter null ( \0 ) Em C não existe o tipo de dados string, porém existe a constante do tipo string Ex: char mensagem = ola a todos ; Funções para Manipulação de Strings Nome strcpy (s1, s2) strcat (s1, s2) strlen (s1) strcmp (s1, s2) strchr (s1, ch) strstr (s1, s2) copia s2 em s1 Função concatena s2 no fim de s1 retorna o tamanho de s1 retorna 0 se s1 e s2 forem do mesmo tamanho retorna < 0 se s1 < s2 retorna > 0 se s1 > s2 retorna um ponteiro para o primeiro caracter de ch em s1 retorna um ponteiro para a primeira ocorrência de s2 em s1 Estas funções operam sobre strings terminados com o caractere null ( \0 )
36 36 Arranjos de strings É só utilizar o bi-dimensional arranjo de caracteres Ex: char str-array [30] [80]; Inicialização de Arranjos Ex: int j[10] = 1, 2, 3, 4, 5, 6, 7, 8, 9; char str [14] = Eu gosto de C ; char str [14] = E, u,, g, o, s, t, o,, d, e,, C, \0 ; Ex: main ( ) int nbranco = 0; int noutro = 0; int c, j, nbranco, noutro; int ndigito[10] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 int ndigito[10]; main ( ) nbranco = noutro = 0; for (j = 0; j < 10; j ++) int c, j; ndigito[j] = 0;......
37 37 Exemplos main () /* conta carac. na entrada */ main () long int nc; double int nc; nc = 0; for (nc = 0; getchar()!= EOF; ++nc) while (getchar ()!= EOF) ; ++nc; printf ( %.0f\n, nc); printf ( %ld\n, nc); main () /* conta digitos, espaco em branco, outros caracteres */ int c, j, nbranco, noutro; int ndigito [10]; nbranco = noutro = 0; for (j = 0; j < 10; ++j) ndigito [j] = 0; while ((c = getchar())!= EOF) if (c >= 0 && c <= 9 ) ++ndigito [c - 0 ]; else if (c == c== \n c == \t ) ++nbranco; else ++noutro; printf ( digitos = ); for (j = 0; j < 10; j++) printf ( %d, ndigito [j]); printf( \nespacos em branco = %d, outros = %d\n, nbranco, noutro);
38 38 Exemplos (continuação) /* exemplo do uso do continue */ for (j = 0; j < N; j++) if (a[j] < 0) /* elementos negativos saltados */ continue;... /* elementos positivos processados */ /* exemplo do uso do goto */ for (j = 0; j < N; j++) for (k = 0; k < M; k++) if (v[j][k] < 0) goto achei; /* nao achei */... achei: /* achei na posicao j, k */
39 39 L I N G U A G E M C E S T R U T U R A S E U N I Õ E S
40 40 Estruturas Pode-se criar combinações de tipos de dados básicos, utilizando struct e union Uma estrutura é uma coleção de uma ou mais variáveis que podem ser de tipos diferentes e que passam a ser referenciadas por um único nome Forma Geral: struct tag tipo nome-da variavel; tipo nome-da variavel; tipo nome-da variavel;... variaveis-estruturas; Ex: struct func struct func int matr; int matr; char nome [40]; char nome [40]; int setor; int setor; float salario; float salario; serv1, serv2; ; struct func serv1, serv2; O operador ponto (.) é usado quando se quer referenciar um elemento individual de uma estrutura Ex: serv1.setor = 2112; serv1.salario = Estruturas admitem aninhamento
41 41 Uniões Uma union é definida quando duas ou mais variáveis compartilham a mesma área de memória Ex: union qualq char ch; int x; aux1; x byte 1 byte 2 Exemplos: struct data static int tab_dia[2][13] = 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 int dia; 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 int mes; ; int ano; int dia_ano; char nome_mes[4]; ; ch dia_do_ano(ad) /* acha o dia do ano a partir do dia do mes */ struct data *ad; int j, dia, bissexto; dia = ad -> dia; bissexto = ad -> ano % 4 = = 0 && ad -> ano % 100! = 0 ad -> ano % 400 = = 0; for ( j = 1; j < ad -> mes; j++) dia = dia + tab_dia[bissexto][j]; return(dia);
42 42 Exemplos (continuação) #define SIM 1 #define NAO 0 main( ) /* conta linhas, palavras, caracteres na entrada */ int c, nl, np, nc, empalavra; empalavra = NAO; nl = np = nc = 0; while ((c = getchar( ) )!= EOF) nc++; if (c = = \n ) nl++; if (c = = c = = \n c = = \t ) empalavra = NAO; else if (empalavra = = NAO) empalavra = SIM; np++; atoi (s) /* funcao que converte um string de números s em um inteiro */ int j, n = 0; for ( j = 0; s[j] >= 0 && s[j] <= 9 ; ++j) return (n); n = 10 * n + s[j] - 0 ;
43 43 Exemplos (continuação) comprime (s, c) /* remove todos os c de s */ char s[ ]; int c; int j, k; for (j = k = 0; s[j]!= \0 ; j++) if (s[j]!= c) s[k++] = s[j]; s[k] = \0 ; contabits (n) /* conta os bits ligados em n */ unsigned n; int b; for (b = 0; n!= 0; n >>= 1) if (n & 01) b++; return (b);
44 44 Exemplos (continuação) pesq-binaria(x, v, n) /* acha x em v[0]... v[n-1] */ int x, v[ ], n; int inicio, fim, meio; inicio = 0; fim = n -1; while (inicio <= fim) meio = (inicio + fim) / 2; if (x < v[meio]) fim = meio - 1; else if (x > v[meio]) inicio = meio + 1; else /* achou */ return(meio); return (-1);
45 45 Exemplos (continuação) /* imprimir a tabela de conversão Fahrenheit-Celsius para f = 0, 20,..., 300 */ main( ) int inicio = 0, /* limite inferior da tabela */ fim = 300, /* limite superior */ incr = 20; /* incremento */ float fahr, celsius; fahr = inicio; while (fahr <= fim) celsius = (5.0 / 9.0) * (fahr ); printf( %4.0f %6.1f\n, fahr, celsius); fahr = fahr + incr; /* imprimir a tabela de conversão Fahrenheit-Celsius para f = 0, 20,..., 300 */ #define INICIO 0 /* limite inferior da tabela */ #define FIM 300 /* limite superior */ #define INCR 20 /* incremento */ main( ) int fahr; for (fahr = INICIO; fahr <= FIM; fahr += INCR) printf( %4.0f %6.1f\n, fahr, (5.0 / 9.0) * (fahr - 32));
46 46 L I N G U A G E M C F U N Ç Õ E S
47 47 Uso de Funções Funções dividem grandes tarefas de computação em partes menores e simples Um programa é estruturado em C como um conjunto de definições individuais de funções O programa fonte pode ser dividido em arquivos múltiplos Funções em C Comunicação feita por argumentos e valores retornados O return define um mecanismo para retornar um valor de uma função chamada para a sua chamadora As funções podem ocorrer em qualquer ordem no arquivo fonte C permite que declaremos o tipo que uma função irá retornar A rotina chamadora deve estabelecer que a função chamada retorna um valor não inteiro Por default, o tipo de uma função é int Passagem de Estruturas para Funções Pode se pssar um elemento de uma estrutura por valor Ex: struct exemplo char x; int y; ex; func1 (ex.x);
48 48 Passagem do endereço de um componente Ex: func2 (&ex.x); Passagem de uma Estrutura por referência func3 (&ex);
49 49 Exemplos do uso de Funções double fatorial (num) int num; /* Retorna o fatorial de um numero. Se um erro ocorre, ela retorna o valor -1 e emite uma mensagem */ double aux, fact; if (num < 0) printf ( \n Erro: fatorial de um numero negativo! ); fact = -1.0; else fact = 1.0; for (aux = num; aux > 0: aux --) fact *= aux; return (fact); atoi (s) /* converte um string num inteiro */ char s[ ]; int j, n, sinal; for (j = 0; s[j] == s[j] == \n s[j] == \t ; j++) ; /* pula espacos em branco */ sinal = 1; if (s[j] == + s[j] == - ) /* sinal */ sinal = (s[j++] == + )?1:-1; for (n = 0; s[j] >= 0 && s[j] <= 9 ; j++) n = 10 * n + s[j] - 0 ; return(sinal * n);
50 50 Utilização de Parâmetros A passagem de argumentos pode ser feita por: valor referência (endereço), por exemplo, o endereço de um arranjo As funções em C aceitam um número variável de argumentos (não transportável) As variáveis externas (globais) são definidas fora de qualquer função e ficam disponíveis para qualquer função As funções são sempre externas (não há aninhamento) Deve-se usar variáveis externas quando há um grnde número de funções que fazem uso das mesmas O escopo de um nome é a parte do programa para o qual o nome é definido Para variáveis automáticas (locais) e argumentos, o escopo é a função em que o nome é definido Num programa C deve ter pelo menos a função main ( ) onde começa a execução A função main ( ) tem dois argumentos: argc argv [ ]
51 51 Funções de Entrada e Saída As funções de entrada e saída estão definidas no arquivo header stdio.h A Função Printf Permite a impressão de quantidades numéricas, strings, caracteres, etc. Forma Geral: printf (controle, arg1, arg2,... ) caracteres ordinários e especificações de conversão ( % ) Entre o % e o caractere de conversão pode haver: sinal de menos cadeia de dígitos (tamanho mínimo) um ponto cadeia de dígitos modificador de tamanho (l) Caracteres de conversão: d, o, x, u, c, s, e, f e g Ex: printf( fatorial de %d = %g\n, num, fatorial(num)); Por default todos os tipos são ajustados à direita, para ajustar à esquerda inclua o caractere -
52 52 Formato Significado %c caracter %d inteiro decimal com sinal %i inteiro decimal com sinal %e notação científica com e %E notação científica com E %f ponto flutuante decimal %g escolhe %e ou %f,o menor dos dois formatos %G escolhe %E ou %f,o menor dos dois formatos %o octal %p imprime o endereço de um ponteiro %s cadeia de caracteres %u inteiro decimal sem sinal %x hexadecimal sem sinal (letras minúsculas) %X hexadecimal sem sinal (letras maiúsculas) %% imprime o caracter % Formatos para o comando printf
53 53 Exemplo main ( ) int num; double fatorial; printf ( \n Entre com um numero: ); scanf ( %d, &num); printf ( \n Fatorial de %d %f\n, num, fatorial(num)); double fatorial (x) int x; /* Calcula o fatorial de um numero recursivamente. Retorna um valor negativo se recebe como parametro um numero negativo */ if (x < 0) printf ( \n Erro: fatorial de um numero negativo!!!); return (-1); else if (x == 0) return (1); else return (x * fatorial (x - 1));
54 54 A função Scanf Usada para a entrada (leitura) de dados, para string ler até o primeiro espaço em branco, ou o return, ou o tab. Forma Geral: scanf ( controle, arg1, arg2,...) A cadeia de controle pode conter Devem ser apontadores Análogo ao printf Espaços em branco Caracteres ordinários Especificações de conversão Um número (opcional) especificando o tamanho do campo Caracteres de conversão Caracteres de conversão aceitos: d, o, x, h, c, s e f Ex: Note que a função scanf está usando passagem de parâmetros por referência #include <stdio.h> main ( ) /* calculadora elementar */ double soma, v; soma = 0; while (scanf ( %lf, &v)!= EOF) printf ( \t%.2f\n, soma += v);
55 55 Os caracacteres d, o, x e f podem ser precedidos por l Formato Significado %c lê um caracter %d lê um inteiro decimal com sinal %i lê um inteiro decimal com sinal %e lê um número ponto flutuante %f lê um número ponto flutuante %g lê um número ponto flutuante %o lê um octal %p lê o endereço de um ponteiro %s lê uma cadeia de caracteres %u lê um inteiro sem sinal %x lê um hexadecimal sem sinal Formatos para o comando scanf
56 56 L I N G U A G E M C A P O N T A D O R E S ( P O I N T E R S )
57 57 Apontadores Um apontador é uma variável que contém o endereço de outra variável Levam a um código mais compacto e eficiente (disciplina) É aplicado apenas a variáveis, elementos de arranjos e elementos de estruturas O operador unário & fornece o endereço de um objeto Ex: px = &x; O operador unário * trata seu operando como endereço Ex: y = *px; É necessário haver declaração de tais variáveis Ex: int x, y; int *px; Podem ocorrer em expressões (os operadores * e & têm precedência sobre os demais operadores) Ex: y = *px + 1; * ( px + 1 ) *px = 0; (*px) ++;
58 58 Apontadores e Argumentos de Funções Apontadores são utilizados quando se quer passar valores por referência O programa chamador passa apontadores para as variáveis que se quer atualizar Ex: troca (ax, ay) /* permuta *ax e *ay */ int *ax, *ay; int temp; temp = *ax; *ax = *ay; *ay = temp; Uso comum quando uma função deve retornar mais de um valor Ex: leint (an) /* le proximo caracter da entrada */ int *an; int c, sinal; while (( c = getch( )) = = c = = \n c = = \t ) ; /* pula espaco em branco */ sinal = 1; if (( c = = + c = = - ) /* guarda o sinal */ sinal = (c = = + )? 1 : -1; c = getch ( ); for (*an = 0; c >= 0 && c <= 9 ; c = getch ( )) *an = 10 ** an + c - 0 ; *an *= sinal; if (c!= EOF) ungetch ( c); return (c);
59 59 Apontadores e Arranjos Existe um relacionamento muito estreito entre arranjos e apontadores Ex: int a[10]; int *pa; pa = &a[0]; /* pa = a */ x = *(pa + 1) /* refere-se ao conteudo de a[1] */ Obs: a[j] é idêntico a *( a + j ) Qualquer arranjo e expressão indexada podem ser escritos como um apontador e deslocamento ( vice-versa ) É possível passar parte de um arranjo para uma função Aritmética com Endereços Se p é um apontador, então p++ faz p apontar para o próximo elemento, independente do tipo para o qual p aponta Ex: strlen (s) /* retorna o tamanho da cadeia s */ char *s; char *ap = s; while (*ap!= \0 ) ap++; return (ap - s);
60 60 Operações permitidas com apontadores: adição/subtração com inteiro; adição/subtração/comparação de dois apontadores NULL e p < q Apontadores de Caractere e Funções Quando uma cadeia de caracteres aparece num programa, o acesso a mesma é feito através de um apontador de caractere Ex: char *mensagem; mensagem = sou uma cadeia ; strcpy (s, t) /* copia t em s */ strcpy (s, t) /* copia t em s*/ char s[ ], t[ ]; char *s, *t; int j; while ((*s++ = *t++)!= \0 ) ; j = 0; while ((s[j] = t[j]!= \0 ) j++; Note que: *++p *p++ É possível criar apontadores para apontadores Ex: int *tab_dia[13]; arranjo de apontadores
61 61 Arranjos de apontadores podem ser incializados Ex: char *nome_mes (n) /* retorna o nome do n-esimo mes */ int n; static char *nome[ ] = mes ilegal, janeiro, fevereiro,... dezembro ; return ((n < 1 n > 12)? nome[0] : nome[n]); Apontadores para Funções É possível definir um apontador para uma função Tal apontador pode ser manipulado, passado como argumento, colocado em arranjos, etc. Note que: int (*comp) ( )!= int *comp( )
62 62 Apontadores para Estruturas Ex: struct addr *addr-pointer; A referência para um elemento de uma estrutura através de um apontador para esta estrutura é feita usando o operador -> Ex: struct exemplo float numero; char nome [80]; pessoa; struct exemplo *ptr; ptr = &pessoa; ptr -> nome = Luis ; Argumentos da Linha de Comando Os únicos argumentos permitidos para a função main são argc e argv apontador para os argumentos passados número de argumentos da linha de comando Ex: main (argc, argv) int argc; char *argv[ ]; if (argc < 2) printf ( Entre com seu nome na linha de comando\n ); else printf( Ola %s\n, argv[1]);
63 63 argv[0] é o nome do programa e argv[1] é o primeiro argumento Função para abrir e fechar arquivos Existência de um apontador de arquivo Ex: FILE *fp, *fopen ( ); fp = fopen (nome, modo); Os modos de abertura podem ser os seguintes: r - leitura w - gravação a - adição O apontador nulo, NULL, é retornado se há um erro fclose ( ) para fechar arquivos Leitura e Gravação em Arquivos Para ler ou gravar num arquivo, pode-se usar: getc ( ), putc ( ), fscanf ( ), fprintf ( ) Ex: c = getc (fp); putc (c, fp);
64 64 Exemplos #include <stdio.h> main (argc, argv) /* cat: concatena arquivos */ int argc; char *argv[ ]; FILE *fp, *fopen ( ); if (argc = = 1) /* nao tem argumentos; copia entrada padrao */ copia_arq (stdin); else while (--argc > 0) if ((fp = fopen (*++argv, r )) = = NULL) fprintf (stderr, Erro: cat nao pode abrir %s\n, *argv); exit (1); else copia_arq (fp); fclose (fp); exit (0); copia_arq (fp) /* copia arquivo fp na saida padrao */ FILE *fp; int c; while ((c = getc (fp)!= EOF) putc (c, stdout);
65 65 O Preprocessador C Uma linha do tipo #include nome_arquivo é substituída pelo conteúdo de nome_arquivo Substituição de macros: #define TRUE 1 Exemplo: #define max (A, B) ((A) > (B)? (A) : (B))
66 66
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 maisCapí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 maisINF 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 maisIntrodução à Linguagem C
Introdução à Linguagem C Eduardo Simões de Albuquerque Instituto de Informática UFG 13/03/2006 1 História Inventada e desenvolvida por Dennis Ritchie em um DEC- PDP 11 Originária de: BCPL desenvolvida
Leia maisAlgoritmos 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 mais2. 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 maisMC102 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 maisINF 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 maisLinguagem 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 maisAlgoritmos 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 maisINTRODUÇÃ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 maisResumo 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 maisLinguagem 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 maisPrimeiro Curso de Programação em C 3 a Edição
Edson Luiz França Senne Primeiro Curso de Programação em C 3 a Edição Visual Books Sumário Prefácio da Terceira Edição 9 Prefácio da Primeira Edição 11 Aula 1 13 Regras de sintaxe de uma linguagem de programação...
Leia maisLinguagem 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 maisEstrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org
Estrutura da linguagem de programação C Prof. Tiago Eugenio de Melo tiago@comunidadesol.org Breve Histórico A linguagem de programação C foi criada na década de 70, por Dennis Ritchie, que a implementou,
Leia maisEstruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.
1 Estruturas da linguagem C 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões. Identificadores Os identificadores seguem a duas regras: 1. Devem ser começados por letras
Leia maisIntrodução. Manipulação de arquivos em C. Estrutura de Dados II Prof Jairo Francisco de Souza
Introdução Manipulação de arquivos em C Estrutura de Dados II Prof Jairo Francisco de Souza Manipulação de Arquivo em C Existem dois tipos possíveis de acesso a arquivos na linguagem C : sequencial (lendo
Leia maisManipulação de Arquivos
Manipulação de Arquivos Estrutura de Dados II Prof. Guilherme Tavares de Assis Universidade Federal de Ouro Preto UFOP Instituto de Ciências Exatas e Biológicas ICEB Departamento de Computação DECOM Tipo
Leia maisLP 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 maisLinguagem 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 maisAlgoritmos e Programação _ Departamento de Informática
16 ARQUIVOS Um arquivo corresponde a um conjunto de informações (exemplo: uma estrutura de dados-registro), que pode ser armazenado em um dispositivo de memória permanente, exemplo disco rígido. As operações
Leia maisUNIVERSIDADE 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 maisINTRODUÇÃ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 maisConceitos 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 maisProgramaçã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 maisSistemas Operacionais e Introdução à Programação. Programação com linguagem C
Sistemas Operacionais e Introdução à Programação Programação com linguagem C 1 Variáveis na linguagem C: tipo char O tipo char representa um caractere ASCII (ocupa só 1 byte) int main(int argc, char **
Leia maisCurso 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 maisComponentes 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 maisEstrutura de um programa em linguagem C
Estrutura de um programa em linguagem C Estrutura de um programa em linguagem C Exemplo de um programa em linguagem C Directivas de Pré-Processamento #include Declarações Globais Declarações
Leia maisTabela ASCII de caracteres de controle
Caracteres Estruturas de Dados Aula 6: Cadeias de Caracteres 31/03/2010 Caracteres são representados internamente por códigos numéricos Tipo char (inteiro pequeno ) 1 byte (8 bits) 256 caracteres possíveis
Leia maisPROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: INTRODUÇÃO À PROGRAMAÇÃO Carga horária total: 60 h Carga horária teórica: 30 h Carga horária prática: 30 h Código da Disciplina: CCMP0041 Período de oferta: 2015.2 Turma:
Leia maisProgramaçã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 maisCurso de C para Engenharias
Aula 4 Cristiano Dalbem Dennis Balreira Gabriel Moreira Miller Biazus Raphael Lupchinski Universidade Federal do Rio Grande do Sul Instituto de Informática Grupo PET Computação Sintaxe Funções Exemplos
Leia maisProgramação Básica em Arduino Aula 2
Programação Básica em Arduino Aula 2 Execução: Laboratório de Automação e Robótica Móvel Variáveis são lugares (posições) na memória principal que servem para armazenar dados. As variáveis são acessadas
Leia maisCurso 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 maisLaborató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 maisConceitos de Linguagens de Programação
Conceitos de Linguagens de Programação Aula 07 Nomes, Vinculações, Escopos e Tipos de Dados Edirlei Soares de Lima Introdução Linguagens de programação imperativas são abstrações
Leia maisTipos de Dados Simples
Programação 11543: Engenharia Informática 6638: Tecnologias e Sistemas de Informação Cap. 3 Tipos de Dados Simples Tipos de Dados Simples Objectivos: Hierarquia de tipos de dados Tipos de dados simples
Leia maisLinguagem 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 maisIntrodução à Linguagem
Introdução à Linguagem Curso de Nivelamento do PPGMNE Janeiro / 2011 Juliano J. Scremin jjscremin@jjscremin.t5.com.br Um pouco de história Um pouco de história: Nascimento do Python Um pouco de história:
Leia maisUniversidade 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 maisIntroduçã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 maisUniversidade 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 maisOperaçõ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 maisLINGUAGEM 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 maisProgramação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO
Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO Introdução Criada em 1972, por Dennis Ritchie; Centro de Pesquisas da Bell Laboratories; Para utilização no S.O. UNIX; C é uma linguagem
Leia maisSintaxe 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 maisVariá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 maisProgramaçã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 mais20 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 maisCurso de C. Procedimentos e Funções. 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1
Curso de C Procedimentos e Funções 6/4/200901/04/09 09:42 Copyright@Arnaldo V Moura, Daniel F Ferber 1 Funções Roteiro: Funções Declaração e chamada Funções importantes Exemplos de funções Variáveis Globais,
Leia maisPIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS ALGORITMOS & ESTRUTURAS DE DADOS
PIP/CA - Programa Interdisciplinar de Pós-Graduação em Computação Aplicada da UNISINOS Disciplina de Nivelamento - 2000/1: ALGORITMOS & ESTRUTURAS DE DADOS Professor Responsável: Prof. Fernando Santos
Leia maisO 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 maisAlgoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões
Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal
Leia maisIntrodução à Linguagem C
Prof. Yandre Maldonado - 1 Prof. Yandre Maldonado e Gomes da Costa Prof. Yandre Maldonado - 2 Linguagem C: Desenvolvida por Dennis Ritchie nos laboratórios da AT&T Bell (EUA) no início dos anos 70; Algol
Leia maisAula 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 maisLinguagem 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 maisINF 1007 Programação II
INF 1007 Programação II Aula 05 Cadeias de Caracteres Edirlei Soares de Lima Caracteres Caracteres são representados através de códigos numéricos. Tabela de códigos: Define correspondência
Leia maisLinguagem 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 maisAlgoritmo 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 maisEstrutura 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 maisMC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados
MC102 Algoritmos e Programação de Computadores 2ª Aula Programa, entrada e saída de dados 1. Objetivos Falar sobre programa de computador, diferenciando programa em linguagem de máquina, de programa em
Leia maisHello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento
Hello World Linguagem C printf("hello world!\n"); main é a função principal, a execução do programa começa por ela printf é uma função usada para enviar dados para o vídeo Palavras Reservadas auto double
Leia maisRoteiro 1: Dados, variáveis, operadores e precedência
1. Introdução Universidade Federal do ABC Disciplina: Processamento da Informação (BC-0505) Assunto: Dados, variáveis, operadores e precedência Roteiro 1: Dados, variáveis, operadores e precedência Nesta
Leia maisProgramação de Computadores I. Ponteiros
Ponteiros Prof. Edwar Saliba Júnior Outubro de 2012 Unidade 13 Ponteiros 1 Identificadores e Endereços Na linguagem C, uma declaração de variável faz associação entre um identificador e endereços de memória;
Leia maisCriar a classe Aula.java com o seguinte código: Compilar e Executar
Introdução à Java Prof. Bruno Gomes bruno.gomes@ifrn.edu.br Programação Orientada a Objetos Código Exemplo da Aula Criar a classe Aula.java com o seguinte código: public class Aula { public static void
Leia maisPROGRAMA DE DISCIPLINA
PROGRAMA DE DISCIPLINA Disciplina: Introdução à Programação Carga horária total: 60 Carga horária teórica: 0 Carga horária prática: 60 Código da Disciplina: CCMP0041 Período de oferta: 2010.2 Turma: CA
Leia mais17 - Funções e Procedimentos em C Programação Modular
17 - Funções e Procedimentos em C Programação Modular Unesp Campus de Guaratinguetá Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro Ministrado por: Prof. André Amarante 17
Leia maisAULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme
AULA 2: INTRODUÇÃO A LINGUAGEM DE C Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme Agenda Introdução a linguagem C Compiladores Variáveis IDEs Exemplos Exercícios Introdução A Linguagem C
Leia mais13 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 maisAlgoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31
APROG Algoritmia e Programação Linguagem JAVA Básico Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Linguagem Java Estrutura de um Programa Geral Básica Estruturas de Dados Variáveis Constantes Tipos de Dados
Leia maisProgramação em C++: Introdução
Programação em C++: Introdução J. Barbosa J. Tavares Visualização Científica Conceitos básicos de programação Algoritmo Conjunto finito de regras sobre as quais se pode dar execução a um dado processo
Leia maisProgramação e Sistemas de Informação
Gestão e Programação de Sistemas Informáticos Programação e Sistemas de Informação Programação e Sistemas de Informação REVISÕES 1 Conteúdos Introdução Declaração de strings Atribuição de valores a strings
Leia maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 06: Ponteiros Declarando e utilizando ponteiros Ponteiros e vetores Inicializando ponteiros Ponteiros para Ponteiros Cuidados a serem
Leia maisLinguagem 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#define SIM 1 equivale a definição de constantes; a palavra SIM é substituída por 1 toda vez que é utilizada no programa.
929292929292929292929292929292929292929292929292929292 15- O Pré-Processador C - O compilador C possui um programa chamado pré-processador: executa modificações no código baseado em instruções chamadas
Leia maisProgramas 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 maisPROGRAMAÇÃO ESTRUTURADA. CC 2º Período
PROGRAMAÇÃO ESTRUTURADA CC 2º Período PROGRAMAÇÃO ESTRUTURADA Aula 07: Funções O comando return Protótipo de funções O tipo void Arquivos-cabeçalho Escopo de variáveis Passagem de parâmetros por valor
Leia maisEstruturas (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 maisCurso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura
UFPI CCN DIE Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: 2010-1 Prof. Dr. Raimundo Moura O projeto Desenvolver um compilador de um subconjunto básico da linguagem PORTUGOL.
Leia maisCONCEITOS 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 maisTabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008
Tabela de Símbolos Análise Semântica A Tabela de Símbolos Fabiano Baldo Após a árvore de derivação, a tabela de símbolos é o principal atributo herdado em um compilador. É possível, mas não necessário,
Leia maisJSP - ORIENTADO A OBJETOS
JSP Orientação a Objetos... 2 CLASSE:... 2 MÉTODOS:... 2 Método de Retorno... 2 Método de Execução... 2 Tipos de Dados... 3 Boolean... 3 Float... 3 Integer... 4 String... 4 Array... 4 Primeira:... 4 Segunda:...
Leia mais5 - 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 maisConceitos 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 maisTipo 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 maisIntrodução a Programação. Ponteiros e Strings, Alocação Dinâmica
Introdução a Programação Ponteiros e Strings, Alocação Dinâmica Tópicos da Aula Hoje aprenderemos a relação entre ponteiros e strings Ponteiros para strings X Vetores de Caracteres Vetores de ponteiros
Leia maisLinguagem 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 maisIntroduçã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 maisAlgoritmos e Estruturas de Dados I 01/2013. Arquivos. Pedro O.S. Vaz de Melo
Algoritmos e Estruturas de Dados I 01/2013 Arquivos Pedro O.S. Vaz de Melo Problema 1 Considere que um arquivo de dados contém os valores das dimensões (tam. max.: 100) e dos elementos de duas matrizes
Leia maisResumo 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 maisAULA 02. 1. Uma linguagem de programação orientada a objetos
AULA 02 TECNOLOGIA JAVA O nome "Java" é usado para referir-se a 1. Uma linguagem de programação orientada a objetos 2. Uma coleção de APIs (classes, componentes, frameworks) para o desenvolvimento de aplicações
Leia maisITENS 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