Aula 23 – String – Programação em C

Aula 23 – String – Programação em C

Aula 23 - String em C - Programação em C - Nível intermediário

Código 11 – String e a biblioteca string.h

Esse é um programa bem simples e curto, ele irá fazer uma saudação ao usuário, dando bom dia para ele.

  • Vamos aprender um pouco sobre string, que na verdade é um vetor (array) de caracteres.
  • Vamos usar as funções gets ( ) e puts( ) da biblioteca string.h e ver como funcionam.

Mas antes, algumas observações relativas a strings.

String em C é um array de char, na aula passada vimos um exemplo de array de inteiros.

Um char é representado com 1 byte, ou seja, 8 bits, ao contrário do inteiro que vimos na aula 22, que é representado pos 4 bytes, isto é, 32 bits.

É possível codificar até 256 caracteres distintos com 1 byte.

A linguagem C utiliza números como índices para símbolos na tabela ASCII.

Assim como para um numero int utilizamos o ‘%d’, para um float ‘%f’, para um char  é utilizado o ‘%c’ no scanf e no printf e para string, isto é, para um vetor completo de char, utilizamos o ‘%s’.

Vetor de inteiros

Vetor de char

Vetor de char

Vetor de char

Problema:

  • Como determinar a quantidade de caracteres válidos que há no vetor que armazena a string?

Solução em C:

  • Uma string é uma seqüência de letras, números ou símbolos onde o último caractere é obrigatoriamente caractere ‘\0’ (da mesma família do ‘\n’, ‘\t’ … )

String em C, é um array de char (uma matriz unidimensional) terminada pelo caractere null: ‘\0’.

Cada caractere de uma string pode ser acessado individualmente, assim como vimos no exemplo do vetor de inteiros da aula 22.

Vetor de tamanho n string de tamanho ( n-1 ) por causa do caractere null, o ‘\0’.


//Exemplos de declaração e atribuição de um vetor de char
char string[10] = "exemplo" ;
char string[10] = {"exemplo" };
char string[10] = {'e', 'x', 'e', 'm', 'p', 'l', 'o', '\0' };
printf ("%s", string );
printf ("%c %c", string [ 0 ], string[1] );

Código 11 com scanf( ) e printf( )

#include <stdio.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca de entradas e saídas, possui funções como scanf e printf*/
#include <stdlib.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para poder usar o system("PAUSE"); */
#include <locale.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para usar caracteres como: ç, Ç, Â ,â etc. No printf( )*/

void main (void)
{
 	char  nome[11];        
	printf ("Digite seu nome: " );
	scanf ("%s", nome ); 	
	printf ("Bom dia %s", nome );
 	system("PAUSE");
}

Código 11 com gets( ) e puts( )

#include <stdio.h>/* Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca de entradas e saídas, possui funções como scanf e printf*/
#include <stdlib.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para poder usar o system("PAUSE"); */
#include <locale.h>/*Instrução de pré-processamento, habilita nosso programa a usar essa biblioteca, para usar caracteres como: ç, Ç, Â ,â etc. No printf( )*/

void main (void)
{
 	char  nome[11];
	printf ("Digite seu nome: " );
	gets ( nome );
	puts ("Bom dia");
	puts (nome);
}

Link encurtado para download dos códigos

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *