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

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

Podstawy programowania. Wykład: 7. Funkcje Przekazywanie argumentów do funkcji. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

Podstawy programowania. Wykład: 8. Wskaźniki. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 6. Tablice statyczne. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 5: Klasy cz. 3

Wykład 9: Polimorfizm i klasy wirtualne

Podstawy programowania. Wykład: 12. Struktury, unie, pola bitowe. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Wykład 8: klasy cz. 4

Wykład 1: Wskaźniki i zmienne dynamiczne

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

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

Wykład 9: Metody wirtualne i polimorfizm

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

Podstawy programowania. Wykład: 13. Rekurencja. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

Języki i paradygmaty programowania

Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

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

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

Podstawy programowania w języku C i C++

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

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Operacje wykonywane są na operandach (argumentach operatorów). Przy operacji dodawania: argumentami operatora dodawania + są dwa operandy 2 i 5.

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

Odczyt danych z klawiatury Operatory w Javie

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

Podstawy i języki programowania

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

( wykł. dr Marek Piasecki )

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

Podstawy programowania w języku C

ROZDZIAŁ 2. Operatory

2 Przygotował: mgr inż. Maciej Lasota

Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32

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

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne

Język C zajęcia nr 11. Funkcje

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

Programowanie strukturalne i obiektowe

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

Programowanie w języku C++

C++ wprowadzanie zmiennych

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

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

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

Lab 9 Podstawy Programowania

C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów. C++ - przeciążanie operatorów

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 2. Programowanie komputerowe

C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy. C++ - klasy WSKAŹNIKI KLASOWE

Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)

Wstęp do programowania

Podstawy Programowania

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1

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

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

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

Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05

Wstęp do informatyki- wykład 5 Instrukcja selekcji if-else Operatory arytmetyczne i logiczne Wyrażenie warunkowe operator selekcji Instrukcja switch

operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania

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

dr inż. Jarosław Forenc

I - Microsoft Visual Studio C++

Symfonia C++ standard : programowanie w języku C++ orientowane obiektowo. T. 1 / Jerzy Grębosz. Wyd. 3 C - popr. Kraków, 2015.

Zmienne, stałe i operatory

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Podstawy programowania C. dr. Krystyna Łapin

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

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

Programowanie Komputerów

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

Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1

Warunki logiczne instrukcja if

Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania

Część 4 życie programu

Logika Temporalna i Automaty Czasowe

Przeciążanie operatorów

MATERIAŁY DO ZAJĘĆ II

Wstęp do informatyki- wykład 11 Funkcje

Instrukcje sterujące. Programowanie Proceduralne 1

Wstęp do informatyki- wykład 9 Funkcje

Wyrażenia arytmetyczne

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

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Programowanie komputerowe. Zajęcia 1

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Wykład 6

Języki C i C++ Wykład: 1. Wstęp Budowa programu Operacje we/wy Instrukcje wyboru. dr Artur Bartoszewski - Języki C i C++, sem.

Języki i metody programowania I

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

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

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

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

Referencje. Programowanie w C/C++ Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Zasady zaliczeń. Informacje organizacyjne: Krzysztof Trojanowski

Podstawy programowania. Wykład PASCAL. Zmienne wskaźnikowe i dynamiczne. dr Artur Bartoszewski - Podstawy prograowania, sem.

Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe

Funkcje. Deklaracja funkcji. Definicja funkcji. Wykorzystanie funkcji w programie.

Transkrypt:

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

programowania w C++ Typy c.d. 2

Typy zmiennych Instrukcja typedef - pozwala na nadanie dodatkowej nazwy już istniejącemu typowi. Np.: Albo: typedef unsigned int wiek; wiek Ania, Tomek; // to samo co: unsigned int Ania, Tomek; typedef int * wsk_na_int; Instrukcja typedef nie wprowadza nowego typu, a jedynie synonim do typu już istniejącego 3

Typy wyliczeniowe enum Jest to osobny typ dla liczb całkowitych, a właściwie lista wartości stałych całkowitych Const Int. Deklaracja typu wyliczeniowego składa się ze słowa kluczowego enum następnie nazwy (opcjonalnie), po której znajduje się w nawiasach klamrowych lista elementów oddzielonych przecinkami. Pierwszy element na liście ma domyślnie wartość 0, następny - wartość 1, 2, 3 itd.. 4

Typy wyliczeniowe enum Można zdefiniować wartość początkową lub też wszystkie wartości stałych. 5

programowania w C++ Operatory 6

Operatory Operatory arytmetyczne: a = b + c ; // dodawanie a = b c ; // odejmowanie a = b * c ; // mnożenie a = b / c ; // dzielenie a = b % c ; // modulo reszta z dzielenia Priorytet operatorów arytmetycznych jest taki sam, jak w matematyce. Czyli zapis: a + b % c * d - f oznacza to samo co a + ((b % c) * d) - f 7

Operatory Operatory inkrementacji i dekrementacji i++ ; // inkrementacja - oznacza to: i = i + 1 i - - ; // dekrementacja oznacza to: i = i 1 Operatory te mogą mieć dwie formy: Prefix: ++a (przed argumentem) - najpierw zmienna jest zwiększana o 1, następnie ta zwiększona wartość staje się wartością wyrażenia. Postfix: a++ (po argumencie) - najpierw brana jest stara wartość zmiennej i ona staje się wartością wyrażenia, a następnie zwiększany jest on o 1 8

Operatory Operator przypisania Każde przypisanie samo w sobie jest także wyrażeniem mającym taką wartość, jaka jest przypisywana. Zatem wartość wyrażenia: (x = 2) jako całości jest także 2 9

Operatory logiczne Operatory relacji < mniejszy <= mniejszy lub równy > większy >= większy lub równy == czy równy!= czy różny Uwaga na błąd: int a = 10; int b = 20; if (a=b) // zamiast if (a==b) Nie jest błędem, tyle że oznacza if (20).. // ogólnie if (b!= 0).. 10

Operatory logiczne Operatory sumy logicznej i iloczynu I I - sumę logiczną - operację logiczną LUB (alternatywa) && - iloczyn logiczny - czyli operację I (koniunkcja) prawda" daje rezultat 1, a wynik fałsz" daje rezultat 0 Wyrażenia logiczne tego typu obliczane są od lewej do prawej. Kompilator oblicza wartość wyrażenia dotąd, dopóki na pewno nie wie jaki będzie wynik. Np.: jeżeli w wyrażeniu (a == 0) && (b!=10 ) && (c > 100) A będzie różne od zero, kolejne porównani nie będą wyliczane 11

Operatory logiczne Operatory bitowe & - iloczyn logiczny - suma logiczna ^ - różnica symetryczna - xor ~ - negacja >> - przesunięcie w prawo << - przesunięcie w lewo 12

Operatory logiczne Przykład: m 0000 1111 0000 1111 k 0000 1111 1111 0000 m & k 0000 1111 0000 0000 m I k 0000 1111 1111 1111 ~m 1111 0000 1111 0000 m ^ k 0000 0000 1111 1111 13

Operatory logiczne Przykład przesunięcie bitowe: zmienna «ile_miejsc //przesunięcie w lewo zmienna» ile_miejsc //przesunięcie w prawo 14

Operatory logiczne Przykład: a 0100 0000 1111 0010 <-000 w 010 0000 0111 1001 0000 15

Operatory logiczne Przykład: d 0000 1111 1111 0000 r 0000 0001 1111 1110 16

Operatory logiczne Więcej operatorów przypisania: i+= 2 oznacza i = i + 2 i-= 2 oznacza i = i - 2 i*= 2 oznacza i = i * 2 i/= 2 oznacza i = i / 2 i%= 2 oznacza i = i % 2 i>>=2 oznacza i = i>> 2 i<<=2 oznacza i = i<< 2 i&= 2 oznacza i = i & 2 i = 2 oznacza i = i 2 i^= 2 oznacza i = i ^ 2 17

Operatory logiczne Wyrażenie warunkowe zmienna = warunek? wyrażenie1 : wyrażenie2; Daje taki sam rezultat, jak: if (warunek) zmienna = wyrażenie1; else zmienna = wyrażenie2; Przykładowo: a = (i > 4)? 15 : 10; 18

Operatory logiczne Wyrażenie warunkowe przykład: 19

Operatory logiczne Operator przecinek: Jeśli kilka wyrażeń stoi obok siebie oddzielone przecinkiem, to ta całość jest także wyrażeniem, którego wartością jest wartość wyrażenia będącego najbardziej z prawej. Np.: wartością wyrażenia (2 + 4, a * 4, 3 < 6, 77 + 2) jest równa 79. Poszczególne wyrażenia obliczane są od lewej do prawej. 20

Operatory logiczne Łączność operatorów: Lewostronna łączność operatora + oznacza, że wyrażenie a + b + c + d + e odpowiada wyrażeniu ((((a + b)+ c) + d) + e) Prawostronna łączność operatora dwuargumentowego = oznacza, że wyrażeniu a = b = c = d = e odpowiada wyrażenie (a = (b = (c = (d = e)))) 21

programowania w C++ Funkcje 22

Funkcje Deklaracja funkcji (nagłówki funkcji) Funkcja ma swoją nazwę, która ją identyfikuje. Wszystkie nazwy - przed pierwszym odwołaniem się do nich muszą zostać zadeklarowane. Wymagana jest więc także deklaracja nazwy funkcji. 23

Funkcje 24

Funkcje Przesyłanie argumentów do funkcji przez wartość Załóżmy, że mamy funkcję: Parametry formalne W programie wywołujemy tę funkcję tak: Parametry aktualne 25

Funkcje - Przesyłanie argumentów do funkcji przez wartość Argumenty przesłane do funkcji przez wartość - są tylko kopiami. Jakiekolwiek działanie na nich nie dotyczy oryginału. Wywołując powyższą funkcję w następujący sposób: Otrzymamy: 26 Przed wywołaniem, aktu = 2 W funkcji modyfikuje arg formalny i teraz arg formalny = 1002 Po wywołaniu, aktu = 2

Funkcje - Przesyłanie argumentów do funkcji przez referencję Przesyłanie argumentów przez referencję int nasza_funkcja (int &zmienna); Wywołując funkcję o powyższej deklaracji w następujący sposób: int a1=100; nasza_funkcja(a1); zamiast wartość zmiennej a1 (liczby 100), do funkcji został wysłany adres zmiennej a1. Na jego podstawie w funkcji stworzona została referencja zmiennej a1 druga nazwa dla tego samego obiektu w pamięci operacyjnej. Funkcja może modyfikować wartość zmiennej przekazanej przez referencję. 27

Funkcje Argumenty domniemane int nasza_funkcja (int a =100, int argument = 0); Nasa_funkcja(10, 10); Argument = 10; Nasa_funkcja(10); Argument = 0;. 28

Literatura: W prezentacji wykorzystano przykłady i fragmenty: Grębosz J. : Symfonia C++, Programowanie w języku C++ orientowane obiektowo, Wydawnictwo Edition 2000. Jakubczyk K.: Turbo Pascal i Borland C++ Przykłady, Helion. Warto zajrzeć także do: Sokół R. : Microsoft Visual Studio 2012 Programowanie w Ci C++, Helion. Kerninghan B. W., Ritchie D. M.: język ANSI C, Wydawnictwo Naukowo Techniczne. Dla bardziej zaawansowanych: Grębosz J. : Pasja C++, Wydawnictwo Edition 2000. Meyers S.: język C++ bardziej efektywnie, Wydawnictwo Naukowo Techniczne 29