Você está aqui: C ::: Dicas & Truques ::: Strings e Caracteres

Como percorrer os caracteres de uma string C usando um laço for

Quantidade de visualizações: 17435 vezes
Como em C uma string é um vetor de caracteres, tais caracteres podem ser acessados por meio de seu índice no vetor (um valor inteiro começando em 0). Este trecho de código mostra como você pode usar o laço for para acessar cada caractere individualmente e exibí-lo na tela do programa:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main(int argc, char *argv[]){
  char palavra[] = "Arquivo";

  // vamos percorrer os caracteres usando um laço for
  int i;
  for(i = 0; i < strlen(palavra); i++){
    printf("Caractere na posicao %d = %c\n", i, palavra[i]);
  }

  puts("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

Caractere na posicao 0 = A
Caractere na posicao 1 = r
Caractere na posicao 2 = q
Caractere na posicao 3 = u
Caractere na posicao 4 = i
Caractere na posicao 5 = v
Caractere na posicao 6 = o

Link para compartilhar na Internet ou com seus amigos:

C ::: Dicas & Truques ::: Data e Hora

Como formatar datas e horas em C usando a função strftime() da linguagem C

Quantidade de visualizações: 8501 vezes
A função strftime() pode ser usada quando queremos formatar valores de datas e horas em C. Esta função, presente no header <time.h>, possui a seguinte assinatura:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

size_t strftime(char *strDest, size_t maxsize, const char *format,
   const struct tm *timeptr);

O parâmetro strDest é um ponteiro para uma matriz de caracteres que receberá uma string contendo a data e/ou hora formatada. O parâmetro maxsize é a quantidade de caracteres que serão copiados para a matriz de caracteres alvo da operação. O parâmetro format contém os especificadores que serão substituídos durante a formatação. Finalmente, timeptr é um ponteiro para uma estrutura tm contendo as informações de data e hora. O retorno da função é a quantidade de caracteres copiados para a matriz strDest.

Veja um trecho de código no qual formatamos e exibimos a data atual no formato longo e de acordo com as configurações regionais para o Português Brasileiro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <locale.h>

int main(int argc, char *argv[]){
  // vamos definir a localização para o Português do Brasil
  setlocale(LC_ALL, "Portuguese_Brazil");

  time_t data_hora_segundos; // guarda os segundos deste 01/01/1970
  struct tm *timeinfo; // declara uma estrutura tm
  time(&data_hora_segundos); // preenche a variável data_hora_segundos
  // preenche a estrutura timeinfo
  timeinfo = localtime(&data_hora_segundos);
  // um buffer para receber a data formatada
  char data_formatada[80];

  // vamos formatar
  strftime(data_formatada, 80, "%A, %d de %B de %Y", timeinfo);

  // vamos exibir o resultado
  printf("Resultado da formatação: %s\n\n", data_formatada);

  system("PAUSE");
  return 0;
}

O resultado da execução deste código será algo como:

Resultado da formatação: segunda-feira, 23 de abril de 2011

Veja abaixo os especificadores de formatação usadas pela função strftime():

%a - Nome do dia da semana na forma abreviada. Ex: seg.
%A - Nome completo do dia da semana. Ex: terça-feira.
%b - Nome do mês abreviado. Ex: abr.
%B - Nome completo do dia do mês. Ex: abril
%c - Representação de data e hora. Ex: 23/4/2011 23:00:37.
%d - Dia do mês (01-31).
%H - Hora no formato 24 horas (00-23).
%I - Hora no formato 12 horas (01-12).
%j - Dia do ano (001-366).
%m - Mês como um número decimal (01-12).
%M - Minutos (00-59).
%p - AM ou PM.
%S - Segundos (00-61).
%U - Número da semana tendo o primeiro domingo como o primeiro dia da primeira semana do ano (00-53).
%w - Dia da semana como um número decimal tendo o domingo como 0 (0-6).
%W - Número da semana tendo a primeira segunda-feira como o primeiro dia da primeira semana do ano (00-53).
%x - Representação de data. Ex: 23/4/2011.
%X - Representação de horas. Ex: 23:00:37.
%y - Ano de dois dígitos (00-99).
%Y - Ano com quatro dígitos.
%Z - Nome ou abreviação do fuso horário.
%% - Um sinal de porcentagem.


C ::: Dicas & Truques ::: Recursão (Recursividade)

Como escrever uma função recursiva para calcular a potência de um número usando a linguagem C

Quantidade de visualizações: 47935 vezes
Chamamos de potenciação a operação de se elevar um número (uma base) a um determinado expoente e obter sua potência. Veja a figura a seguir:



Veja que aqui o valor 5 foi elevado ao cubo, ou seja, ao expoente 3 e obtemos como resultado sua potência: 125.

O código abaixo mostra como você pode escrever uma função recursiva em C que permite calcular a potência de um número inteiro:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>
 
// função recursiva que calcula a potência  de
// um inteiro
int potencia(int base, int expoente)
{
  if(expoente == 0){
    return 1;
  }
  else{
    return base * potencia(base, expoente - 1);
  }
}
 
int main(int argc, char *argv[])
{
  int base = 3;
  int expoente = 4;
 
  printf("%d elevado a %d = %d", base, expoente,
    potencia(base, expoente));
 
  printf("\n\n");
  system("PAUSE");
  return 0;
}

Ao executar este código C nós teremos o seguinte resultado:

3 elevado a 4 = 81


C ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes)

Exercícios Resolvidos de C - Declare uma matriz de 10 inteiros e use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10

Quantidade de visualizações: 11676 vezes
Pergunta/Tarefa:

Escreva um programa C que declara uma matriz de 10 inteiros. Use um laço for para preencher os elementos da matriz usando valores aleatórios de 0 até 10 (incluindo os valores 0 e 10). Para finalizar, percorra os elementos da matriz e exiba seus valores. A saída do programa deverá ser parecida com:

3 5 5 1 3 8 10 0 9 7

Resposta/Solução:

Veja abaixo a resolução completa para esta tarefa:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  // vamos inicializar o gerador de números aleatórios
  srand(time(NULL));
  
  // vamos declarar e construir uma matriz de 10 inteiros
  int valores[10];

  // vamos preencher a matriz com valores aleatórios de 0 até 10 (incluindo)
  int i;
  for(i = 0; i < 10; i++){
    valores[i] = rand() % 11;
  }

  // vamos exibir os valores dos elementos da matriz
  for(i = 0; i < 10; i++){
    printf("%d  ", valores[i]);
  }
  
  printf("\n\n");
  system("PAUSE");	
  return 0;
}

Espero que você tenha gostado e continue a acessar a nossa Lista de Exercícios de C.


Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de C

Veja mais Dicas e truques de C

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 21 usuários muito felizes estudando em nosso site.