Escolar Documentos
Profissional Documentos
Cultura Documentos
Tema Vetor/Matriz
Aula 04
Professor Cassiana Fagundes da Silva
Conversa Inicial
Olá aluno! Pronto para começar a nossa quarta aula da disciplina Linguagem de Programação?
Nos temas propostos para a aula de hoje, iremos entender do que se trata os chamados strings,
além de aprender como escrever funções e procedimentos no intuito de criar programas modulares
através destes conceitos.
No material online você poderá acessar o vídeo preparado pela professora Cassiana com a
apresentação dos temas que estudaremos na aula de hoje!
Gerar no aluno o conhecimento necessário para que possa entender e classificar os seguintes
temas:
Strings
Funções
Strings
As strings podem ser definidas como vetores de chars e são consideradas o uso mais comum para os
vetores. Fique sempre atento para o fato de que as strings têm o seu último elemento como um '\0'.
Para que uma igualdade de string funcione faz-se necessário que estas sejam igualadas elemento a
elemento. Clique no botão a seguir para conferir um exemplo de programa que serve para igualar duas
strings (isto é, copia os caracteres de uma string para o vetor da outra):
#include <stdio.h>
int main ()
{
int count;
char str1[100],str2[100];
for (count=0;str1[count];count++)
str2[count]=str1[count];
str2[count]='\0';
}
A condição no loop for é baseada no fato de que a string que está sendo copiada termina em '\0'.
Quando o elemento encontrado em str1[count] é o '\0', o valor retornado para o teste condicional, que
é falso (nulo). Desta forma a expressão que vinha sendo verdadeira (não zero) continuamente,
torna‐se falsa.
A partir de agora, iremos apresentar as funções mais básicas de manipulação de strings, preste
bastante atenção!
Gets()
{
gets (nome_da_string);
char string[100];
Confira o exemplo ao lado que demonstra
printf ("Digite o seu nome: ");
o funcionamento da função gets():
gets (string);
return(0);
}
strcpy( )
strcpy (string_destino,string_origem);
#include <stdio.h>
#include <string.h>
int main ()
{
char str1[100],str2[100],str3[100];
gets (str1);
string" em str3 */
printf ("\n\n%s%s",str3,str2);
return(0);
}
strcat()
strcat (string_destino,string_origem);
#include <stdio.h>
#include <string.h>
int main ()
char str1[100],str2[100];
gets (str1);
strcpy (str2,"Voce digitou a string ");
printf ("\n\n%s",str2);
return(0);
}
strlen()
gets (str);
size=strlen (str);
printf ("\n\nA string que voce digitou tem tamanho return(0);
%d",size);
}
strcmp( )
strcmp (string1,string2);
Confira o exemplo!
#include <stdio.h>
#include <string.h>
int main(void)
char s1[41],s2[41];
printf("String 1: ");
scanf(“%s”,s1);
printf("String 2: ");
scanf(“%s”,s2);
if (strcmp(s1,s2) == 0)
printf("String 1 é IGUAL a String 2");
else
if (strcmp(s1,s2) > 0)
else
No material online, você poderá acompanhar a aula da professora Cassiana, ela irá nos explicar tudo
sobre o tema string, aproveite para revisar tudo que estudamos até agora! Não perca!
Funções
Algumas funções já são providenciadas pelas bibliotecas-padrão do C, como por exemplo: sqrt()
para cálculo de raiz quadrada, printf() para imprimir uma mensagem na tela, scanf() para ler um
valor digitado pelo usuário, strcmp() que compara duas strings, entre tantas outras. Entretanto, é
possível que o programador escreva suas próprias rotinas. Estas são as chamadas de funções de
usuário ou rotinas de usuário, deste modo pode‐se segmentar um programa grande em vários
programas menores. Esta segmentação é chamada de modularização e permite que cada segmento
seja escrito, testado e revisado individualmente sem alterar o funcionamento do programa como um
todo. Permite ainda que um programa seja escrito por vários programadores ao mesmo tempo, cada
um escrevendo um segmento separado.
Uma função de usuário constitui‐se de um bloco de instruções que definem os procedimentos
efetuados pela função, um nome pelo qual a chamamos e uma lista de argumentos passados a função.
Chamamos este conjunto de elementos de definição da função.
corpo_da_função
}
Atenção:
O tipo_de_retorno é o tipo de variável que a função vai retornar, neste caso no fim da função
deve existir um comando return (detalhado posteriormente). O default é o tipo int, ou seja, uma
função para qual não declaramos o tipo de retorno é considerada como retornando um inteiro. Caso a
função não retorne valor algum, o tipo de retorno deve ser especificado como void.
Confira a forma geral da lista da declaração de parâmetros:
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-de-retorno), e é no corpo da função que as entradas são processadas, as
saídas são geradas, entre outras ações.
O código disponível na tela seguinte é uma função definida pelo usuário para calcular a média
aritmética de dois números reais!
float media2 (float a, float b)
}
A função retorna, para o programa que a #include <stdio.h>
feito pela função return() que termina a float num_1, num_2, media;
execução da função e retorna o valor de med
printf (”Digite dois números:”);
para o programa que a chamou. Definida a
scanf(”%f %f”, &num_1, &num_2);
função, poderá ser usada dentro de um
media = media2(num_1, num_2); /* chamada a
programa qualquer.
função */
#include <stdio.h>
int c, l;
int main(void)
limpa_tela();
}
Conforme mencionado anteriormente, todo valor retornado por uma função é feito através do
uso de um comando return. Este comando tem a seguinte forma geral:
Uma função pode ter mais de uma declaração return. Isto se torna claro quando
pensamos que a função é terminada quando o programa chega à primeira declaração
return.
Confira um exemplo de programa que possui dois comandos return, porém apenas um será
executado de acordo com as regras de programação realizadas.
#include <stdio.h>
int main ()
{
int num;
scanf ("%d",&num);
if (EPar(num))
else
return 0;
}
É importante notar que, como as funções retornam valores, podemos aproveitá-los para fazer
atribuições, ou mesmo para que estes valores participem de expressões.
Agora, vamos aproveitar para conferir se você fixou os conteúdos dos temas
estudados na aula de hoje?
Responda às questões a seguir e, se tiver dúvidas, retorne ao conteúdo e refaça os testes depois!
QUESTÃO 1 - Em relação à função strcat é correto afirmar:
b. É possível a criação de laços infinitos, colocando na condição do laço uma condição que seja
sempre verdadeira.
c. Pode ser manipulada diretamente, pois não são um tipo básico da linguagem.
Alternativa C
Gabarito da questão 2:
Alternativa A
Síntese
Na aula de hoje pudemos conhecer e entender alguns aspectos que fazem parte da linguagem de
programação. Vimos conceitos de strings e aprendemos a escrever funções e procedimentos visando a
criação de programas modulares.
Até mais!
Referências Bibliográficas
DAMAS, Luis. Linguagem em C. 10ª ed. Trad. João Araujo Ribeiro, Orlando Bernardo Filho. Rio de
Janeiro: LTC, 2013.
LISBOA, Erico Fagundes Anicet Lisboa. Linguagem C. Rio de Janeiro, 2011. (Apostila). Disponível em:
<http://www.dainf.ct.utfpr.edu.br/~pbueno/Arquivos/ApostilaEricoLisboa.pdf>.