Baixe o app para aproveitar ainda mais
Prévia do material em texto
Resumo de Strings Strings são vetores de caracteres. char variável[tamanho]; Quando você declara uma string você criará um vetor que armazenará tamanho-1 caracteres, isso ocorre pq o ultimo índice corresponderá ao \n que significa o fim de cadeia de caracteres. Em outras palavras, se quer declarar uma string que armazene 20 caracteres então ao declarar coloque o tamanho = 21, pois o ultimo será o \n. No comando scanf não é necessário o & para armazenar em uma variável string. Se você for armazenar em uma string um conjunto de caracteres contenha um espaço no meio não utilize apenas scanf(“ %s”,nome); e sim scanf(“ %[^\n]s”,nome); pois apenas %s ao encontrar o espaço não armazenará o restante dos caracteres e poderá dar erro no programa. Obs.: Outro ponto que vale a pena lembrar é que sendo %c ou %s ou %[^\n]s sempre coloquem um espaço entre as aspas e o % no scanf! Ex.: Nome sem espaço no meio int main() { char nome[20]; printf("Digite um nome:\n"); scanf(" %s",nome); printf("Olá %s\n",nome); return 0 ; } Ex.: Nome com espaço no meio int main() { char nome[20]; printf("Digite um nome:\n"); scanf(" %[^\n]s",nome); printf("Olá %s\n",nome); return 0 ; } Matrizes de caracteres Se uma string é um vetor de caracteres então um vetor de strings é uma matriz de caracteres. char variável[linhas][colunas]; Linhas = quantidade de strings Colunas = quantidade de caracteres que cada string possuirá. Para recolher cada nome só precisamos identificar em que linha será armazenada cada nome. Ex.: int main() { char nome[5][20]; int i ; for( i = 0 ; i < 5 ; i++ ) { printf("Digite um nome:\n"); scanf(" %s",nome[i]); } for( i = 0 ; i < 5 ; i++ ) { printf("Olá %s\n",nome[i]); } return 0 ; } Observe que char nome [5][20] corresponderá uma matriz de 5 strings(linhas) em que cada string terá 20 caracteres(colunas) incluindo o \n em cada linha, ou seja, 19 caracteres e um \n para o fim de cada string em cada linha. Biblioteca string.h Será útil durante as provas declararem a biblioteca string.h para ter a possibilidade de comparar strings, copiar uma string em outra ou ver o tamanho de uma string. #include <string.h> strcpy (destino,origem) -> copiará a string que estiver em origem e na string que estará em destino. strcmp(string1,string2)-> Retorna um inteiro positivo se string1 é lexicamente posterior que string2; zero se as duas são idênticas; e negativo se string1 é lexicamente anterior que string2. Essa função retornara um número será útil caso vcs queiram comparar se duas strings são iguais. If ( strcmp(string1,string2) == 0 ) { printf(“Strings iguais!\n”); } else { printf(“Strings diferentes!\n”); } strlen(string) -> retornara o tamanho de uma string, logo será necessário uma variável inteira para receber esse retorno. strcat(destino,origem) -> concatenará a string origem na string destino Esse é o básico de strings que normalmente é cobrado em prova! Existe uma biblioteca muito usada para cálculos matemáticos que não citei nos resumos anteriores ela é a math.h que carrega funções de potencia e raiz quadrada que poderá ser útil nas provas. #include <math.h> pow(base,expoente) = retorna um valor numérico da base elevada ao expoente. sqrt(numero) = retornará a raiz de quadrada do numero.
Compartilhar