Podstawy programowania w języku C

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

2 Przygotował: mgr inż. Maciej Lasota

Instrukcje sterujące. Programowanie Proceduralne 1

Język ludzki kod maszynowy

Programowanie strukturalne i obiektowe

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

1 Podstawy c++ w pigułce.

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

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

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

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

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

( wykł. dr Marek Piasecki )

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

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

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

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

Programowanie obiektowe

Materiały pomocnicze do wykładu 3 - Elementy języka Java

1 Podstawy c++ w pigułce.

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

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

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Część 4 życie programu

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

Programowanie komputerowe. Zajęcia 1

Podstawy i języki programowania

Zmienne, stałe i operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Podstawy programowania w języku C i C++

Materiały pomocnicze do wykładu 3 - Elementy języka Java

Podstawy Programowania C++

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

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

Microsoft IT Academy kurs programowania

Programowanie w języku C++

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

Podstawy programowania C. dr. Krystyna Łapin

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

C++ wprowadzanie zmiennych

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

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

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

MATERIAŁY DO ZAJĘĆ II

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

I - Microsoft Visual Studio C++

Programowanie w elektronice: Podstawy C

Struktura pliku projektu Console Application

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

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

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Wstęp do programowania

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Programowanie strukturalne język C - wprowadzenie

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

Operatory AND, OR, NOT, XOR Opracował: Andrzej Nowak Bibliografia:

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

Proste programy w C++ zadania

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

Programowanie. Projektowanie funkcje programu tworzenie algorytmu i struktur danych. Programowanie implementacja algorytmu kompilacja programu

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

Programowanie komputerowe. Zajęcia 4

Podstawy Programowania. Wykład 1

Stuck in the loop. Sterowanie. Marcin Makowski. 29 października Zak lad Chemii Teoretycznej UJ

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Powtórka algorytmów. Wprowadzenie do języka Java.

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

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

Język programowania PASCAL

Definicje. Algorytm to:

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

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

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

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

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

Programowanie. Pascal - język programowania wysokiego poziomu. Klasa 2 Lekcja 9 PASCAL

Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe

Języki programowania - podstawy


Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Powtórka algorytmów. Wprowadzenie do języka Java.

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

Programowanie, algorytmy i struktury danych

Instrukcje sterujące. wer. 11 z drobnymi modyfikacjami! Wojciech Myszka :53:

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Ćwiczenie 1. Wprowadzenie do programu Octave

Instrukcje sterujące

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

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

Wstęp do programowania

Kontrola przebiegu programu

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

a[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10]

Transkrypt:

Podstawy programowania w języku C WYKŁAD 1

Proces tworzenia i uruchamiania programów

Algorytm, program Algorytm przepis postępowania prowadzący do rozwiązania określonego zadania. Program zapis algorytmu i danych w konkretnym języku programowania. Generalnie, program realizuje przetwarzanie określonych danych wejściowych (podawanych przez użytkownika) w dane wyjściowe (wynik działania programu).

Algorytm, program Algorytmy + Struktury danych = Programy (tytuł książki Niklausa Wirtha)

Języki programowania Języki maszynowe poziom bitów (zer i jedynek). Języki asemblerowe - poziom rozkazów procesora. Języki wysokiego poziomu (np. Fortran, Pascal, C/C++, Java, C#) - poziom wysokopoziomowych konstrukcji niezależnych od konkretnego komputera.

Języki programowania Języki interpretowane kolejne instrukcje kodu programu są tłumaczone na kod maszynowy i bezpośrednio wykonywane. Przykłady: Perl, PHP Języki kompilowalne cały kod programu jest tłumaczony na kod maszynowy, który następnie może być wykonany. Przykłady: Pascal, C/C++, Java

Kompilacja do kodu maszynowego Przykłady: Pascal, C/C++

Kompilacja do kodu pośredniego Przykłady: Java, C#

Instrukcja goto goto instrukcja skoku w językach programowania powodująca przekazanie sterowania w inne miejsce programu. Miejsce skoku w instrukcji goto identyfikowane jest za pomocą numeru wiersza programu (najczęściej w językach interpretowanych) bądź etykiety (najczęściej w językach kompilowanych).

Programowanie strukturalne Programowanie strukturalne charakteryzuje się ściśle kontrolowanym przepływem sterowania. Dzięki programowaniu strukturalnemu kod programów jest bardziej czytelny i łatwiejszy w utrzymaniu.

Programowanie strukturalne W roku 1966, C. Böhm i G. Jocopini wykazali, że wszystkie programy dają się doprowadzić do równoważnej postaci, w której mogą być reprezentowane tylko przez trzy podstawowe struktury: sekwencje, instrukcje wyboru (warunkowe), powtórzenia (pętle).

Programowanie strukturalne W roku 1968, E.W. Dijkstra opublikował w czasopiśmie Communication of the ACM list uznający instrukcję skoku (goto) za szkodliwą (źle wpływającą na czytelność i niezawodność kodu) oraz proponujący usunięcie tej instrukcji ze wszystkich języków programowania.

Instrukcje strukturalne Sekwencja instrukcja 1 instrukcja 2 instrukcja n

Instrukcje strukturalne Instrukcja wyboru (warunkowa)

Instrukcje strukturalne Instrukcja powtórzenia (pętli)

Programowanie strukturalne Programowanie strukturalne dopuszcza zagnieżdżanie instrukcji umożliwiając hierarchiczną budowę programu. Głębokość zagnieżdżania struktur może być dowolna.

Język C Język stworzony przez Dennisa Ritchiego na początku lat 70-tych. Zaprojektowany został jako język programowania systemowego. Jest na tyle ogólnym językiem, że zbiór dostępnych narzędzi pozwalających na pisanie programów blisko współpracujących ze sprzętem okazał się przydatny w bardzo różnych zastosowaniach.

Język C Jest językiem wysokiego poziomu ale działa na takich samych obiektach jak komputer: znakach, liczbach i adresach w pamięci. Brak jest działań na złożonych obiektach: tekstach, zbiorach, listach, tablicach, itp. Brak jest instrukcji wejścia/wyjścia, wszystkie bardziej złożone operacje realizowane są jedynie przez odpowiednie funkcje. Każda implementacja języka C dostarcza standardową bibliotekę funkcji.

Język C Język C zajmuje wyróżnioną pozycję pomiędzy typowymi językami wysokiego poziomu a językami asemblerowymi. W języku C brak jest wielu reguł zabezpieczających programistę przed niepożądanymi pomyłkami.

Podstawowe typy danych w języku C Typ danej określa zbiór jej możliwych wartości oraz zestaw operacji, które można nad nimi wykonywać. Jednocześnie określa on rozmiar pamięci potrzebny do przechowywania danej oraz sposób zapisu danej.

Podstawowe typy danych w języku C short, int, long typy reprezentujące liczby całkowite ze znakiem, usigned short, unsigned int, unsigned long typy reprezentujące liczby całkowite bez znaku, float, double typy reprezentujące liczby rzeczywiste, char typ reprezentujący znaki.

Typ logiczny W języku C brak jest typu reprezentującego wartości logiczne. Wartość logiczna false (fałsz) reprezentowana jest przez wartość równą 0. Wartość logiczna true (prawda) reprezentowana jest przez wartość różną od 0.

Literały Literały całkowite liczby dziesiętne np.: 12, -34 liczby ósemkowe np.: 035, 0212 liczby szesnastkowe np.: 0x25, 0xA3B

Literały rzeczywiste Literały liczby pojedynczej precyzji (float) np. 1.2f, -3.45F liczby podwójnej precyzji (double) np. 1.2, -3.45, 0.1E2, 1.0E-10 Literały znakowe np. 'a', '&'

Zmienne Zmienna jest identyfikatorem, który podczas działania programu może przyjmować różne wartości ze zbioru określonego za pomocą typu. Każda zmienna używana w programie musi zostać zadeklarowana.

Zmienne Zmienna prosta jest zmienną, której można przypisać jedynie daną skalarną (niepodzielną). Deklaracja zmiennej prostej: typ nazwa; Przykład deklaracji: int a;

Zmienne Zmienna wskazująca (wskaźnik) jest zmienną, której można przypisać na inną zmienną określonego typu. Deklaracja zmiennej wskaźnikowej: typ* nazwa; Przykład deklaracji: int* a;

Operator przypisania Operator przypisania = służy do ustalenia wartości zmiennej. Przykład x=y oznacza, że wartość y przypisywana jest do zmiennej x.

Stałe Stałej nie można przypisać innej wartości w trakcie działania programu. Deklaracja zmiennej prostej: const typ nazwa; Przykład deklaracji: const int a=5;

Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % reszta z dzielenia ++ inkrementacja (zwiększanie o 1) - - dekrementacja (zmniejszanie o 1) - zmiana znaku liczby

Operatory logiczne && iloczyn logiczny (koniunkcja) suma logiczna (alternatywa)! negacja a b a && b a b!a false flase false false true false true false true true true false false true false true true true true false

Operatory bitowe Operatory bitowe działają na odpowiadających sobie bitach argumentów typu char lub int. & iloczyn suma ^ różnica symetryczna! negacja

Operatory przesunięć << przesunięcie argumentu w lewo o zadaną liczbę bitów >> przesunięcie argumentu w prawo o zadaną liczbę bitów

Operatory relacyjne == równy!= różny < mniejszy <= mniejszy lub równy > większy >= większy lub równy

Operatory wyłuskiwania i wskazywania * wyłuskanie (rezultatem jest obiekt wskazywany przez argument) & wskazanie (rezultatem jest wskazanie na obiekt dany przez argument)

goto etykieta Instrukcja skoku GOTO

Instrukcja warunkowa IF if (warunek) instrukcja Jeśli warunek jest prawdziwy (true), instrukcja zostaje wykonana i sterowanie przenoszone jest do kolejnych instrukcji po instrukcji warunkowej. Jeśli warunek nie jest prawdziwy (false), instrukcja nie zostaje wykonana, a sterowanie przenoszone jest bezpośrednio do kolejnych instrukcji po instrukcji warunkowej. instrukcja może być instrukcją złożoną { }.

Instrukcja warunkowa IF-ELSE if (warunek) instrukcja1 else instrukcja2 Jeśli warunek jest prawdziwy (true), tylko instrukcja1 zostaje wykonana i sterowanie przenoszone jest do kolejnych instrukcji po instrukcji warunkowej. Jeśli warunek nie jest prawdziwy (false), tylko instrukcja2 zostaje wykonana i sterowanie przenoszone jest do kolejnych instrukcji po instrukcji warunkowej. instrukcja1 oraz instrukcja2 mogą być instrukcjami złożonymi { }.

switch(selektor) { case wart_1: { instrukcja_1 break; } case wart_2: { instrukcja_2 break; } case wart_n: { instrukcja_n break; } default: { instrukcja_i } } Instrukcja wyboru SWITCH W zależności od wartości selektora wykonywana jest odpowiednia sekcja case. W przypadku gdy wartość selektora nie pasuje do żadnych wartości specyfikowanych przez sekcje case, wykonywana jest sekcja default.

Instrukcja iteracyjna (pętla) WHILE while (warunek) instrukcja Dopóki warunek jest prawdziwy (true), instrukcja jest wykonywana. Gdy warunek przestaje być prawdziwy (false) sterowanie przenoszone jest do kolejnych instrukcji po instrukcji WHILE. instrukcja może być instrukcją złożoną { }.

Instrukcja iteracyjna (pętla) DO-WHILE do { instrukcja } while (warunek); Pętla DO-WHILE działa podobnie jak pętla WHILE. Różnica polega na tym, że warunek jest testowany po wykonaniu instrukcji. W związku z tym instrukcja zostaje wykonana co najmniej jeden raz.

Instrukcja iteracyjna (pętla) FOR for (zm=pocz; zm<=koniec; modyfikacja zm) instrukcja pocz oraz koniec są wyrażeniami typu całkowitego. Zmiennej zm przypisywana jest wartość pocz. Dopóki wartość zmiennej jest mniejsza lub równa wartości koniec, instrukcja jest wykonywana. Za każdym razem wartość zm jest modyfikowana (np. zwiększana jest o 1). Gdy wartość zm staje się większa od wartości koniec sterowanie jest przenoszone do kolejnych instrukcji po instrukcji FOR. instrukcja może być instrukcją złożoną { }. modyfikacja zm

Instrukcje CONTINUE i BREAK Instrukcja continue powoduje przerwanie wykonywania bieżącej iteracji pętli i przejście do następnej iteracji. Instrukcja break powoduje przerwanie wykonywania bieżącej iteracji pętli i wyjście z pętli.

Wczytywanie danych scanf( %d, &zmienna); scanf( %f, &zmienna); scanf( %c, &zmienna); wczytywanie liczby całkowitej wczytywanie liczby rzeczywistej wczytywanie znaków

printf(zmienna); Wypisywanie danych

Struktura najprostszego programu w języku C void main( ) { //... instrukcje do wykonania... }

Komentarz blokowy: Komentarze w języku C /* to jest komentarz blokowy, który może zajmować wiele linii */ Komentarz liniowy: // to jest komentarz liniowy