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

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

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

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

Podstawy programowania w języku C i C++

Odczyt danych z klawiatury Operatory w Javie

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

Języki i paradygmaty programowania

Podstawy i języki programowania

Przedrostkowa i przyrostkowa inkrementacja i dekrementacja

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

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. 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

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

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

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

1 Podstawy c++ w pigułce.

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

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

C++ wprowadzanie zmiennych

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

dr inż. Jarosław Forenc

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

Programowanie strukturalne. dr inż. Tadeusz Jeleniewski

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

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

2 Przygotował: mgr inż. Maciej Lasota

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

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

1 Podstawy c++ w pigułce.

3. Instrukcje warunkowe

Podstawy programowania w języku C

Wyrażenia arytmetyczne

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

Część 4 życie programu

Programowanie komputerowe. Zajęcia 1

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

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

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

Ogólny schemat prostego formularza: A może lepiej zamiast przycisku opartego o input tak:

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

if (warunek) instrukcja1; if (warunek) instrukcja1; else instrukcja2; a > b - a większe od b if (warunek) instrukcja1; a <= b - a mniejsze lub równe b

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

Pętla for. Wynik działania programu:

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Stan wysoki (H) i stan niski (L)

Słowa kluczowe i nazwy

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

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

Zmienne, stałe i operatory

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

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

Warunki logiczne instrukcja if

ROZDZIAŁ 2. Operatory

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

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

Programowanie Komputerów

Instrukcje sterujące. Programowanie Proceduralne 1

JĘZYKI PROGRAMOWANIA Z PROGRAMOWANIEM OBIEKTOWYM. Laboratorium 3. Instrukcje wyboru

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

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

1 Wskaźniki. 1.1 Główne zastosowania wskaźników

I - Microsoft Visual Studio C++

Wstęp do Programowania Lista 1

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

Struktura pliku projektu Console Application

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

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

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Języki i metody programowania I

Wstęp do programowania

( wykł. dr Marek Piasecki )

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

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

Arytmetyka liczb binarnych

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

JAVAScript w dokumentach HTML (1)

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

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

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

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

Ćwiczenie 1. Wprowadzenie do programu Octave

Jest to zasadniczo powtórka ze szkoły średniej, być może z niektórymi rzeczami nowymi.

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

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

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

Mikrokontroler ATmega32. Język symboliczny

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

Lab 9 Podstawy Programowania

Proste programy w C++ zadania

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

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

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

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Programowanie w języku C++

Np. Olsztyn leży nad Łyną - zdanie prawdziwe, wartość logiczna 1 4 jest większe od 5 - zdanie fałszywe, wartość logiczna 0

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Pojęcie klasy, zwracanie przez referencję, przeciążanie operatorów strumieniowych

Transkrypt:

Operatory w C++ Operatory arytmetyczne + dodawanie - odejmowanie * mnożenie / dzielenie % modulo Operatory relacyjne (porównania) < mniejszy niż <= mniejszy lub równy > większy niż >= większy lub równy == równy!= różny od Operatory logiczne! negacja alternatywa && koniunkcja Monika Wrzosek (IM UG) Podstawy Programowania 86 / 119

Operatory w C++ Złożone operatory przypisania + = a+ = b odpowiada a = a + b = a = b odpowiada a = a b = a = b odpowiada a = a b / = a/ = b odpowiada a = a/b % = a% = b odpowiada a = a%b ++ a + + odpowiada a = a + 1 a odpowiada a = a 1 Operatory bitowe << przesunięcie bitowe w lewo >> przesunięcie bitowe w prawo bitowa alternatywa & bitowa koniunkcja ˆ bitowa różnica symetryczna bitowa negacja Monika Wrzosek (IM UG) Podstawy Programowania 87 / 119

Operator dzielenia Wynik działania a/b zależy od typu argumentów a i b. Jeśli oba argumenty są liczbami całkowitymi, część ułamkowa jest odrzucana, a wynik jest liczbą całkowitą. Jeśli jeden z argumentów jest liczbą zmiennoprzecinkową, część ułamkowa jest zachowywana, a wynik jest zmiennoprzecinkowy. #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { cout << " 9/5 = " << 9/5 << e n d l ; cout << " 9.0/5 = " << 9.0/5 << e n d l ; cout << " 9. / 5 = " << 9. / 5 << e n d l ; cout << " 9. 0 / 5. 0 = " << 9. 0 / 5. 0 << e n d l ; } 9/5 = 1 9.0/5 = 1. 8 9. / 5 = 1. 8 9. 0 / 5. 0 = 1. 8 Monika Wrzosek (IM UG) Podstawy Programowania 88 / 119

Operator modulo np. 15%6 = 3, bo 15 = 2 6 + 3. Argumenty operatora % muszą być liczbami całkowitymi. Jeśli jeden z argumentów jest ujemny, znak wyniku zależy od konkretnej implementacji. #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { cout << " 6 % 4 = " << 6 % 4 << e n d l ; cout << " 6 % 4 = " << 6 % 4 << e n d l ; cout << " 3 % 4 = " << 3 % 4 << e n d l ; cout << " 0 % 4= " << 0 % 4 ; } 6 % 4 = 2 6 % 4 = 2 3 % 4 = 3 0 % 4= 0 Monika Wrzosek (IM UG) Podstawy Programowania 89 / 119

Operator modulo Zamiana wagi w funtach na wagę w kamieniach (1 kamień = 14 funtów). #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { const i n t p r z e l i c z n i k = 1 4 ; i n t waga ; cout << " Podaj wagę w f u n t a c h : " ; c i n >> waga ; i n t k a m i e n i e = waga / p r z e l i c z n i k ; i n t f u n t y = waga % p r z e l i c z n i k ; cout << waga << " f u n t ( y/ów) to " << k a m i e n i e << " kamieni, " << f u n t y << " f u n t ( y/ów ). " ; } Podaj wagę w f u n t a c h : 177 177 f u n t ( y/ów) to 12 kamieni, 9 f u n t ( y/ów ). Monika Wrzosek (IM UG) Podstawy Programowania 90 / 119

Operatory logiczne &&! 5 == 5 5 == 9 prawda, bo prawdziwe jest pierwsze wyrażenie 5 > 8 5 < 10 prawda, bo prawdziwe jest drugie wyrażenie 5 < 8 5 < 10 prawda, bo oba wyrażenia są prawdziwe 5 > 8 5 > 10 fałsz, bo oba wyrażenia są fałszywe 5 == 5 && 5 == 9 fałsz, bo drugie wyrażenie jest fałszywe 5 > 8 && 5 < 10 fałsz, bo pierwsze wyrażenie jest fałszywe 5 < 8 && 5 < 10 prawda, bo oba wyrażenia są prawdziwe 5 > 8 && 5 > 10 fałsz, bo oba wyrażenia są fałszywe if (x <= 5) można zapisać z użyciem operatora negacji: if (!(x > 5)), jednak pierwszy sposób jest czytelniejszy. Monika Wrzosek (IM UG) Podstawy Programowania 91 / 119

Operatory inkrementacji i dekrementacji Operatory mają dwie formy: przedrostkową (++i) i przyrostkową (i++). #i n c l u d e <i o s t r e a m > using namespace s t d ; i n t main ( ) { i n t i = 5 ; i n t j = 5 ; cout << " i = " << i << " j = " << j << e n d l ; cout << " i++ = " << i++ << " ++j = " << ++j << e n d l ; cout << " i = " << i << " j = " << j ; } i = 5 j = 5 i++ = 5 ++j = 6 i = 6 j = 6 Zapis i++ oznacza użycie w wyrażeniu aktualnej wartości i, a potem inkrementację tej zmiennej. Zapis ++i oznacza najpierw inkrementację zmiennej i, potem użycie w wyrażeniu nowej wartości. Monika Wrzosek (IM UG) Podstawy Programowania 92 / 119

Priorytety operatorów Gdy w wyrażeniu występuje więcej niż jeden operator pojawia się pytanie, który z nich zostanie wykonany jako pierwszy. i n t i = 3 + 4 5 // 35 czy 23? Liczba 4 wydaje się być argumentem obu operatorów: dodawania i mnożenia. W takim wypadku C++ stosuje priorytety. Operatory arytmetyczne mają priorytety podobne do zwykłych, algebraicznych zasad wykonywania działań, gdzie mnożenie, dzielenie i modulo są wykonywane przed dodawaniem i odejmowaniem. Mnożenie, dzielenie i modulo mają taki sam priorytet. Dodawanie i odejmowanie mają taki sam priorytet. Monika Wrzosek (IM UG) Podstawy Programowania 93 / 119

Łączność operatorów Czasami same priorytety to za mało. f l o a t f = 40 / 4 5 ; // 50 czy 2? Ponownie 4 jest wspólnym argumentem dwóch operatorów. Jednak / i mają taki sam priorytet. Wtedy C++ sprawdza, które operatory mają łączność od lewej do prawej, a które od prawej do lewej. Łączność lewostronna oznacza, że jeśli dwa operatory działające na tym samym argumencie mają ten sam priorytet, najpierw wykonywany jest operator znajdujący się po lewej stronie. Łączność prawostronna - odwrotnie. Mnożenie i dzielenie są łączne lewostronnie, więc wartość 4 zostanie najpierw użyta przez lewy operator (dzielenie). 40/4 5 = (40/4) 5 Monika Wrzosek (IM UG) Podstawy Programowania 94 / 119

Priorytety i łączność operatorów Operatory relacyjne mają niższy priorytet niż operatory arytmetyczne. 5 + 3 > 2 3 (5 + 3) > (2 3) Operatory logiczne mają niższy priorytet niż operatory relacyjne. 5 > 3 4 < 6 (5 > 3) (4 < 6) Operator! ma priorytet wyższy od operatorów relacyjnych i arytmetycznych. itd... Choć priorytety operatorów w C++ umożliwiają pisanie złożonych wyrażeń bez nawiasów, to najlepiej jest używać nawiasów do grupowania warunków niezależnie od tego, czy nawiasy te są konieczne czy nie. Ułatwia to czytanie kodu, nie wymaga uczenia się na pamięć priorytetów operatorów oraz ogranicza ryzyko popełniania błędów z powodu złego zapamiętania jakiegoś szczegółu. Monika Wrzosek (IM UG) Podstawy Programowania 95 / 119