Condivisione della tecnologia

Nozioni di base sul linguaggio Linux C, giorno 6

2024-07-12

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

Sommario

obiettivo di apprendimento:

Contenuti didattici:

1. Matrice

1.1 Concetto

1.2 Array unidimensionale

1.2.1 Concetto

1.2.2 Formato

1.2.3 Inizializzazione

1.3 Operazioni convenzionali sugli elementi di un array

1.3.1 Ingresso e uscita

1.3.2 Somma e media

1.3.3 Trovare il valore massimo

1.3.4 Cerca

Esercizi in classe:

Compiti extrascolastici:


obiettivo di apprendimento:

Per esempio:

  • Padroneggia le basi del C in una settimana

Contenuti didattici:

1. Matrice

1.1 Concetto

Gli array vengono utilizzati per memorizzare un insieme diStesso tipo di datidi dati.

L'array è un tipo costruito.

Ogni dato dello stesso tipo nell'array è chiamato elemento dell'array, chiamato anche membro dell'array.

La definizione di un array allocherà un blocco in memoriaspazio continuoPer archiviare i dati, non importa quante dimensioni abbia l'array, è continuo.

1.2 Array unidimensionale

1.2.1 Concetto

Il cosiddetto array unidimensionale è un array con un solo indice.

1.2.2 Formato

Nome dell'array del tipo di dati [pedice];

Tipo di dati: può essere un tipo base o un tipo costruito (eccetto gli array)

Nome dell'array: è un identificatore e deve essere conforme alla convenzione di denominazione degli identificatori.

Pedice: quando si definisce un array, il pedice è generalmente una costante utilizzata per rappresentare la lunghezza dell'array da definire. In altre situazioni, può essere una costante, una variabile o un'espressione che indica su quali dati nell'array operare.

Per esempio:

1.2.3 Inizializzazione

La cosiddetta inizializzazione significa che quando si richiede spazio per una variabile, viene fornito un valore iniziale.

Durante l'inizializzazione, racchiudi il valore dell'elemento tra una coppia di parentesi graffe e separa più valori con virgole.

Esistono tre modi per inizializzare un array

1. Inizializza tutto: in base alla lunghezza dell'array, inizializza i valori di diversi elementi.

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

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

2. Inizializzazione parziale: il numero di elementi inizializzati è inferiore alla lunghezza dell'array. In questo momento, l'impostazione predefinita prevede l'inizializzazione dagli elementi precedenti e gli elementi non inizializzati vengono riempiti con 0

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

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

3. Inizializzazione speciale: quando si definisce e inizializza un array, non è necessario specificare la lunghezza dell'array. La lunghezza dell'array è determinata dal numero di elementi inizializzati.

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

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

Per esempio:

#includere<stdio.h>

int principale(int argomento, const char *argv[])
{
//Definisce un array di numeri interi di lunghezza 5
int arr[5]; //Gli elementi dell'array sono: arr[0]--arr[4]
//Definisce un array di caratteri con una lunghezza di 10
carattere brr[10];
//Definisce un array con una lunghezza pari a 100 per memorizzare i decimali
doppio crr[100];
//Se l'array non è inizializzato, tutti i valori degli elementi in esso contenuti lo saranno
//valore casuale
printf("arr[0] = %d, brr[0] = %c, crr[0] = %lfn", arr[0], brr[0], crr[0]);

//Definisce l'array e inizializzalo
int drr[5] = {1,2,3,7,6} //Tutto inizializzato
int err[5] = {520, 1314, 666} //Inizializzazione parziale
int frr[] = {1,3,5,7,9}; //Inizializzazione speciale
printf("dimensione(frr) = %ldn", dimensione(frr)); //20
printf("lunghezza di frr = %ldn", sizeof(frr)/sizeof(frr[0]));

restituisci 0;
}

1.3 Operazioni convenzionali sugli elementi di un array

1.3.1 Ingresso e uscita

Il cosiddetto input e output di un array in realtà significa input e output ripetuti di qualsiasi elemento.Usiamo i loop per risolvere azioni ripetitive.

Nota: il linguaggio C non consente l'input e l'output di interi array diversi dagli array di caratteri. È possibile trovare solo elementi di array e operare su singoli elementi.

1.3.2 Somma e media

Il cosiddetto valore di sommatoria consiste nell'accumulare tutti i valori arbitrari. È necessario definire una variabile per memorizzare la somma, ma è necessario che venga cancellata prima dell'uso.

La cosiddetta media consiste nel dividere la somma dei dati per il numero totale.Non è necessario calcolare la media in un ciclo

1.3.3 Trovare il valore massimo

Routine: imposta il primo elemento dell'array sul valore massimo corrente, quindi confronta il valore massimo corrente con qualsiasi elemento dell'array. Se la condizione non viene soddisfatta durante il confronto, aggiorna il valore massimo fino a quando tutti i dati vengono confrontati il valore massimo, si ottiene il valore massimo.

1.3.4 Cerca

Ricerca di esistenza: quando i dati da trovare compaiono nell'array, la ricerca termina immediatamente

Ricerca statistica: attraversa tutti gli elementi dell'array e conta il numero di dati da trovare


Esercizi in classe:

#includere<stdio.h>
#define MAX 10 //La macro definisce una costante

int principale(int argomento, const char *argv[])
{
//Definisce un array per memorizzare i voti di tutti i membri della classe
int punteggio[MAX] = {0};

//Inserimento completo dei punteggi dei membri
per(int i=0; i
    {
//Trova qualsiasi elemento: punteggio[i]
printf("Inserisci il punteggio del %desimo studente:", i+1);
scanf("%d", &punteggio[i]);
    }

//Fino a questo punto il programma viene eseguito, il che significa che tutti gli elementi dell'array sono stati assegnati correttamente.
//Emette elementi dell'array
printf("Gli elementi dell'array sono: ");
per(int i=0; i
    {
printf("%dt", punteggio[i]);
    }
putchar(10); //Emette un ritorno a capo e un avanzamento riga

    //Valore somma, valore medio
int sum = 0; //Registra la somma
double avg = 0; //Registra il valore medio
for(int i=0; i
    {
somma += punteggio[i]; //Accumula tutti i dati
    }
//Il programma viene eseguito fino a questo punto, indicando che la somma è stata calcolata.
media = 1,0*somma/MAX;
printf("La somma è: %d, la media è: %.2lfn", somma, avg);

    //Trova il valore massimo (prendi il valore massimo come esempio)
int max = 0; //Memorizza il valore massimo dell'array
int maxi = 0; //Registra l'indice dove si trova il valore massimo

//Per prima cosa considera il primo nell'array come valore massimo
max = punteggio[0];
maxi = 0; //Registra l'indice del valore massimo corrente
per(int i=0; i
    {
//Confronta il valore massimo corrente con qualsiasi dato
se(max &lt; punteggio[i])
        {
max = punteggio[i]; //Aggiorna i dati nel valore massimo
maxi = i; //Aggiorna la variabile che registra il pedice massimo
        }
    }
//Il programma viene eseguito fino a quel momento, indicando che il valore massimo e il pedice del valore massimo sono stati calcolati.
printf("Il valore massimo dell'array corrente è: %d, nella %desima posizione n dell'array", max, maxi+1);
    

    //Trovare
int ricerca = 0;
int i = 0; //Variabile di loop utilizzata per attraversare l'array
printf("Inserisci il valore che stai cercando:");
scanf("%d", &ricerca);
//Inizia ad attraversare l'array per implementare la ricerca di esistenza
per(io=0;io
    {
//Determina se i dati sono quelli da trovare
se(ricerca == punteggio[i])
        {
rottura;
        }
    }
//Determina se è stato trovato
se(i==MAX)
    {
printf("Ricerca n non riuscita");
}altro
    {
printf("Il valore che stai cercando esiste nell'array n");
    }

    //Attraversa l'array e completa la ricerca statistica
conteggio int = 0; //Contatore
per(int i=0; i
    {
se(ricerca == punteggio[i])
        {
conteggio++; //Incrementi del contatore
        }
    }
//Al termine del ciclo, giudica il contatore
se(conteggio == 0)
    {
printf("Ricerca n non riuscita");
}altro
    {
printf("La ricerca ha avuto successo, il valore che stai cercando appare %d volte n", count);
    }
restituisci 0;
}


Compiti extrascolastici:

nessuno.