Compartilhamento de tecnologia

Noções básicas da linguagem Linux C dia 6

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Índice

meta de aprendizagem:

Conteúdo de aprendizagem:

1. Matriz

1.1 Conceito

1.2 Matriz unidimensional

1.2.1 Conceito

1.2.2 Formato

1.2.3 Inicialização

1.3 Operações convencionais em elementos de array

1.3.1 Entrada e saída

1.3.2 Soma e média

1.3.3 Encontre o valor máximo

1.3.4 Pesquisa

Exercícios de aula:

Trabalho de casa extracurricular:


meta de aprendizagem:

Por exemplo:

  • Domine o básico de C em uma semana

Conteúdo de aprendizagem:

1. Matriz

1.1 Conceito

Arrays são usados ​​para armazenar um conjunto deMesmo tipo de dadosDe dados.

Array é um tipo construído.

Cada dado do mesmo tipo de dados na matriz é chamado de elemento da matriz, também chamado de membro da matriz.

Definir um array alocará um bloco na memóriaespaço contínuoPara armazenar dados, não importa quantas dimensões o array tenha, ele é contínuo.

1.2 Matriz unidimensional

1.2.1 Conceito

O chamado array unidimensional é um array com apenas um subscrito.

1.2.2 Formato

Nome da matriz do tipo de dados [subscrito];

Tipo de dados: pode ser um tipo básico ou um tipo construído (exceto arrays)

Nome do array: é um identificador e deve estar de acordo com a convenção de nomenclatura de identificador.

Subscrito: Ao definir um array, o subscrito geralmente é uma constante usada para representar o comprimento do array a ser definido. Em outras situações, pode ser uma constante, uma variável ou uma expressão que indica em quais dados da matriz operar.

Por exemplo:

1.2.3 Inicialização

A chamada inicialização significa que ao solicitar espaço para uma variável, um valor inicial é fornecido a propósito.

Ao inicializar, envolva o valor do elemento com um par de chaves e separe vários valores com vírgulas.

Existem três maneiras de inicializar um array

1. Inicialize tudo: De acordo com o comprimento do array, inicialize os valores de vários elementos.

int arr[5] = {520, 1415, 666, 999, 1234};

arr[0] arr[1] arr[2] arr[3] arr[4]

2. Inicialização parcial: O número de elementos inicializados é menor que o comprimento da matriz. Neste momento, o padrão é inicializar a partir dos elementos anteriores e os elementos não inicializados são preenchidos com 0.

int arr[5] = {520, 1415, 666}; 0 0

arr[0] arr[1] arr[2] arr[3] arr[4]

3. Inicialização especial: Ao definir e inicializar um array, você não precisa especificar o comprimento do array. O comprimento do array é determinado pelo número de elementos inicializados.

int arr[ ] = {520, 1415, 666, 999, 1234};

arr[0] arr[1] arr[2] arr[3] arr[4]

Por exemplo:

#incluir<stdio.h>

int principal(int argc, const char *argv[])
{
//Define um array inteiro de comprimento 5
int arr[5]; //Os elementos do array são: arr[0]--arr[4]
//Define um array de caracteres com comprimento de 10
caracteres brr[10];
//Define um array com comprimento de 100 para armazenar decimais
duplo crr[100];
//Se o array não for inicializado, todos os valores dos elementos nele serão
//valor aleatório
printf("arr[0] = %d, brr[0] = %c, crr[0] = %lfn", arr[0], brr[0], crr[0]);

//Define o array e inicializa-o
int drr[5] = {1,2,3,7,6}; //Todos inicializados
int err[5] = {520, 1314, 666}; //Inicialização parcial
int frr[] = {1,3,5,7,9}; //Inicialização especial
printf("tamanhode(frr) = %ldn", tamanhode(frr)); //20
printf("comp de frr = %ldn", sizeof(frr)/sizeof(frr[0]));

retornar 0;
}

1.3 Operações convencionais em elementos de array

1.3.1 Entrada e saída

As chamadas entradas e saídas de uma matriz, na verdade, significam entradas e saídas repetidas de qualquer elemento.Usamos loops para resolver ações repetitivas.

Nota: A linguagem C não permite entrada e saída de outras matrizes, exceto matrizes de caracteres. Você só pode encontrar elementos da matriz e operar em elementos individuais.

1.3.2 Soma e média

O chamado valor de soma serve para acumular todos os valores arbitrários. É necessário definir uma variável para armazenar a soma, mas é necessário que ela seja apagada antes do uso.

A chamada média é dividir a soma dos dados pelo número total.A média não precisa ser calculada em um loop

1.3.3 Encontre o valor máximo

Rotina: Defina o primeiro elemento da matriz para o valor máximo atual e, em seguida, compare o valor máximo atual com qualquer elemento da matriz. Se a condição não for atendida durante a comparação, atualize o valor máximo até todos Depois de comparar os dados com. o valor máximo, o valor máximo é obtido.

1.3.4 Pesquisa

Pesquisa de existência: Quando os dados a serem encontrados aparecem no array, a pesquisa termina imediatamente

Pesquisa estatística: percorra todos os elementos do array e conte o número de dados a serem encontrados


Exercícios de aula:

#incluir<stdio.h>
#define MAX 10 //Macro define uma constante

int principal(int argc, const char *argv[])
{
//Defina um array para armazenar as notas de todos os membros da turma
int pontuação[MAX] = {0};

//Inserção completa das pontuações dos membros
para(int i=0; i
    {
//Encontre qualquer elemento: score[i]
printf("Insira a nota do %désimo aluno:", i+1);
scanf("%d", &pontuação[i]);
    }

//O programa é executado até este ponto, o que significa que todos os elementos do array foram atribuídos com sucesso.
//Elementos do array de saída
printf("Os elementos do array são: ");
para(int i=0; i
    {
printf("%dt", pontuação[i]);
    }
putchar(10); //Sai um retorno de carro e avanço de linha

    //Soma e média
int soma = 0; //Registra a soma
double avg = 0; //Registra o valor médio
for(int i=0; i
    {
sum += score[i]; //Acumula quaisquer dados
    }
//O programa é executado até este ponto, indicando que a soma foi calculada.
média = 1,0*soma/MÁXIMO;
printf("A soma é: %d, a média é: %.2lfn", soma, média);

    //Encontre o valor máximo (tome o valor máximo como exemplo)
int max = 0; //Armazena o valor máximo do array
int maxi = 0; //Registra o subscrito onde está localizado o valor máximo

//Primeiro trate o primeiro do array como o valor máximo
max = pontuação[0];
maxi = 0; //Registra o subscrito do valor máximo atual
para(int i=0; i
    {
//Compara o valor máximo atual com quaisquer dados
se(máx &lt; pontuação[i])
        {
max = score[i]; //Atualiza os dados no valor máximo
maxi = i; //Atualiza a variável que registra o subscrito máximo
        }
    }
//O programa é executado até o momento, indicando que o valor máximo e o subscrito do valor máximo foram calculados.
printf("O valor máximo do array atual é: %d, na %d-ésima posição n do array", max, maxi+1);
    

    //Encontrar
int pesquisa = 0;
int i = 0; //Variável de loop usada para percorrer o array
printf("Digite o valor que deseja:");
scanf("%d", &pesquisar);
//Começa a percorrer o array para implementar a pesquisa de existência
para(i=0; i
    {
//Determina se os dados são os dados a serem encontrados
se(pesquisa == pontuação[i])
        {
quebrar;
        }
    }
//Determina se foi encontrado
se(i==MAX)
    {
printf("Encontrar n falhou");
}outro
    {
printf("O valor que você procura existe no array n");
    }

    //Percorre o array e completa a pesquisa estatística
contagem interna = 0; //Contador
para(int i=0; i
    {
se(pesquisa == pontuação[i])
        {
count++; //Incrementos do contador
        }
    }
//Depois que o loop terminar, julgue o contador
se(contagem == 0)
    {
printf("Encontrar n falhou");
}outro
    {
printf("A pesquisa foi bem sucedida, o valor que você está procurando aparece %d vezes n", contagem);
    }
retornar 0;
}


Trabalho de casa extracurricular:

nenhum.