char *strchr (const char *str, int ch);

Documentos relacionados
char *strchr (const char *str, int ch);

Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável;

Vetores e Strings. printf ("\na string %s nao esta contida no vetor de %s", string, "strings.\n");

Programação de Computadores I Funções na Linguagem C PROFESSORA CINTIA CAETANO

Aula 06 - Funções. O que é uma Função - Comando return - Protótipos de Funções - Tipos de Funções - Escopo de Variáveis - Passagem de parâmetros

Comandos de controle de fluxo: if / for / while / do while.

#include <stdio.h> void Swap (int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } main () {

#include <stdio.h> #define nl 3 #define nc 4 main () { int matriz[nl][nc],*p,i; for (i=0, p=&matriz[0][0];i<nl*nc;i++) *(p++)=i+1; for (i=0,

Programação I Funções. Prof. Carlos Alberto

LINGUAGEM C: FUNÇÕES FUNÇÃO 04/07/2017. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Declarando e Utilizando Ponteiros. Para declarar um ponteiro temos a seguinte forma geral: tipo_do_ponteiro *nome_da_variável;

Programação Estruturada

LINGUAGEM C: FUNÇÕES FUNÇÃO 08/01/2018. Funções são blocos de código que podem ser nomeados e chamados de dentro de um programa.

Fundação Universidade de Rondônia Estrutura de Dados 1º semestre/2010 LISTA DE EXERCÍCIOS

Vetores e Strings. 6. Comandos de entrada e saída formatada que trabalham sobre strings

Variáveis e Operadores em C

11a. Aula Ponteiros e Vetores

Linguagem de Programação I Vetores e Strings. Thiago Leite Francisco Barretto

Modularidade - Funções e Procedimentos

Computação 2. Aula 7. Profª. Fabiany Ponteiros

A sintaxe para se declarar uma variável do tipo ponteiro é dada por:

ALGORITMOS E ESRUTRA DE DADOS I. Ponteiros Passagem por Valor e Referência Alocação de Memória

LINGUAGEM DE PROGRAMAÇÃO C AULA 2. Professor: Rodrigo Rocha

INSTITUTO FEDERAL DE! EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

Estruturas de Controle de Fluxo

ALGORITMOS AULA 01. Baseado nas aulas do Prof. Jorgiano Vidal

Introdução a Programação de Jogos

Alocação Dinâmica de Memória - Exercício

Funções de Entrada e Saída Formatada Constantes de barra invertida

Programação: Vetores

Estrutura de dados 2. Ponteiro. Prof. Jesuliana N. Ulysses

Vetores e Strings. 4. Funções Básicas para manipulação de Strings. A função gets() lê uma string do teclado. Sua forma geral é:

SSC304 Introdução à Programação Para Engenharias. Ponteiros. GE4 Bio

Apontadores/ponteiros

Funções - Variáveis globais

Centro Universitário Franciscano Curso de Sistemas de Informação Disciplina de algoritmos e programação II. Ponteiros

Funções em C. Lucas Ferrari de Oliveira Professor Adjunto. Linguagem de Programação Estruturada I. Universidade Federal do Paraná

Ponteiros em C. Adriano Joaquim de Oliveira Cruz 21 de julho de Instituto de Matemática Departamento de Ciência da Computação UFRJ

3. Linguagem de Programação C

Linguagem C. Funções. Prof. Maurício Dias

Capítulo 1: Introdução à Linguagem C. Pontifícia Universidade Católica Departamento de Informática

MC102 - Algoritmos e programação de computadores. Aula 14: Funções e Procedimentos

INF 1620 P1-13/09/02 Questão 1 Nome:

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Disciplina: ALGORITMOS E PROGRAMAÇÃO PARA COMPUTADORES I Faculdade de Análise de Sistemas Sistemas de Informação Práticas de Laboratório

Algoritmos e Programação

Introdução. Ponteiros

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Linguagem C. Ponteiros. Alex Vidigal Bastos.

Módulo 3 Controle de Fluxo

Tipos Básicos. Operadores de Incremento e Decremento. Operador Sizeof. Estruturas de Dados Aula 2: Estruturas Estáticas

Funções em Linguagem C Parte II

ponteiros INF Programação I Prof. Roberto Azevedo

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Estruturas de Dados Aula 2: Estruturas Estáticas. Tipos Básicos. Quantos valores distintos podemos representar com o tipo char?

Estruturas de Dados Aula 2: Estruturas Estáticas 02/03/2011

1ª Lista de Exercícios

15/03/2018. Professor Ariel da Silva Dias Paradigma Imperativo

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Sumário. Introdução à Ciência da Computação. Ponteiros em C. Introdução. Definição. Por quê ponteiros são importantes?

Modularidade - Fun ções e Procedimentos

Linguagem C (estruturas condicionais)

Subprogramas. Prof. Carlos Lopes

Linguagem C. André Tavares da Silva.

Introdução à Linguagem C

Revisão para Prova 2. Mirella M. Moro

Aula 03 -Introdução àlinguagc Programação: Estrutura-Repetição. OPL e IC1 Prof: Anilton Joaquim da Silva

3.1 - Funções para manipular dados de entrada e saída padrão

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

RESUMO DE CONCEITOS BÁSICOS DE C

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Ponteiros e Alocação de Memória

Ponteiros e Tabelas. K&R: Capítulo 5

Aula 15 - Aula sobre Funções e Procedimentos

Linguagens de Programação I

SSC300- Linguagens de Programação e Aplicações Profa Vânia de Oliveira Neves. ICMC/USP São Carlos

Introdução a Programação. Ponteiros e Vetores, Alocação Dinâmica

MAC2166 Introdução à Computação para Engenharia Escola Politécnica Terceira Prova 20 de junho de 2011

Vetores. e o programa deverá ler os valores separadamente:

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Aula 13 Oficina de Programação Modularização. Profa. Elaine Faria UFU

Cap. 3 Entrada e Saída e Controle de Fluxo

Laboratório de Programação II

Suponha um conjunto habitacional, com várias famílias... imagina se todas elas morassem em uma única casa?

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Essencialmente, um ponteiro nada mais é do que uma variável que ao invés de conter um valor, contém um endereço de memória.

Computação 2. Diego Addan Aula 3. Funções

2º Roteiro de Laboratório Estruturas condicionais

Aula 07 Introdução à Programação Subprogramas

Aula 08: Funções (Parte II)

Linguagem C Funções. André Tavares da Silva.

#include <stdio.h> main() { int i; // Cabeçalho for (i = 1; i <=20; i++) putchar( * ); putchar( \n ); puts( Numeros entre 1 e 5 );

Funções. definição, declaração e chamada

Linguagem C: Introdução

Estruturas de Dados. Introdução Definição de Ponteiros Declaração de Ponteiros em C Manipulação de Ponteiros em C

Linguagem de Programação C

1) Operadores de auto incremento ++ e auto decremento --

Sub-rotinas em C. Disciplina de Programação de Computadores I Universidade Federal de Ouro Preto

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

Transcrição:

Ponteiros / Vetores e Strings - strchr Sua forma geral é: char *strchr (const char *str, int ch); A função strchr() devolve um ponteiro à primeira ocorrência do byte menos significativo de ch na string apontada por str. Se não for encontrada nenhuma coincidência, será devolvido um ponteiro nulo. 380

/* Exemplo strchr */ #include <stdio.h> #include <string.h> main() Ponteiros / Vetores e Strings char *p; p = strchr( isto é um teste, ); printf(p); 381

- Vetores de ponteiros Ponteiros Podemos construir vetores de ponteiros como declaramos vetores de qualquer outro tipo. Um exemplo de declaração de um vetor de ponteiros inteiros é: int *pmatrx [10]; No caso acima, pmatrx é um vetor que armazena 10 ponteiros para inteiros. 382

Ponteiros - Ponteiros para Ponteiros Podemos declarar um ponteiro para um ponteiro com a seguinte notação: tipo_da_variável **nome_da_variável; Algumas considerações: **nome_da_variável é o conteúdo final da variável apontada; 383 *nome_da_variável é o conteúdo do ponteiro intermediário.

Ponteiros - Ponteiros para Ponteiros (continuação) Na linguagem C podemos declarar ponteiros para ponteiros para ponteiros, ou então, ponteiros para ponteiros para ponteiros para ponteiros e assim por diante. Para fazer isto basta aumentar o número de asteriscos na declaração. Para acessar o valor desejado apontado por um ponteiro para ponteiro, o operador asterisco deve ser aplicado duas vezes, como mostrado no exemplo a seguir: 384

Ponteiros - Ponteiros para Ponteiros (continuação) #include <stdio.h> main() float pi = 3.1415, *pf, **ppf; pf = π ppf = &pf; printf( \n%.4f", **ppf); printf( \n%.4f", *pf); 385

Exercício: Ponteiros Verifique o programa abaixo. Encontre o(s) seu(s) erro(s) e corrija-o(s) para que o mesmo escreva o número 10 na tela. #include <stdio.h> main() int x, *p, **q; p = *x; q = &p; x = 10; printf("\n%d\n", &q); 386

Funções Funções são as estruturas que permitem ao usuário separar seus programas em blocos. Para fazermos programas grandes e complexos temos de construí-los bloco a bloco. Uma função na linguagem C tem a seguinte forma geral: tipo_de_retorno nome_da_função (declaração_de_parâmetros) corpo_da_função 387

388 Funções O tipo-de-retorno é o tipo de variável que a função vai retornar. O default é o tipo int, ou seja, o tipo-deretorno assumido por omissão. A declaração de parâmetros é uma lista com a seguinte forma geral: tipo nome1, tipo nome2,..., tipo nomen Observe que o tipo deve ser especificado para cada uma das N variáveis de entrada. É na declaração de parâmetros que informamos ao compilador quais serão as entradas da função (assim como informamos a saída no tipo-deretorno). É no corpo da função que as entradas são processadas, saídas são geradas ou outras coisas são feitas.

Funções - Comando return Forma geral: return valor_de_retorno; ou return; Quando se executa uma declaração return a função é encerrada imediatamente e, se o valor de retorno é informado, a função retorna este valor. É importante lembrar que o valor de retorno fornecido tem que ser compatível com o tipo de retorno declarado para a função. 389

- Comando return (exemplo 1) #include <stdio.h> int Square (int a) return (a*a); main () int num; printf ( \nentre com um numero: "); scanf ("%d",&num); num=square(num); printf ("\n\no seu quadrado vale: %d\n",num); 390

- Comando return (exemplo 2) #include <stdio.h> int Square (int a) return (a*a); main () int num; printf ( \nentre com um numero: "); scanf ("%d",&num); printf ("\n\no seu quadrado vale: %d\n", Square(num)); 391

Funções 392 Observação: Devemos nos lembrar que a função main() é uma função e como tal devemos tratá-la. A função main() retorna um inteiro. Isto pode ser interessante se quisermos que o sistema operacional receba o valor de retorno da função main(). Se assim o quisermos, devemos nos lembrar da seguinte convenção: se o programa retornar zero, significa que ele terminou normalmente, e, se o programa retornar um valor diferente de zero, significa que o programa teve um término anormal.

393 #include <stdio.h> /*Exemplo*/ int EPar (int a) if (a%2) return 0; else return 1; int main () int num; printf ("Entre com numero: "); scanf ("%d",&num); if (EPar(num)) printf ("\n\no numero e par.\n"); else printf ("\n\no numero e impar.\n"); return 0;

Funções Exercício Construa um programa que possua a função EDivisivel(int a, int b), escrita por você. A função deverá retornar 1 se a for divisível por b. Caso contrário, a função deverá retornar zero. O programa deve ler dois números fornecidos pelo usuário (a e b respectivamente), e utilizar a função EDivisivel para retornar uma mensagem dizendo se a é ou não divisível por b. 394

#include <stdio.h> EDivisivel(int a, int b) return(a%b?0:1); main() int a,b; printf ("\nprograma que retorna se \"a\" eh divisivel por \"b\""); printf ("\n\nentre com o valor de \"a\": "); scanf("%d",&a); printf ("\nentre com o valor de \"b\": "); scanf("%d",&b); if (EDivisivel(a,b)) printf("\n\"a\" eh divisivel por \"b\""); else printf("\n\"a\" nao eh divisivel por \"b\""); /*ou*/ printf("\n\"a\"%seh divisivel por \"b\"",edivisivel(a,b)?" ":" nao "); 395

- O tipo void Funções Em inglês, void quer dizer vazio e é isto mesmo que o void significa. Ele nos permite fazer funções que não retornam nada: void nome_da_função (declaração_de_parâmetros); 396 Numa função, como a demonstrada acima, não temos valor de retorno na declaração return. Aliás, neste caso, o comando return não é necessário na função. Contudo, podemos utilizá-lo em pontos onde desejamos que a função finalize sua execução.

Funções Conforme podemos observar nas funções main dos programas feitos até o momento uma função pode não ter parâmetros. Logo, podemos fazer funções como a presente no programa a seguir: 397

#include <stdio.h> void Mensagem (void) printf ("Ola! Eu estou vivo.\n"); int main () Mensagem(); printf ("\tdiga de novo:\n"); Mensagem(); return 0; 398

- Escopo de variáveis Funções O escopo de variáveis é o conjunto de regras que determinam o uso e a validade de variáveis nas diversas partes do programa. Veremos agora três tipos de variáveis, no que se refere ao escopo: 399

Funções - Variáveis locais Variáveis locais são aquelas que só têm validade dentro do bloco no qual são declaradas. Podemos declarar variáveis dentro de qualquer bloco. Só para lembrar: um bloco começa quando abrimos uma chave e termina quando fechamos a chave. A declaração de variáveis locais é a primeira coisa que devemos colocar num bloco. 400

401 func1 (...) int abc,x,z;... func (...) int z;... main () int x,y; if (...) float A,B,C,x;......