Compartir tecnología

Conceptos básicos del lenguaje Linux C día 6

2024-07-12

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

Tabla de contenido

objetivo de aprendizaje:

Contenido de aprendizaje:

1. matriz

1.1 Concepto

1.2 Matriz unidimensional

1.2.1 Concepto

1.2.2 Formato

1.2.3 Inicialización

1.3 Operaciones convencionales sobre elementos de matriz

1.3.1 Entrada y salida

1.3.2 Suma y media

1.3.3 Encuentra el valor máximo

1.3.4 Buscar

Ejercicios de clase:

Tarea extraescolar:


objetivo de aprendizaje:

Por ejemplo:

  • Domina los conceptos básicos de C en una semana

Contenido de aprendizaje:

1. matriz

1.1 Concepto

Las matrices se utilizan para almacenar un conjunto deMismo tipo de datosde datos.

La matriz es un tipo construido.

Cada dato del mismo tipo de datos en la matriz se denomina elemento de la matriz, también llamado miembro de la matriz.

Definir una matriz asignará un bloque en la memoriaespacio continuoPara almacenar datos, no importa cuántas dimensiones tenga la matriz, es continua.

1.2 Matriz unidimensional

1.2.1 Concepto

La llamada matriz unidimensional es una matriz con un solo subíndice.

1.2.2 Formato

Nombre de la matriz del tipo de datos [subíndice];

Tipo de datos: puede ser un tipo básico o un tipo construido (excepto matrices)

Nombre de la matriz: es un identificador y debe cumplir con la convención de nomenclatura de identificadores.

Subíndice: al definir una matriz, el subíndice es generalmente una constante que se utiliza para representar la longitud de la matriz que se definirá. En otras situaciones, puede ser una constante, una variable o una expresión que indica con qué datos de la matriz operar.

Por ejemplo:

1.2.3 Inicialización

La llamada inicialización significa que cuando se solicita espacio para una variable, se proporciona un valor inicial.

Al inicializar, envuelva el valor del elemento con un par de llaves y separe varios valores con comas.

Hay tres formas de inicializar una matriz.

1. Inicializar todo: Según la longitud de la matriz, inicializa los valores de varios elementos.

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

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

2. Inicialización parcial: el número de elementos inicializados es menor que la longitud de la matriz. En este momento, el valor predeterminado es inicializar a partir de los elementos anteriores y los elementos no inicializados se completan con 0.

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

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

3. Inicialización especial: al definir e inicializar una matriz, no es necesario especificar la longitud de la matriz. La longitud de la matriz está determinada por el número de elementos inicializados.

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

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

Por ejemplo:

#incluir<stdio.h>

int principal (int argc, const char *argv[])
{
//Definimos una matriz de enteros de longitud 5
int arr[5]; //Los elementos de la matriz son: arr[0]--arr[4]
//Definimos una matriz de caracteres con una longitud de 10
carácter brr[10];
//Definimos una matriz con una longitud de 100 para almacenar decimales
doble crr[100];
//Si la matriz no se inicializa, todos los valores de los elementos que contiene serán
//valor aleatorio
printf("arr[0] = %d, brr[0] = %c, crr[0] = %lfn", arr[0], brr[0], crr[0]);

//Definimos la matriz e inicializamos
int drr[5] = {1,2,3,7,6}; //Todo inicializado
int err[5] = {520, 1314, 666} //Inicialización parcial
int frr[] = {1,3,5,7,9}; //Inicialización especial
printf("tamañode(frr) = %ldn", tamañode(frr)); //20
printf("longitud de frr = %ldn", tamaño de (frr)/tamaño de (frr[0]));

devuelve 0;
}

1.3 Operaciones convencionales sobre elementos de matriz

1.3.1 Entrada y salida

La llamada entrada y salida de una matriz en realidad significa entrada y salida repetidas de cualquier elemento.Usamos bucles para resolver acciones repetitivas.

Nota: El lenguaje C no permite la entrada y salida de matrices completas que no sean matrices de caracteres. Solo puede encontrar elementos de matriz y operar con elementos individuales.

1.3.2 Suma y media

El llamado valor de suma es para acumular todos los valores arbitrarios. Es necesario definir una variable para almacenar la suma, pero es necesario borrarla antes de su uso.

La llamada media consiste en dividir la suma de datos por el número total.No es necesario calcular la media en un bucle.

1.3.3 Encuentra el valor máximo

Rutina: establezca el primer elemento de la matriz en el valor máximo actual y luego compare el valor máximo actual con cualquier elemento de la matriz. Si no se cumple la condición durante la comparación, actualice el valor máximo hasta que todos los datos se comparen con. el valor máximo, se obtiene el valor máximo.

1.3.4 Buscar

Búsqueda de existencia: cuando los datos a encontrar aparecen en la matriz, la búsqueda finaliza inmediatamente

Búsqueda estadística: recorra todos los elementos de la matriz y cuente la cantidad de datos que se encontrarán


Ejercicios de clase:

#incluir<stdio.h>
#define MAX 10 //La macro define una constante

int principal (int argc, const char *argv[])
{
//Definimos una matriz para almacenar las calificaciones de todos los miembros de la clase
int puntuación[MAX] = {0};

//Ingreso completo de las puntuaciones de los miembros
para(int i=0; i
    {
//Encontrar cualquier elemento: puntuación[i]
printf("Por favor ingrese la puntuación del %désimo estudiante:", i+1);
scanf("%d", &puntuación[i]);
    }

// El programa se ejecuta hasta este punto, lo que significa que todos los elementos de la matriz se han asignado correctamente.
//Elementos de la matriz de salida
printf("Los elementos del array son: ");
para(int i=0; i
    {
printf("%dt", puntuación[i]);
    }
putchar(10); // Genera un retorno de carro y un avance de línea

    //Valor suma, valor medio
int suma = 0; //Registra la suma
double avg = 0; //Registra el valor promedio
para(int i=0; i
    {
suma += puntuación[i]; //Acumula cualquier dato
    }
// El programa se ejecuta hasta este punto, lo que indica que se ha calculado la suma.
promedio = 1.0*suma/MAX;
printf("La suma es: %d, el promedio es: %.2lfn", suma, promedio);

    //Encontrar el valor máximo (tomar el valor máximo como ejemplo)
int max = 0; //Almacena el valor máximo de la matriz
int maxi = 0; //Registra el subíndice donde se encuentra el valor máximo

//Primero trata el primero de la matriz como el valor máximo
máx = puntuación[0];
maxi = 0; //Registra el subíndice del valor máximo actual
para(int i=0; i
    {
//Compara el valor máximo actual con cualquier dato
si(máximo &lt; puntuación[i])
        {
max = puntuación[i]; //Actualiza los datos en el valor máximo
maxi = i; //Actualiza la variable que registra el subíndice máximo
        }
    }
// El programa se ejecuta hasta ahora, lo que indica que se han calculado el valor máximo y el subíndice del valor máximo.
printf("El valor máximo de la matriz actual es: %d, en la %désima posición n de la matriz", max, maxi+1);
    

    //Encontrar
int búsqueda = 0;
int i = 0; //Variable de bucle utilizada para recorrer la matriz
printf("Por favor ingrese el valor que busca:");
scanf("%d", &búsqueda);
//Comienza a recorrer la matriz para implementar la búsqueda de existencia
para(i=0; i
    {
//Determinar si los datos son los datos que se van a encontrar
si(busqueda == puntuación[i])
        {
romper;
        }
    }
//Determinar si se encuentra
si(i==MAX)
    {
printf("Encontrar n fallido");
}demás
    {
printf("El valor que buscas existe en el array n");
    }

    //Recorre la matriz y completa la búsqueda estadística
int recuento = 0; //Contador
para(int i=0; i
    {
si(busqueda == puntuación[i])
        {
count++; //Incrementos del contador
        }
    }
//Una vez finalizado el ciclo, juzga el contador
si(cuenta == 0)
    {
printf("Encontrar n fallido");
}demás
    {
printf("La búsqueda fue exitosa, el valor que buscas aparece %d veces n", count);
    }
devuelve 0;
}


Tarea extraescolar:

ninguno.