Laboratorium jezyk c4 2013

background image

Laboratorium nr 4

1/4

1)

Tablice.

Tablica to ciąg danych jednego typu. Ciąg taki posiada jedną nazwę, a do jego

poszczególnych elementów odnosimy się przez numer tzw. indeks. Tablice umożliwiają

wykonywanie podobnych operacji jak na zwykłych zmiennych. Liczba elementów tablicy jest

z góry określona tzw. rozmiarem tablicy. Ze względy na wymiar tablice dzielimy na:

tablice jednowymiarowe,

tablice wielowymiarowe.

Typowa deklaracja tablicy jednowymiarowej, przedstawiona została poniżej:

typ_danych nazwa_tablicy[rozmiar];

W przypadku języka C, tablice indeksowane są od numer „0” (w innych językach

programowania od numeru „1” np. Pascal). Dodatkowo tablica, może czasami nie posiadać

określonego rozmiaru, lecz w takim przypadku musi być odpowiednio zainicjowana.

Inicjowanie tablicy polega na nadaniu jej poszczególnym elementom odpowiednich wartości

zgodnych z typem danych danej tablicy.

Przykład:

int tablica[100];

//tablica 100 elementowa 0 – 99
//przechowująca liczby całkowite

int tablica[1]={20,10};

//tablica zainicjowana;

char imie[]=”Romek”;

//tablica znakowa „pusta”
//zainicjowana ciągiem znaków

Oprócz tablic jednowymiarowych, można także definiować tablice wielowymiarowe.

Typowa deklaracja tablicy wielowymiarowej w języku C, przedstawiona została poniżej:

typ_danych nazwa_tablicy[rozmiar][rozmiar] ... [rozmiar];

Język C

Temat: Typy złożone.

Instrukcja

laboratoryjna

4

Przygotował: mgr inż. Maciej Lasota

background image

Laboratorium nr 4

2/4

Aby odwołać się do konkretnego elementu tablicy w celu zapisu lub odczytu

danych. Należy podać nazwę zadeklarowanej tablicy oraz w nawisach kwadratowych „[ ]”

podać indeks elementu, do którego się odwołujemy.

Przykład:

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

int main(void)
{

int i,j;
int tab[20][20];

for(i=0; i<20; i++)
{

for(j=0; j<20; j++)
{

tab[i][j] = (i+j);

}

}

for(i=0; i<20; i++)
{

for(j=0; j<20; j++)
{

printf("[%d] ",tab[i][j]);

}

printf("\n");
}

return (0);
}

2)

Struktury i unie.

Typy danych w języku C dzielą się na proste i złożone. Typy złożone mogą składać

się z typów prostych jak i typów złożonych. Struktura (w języku Pascal odpowiednikiem

struktury jest rekord) jest złożonym typem danych zawierającym składowe różnych typów,

umieszczonych kolejno w pamięci. Struktury mają następujące ograniczenia: składowe nie

mogą być typu aktualnie definiowanego, nie mogą być funkcją, natomiast mogą być

wskaźnikiem do funkcji. Typowa deklaracja struktury w języku C, przedstawiona została

poniżej:

background image

Laboratorium nr 4

3/4

struct nazwa_struktury
{

[typ danych] [nazwa składowej 1];
[typ danych] [nazwa składowej 2];
[typ danych] [nazwa składowej 3];
...
[typ danych] [nazwa składowej n];

};

Przykład:

struct punkt
{

int x;

//pierwsza składowa struktury

int y;

//druga składowa struktury

};

Dla stworzonej struktury danych możemy zdefiniować zmienną tzw. zmienną

strukturalną. Przy definicji takich zmiennych, przed podaniem nazwy struktury, należy podać

słowo struct. Definicja zmiennej strukturalnej:

[struct] [nazwa struktury] [nazwa zmiennej];

Przykład:

struct dane
{

char imie[20];
char nazwisko[25];
float wiek;

};

struct dane moje_dane_osobowe;

Dostęp do składowych struktury odbywa się, przez tzw. notacje kropkową. Notacja ta

polega na podaniu zmiennej strukturalnej, kropki „.” oraz nazwy składowej.

[zmienna strukturalna].[nazwa składowej]

background image

Laboratorium nr 4

4/4

Przykład:

struct data
{

int dzien;
int miesiac;
int rok;

} data_urodzenia;

scanf(”%d”,&data_urodzenia.dzien);
scanf(”%d”,&data_urodzenia.miesiac);
scanf(”%d”,&data_urodzenia.rok);

printf(”Data urodzenia: %d-%d-%d\n”,data_urodzenia.dzien

,data_urodzenia.miesiac
,data_urodzenia.rok);

Unia jest podobna do struktury danych, ale posiada jedną różnicę, dla każdej

składowej unii przydzielane jest wspólne miejsce (obszar w pamięci). W obszarze tym

przechowywanych jest wiele nazw pól (składowych). W przypadku struktura danych

poszczególne składowe nie wpływają wzajemnie na siebie. Modyfikacja jednego pola nie

wpływa na pozostałe. W przypadku unii wszystkie pola zajmują tę samą przestrzeń, a więc

tylko jedno z nich w danej chwili może być aktywne (posiada przypisaną wartość). Jeśli

składowa w unii ma przypisaną wartość, przypisanie wartości do drugiej składowej

spowoduje usunięcie starej wartości.

Przykład:

union punkt
{

float x;
float y;

};

union punkt wspolrzedna;


Wyszukiwarka

Podobne podstrony:
Laboratorium jezyk c6 2013
Laboratorium jezyk c7 2013
Laboratorium jezyk c3 2013
Laboratorium jezyk c5 2013
Laboratorium jezyk c6 2013
Laboratorium jezyk c2 2013 id 3 Nieznany
Laboratorium jezyk c3 2013
Laboratorium jezyk c6 2013
Laboratorium jezyk c3
laboratorium jezyk c7
Plan laboratorium-język C, Informatyka
Wyznaczanie stałej siatki dyfrakcyjnej, Prz inf 2013, I Semestr Informatyka, Fizyka, SPRAWOZDANIA DU
Lepkość-sciaga, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki,
Nr ćwiczenia5 moje, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, labor
[4]tabelka, Elektrotechnika AGH, Semestr II letni 2012-2013, Fizyka II - Laboratorium, laborki, labo

więcej podobnych podstron