Teknologian jakaminen

Linux C-kielen perusteiden päivä6

2024-07-12

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

Sisällysluettelo

oppimisen tavoite:

Oppisisältö:

1. Joukko

1.1 Konsepti

1.2 Yksiulotteinen matriisi

1.2.1 Konsepti

1.2.2 Muoto

1.2.3 Alustus

1.3 Perinteiset operaatiot taulukkoelementeillä

1.3.1 Tulo ja lähtö

1.3.2 Summa ja keskiarvo

1.3.3 Etsi maksimiarvo

1.3.4 Haku

Luokkaharjoitukset:

Oppitunnin ulkopuoliset kotitehtävät:


oppimisen tavoite:

Esimerkiksi:

  • Opi C:n perusteet viikossa

Oppisisältö:

1. Joukko

1.1 Konsepti

Matriiseja käytetään joukon tallentamiseenSama tietotyyppitiedoista.

Array on rakennettu tyyppi.

Jokaista saman tietotyypin dataa taulukossa kutsutaan taulukon elementiksi, jota kutsutaan myös taulukon jäseneksi.

Taulukon määrittäminen varaa lohkon muistiinjatkuva tilaTietojen tallentaminen on jatkuvaa riippumatta siitä, kuinka monta ulottuvuutta taulukossa on.

1.2 Yksiulotteinen matriisi

1.2.1 Konsepti

Ns. yksiulotteinen taulukko on taulukko, jossa on vain yksi alaindeksi.

1.2.2 Muoto

Tietotyypin taulukon nimi [alaindeksi];

Tietotyyppi: Se voi olla joko perustyyppiä tai rakennettua tyyppiä (paitsi taulukoita)

Taulukon nimi: Se on tunniste, ja sen on noudatettava tunnisteen nimeämiskäytäntöä.

Alaindeksi: Kun määritetään taulukkoa, alaindeksi on yleensä vakio, jota käytetään kuvaamaan määritettävän taulukon pituutta. Muissa tilanteissa se voi olla vakio, muuttuja tai lauseke, joka osoittaa, millä taulukon tiedoilla toimia.

Esimerkiksi:

1.2.3 Alustus

Ns. alustus tarkoittaa, että muuttujalle tilaa haettaessa annetaan muuten alkuarvo.

Kierrä elementin arvo alustuksen yhteydessä aaltosulkeilla ja erota useat arvot pilkuilla.

On kolme tapaa alustaa taulukko

1. Alusta kaikki: Alusta useiden elementtien arvot taulukon pituuden mukaan.

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

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

2. Osittainen alustus: Alustettujen elementtien määrä on pienempi kuin taulukon pituus. Tällä hetkellä oletuksena on alustus edellisistä elementeistä, ja alustamattomat elementit täytetään 0:lla

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

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

3. Erityinen alustus: Kun määritetään ja alustetaan taulukkoa, taulukon pituutta ei tarvitse määrittää.

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

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

Esimerkiksi:

#sisältää<stdio.h>

int main(int argc, const char *argv[])
{
//Määritä kokonaislukutaulukko, jonka pituus on 5
int arr[5] //Matriisielementit ovat: arr[0]--arr[4];
//Määritä merkkijono, jonka pituus on 10
char brr[10];
//Määritä taulukko, jonka pituus on 100 desimaalien tallentamiseksi
double crr[100];
//Jos taulukkoa ei ole alustettu, kaikki sen elementtiarvot ovat
//satunnainen arvo
printf("arr[0] = %d, brr[0] = %c, crr[0] = %lfn", arr[0], brr[0], crr[0]);

//Määritä taulukko ja alusta se
int drr[5] = {1,2,3,7,6} //Kaikki alustettu
int err[5] = {520, 1314, 666} //Osittainen alustus
int frr[] = {1,3,5,7,9} //Erityinen alustus
printf("koko(frr) = %ldn", koko(frr)); //20
printf("len of frr = %ldn", koko(frr)/koko(frr[0]));

paluu 0;
}

1.3 Perinteiset operaatiot taulukkoelementeillä

1.3.1 Tulo ja lähtö

Matriisin ns. syöttö ja lähtö tarkoittaa itse asiassa minkä tahansa elementin toistuvaa syöttöä ja lähtöä.Käytämme silmukoita toistuvien toimien ratkaisemiseen.

Huomautus: C-kieli ei salli kokonaisten taulukoiden syöttämistä ja tulostamista, paitsi merkkitaulukoita. Voit etsiä vain taulukkoelementtejä ja käyttää niitä.

1.3.2 Summa ja keskiarvo

Ns. summausarvo on kerätä kaikki mielivaltaiset arvot. Summan tallentamiseksi on määritettävä muuttuja, mutta se on tyhjennettävä ennen käyttöä.

Niin sanottu keskiarvo on jakaa tietojen summa kokonaisluvulla.Keskiarvoa ei tarvitse laskea silmukassa

1.3.3 Etsi maksimiarvo

Rutiini: Aseta taulukon ensimmäinen elementti nykyiseen enimmäisarvoon ja vertaa sitten nykyistä maksimiarvoa mihin tahansa taulukon elementtiin maksimiarvo saadaan maksimiarvo.

1.3.4 Haku

Olemassaolohaku: Kun etsittävä tieto ilmestyy taulukkoon, haku päättyy välittömästi

Tilastollinen haku: Käy läpi kaikki taulukon elementit ja laske löydettyjen tietojen määrä


Luokkaharjoitukset:

#sisältää<stdio.h>
#define MAX 10 //Makro määrittää vakion

int main(int argc, const char *argv[])
{
//Määritä matriisi, johon tallennetaan kaikkien luokan jäsenten arvosanat
int pisteet[MAX] = {0};

//Täydellinen jäsenpisteiden syöttäminen
for(int i=0; i
    {
//Etsi mikä tahansa elementti: score[i]
printf("Anna %d:nnen opiskelijan pisteet:", i+1);
scanf("%d", &pisteet[i]);
    }

//Ohjelma suoritetaan tähän pisteeseen, mikä tarkoittaa, että kaikki taulukon elementit on määritetty onnistuneesti.
//Tulostaa taulukon elementtejä
printf("Matriisin elementit ovat: ");
for(int i=0; i
    {
printf("%dt", pistemäärä[i]);
    }
putchar(10); //Lähetä rivinvaihto ja rivinvaihto

    //Summa-arvo, keskiarvo
int summa = 0 //Tallenna summa
double avg = 0 //Tallenna keskiarvo
for(int i=0; i
    {
summa += pisteet[i] //Kerää kaikki tiedot
    }
//Ohjelma suoritetaan tähän pisteeseen, mikä osoittaa, että summa on laskettu.
keskiarvo = 1,0*summa/MAX;
printf("Summa on: %d, keskiarvo on: %.2lfn", summa, avg);

    //Etsi maksimiarvo (esimerkiksi maksimiarvo)
int max = 0 //Tallennus taulukon maksimiarvo
int maxi = 0 //Tallenna alaindeksi, jossa suurin arvo sijaitsee

// Käsittele ensin taulukon ensimmäistä maksimiarvona
max = pisteet[0];
maxi = 0 //Tallenna nykyisen maksimiarvon alaindeksi
for(int i=0; i
    {
//Vertaa nykyistä maksimiarvoa mihin tahansa tietoon
jos(max &lt; pisteet[i])
        {
max = pistemäärä[i] //Päivitä tiedot maksimiarvolla
maxi = i //Päivitä muuttuja, joka tallentaa suurimman alaindeksin
        }
    }
//Ohjelma on suoritettu tähän mennessä, mikä osoittaa, että maksimiarvo ja enimmäisarvon alaindeksi on laskettu.
printf("Nykyisen taulukon maksimiarvo on: %d, taulukon %d:nnessä paikassa n", max, maxi+1);
    

    //Löytö
int haku = 0;
int i = 0; //silmukkamuuttuja, jota käytetään taulukon läpikulkuun
printf("Anna etsimäsi arvo:");
scanf("%d", &search);
//Aloita taulukon läpikulku olemassaolohaun toteuttamiseksi
for(i=0; i
    {
//Määritä, ovatko tiedot löydettäviä tietoja
jos(haku == pisteet[i])
        {
tauko;
        }
    }
//Määritä löytyykö se
jos(i==MAX)
    {
printf("Etsi epäonnistui n");
}muu
    {
printf("Etsimäsi arvo on taulukossa n");
    }

    //Siirrä taulukko ja suorita tilastollinen haku
int count = 0 //Laskuri
for(int i=0; i
    {
jos(haku == pisteet[i])
        {
count++ //Laskuriinkrementit
        }
    }
//Silmukan päätyttyä arvioi laskuri
jos(luku == 0)
    {
printf("Etsi epäonnistui n");
}muu
    {
printf("Haku onnistui, etsimäsi arvo näkyy %d kertaa n", count);
    }
paluu 0;
}


Oppitunnin ulkopuoliset kotitehtävät:

ei mitään.