metody i języki programowania programowanie strukturalne
Transkrypt
metody i języki programowania programowanie strukturalne
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się chce - to komentarz*/ #include <stdio.h> /* znaczek # - polecenie(dyrektywa) translatora*/ void main (void) { /* poczatek definicji funkcji głównej programu */ char x[100]; /* deklaracja zmiennej tekstowej - na Twoja odpowiedz na pozdrowienie komputera */ printf("Witaj !\r\n"); /*komputer wypisuje pozdrawienie */ scanf("%s",x); /* i czeka na Twoja odpowiedz z klawiatury */ } /* koniec instrukcji zlozonej */ Repertuar zdań tekstu programu w języku C: KOMENTARZE, DYREKTYWY TRANSLATORA, DEKLARACJE (DEFINICJE) OBIEKTÓW, INSTRUKCJE "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 2 Rodzaje zdań tekstu programu w C • Program źródłowy w języku C można traktować jako tekst składający się z następujących rodzajów zdań: • Polecenia translatora • Zdania (instrukcje) języka C – komentarze – deklaracje (definicje) obiektów – instrukcje (zapis czynności) "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 3 Polecenia translatora • Są to linie zaczynające się od znaku # – translator polecenia w tych linii wykonuje PRZED tłumaczeniem programu – UWAGA! - te linie nie mogą kończyć się średnikiem – INACZEJ SĄ TO TZW DYREKTYWY TRANSLATORA (PREPROCESORA) • PRZYKŁADY #include <stdio.h> #include „mojefun.c” #define MAX 10 "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 4 Komentarze • Translator tekstu komentarzy NIE TŁUMACZY. – Ideą komentarzy jest przechowywanie objaśnień programu przeznaczonych DLA CZŁOWIEKA (PROGRAMISTY) • Dwa rodzaje komentarzy: – wielowierszowe „od - do” /* to jest przykład komentarza wielowierszowego */ – jednowierszowe „od - do końca linii” // To jest komentarz wprowadzony w języku C++ "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 5 Deklaracje/Definicje • Dwa rodzaje – obiektów • stałych – dosłownych: 10 10L 15.0 „ALA MA KOTA” – nazwanych: #define PI 3.14 • zmiennych int x, zmienna; char nazwisko[10]; struct osoba { char nazwisko[10]; imie[10]}; osoba KOWALSKI; – funkcji • deklaracja: • definicja: int tosamo(int x); int tosamo(int x){return x;} UWAGA NA ŚREDNIKI !!!! "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 6 Instrukcje • INSTRUKCJE zawierają opis czynności jakie wykonawca programu ma wykonać. Podstawowe rodzaje – instrukcja we/wy (komunikacji wykonawcy z otoczeniem: pamięć operacyjna - urządzenia zewnętrzne) – instrukcje przetwarzania - zapis wyrażeń określonego typu – instrukcja podstawienia (przesłania wewnętrznego: pamięć operacyjna - pamięć operacyjna) – instrukcja inicjalizacji (wartości początkowej zmiennej) – instrukcje sterujące: skoku, wywołania podprogramu(funkcji – instrukcje strukturalne "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 7 Podstawowa struktura programu /* Komentarze początkowe objaśniające zawartość pliku z programem */ #include <plik nagłówkowy biblioteki systemowej> #include "plik nagłówkowy biblioteki użytkownika" //tutaj ewentualne deklaracje funkcji użytkownika //tutaj definicje obiektów globalnych void main() { // <-nawias otwierający początek programu (funkcji) // tutaj deklaracje lokalne i instrukcje programu } //<- nawias kończący zakres definicji programu (funkcji) //tutaj definicje funkcji zadeklarowanych przed funkcja main() "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 8 Identyfikatory /nazwy Służą one do nazywania obiektów programu (typów, stałych, zmiennych, funkcji, itp.). Są one ciągiem liter, cyfr i znaków podkreślenia, zaczynającym się od litery lub znaku podkreślenia. Nie należy używać dwu znaków podkreślenia na początku, ze względu na możliwość kolizji z nazwami użytymi przez twórców kompilatora (w bibliotekach, makrodefinicjach, itp.). Duże i małe litery są rozróżniane "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 9 Słowa zastrzeżone języka C Wybrane identyfikatory zostały zastrzeżone przez twórców języka. Służą one do zapisu konstrukcji jakie są dopuszczalne w języku C. Dlatego nazywa się je słowami kluczowymi. Słowa kluczowe nie mogą być użyte jako nazwy zmiennych, typów lub funkcji i nie są poprawnymi identyfikatorami w sensie składni języka C. W języku ANSI C występują następujące zastrzeżone słowa kluczowe: break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef union unsigned void volatile while "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 10 Zmienne Stałe to obiekty programu, których wartość w trakcjie realizacji programu NIE MOŻE ulec zmianie Zmienne - wartość może ulec zmianie Zmienna reprezentuje daną określonego typu, jest przechowywana w pamięci operacyjnej i identyfikowana poprzez nazwę. Zmienna posiada następujące podstawowe cechy: • nazwę (identyfikator) • typ, który wiąże się ze zbiorem dopuszczalnych wartości danej i zbiorem dopuszczalnych operacji wykonywanych na niej, a także z rozmiarem pamięci potrzebnym do przechowania zmiennej Wszystkie zmienne przed użyciem muszą być zadeklarowane. Deklaracja polega na • wartość podaniu nazwy, typu i ewentualnie dodatkowych atrybutów, w tym wartości początkowej. W momencie deklaracji wartość zmiennej lokalnej, czyli zadeklarowanej wewnątrz funkcji, jest nieokreślona (przypadkowa), natomiast zmienne globalne (deklarowane poza funkcjami) są inicjowane na zero. "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 11 Typy danych Typ danych to zbiór stałych o identycznej charakterystyce i dopuszczalnych operatorach: • typy proste (wbudowane, fundamentalne): • typy pochodne tworzone z typów prostych za pośrednictwem operatorów: * - wskaźnik [] - tablica () - funkcja • typy definiowane przez użytkownika "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 12 Typy proste • znakowe char napisy (tylko stałe - tzw. stałe tekstowe „ala ma kota”) • liczbowe int - liczby całkowite float - liczby rzeczywiste Typy liczbowe mogą występować w wariantach: – liczby ze znakiem lub bez ( unsigned) – liczby ze zwiększoną dokładnością (long, double) "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 13 Deklaracja typu wartości • Zmienne - deklaracja typu – int x; – float zarobki; – double odleglosc_od_ksiezyca; • Stałe - sposób zapisu (stałe dosłowne) ‘A’ ‘c’ ‘\t’ ‘\\’ 1 100 200L 0755 0xa2 1.5 2e17 3.5e-2 „to jest stała tekstowa” • Stałe nazwane - w C tylko przez dyrektywę #define – #define PI 3.14 "Metody i języki programowania. Programowanie strukturalne", Tadeusz Wilusz, 2004 14