Programowanie strukturalne i obiektowe



Podobne dokumenty
1 Podstawy c++ w pigułce.

2 Przygotował: mgr inż. Maciej Lasota

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

1 Podstawy c++ w pigułce.

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Zmienne, stałe i operatory

Instrukcje sterujące. Programowanie Proceduralne 1

Podstawy programowania w języku C

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Język C - podstawowe informacje

Podstawy Programowania Podstawowa składnia języka C++

Języki programowania - podstawy

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:

Część 4 życie programu

Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++

Język C część 1. Sformułuj problem Zanalizuj go znajdź metodę rozwiązania (pomocny może byd algorytm) Napisz program Uruchom i przetestuj czy działa

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Co nie powinno być umieszczane w plikach nagłówkowych:

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Programowanie komputerowe. Zajęcia 1

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Język ludzki kod maszynowy

( wykł. dr Marek Piasecki )

Wstęp do programowania INP001213Wcl rok akademicki 2018/19 semestr zimowy. Wykład 2. Karol Tarnowski A-1 p.

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Programowanie strukturalne język C - wprowadzenie

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Metodyki i Techniki Programowania MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

C++ wprowadzanie zmiennych

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawy programowania C. dr. Krystyna Łapin

Proste programy w C++ zadania

Języki i metodyka programowania. Wprowadzenie do języka C

Podstawy programowania. Wykład: 5. Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wstęp do Programowania, laboratorium 02

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Wstęp do programowania

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Podstawy programowania skrót z wykładów:

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)

Program w C. wer. 10 z drobnymi modyfikacjami! Wojciech Myszka :28:

Wykład 1

Podstawy programowania - 1

#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

Programowanie - wykład 4

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Podstawy Programowania C++

1. Brian W. Kernighan, Dennis M. Ritchie, Język ANSI C, WNT, Warszawa 1998.

Struktura pliku projektu Console Application

KURS C/C++ WYKŁAD 1. Pierwszy program

#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }

I - Microsoft Visual Studio C++

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Język C zajęcia nr 11. Funkcje

Podstawowe elementy proceduralne w C++ Program i wyjście. Zmienne i arytmetyka. Wskaźniki i tablice. Testy i pętle. Funkcje.

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Języki i metody programowania. Omówienie języków C, C++ i Java

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Pytania z języka C/C++ main dyrektywy preprocesora #include 15. #define 16. #define słowa zastrzeżone \n, \t, \f 26.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Program w C. wer. 12 z drobnymi modyfikacjami! Wojciech Myszka :59:

PROGRAMOWANIE w C prolog

W języku C dostępne są trzy instrukcje, umożliwiające tworzenie pętli: for, while oraz do. for (w1;w2;w3) instrukcja

Instrukcje sterujące mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2012

Na ekranie monitora zostaną wyświetlone w dwu liniach teksty Pierwsza linia Druga linia

ROZDZIAŁ 2. Operatory

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH

Podstawy programowania w języku C i C++

Wykład 2 Składnia języka C# (cz. 1)

Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Podstawy Programowania.

Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

Programowanie obiektowe

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

ECLIPSE wnioski z dwóch pierwszych laboratoriów

Transkrypt:

Programowanie strukturalne i obiektowe Język C część I Opracował: Grzegorz Flesik Literatura: A. Majczak, Programowanie strukturalne i obiektowe, Helion, Gliwice 2010 P. Domka, M. Łokińska, Programowanie strukturalne i obiektowe, WSiP, Warszawa 2010 Staszów 2010

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 2 Spis treści 1. STRUKTURA PROGRAMU W C / C++.. 3 2. WIELKIE I MAŁE LITERY 3 3. KOMENTARZE. 3 4. SŁOWA KLUCZOWE.. 4 5. FUNKCJA RETURN. 4 6. DYREKTYWA #INCLUDE 5 7. ZMIENNE I STAŁE.. 6 7.1.. Podstawowe typy zmiennych w C 6 7.2.. Deklaracja zmiennych i stałych.. 6 8. FUNKCJE WEJŚCIA-WYJŚCIA W JĘZYKU C.. 7 9. OPERATORY. 8 10. INSTRUKCJE STERUJĄCE. 9 10.1. Instrukcja warunkowa if 9 10.2. Instrukcja switch.. 9 10.3. Instrukcja while 10 10.4. Pętla for 10 10.5. Instrukcje break i continue 11

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 3 1. Struktura programu w C / C++ #include <biblioteki_standardowe> // dyrektywa preprocesora (dołączanie // bibliotek do programu) #include "pliki_nagłówkowe // dołączenie własnych plików nagłówkowych // do programu // Deklaracje globalnych zmiennych i stałych // Deklaracje funkcji // funkcja główna programu // instrukcje programu // wyjście z programu, program zwraca wartość 0 2. Wielkie i małe litery Kompilator C/C++ rozróżnia wielkie i małe litery, zatem ważne jest konsekwentne stosowanie nazw zmiennych, np. wynik, Wynik, WYNIK oznaczają trzy różne zmienne. Należy również pamiętać, że polecenia języka C/C++ piszemy małymi literami. 3. Komentarze Istnieją dwa rodzaje komentarzy w języku C. Pierwszy z nich używany jest do oznaczenia pojedynczej linii w kodzie programu znakiem komentarza jest //. Kiedy chcemy umieścić komentarz składający się z kilku wierszy, używamy znaków /* do rozpoczęcia komentarza, oraz */ do jego zakończenia. Przykłady: // Komentarz zajmujący jedną linijkę // printf("ten tekst nie zostanie wyświetlony"); /* komentarz zajmujący kilka wierszy */ printf("ta linijka jest poza komentarzem i zostanie wykonana"); /* printf("to też się nie wyświetli"); */

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 4 4. Słowa kluczowe Słowa kluczowe są identyfikatorami zarezerwowanymi dla określonych zadań i nie możemy ich używać jako nazw zmiennych w programie. W przypadku używania zintegrowanego środowiska programistycznego (np. DEV C++) słowa kluczowe w edytorze tekstu są zazwyczaj wyróżnione innym stylem czcionki. Poniżej wyszczególniono listę słów kluczowych języka C: Instrukcje Typy danych Specyfikatory klasy zmiennej break char auto case double extern continue enum static do float register else int volatile for long goto short if return Specyfikatory Inne typów danych switch signed const typedef struct default while union sizeof unsigned void 5. Funkcja return Wywołanie instrukcji return powoduje natychmiastowe wyjście z funkcji wraz ze zwróceniem wartości do funkcji nadrzędnej. Wywołanie return w funkcji głównej programu powoduje jego zakończenie. Przykład: int suma(int x, int y) // funkcja obliczająca sumę liczb x i y return x+y; // wyjście z programu i przekazanie wartości x+y // funkcja główna programu printf("3 + 4 = %i", suma(3,4)); // wywołanie funkcji suma() // wywołanie return w funkcji głównej // - wyjście z programu printf("ten tekst się nie wyświetli, po funkcji return");

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 5 6. Dyrektywa #include Dyrektywę #include stosujemy w pierwszych linijkach kodu źródłowego programu. Służy ona do dołączania zewnętrznych plików źródłowych (tzw. pliki nagłówkowe) zawierających dodatkowe funkcje, które chcemy wykorzystać w programie. Przy pomocy dyrektywy #include możemy dołączać pliki nagłówkowe zawierające podstawowe funkcje języka C/C++, które zainstalowane zostały wraz z kompilatorem. Nazwy standardowych bibliotek zapisujemy w nawiasach kątowych < >. Na przykład: Możemy również dołączać własne pliki nagłówkowe, które zawierają stworzone przez nas funkcje. Zapisywanie funkcji w odrębnych plikach nagłówkowych poprawia przejrzystość kodu programu. Przy dołączaniu własnych plików nagłówkowych stosujemy znaki cudzysłowiu " ". Na przykład: #include "funkcje.h" W odniesieniu do przykładu z poprzedniej strony dla funkcji return, w pliku funkcje.h moglibyśmy umieścić nagłówek funkcji suma(). Plik funkcje.h: #ifndef FUNKCJE_H #define FUNKCJE_H int suma(int x, int y); #endif Plik funkcje.c: int suma(int x, int y) return x+y; Plik główny programu program.c: #include "funkcje.h printf("3 + 4 = %i, suma(3,4)); Należy trzymać się następującego schematu: W pliku nagłówkowym z rozszerzeniem.h umieszczamy dyrektywy #ifndef, #define, #endif tak jak na przykładzie. Zapobiega to przypadkowemu wielokrotnemu przetwarzaniu pliku. Po dyrektywie #define umieszczamy tylko typ, nazwę i parametry funkcji (tzw. deklaracje funkcji). W pliku źródłowym z rozszerzeniem.c umieszczamy zawartości funkcji zadeklarowanych w pliku.h (tzw. definicje), czyli jaki kod one wykonują.

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 6 W programie głównym umieszczamy dyrektywę #include dołączającą tylko plik nagłówkowy.h. Możemy wówczas stosować funkcje zadeklarowane w dołączanym pliku. 7. Zmienne i stałe 7.1. Podstawowe typy zmiennych w C Typ zmiennej void char int float double Opis nieokreślony pojedynczy znak liczba całkowita (16 lub 32 bity) liczba zmiennoprzecinkowa pojedynczej precyzji (4 bajty) liczba zmiennoprzecinkowa podwójnej precyzji (8 bajtów) Modyfikatory: unsigned nieujemna (zakres liczb od 0) signed ze znakiem (mogą wystąpić wartości ujemne, domyślnie) const stała (brak możliwości zmiany wartości) 7.2. Deklaracja zmiennych i stałych Zmienną deklarujemy podając w pierwszej kolejności jej typ a następnie nazwę: typ zmienna; Można deklarować kilka zmiennych tego samego typu jednocześnie, a także określać ich wartości początkowe: typ zmienna1, zmienna2, zmienna3 = wartosc3, zmienna4 = wartosc4; Dodanie słowa kluczowego const przed typem powoduje deklarację stałej, trzeba od razu podać jej wartość. Nie będzie można później jej zmienić. const typ zmienna = wartość; Wykorzystując typ znakowy char można tworzyć łańcuchy znaków, które służą do przechowywania tekstu. W nawiasach kwadratowych określamy maks. długość łańcucha. char imie[30] = "Grzegorz";

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 7 8. Funkcje wejścia-wyjścia w języku C Funkcja, przykłady printf() printf("tekst\n"); printf("x = %i", x); scanf() scanf("%i", &x); getch() c = getch(); puts() puts("tekst"); gets() Znaczenie wyświetlenie danych na ekranie wyświetla tekst i przechodzi do następnej linii wyświetla tekst oraz wartość zmiennej całkowitej x wczytanie danych z klawiatury wczytuje wartość dla zmiennej całkowitej x wczytanie pojedynczego znaku z klawiatury wczytuje znak dla zmiennej c wyświetla łańcuch znaków wczytuje łańcuch znaków gets(tekst); Niektóre znaki specjalne, które można zastosować przy wyświetlaniu: Znak specjalny Opis \a symbol dźwiękowy \n przejście do następnego wiersza \t tabulator poziomy \v tabulator pionowy \r powrót na początek bieżącego wiersza \ cudzysłów \ apostrof \0 znak zerowy \\ ukośnik odwrotny (backslash) Funkcja printf() umożliwia wyświetlanie wartości zmiennych. Aby to uczynić należy oznaczyć, w którym miejscu wyświetlane i jakiego typu będą to zmienne. Oznaczenia typów zmiennych zamieszczono poniżej. Oznaczenie Opis %d lub %i liczba całkowita %5d wyświetlenie liczby w polu 5-znakowym %f liczba zmiennoprzecinkowa (float)

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 8 %.3f wyświetlenie liczby z dokładnością 3 miejsc po przecinku %lf liczba zmiennoprzecinkowa (double) %c znak %s łańcuch znaków 9. Operatory Operator Przykład Znaczenie Arytmetyczne + x + y dodawanie - x y odejmowanie * x * y mnożenie / x / y dzielenie % x % y reszta z dzielenia ++ x++ inkrementacja ++x -- x-- --x dekrementacja Przypisania = x = 5 przypisanie wartości += -= *= itd. x += 5 złożone operatory przypisania x += 5 to samo co x = x+5 Relacyjne < x < y mniejszy <= x <= y mniejszy lub równy > x > y większy >= x >= y większy lub równy!= x!= y różny == x == y równy Logiczne (a == 0) (a == 1) alternatywa (suma logiczna) && (a > 0) && (a < 10) koniunkcja (iloczyn logiczny)!!(a==3) negacja Bitowe logiczne x y alternatywa bitowa & x & y koniunkcja bitowa ^ x ^ y bitowa różnica symetryczna << x << y bitowe przesunięcie w lewo >> x >> y bitowe przesunięcie w prawo ~ ~x negacja bitowa

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 9 10. Instrukcje sterujące 10.1. Instrukcja warunkowa if Składnia instrukcji warunkowej if wygląda następująco: if (warunek) instrukcja1; //wykonywana, gdy warunek jest spełniony else instrukcja2; // wykonywana, gdy warunek nie jest spełniony W przypadku gdy jest więcej do wykonania niż jedna instrukcja, wtedy zamykamy je w nawiasach klamrowych. Nie jest konieczne stosowanie polecenia else. Przykład: int x; printf("podaj liczbę x: "); scanf("%i", &x); if (x > 0 && x < 100) printf("liczba mieści się w przedziale (0,100)"); else printf("liczba znajduje się poza przedziałem (0, 100)\n"); printf("uruchom program ponownie"); 10.2. Instrukcja switch Instrukcja switch umożliwia wybranie jednego spośród wielu wariantów. Podawane jest wyrażenie warunkowe (zmienna) oraz jego wartości, jakie może ono przyjmować. W zależności od wartości wyrażenia realizowana jest odpowiednia instrukcja. Składnia instrukcji switch wygląda następująco: switch (wyrażenie) case wartosc1: instrukcja1; case wartosc2: instrukcja2; default: instrukcja_domyslna; Słowo kluczowe default określa instrukcje, które mają się wykonać jeśli żaden z wymienionych wariantów nie został wybrany. W razie potrzeby po każdym wariancie należy dodać instrukcję break, aby przerwać wykonywanie kolejnych wyrażeń. Oto przykład:

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 10 int x; printf("podaj liczbe od 1 do 3: "); scanf("%i", &x); switch (x) case 1: printf("podałeś jeden"); break; case 2: printf("podałeś dwa"); break; case 3: printf("podałeś trzy"); break; default: printf("podałeś inną liczbę!"); 10.3. Instrukcja while Instrukcja while umożliwia wykonywanie instrukcji w pętli dopóki jest spełniony określony warunek. Warunek ten może być sprawdzany zarówno na początku, jak i na końcu pętli. Poniżej podano składnię dla obydwu wymienionych wariantów. while (warunek) instrukcja; do instrukcja while (warunek); // warunek sprawdzany na początku // warunek sprawdzany na końcu Poniższy program przedstawia przykład zastosowania pętli while - wypisuje tekst dopóki użytkownik nie wciśnie klawisza x : #include <stdlib.h> char c; do printf("trwa pętla\n"); c = getch(); while (c!= 'x'); 10.4. Pętla for Pętla for jest rozbudowaną wersją pętli while. W odróżnieniu do instrukcji while, for posiada 3 parametry instrukcję inicjalizującą, warunek oraz instrukcję krokową. Składnia pętli for wygląda następująco: for (inicjalizacja; warunek; instrukcja_krokowa)

Programowanie strukturalne i obiektowe język C cz. 1 opracował Grzegorz Flesik Strona 11 Standardowo pętlę for wykorzystujemy, gdy określone instrukcje mają wykonać się określoną ilość razy. Wówczas składnia polecenia przypomina pętlę for napisaną w języku Pascal. Na przykład: for (i = 0; i < 10; i++) printf("%i ", i); Powyższy fragment można opisać następująco: przypisz zmiennej i wartość 0. Dopóki i jest mniejsze od 10, wykonuj instrukcję printf, za każdym razem zwiększając i o 1. Pętla wykona się 10 razy dając ostatecznie na wyjściu: 0 1 2 3 4 5 6 7 8 9. 10.5. Instrukcje break i continue Instrukcja break, jak już opisano, może być wykorzystywana w obrębie instrukcji switch powoduje wówczas bezwarunkowe wyjście poza jej obręb. Instrukcję break można też stosować w obrębie pętli while oraz for jej działanie jest takie samo powoduje zakończenie działania pętli. Przykład przerwanie wykonywania pętli po naciśnięciu klawisza q : char c; int i; for (i = 0; i < 10; i++) c = getch(); if (c == 'q') break; printf("naciśnięto klawisz: %c\n", c); Z kolei instrukcja continue zastosowana w obrębie pętli powoduje pominięcie instrukcji znajdujących się poniżej, ale pętla jest kontynuowana od nowa. Poniżej przedstawiono przykład zastosowania instrukcji continue obliczanie w pętli sumy liczb nieparzystych z zakresu 0-20. int i, suma = 0; for (i = 0; i < 20; i++) if (i % 2 == 0) continue; suma += i; printf("suma liczb parzystych od 0 do 10 wynosi %i\n", suma);