Spis treści JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE.
|
|
- Jakub Tadeusz Smoliński
- 6 lat temu
- Przeglądów:
Transkrypt
1 Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D (studia stacjonarne) JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE Numer ćwiczenia INF02 Spis treści 1. Opis stanowiska Stosowana aparatura Oprogramowanie Wiadomości teoretyczne Zastosowanie zmiennych w programie Zmienne Typy zmiennych Nazwy zmiennych Stałe liczbowe Operatory i wyrażenia arytmetyczne, operator przypisania Złożone (skrócone) operatory przypisania Dyrektywa preprocesora #define Funkcja printf() Funkcja scanf() Standardowe pliki nagłówkowe Funkcje matematyczne z pliku nagłówkowego math.h Przebieg ćwiczenia Literatura Pytania kontrolne Autor: dr inż. Jarosław Forenc Białystok Wymagania BHP Materiały dydaktyczne przeznaczone dla studentów Wydziału Elektrycznego PB. Wydział Elektryczny, Politechnika Białostocka, 2017 (wersja 3.1) Wszelkie prawa zastrzeżone. Żadna część tej publikacji nie może być kopiowana i odtwarzana w jakiejkolwiek formie i przy użyciu jakichkolwiek środków bez zgody posiadacza praw autorskich. Informatyka 1 2 z 38 Instrukcja INF02
2 1. Opis stanowiska 1.1. Stosowana aparatura Podczas zajęć wykorzystywany jest komputer klasy PC z systemem operacyjnym Microsoft Windows (XP/7/10) Oprogramowanie Na komputerach zainstalowane jest środowisko programistyczne Microsoft Visual Studio 2008 Standard Edition lub Microsoft Visual Studio 2008 Express Edition zawierające kompilator Microsoft Visual C Wiadomości teoretyczne 2.1. Zastosowanie zmiennych w programie Głównym zadaniem przedstawianych do tej pory programów było wyświetlanie tekstu. Teraz zostanie napisany prosty program wykonujący operacje arytmetyczne i wykorzystujący zmienne przechowujące wartości. Zadaniem programu będzie zamiana temperatury podanej w skali Fahrenheita na temperaturę w skali Celsjusza. Kolejność wykonywania operacji w programie jest następująca: - użytkownik podaje temperaturę w skali Fahrenheita; - program oblicza temperaturę w skali Celsjusza według wzoru: 5 Tc = ( Tf 32) (1) 9 - program wyświetla obliczoną temperaturę w skali Celsjusza. W programie będą występowały dwie wartości (temperatura w skali Fahrenheita i temperatura w skali Celsjusza), a zatem należy wprowadzić dwie zmienne. Kod programu zamieszczono poniżej. Zamiana temperatury podanej w skali Fahrenheita na temperaturę w skali Celsjusza. #include <stdio.h> #include <stdlib.h> #pragma warning(disable:4996) int main(void) { float tempf; /* temperatura w skali Fahrenheita */ float tempc; /* temperatura w skali Celsjusza */ } printf("temperatura [F]: "); scanf("%f",&tempf); tempc = 5 * (tempf - 32) / 9; printf("temperatura [C]: %f\n",tempc); return 0; Przykładowy wynik uruchomienia programu: Temperatura [F]: 75 Temperatura [C]: Opis kodu programu: 1 - dołączenie plików nagłówkowych: stdio.h - zawiera deklaracje funkcji printf() i scanf(); stdlib.h - zawiera deklarację funkcji system(); 2 - dyrektywa preprocesora wyłączająca wyświetlanie ostrzeżeń kompilatora (zob. opis funkcji scanf() w rozdz. 2.10); 3 - deklaracja dwóch zmiennych: tempf i tempc będących liczbami rzeczywistymi (typ float); 4 - wyświetlenie napisu: Temperatura [F]: - bez znaku \n na końcu; 5 - wczytanie temperatury w skali Fahrenheita: tempf - nazwa zmiennej; &tempf - adres zmiennej (scanf() wymaga podania adresu zmiennej); %f - określa typ wczytywanej zmiennej (%f - typ float); Informatyka 1 3 z 38 Instrukcja INF02 Informatyka 1 4 z 38 Instrukcja INF02
3 6 - obliczenie wartości wyrażenia arytmetycznego; 7 - wyświetlenie wyniku czyli łańcucha znaków: Temperatura [C]: i wartości zmiennej tempc; w miejscu, w którym ma być wyświetlona wartość zmiennej podajemy specyfikator formatu - %f, podczas wyświetlania będzie on zastąpiony wartością zmiennej, której nazwę podajemy po cudzysłowie kończącym łańcuch znaków i po przecinku; 8 - zakończenie programu Zmienne Zmienne służą do reprezentacji (przechowywania) wartości danych, które mogą być zmieniane podczas działania programu. Zbiór wartości, jakie mogą przyjmować zmienne nazywa się typem (np. liczby całkowite, rzeczywiste). Zmienne przechowywane są w pamięci komputera. Każda zmienna (poza nazwą) ma adres (komputer nie posługuje się nazwami zmiennych tylko ich adresami). Przed wykorzystaniem zmiennej w programie należy wcześniej ją zadeklarować, czyli podać jej typ i nazwę: typ nazwa; Na końcu deklaracji stawia się średnik. W poniższym przykładzie int jest nazwą typu, zaś a - nazwą zmiennej. int a; Gdy jest kilka zmiennych tego samego typu, to można je deklarować po przecinku. int a; float b, c; Umieszczenie deklaracji każdej zmiennej w oddzielnej linii jest wygodne, gdy dodajemy komentarze opisujące przeznaczenie poszczególnych zmiennych. float d; /* zmienna d */ float e; /* zmienna e */ Zmienne mogą być deklarowane wewnątrz funkcji (zmienne lokalne) lub poza nią (zmienne globalne). Zmienne lokalne widzialne są tylko w obrębie danej funkcji (a ściślej mówiąc wewnątrz bloku funkcyjnego ograniczonego parą nawiasów klamrowych) od miejsca, w którym zostały zadeklarowane. Zmienne te bezpośrednio po deklaracji przechowują wartości nieokreślone (przypadkowe). Zmienne globalne są widzialne w całym programie od miejsca deklaracji i domyślnie są inicjalizowane wartością zero. int a; /* zmienna globalna */ float b; /* zmienna globalna */ int main(void) { int c; /* zmienna lokalna */ float d; /* zmienna lokalna */ } { } float e; /* zmienna lokalna */ int g; /* zmienna lokalna */ return 0; W powyższym fragmencie programu zmienne a i b są zmiennymi globalnymi widzialnymi w całym programie (od miejsca deklaracji). Zmienne c i d są zmiennymi lokalnymi widzialnymi tylko wewnątrz funkcji main() (od miejsca deklaracji), natomiast zmienne e i f są także zmiennymi lokalnymi, ale widzialnymi tylko wewnątrz bloku ograniczonego wewnętrznymi nawiasami klamrowymi. Zaleca się, aby wszystkie zmienne lokalne były deklarowane na początku funkcji (bloku funkcyjnego ograniczonego parą nawiasów: { }), w której są używane. Dzięki temu, w przypadku bardzo długich funkcji, można łatwo odnaleźć deklarację określonej zmiennej. Informatyka 1 5 z 38 Instrukcja INF02 Informatyka 1 6 z 38 Instrukcja INF02
4 2.3. Typy zmiennych Podstawowe typy zmiennych w języku C zostały zestawione w Tabeli 1. Nazwa typu Tabela 1. Podstawowe typy zmiennych w języku C Zakres wartości danych Rozmiar (bajty) Uwagi char małe liczby całkowite, znaki ASCII int liczby całkowite float -3, , liczby rzeczywiste, 7 cyfr znaczących double -1, , liczby rzeczywiste, 15 cyfr znaczących void - - oznacza brak wartości Dodatkowo istnieją cztery słowa kluczowe modyfikujące powyższe typy. - dla liczb całkowitych: signed, unsigned - określa czy zmienna ma być ze znakiem czy bez; short, long - dla typu int oznacza krótką lub długa liczbę całkowitą. - dla liczb rzeczywistych: long - dla typu double zwiększa precyzję (liczbę miejsc po przecinku). Stosując powyższe słowa kluczowe otrzymujemy dodatkowe typy (Tabela 2). Nazwa typu Tabela 2. Typy zmiennych w języku C Zakres wartości danych Rozmiar (bajty) Uwagi signed char = char liczby całkowite unsigned char liczby całkowite short = signed short int unsigned short = unsigned short int signed int = int liczby całkowite liczby całkowite liczby całkowite unsigned = unsigned int long = signed long int unsigned long = unsigned long int long long = signed long long int unsigned long long = unsigned long long int liczby całkowite liczby całkowite liczby całkowite liczby całkowite 8 liczby całkowite float -3, , cyfr znaczących double -1, , cyfr znaczących long double -1, , cyfr znaczących void Powyższe zakresy i rozmiary podane są dla środowiska Microsoft Visual C Express Edition. W zależności od kompilatora mogą wystąpić różnice w rozmiarze zmiennych typu int i long double (Tabela 3). Zakresy dla poszczególnych typów zapisane są w pliku nagłówkowym limits.h. Tabela 3. Liczba bajtów zajmowanych przez zmienne typów int i long double zależnie od środowiska programistycznego Kompilator int (bajty) long double (bajty) Borland C Dev-C Microsoft Visual C Borland C++ Builder Rozmiar poszczególnych typów można sprawdzić stosując operator sizeof: sizeof(nazwa_typu) Informatyka 1 7 z 38 Instrukcja INF02 Informatyka 1 8 z 38 Instrukcja INF02
5 Operator sizeof zwraca wartość całkowitą będącą liczbą bajtów zajmowanych przez pojedynczą zmienną podanego typu. Zamiast nazwy typu można podać nazwę zmiennej i wtedy operator zwróci liczbę bajtów zajmowanych przez zmienną, np. sizeof(nazwa_zmiennej) lub (bez nawiasów): sizeof nazwa_zmiennej W poniższym programie pokazane są różne sposoby wyświetlania rozmiarów wybranych typów zmiennych. Program wyświetlający rozmiary wybranych typów zmiennych. #include <stdio.h> int main(void) { int x; } printf("int: %d\n",sizeof(x)); printf("int: %d\n",sizeof x); printf("int: %d\n",sizeof(int)); printf("long double: %d\n",sizeof(long double)); return 0; Wynik działania programu: int: 4 int: 4 int: 4 long double: Nazwy zmiennych Nazwa zmiennej może składać się z liter, cyfr i znaku podkreślenia: a b c d e f g h i j k l m _ n o p q r s t u v w x y z A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Pierwszym znakiem nazwy musi być litera. Znak podkreślenia traktowany jest jak litera. Nie zaleca się rozpoczynania nazwy zmiennej od znaku podkreślenia, gdyż takie nazwy często występują w programach bibliotecznych. W nazwach zmiennych nie stosuje się znaków spacji. Przyjęło się, że nazwy zmiennych pisze się małymi literami, a nazwy stałych - wielkimi. Nazwa zmiennej powinna być związana z jej zawartością. Długość nazwy nie jest ograniczona, ale rozróżnialne są 63 pierwsze znaki. Jako nazw zmiennych nie można stosować słów kluczowych języka C: auto break case char const continue default do double else enum 2.5. Stałe liczbowe extern float for goto if inline int long register restrict return short signed sizeof static struct switch typedef union unsigned void volatile while _Alignas _Alignof _Bool _Complex _Generic _Imaginary _Noreturn _Static_assert _Thread_local Stałe liczbowe są to liczby zapisane bezpośrednio w kodzie programu. Typ liczby zależny jest od formy zapisu i wartości liczby. Informatyka 1 9 z 38 Instrukcja INF02 Informatyka 1 10 z 38 Instrukcja INF02
6 W przypadku liczb całkowitych domyślnym typem jest int. Jeśli wartość liczby przekracza zakres tego typu, to dana liczba jest traktowana jako long int, unsigned long int, long long int lub unsigned long long int, np.: 1 - stała całkowita typu int; stała całkowita typu int; stała całkowita typu int (4 bajty) lub long; stała typu unsigned long int (bo przekracza typ long int). Na końcu liczby całkowitej mogą pojawić się dodatkowe litery zmieniające jej typ: - u lub U zmienia typ na unsigned (unsigned int lub unsigned long); - l lub L zmienia typ na long (long int lub unsigned long int); - ll lub LL zmienia typ na long long (long long int lub unsigned long long int). Przykład: 5U 5L 10ul 6llu - stała całkowita typu unsigned int; - stała całkowita typu long; - stała całkowita typu unsigned long; - stała całkowita typu unsigned long long. Domyślnie liczby całkowite zapisywane są w systemie dziesiętnym. Liczby w systemie ósemkowym zaczynają się od 0 (zera), zaś liczby w systemie szesnastkowym zaczynają się od 0x lub 0X, np.: w systemie ósemkowym to 9 w systemie dziesiętnym; 0x11-11 w systemie szesnastkowym to 17 w systemie dziesiętnym. Liczby w systemie ósemkowym i szesnastkowym są traktowane jako wartości typu unsigned int (ewentualnie unsigned long lub unsigned long long). Domyślnym typem dla liczb rzeczywistych (zmiennoprzecinkowych) jest double, np.: stała rzeczywista typu double (wartość: 1); 1.312e+2 - stała rzeczywista typu double (wartość: 1, ); E-1 - stała rzeczywista typu double (wartość: -2, ). W zapisie liczby rzeczywistej: - zawsze można pominąć znak plus, np e2 - można pominąć kropkę dziesiętną, np. 2E5 - można pominąć część wykładniczą, np można pominąć część ułamkową, np. 3.e14 - można pominąć część całkowitą, np..21e-5 - nie wolno używać odstępów (spacji), np E + 5 Na końcu liczby rzeczywistej mogą pojawić się dodatkowe litery zmieniające jej typ: - l lub L zmienia typ na long double; - f lub F zmienia typ na float. Przykład: 2.5L - stała rzeczywista typu long double; 4.52f - stała rzeczywista typu float Operatory i wyrażenia arytmetyczne, operator przypisania W języku C występują dwa podstawowe operatory jednoargumentowe: + - plus, jako znak liczby (zazwyczaj jest pomijany); - - minus, jako znak liczby. Do operatorów dwuargumentowych zalicza się: + - dodawanie; - - odejmowanie; * - mnożenie; / - dzielenie (dla liczb całkowitych obcina część ułamkową); % - dzielenie modulo (reszta z dzielenia, tylko dla typów całkowitych). Operator przypisania = (znak równości) stosowany jest do nadania wartości zmiennej. Poniższe wyrażenie powinno być interpretowane jako: weź wartość numeryczną 10 i umieść ją w pamięci w miejscu skojarzonym ze zmienną a. Operatora przypisania nie należy kojarzyć ze znakiem równości. Informatyka 1 11 z 38 Instrukcja INF02 Informatyka 1 12 z 38 Instrukcja INF02
7 a = 10; Zapis: a = a + 10; matematycznie nie jest poprawny. W programie w języku C należy interpretować go jako: pobierz wartość znajdującą się w pamięci w miejscu skojarzonym ze zmienną a, dodaj do tej wartości liczbę 10 i otrzymany wynik umieść z powrotem w pamięci w miejscu skojarzonym ze zmienną a. W języku C prawidłowy jest także poniższy zapis: a = b = c = d + 10; oznacza on: weź wartość zmiennej d dodaj do niej 10, otrzymaną wartość przypisz zmiennej c, następnie zmiennej b przypisz wartość zmiennej c, a zmiennej a przypisz wartość zmiennej b. Powyższy zapis jest zatem równoważny instrukcji: a = (b = (c = (d + 10))); Operatory arytmetyczne są lewostronnie łączne. Oznacza to, że jeśli obok siebie występują dwa operatory o takim samym priorytecie, to jako pierwsze wykonywane jest działanie znajdujące się po lewej stronie. W poniższym przykładzie jako pierwsze zostanie wykonane mnożenie a * b. z = a * b * c; Powyższy zapis jest zatem równoważny instrukcji: z = ((a * b) * c); Spośród poznanych dotąd operatorów najwyższy priorytet mają jednoargumentowe operatory + i (znaki liczb), następnie są operatory * (mnożenie), / (dzielenie), % (dzielenie modulo). Niższy priorytet ma dodawanie (+) i odejmowanie (-), natomiast najniższy - operator przypisania (=). Zastosowanie nawiasów zmienia priorytet operatorów. Jeśli nie jesteśmy pewni kolejności wykonywania działań zawsze używajmy dodatkowych nawiasów zwykłych ( i ). Mogą to być wielokrotne nawiasy zwykłe. W wyrażeniach arytmetycznych nie wolno natomiast jako nawiasy stosować symboli: [ ] { }. Wyrażenia arytmetyczne mogą zawierać operatory arytmetyczne jednoargumentowe, dwuargumentowe, nawiasy zwykłe oraz wywołania funkcji. Każde wyrażenie arytmetyczne ma wartość i typ. Rozpatrzmy obliczanie wartości wyrażenia arytmetycznego (1): tempc = 5 * (tempf - 32) / 9; tempc tempf - zmienna typu float; - zmienna typu float; 5 - liczba typu int; 32 - liczba typu int; 9 - liczba typu int. Czy wszystko będzie w porządku skoro mamy zmienne typu float i stałe liczbowe typu int? TAK, gdyż podczas obliczania wartości tego wyrażenia następuje konwersja typów. Jeśli podczas obliczania wartości wyrażenia: x operator y występuje niezgodność typów, to następuje automatyczna ich konwersja. Jest ona niezauważalna dla programisty, ale trzeba mieć świadomość, że występuje. Konwersja typów przebiega w następujący sposób: - typy char, short, signed char, unsigned char zamieniane są na int; Informatyka 1 13 z 38 Instrukcja INF02 Informatyka 1 14 z 38 Instrukcja INF02
8 - jeśli po powyższej konwersji dalej występuje niezgodność typów, to typ niższy zamienia się na typ wyższy zgodnie z hierarchią typów: int < unsigned < long < unsigned long < float < double < long double Kolejność wykonywania operacji w powyższym przykładzie będzie następująca: tempc = 5 * (tempf - 32) / 9; A = tempf 32 B = 5 * A C = B / 9 tempc = C - typ wyniku: float; - typ wyniku: float; - typ wyniku: float; - typ wyniku: float. Można zatem powiedzieć, że powyższy sposób obliczania wartości wyrażenia arytmetycznego (1) jest równoważny zapisowi: tempc = ((5 * (tempf - 32)) / 9); Rozpatrzmy inny sposób zapisu tego samego wyrażenia: tempc = 5 / 9 * (tempf - 32); A1 = 5 / 9 - typ wyniku: int (!!!); A2 = (tempf 32) B = A1 * A2 tempc = B - typ wyniku: float; - typ wyniku: float; - typ wyniku: float. W powyższym przykładzie nie można określić kolejności obliczenia wyrażeń A1 i A2 - jest ona zależna od zastosowanego kompilatora. Dzielenie: 5 / 9 jest wykonywane na liczbach całkowitych, zatem i wynik jest całkowity (w tym przypadku będzie to 0). Zatem taki zapis wyrażenia arytmetycznego jest niepoprawny, gdyż w wyniku zawsze otrzymamy tempc = 0. Powyższy sposób obliczania wartości wyrażenia jest równoważny zapisowi: lub tempc = ((5 / 9) * (tempf - 32)); Wyrażenie to można zapisać w inny sposób: tempc = 5.0f / 9 * (tempf - 32); tempc = 5 / 9.0f * (tempf - 32); W ten sposób liczba zapisana z kropką i zerem będzie traktowana jako stała liczbowa typu float i wynik całego wyrażenia będzie prawidłowy. Jeśli w zapisie liczb 5.0f lub 9.0f pominięta zostanie litera f, to kompilator wyświetli ostrzeżenie: 1>myapp.cpp(12) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data Ponieważ stałe liczbowe 5.0 i 9.0 są typu double, to także całe wyrażenie po prawej stronie operatora przypisania (=) jest typu double. Próba wykonania operacji przypisania wartości typu double do zmiennej tempc typu float spowoduje wyświetlenie przez kompilator odpowiedniego ostrzeżenia. Jeszcze inna możliwość prawidłowego zapisu wyrażenia (1) polega na wykorzystaniu tzw. rzutowania, czyli zmiany typu wyrażenia: (typ) wyrażenie W poniższym przykładzie liczba 5 będzie traktowana jako typ float. tempc = (float) 5 / 9 * (tempf - 32); Wartość początkową zmiennej można nadać już podczas jej deklaracji - operacja taka nazywa się inicjalizacją, np. Informatyka 1 15 z 38 Instrukcja INF02 Informatyka 1 16 z 38 Instrukcja INF02
9 int main(void) { int a = 0; /* deklaracja z inicjalizacją */ int b; /* deklaracja bez inicjalizacji */ float c = -5.5f; /* deklaracja z inicjalizacją */ float d; /* deklaracja bez inicjalizacji */ } b = 15; /* przypisanie wartości */ d = 1.6e-4f; /* przypisanie wartości */ return 0; 2.7. Złożone (skrócone) operatory przypisania Wyrażenia modyfikujące (aktualizujące) wartość pewnej zmiennej mogą być zapisywane w skrócony sposób poprzez użycie tzw. złożonych operatorów przypisania: x = x + 1; z = z 2; y = y * 10.5; s = s / 3; Jeśli w1 i w2 są wyrażeniami, to: w1 = (w1) operator (w2); jest równoważne: w1 operator= w2; jest równoważne: Ten sposób zapisu można stosować dla 10 operatorów: + - * / % << >> & ^ 2.8. Dyrektywa preprocesora #define x += 1; z -= 2; y *= 10.5; s /= 3; Dyrektywa preprocesora #define służy do definiowania stałych (tzw. stałych symbolicznych). Umieszczana jest zazwyczaj bezpośrednio po dyrektywach #include. Wyrażenia stałe pisze się najczęściej wielkimi literami. Program zamieniający podaną kwotę w złotych (PLN) na dolary (USD) i euro (EUR). #include <stdio.h> #define USD f #define EUR f #pragma warning(disable:4996) int main(void) { float pln, usd, eur; } printf("podaj kwote w PLN: "); scanf("%f",&pln); usd = pln / USD; eur = pln / EUR; printf("%.2f PLN to %.2f USD\n",pln,usd); printf("%.2f PLN to %.2f EUR\n",pln,eur); return 0; Przykładowy wynik uruchomienia programu: Podaj kwote w PLN: PLN to USD PLN to EUR Wyrażenie stałe znajdujące się po dyrektywie #define składa się z dwóch części: nazwy wyrażenia (USD) oraz jej wartości (3.7273). Wyrażenia stałe są obliczane na etapie prekompilacji programu, a nie podczas jego wykonania. W trakcie prekompilacji każde wystąpienie stałej USD jest zastępowane jej wartością (czyli liczbą ) Funkcja printf() Funkcja printf() ma następującą składnię: printf("łańcuch sterujący",argument1,argument2, ); Funkcja printf() wyświetla tekst na ekranie. Gdy w łańcuchu sterującym występuje specyfikator formatu zaczynający się od znaku procentu (%), wówczas następuje przekształcenie, tj. w miejsce specyfikatora wstawiana jest wartość Informatyka 1 17 z 38 Instrukcja INF02 Informatyka 1 18 z 38 Instrukcja INF02
10 argumentu. Jako argument może występować zmienna, stała liczbowa, wyrażenie lub wywołanie funkcji zwracającej wartość. W poniższym przykładzie wyświetlana jest wartość zmiennej x typu int. int x = 15; printf("liczba ma wartosc: %d\n",x); Na Rys. 1 przedstawione są elementy składowe funkcji printf(). printf( "Liczba ma wartosc: %d\n", x ); łańcuch sterujący specyfikator formatu Rys. 1. Struktura funkcji printf() argument Specyfikator formatu określa typ oraz sposób wyświetlania argumentu na ekranie. Liczba specyfikatorów formatu musi być zgodna z liczbą argumentów. Jeśli typ argumentu zostanie błędnie określony to na ekranie wyświetlona zostanie nieprawidłowa wartość. W specyfikatorze formatu zawsze musi występować znak procentu (%) oraz typ. Pozostałe elementy specyfikatora formatu są opcjonalne - mogą wystąpić, ale nie muszą. Nawiasy kwadratowe w poniższym zapisie oznaczają elementy opcjonalne: specyfikator = %[znacznik][szerokość][.precyzja][modyfikator]typ [znacznik] przed liczbą stawiany jest znak (plus lub minus); - - wyrównanie wyświetlanych znaków do lewej strony; - (spacja), przed liczbą dodatnią dodaje spację; 0 - wypełnia początkowe pola zerami zamiast spacjami; # - poprzedza liczby w systemie ósemkowym zerem (0), zaś w systemie szesnastkowym - 0x; [szerokość] [.precyzja] typ - określa minimalną liczbę wyprowadzanych znaków, jeśli znaków jest mniej to pole jest z lewej strony uzupełniane spacjami, jeśli więcej - podana szerokość jest ignorowana; w przypadku łańcucha znaków (%s) określa maksymalną liczbę wyświetlanych znaków; - liczba wyświetlanych cyfr po kropce dziesiętnej; - określa rodzaj i typ argumentu: d, i - liczba całkowita ze znakiem (signed), dziesiętna; u - liczba całkowita bez znaku (unsigned), dziesiętna; x, X - liczba całkowita bez znaku, szesnastkowa; o f - liczba całkowita bez znaku, ósemkowa; - liczba rzeczywista w postaci [-]ddd.ddd; e, E - liczba rzeczywista w formacie naukowym (symbol e lub E); g, G - liczba rzeczywista (format f lub e); s c p - ciąg znaków; - pojedynczy znak; - wskaźnik. [modyfikator] - służy do zmodyfikowania podstawowego typu podawanego przez znak typu: h hh l ll - w połączeniu ze specyfikatorem całkowitym oznacza short int (%hd) lub unsigned short int (%hu); - w połączeniu ze specyfikatorem całkowitym oznacza signed char (%hhd) lub unsigned char (%hhu); - w połączeniu ze specyfikatorem całkowitym oznacza long int (%ld) lub unsigned long int (%lu); - w połączeniu ze specyfikatorem całkowitym oznacza long long int (%lld) lub unsigned long long int (%llu); Informatyka 1 19 z 38 Instrukcja INF02 Informatyka 1 20 z 38 Instrukcja INF02
11 L - stosowany do wyświetlania wartości rzeczywistych typu long double. printf("%5d %+5d %-5d",i,i,i); Załóżmy, że mamy w programie następujące deklaracje i inicjalizacje zmiennych: int i = 15 int j = -30; float x = f; double y = 1.456e-2; char text[10] = "Napis"; - wyświetlenie dwóch zmiennych całkowitych (%d, %d) oraz zmiennych rzeczywistych w formacie zwykłym (%f) i w formacie naukowym (%e): w specyfikatorze formatu liczba przed kropką oznacza szerokość, zaś liczba po kropce oznacza precyzję, czyli liczbę znaków po kropce dziesiętnej; szerokość dotyczy całej liczby (część całkowita + kropka + część ułamkowa), a nie tylko części całkowitej: printf("%10.3f",x); printf("%d %d %f %e",i,j,x,y); e sposób zapisu liczb rzeczywistych przy inicjalizacji (format zwykły lub format naukowy) nie ma wpływu na sposób ich przechowywania w pamięci komputera: printf("%f %e\n",x,x); printf("%f %e",y,y); e e liczba po znaku procentu określa szerokość, czyli ilość pozycji, na których jest wyświetlana liczba; brakujące pozycje są uzupełniane spacjami; znacznik + powoduje wyświetlenie znaku liczby, a znacznik - - wyrównanie wyświetlanej liczby do lewej (dodatkowe spacje są wyświetlane za liczbą, a nie przed nią): - jeśli szerokość jest zbyt mała do wyświetlenia liczby, to zostanie przez kompilator zignorowana: printf("%1.5f",x); specyfikator formatu bez znaku procentu na początku traktowany jest jak zwykły tekst: printf("x = %1.3f, y = 1.3f",x,y); x = , y = 1.3f - do wyświetlenia tekstu używamy specyfikatora formatu %s: printf("tekst: %s",text); Tekst: Napis Informatyka 1 21 z 38 Instrukcja INF02 Informatyka 1 22 z 38 Instrukcja INF02
12 2.10. Funkcja scanf() Funkcja scanf() ma następującą składnię: scanf("specyfikator",argumenty); Funkcja scanf() wczytuje znaki ze standardowego wejścia (klawiatura), interpretuje je zgodnie z zadanym specyfikatorem formatu i w odpowiedniej kolejności przypisuje wyniki argumentom. W specyfikatorze formatu zawsze musi występować znak procentu (%) oraz typ. Pozostałe elementy specyfikatora formatu są opcjonalne: specyfikator = %[szerokość][modyfikator]typ [szerokość] typ d - określa ile znaków zostanie przeczytanych; - określa rodzaj i typ argumentu: - liczba całkowita dziesiętna, typ int; [modyfikator] - służy do zmodyfikowania podstawowego typu podawanego przez znak typu: l L h - zmienia wszystkie typy całkowitoliczbowe na ich długie wersje; zastosowany do znaków typu f, e, E, g, G spowoduje interpretację zawartości pól wejściowych jako liczb typ double; - zastosowany do znaków typu f, e, E, g, G spowoduje interpretację zawartości pól wejściowych jako liczb typ long double; - typy całkowitoliczbowe będą traktowane jako short. Argumenty funkcji scanf() są adresami obszarów w pamięci, dlatego też muszą być poprzedzone znakiem & (nie dotyczy ciągu znaków). Załóżmy, że mamy w programie następujące deklaracje zmiennych: D o O x X i I u - liczba całkowita dziesiętna, typ long; - liczba całkowita ósemkowa, typ int; - liczba całkowita ósemkowa, typ long; - liczba całkowita szesnastkowa, typ int; - liczba całkowita szesnastkowa, typ long; - liczba całkowita dziesiętna, ósemkowa, szesnastkowa, typ int; - liczba całkowita dziesiętna, ósemkowa, szesnastkowa, typ long; - liczba całkowita dziesiętna bez znaku, typ unsigned int; int a, b, c; float x, z; double y; char text[15]; - w przypadku funkcji scanf() wczytywane argumenty mogą być oddzielone od siebie dowolną liczbą tzw. białych znaków (spacja, tabulacja, enter). Wczytanie trzech liczb typu int może zatem odbyć się w różny sposób: scanf("%d %d %d", &a, &b, &c); U - liczba całkowita dziesiętna bez znaku, typ unsigned long; f, e, E - liczba rzeczywista, typ float; g, G - liczba rzeczywista, typ float; s - ciąg znaków; c - pojedynczy znak, typ char; <enter> lub <enter> lub 15<enter> 20<enter> -30<enter> p - wskaźnik; Informatyka 1 23 z 38 Instrukcja INF02 Informatyka 1 24 z 38 Instrukcja INF02
13 - wczytanie liczb typu int, float i double: scanf("%d %f %lf", &a, &x, &y); <enter> - wczytanie dwóch liczb typu float (format zwykły i naukowy) oraz liczby typu double (format naukowy): scanf("%f %e %le", &x, &z, &y); e e5<enter> - wczytanie tekstu (zmienna text jest tablicą, nazwa tablicy jest adresem jej zerowego elementu, zatem nie jest potrzebny znak & przed zmienną text): scanf("%s", text); napis<enter> - funkcja scanf() wczytuje jeden argument do pojawienia się pierwszego białego znaku. W przypadku poniższego tekstu zapamiętane zostanie tylko jedno słowo Ala : scanf("%s", text); Ala ma laptopa<enter> 1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(306) : see declaration of 'scanf' Powyższe komunikaty można przetłumaczyć następująco: 1> myapp.cpp(10) : ostrzeżenie C4996: 'scanf': Funkcja lub zmienna może być niebiezpieczna. Rozważ zamiast niej użycie scanf_s. W celu wyłączenia zdeprecjonowania, użyj _CRT_SECURE_NO_WARNINGS. W celu uzyskania szczegółów zobacz pomoc online. 1> c:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(306) : zobacz deklarację 'scanf' Jeśli nie chcemy, aby powyższe ostrzeżenia były wyświetlane, to możemy w kodzie programu dodać odpowiednią dyrektywę preprocesora #pragma: #include <stdio.h> #include <stdlib.h> #pragma warning(disable:4996) lub w Project Properties Configuration Properties C/C++ Preprocessor Preprocessor Definitions dopisać po średniku poniższy tekst : _CRT_SECURE_NO_WARNINGS Standardowe pliki nagłówkowe Zastosowanie dowolnej funkcji w kodzie programu wymaga dołączenia, dyrektywą preprocesora #define, odpowiedniego pliku nagłówkowego. W bibliotece standardowej znajduje się 29 plików nagłówkowych (Tabela 4). W przypadku programów wykorzystujących funkcję scanf() kompilator Microsoft Visual C podczas kompilacji wyświetla ostrzeżenie, np. 1> myapp.cpp(10) : warning C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. Informatyka 1 25 z 38 Instrukcja INF02 Informatyka 1 26 z 38 Instrukcja INF02
14 Nazwa pliku assert.h complex.h ctype.h errno.h fenv.h float.h inttypes.h iso646.h limits.h locale.h math.h setjmp.h signal.h stdalign.h stdarg.h stdatomic.h stdbool.h stddef.h stdint.h stdio.h stdlib.h stdnoreturn.h string.h tgmath.h threads.h time.h uchar.h Tabela 4. Standardowe pliki nagłówkowe [7] Opis Conditionally compiled macro that compares its argument to zero Complex number arithmetic Functions to determine the type contained in character data Macros reporting error conditions Floating-point environment Limits of float types Format conversion of integer types Alternative operator spellings Sizes of basic types Localization utilities Common mathematics functions Nonlocal jumps Signal handling alignas and alignof convenience macros Variable arguments Atomic types Boolean type Common macro definitions Fixed-width integer types Input/output General utilities: memory management, program utilities, string conversions, random numbers noreturn convenience macros String handling Type-generic math (macros wrapping math.h and complex.h) Thread library Time/date utilities UTF-16 and UTF-32 character utilities wchar.h wctype.h Extended multibyte and wide character utilities Wide character classification and mapping utilities Funkcje matematyczne z pliku nagłówkowego math.h W pliku math.h znajdują się definicje stałych oraz funkcji matematycznych. W przypadku środowiska Visual C++ wykorzystanie stałych zdefiniowanych w tym pliku dodatkowo wymaga definicji stałej: _USE_MATH_DEFINES, którą należy umieścić przed dyrektywą dołączającą plik math.h: #define _USE_MATH_DEFINES #include <math.h> Tabela 5. Definicje stałych w pliku math.h. Nazwa stałej Wartość Znaczenie M_E e - liczba Eulera M_LOG2E log 2 e M_LOG10E log e M_LN ln 2 M_LN ln 10 M_PI π - liczba pi M_PI_ π / 2 M_PI_ π / 4 M_1_PI / π M_2_PI / π M_2_SQRTPI / π M_SQRT M_SQRT1_ / 2 W poniższym programie obliczane jest pole koła o promieniu r wprowadzonym z klawiatury. Do obliczenia pola wykorzystywana jest stała M_PI. Informatyka 1 27 z 38 Instrukcja INF02 Informatyka 1 28 z 38 Instrukcja INF02
15 Program obliczający pole koła o promieniu r. #include <stdio.h> #define _USE_MATH_DEFINES #include <math.h> #pragma warning(disable:4996) int main(void) { float r, pole; } printf("podaj promien kola: "); scanf("%f",&r); pole = (float)m_pi * r * r; printf("pole kola: %f\n",pole); return 0; Przykład uruchomienia program: Podaj promien kola: 5 Pole kola: Najważniejsze funkcje matematyczne zdefiniowane w pliku nagłówkowym math.h: abs() Nagłówek: int abs(int x); - x - zwraca wartość bezwzględną argumentu x będącego liczbą całkowitą; acos() Nagłówek: double acos(double x); - arccos x - zwraca arcus cosinus argumentu x; - argument może przyjmować wartości z przedziału -1,1 ; - funkcja zwraca kąt w radianach z zakresu od 0 do π radianów; asin() Nagłówek: double asin(double x); - arcsin x - zwraca arcus sinus argumentu x; - argument może przyjmować wartości z przedziału -1,1 ; - funkcja zwraca kąt w radianach z zakresu od -π/2 do π/2 radianów; atan() Nagłówek: double atan(double x); - arctg x - zwraca arcus tangens argumentu x; - funkcja zwraca kąt w radianach z zakresu od -π/2 do π/2 (radianów); atan2() Nagłówek: double atan2(double x, double y); - arctg x/y - zwraca arcus tangens ilorazu argumentów x/y; - argumenty muszą być różne od zera; - funkcja zwraca kąt w radianach z zakresu od -π do π (radianów); ceil() Nagłówek: double ceil(double x); - zaokrąglenie argumentu x w górę; - zwraca najmniejszą liczbę całkowitą większą lub równą argumentowi x; cos() Nagłówek: double cos(double x); - cos x - zwraca cosinus argumentu x podanego w radianach; - funkcja zwraca wartość z przedziału -1,1 ; cosh() Nagłówek: double cosh(double x); - cosh x - zwraca cosinus hiperboliczny argumentu x podanego w radianach; Informatyka 1 29 z 38 Instrukcja INF02 Informatyka 1 30 z 38 Instrukcja INF02
16 exp() Nagłówek: double exp(double x); sqrt() Nagłówek: double sqrt(double x); - e x - zwraca liczbę e (podstawa logarytmu naturalnego) podniesioną do potęgi argumentu x; fabs() Nagłówek: double fabs(double x); - x - zwraca wartość bezwzględną argumentu x będącego liczbą rzeczywistą; floor() Nagłówek: double floor(double x); - zaokrąglenie argumentu x w dół; - zwraca największą liczbę całkowitą mniejszą lub równą argumentowi x; log() Nagłówek: double log(double x); - ln x - zwraca logarytm naturalny argumentu x; log10() Nagłówek: double log10(double x); - log x - zwraca logarytm dziesiętny argumentu x; pow() Nagłówek: double pow(double x, double y); - x y - zwraca x podniesione do potęgi y; sin() Nagłówek: double sin(double x); - sin x - zwraca sinus argumentu x podanego w radianach; - funkcja zwraca wartość z przedziału -1,1 ; sinh() Nagłówek: double sinh(double x); - x - zwraca pierwiastek kwadratowy nieujemnego argumentu x; tan() Nagłówek: double tan(double x); - tg x - zwraca tangens argumentu x podanego w radianach; tanh() Nagłówek: double tanh(double x); - tgh x - zwraca tangens hiperboliczny argumentu x podanego w radianach. 3. Przebieg ćwiczenia Na pracowni specjalistycznej należy wykonać wybrane zadania wskazane przez prowadzącego zajęcia. W różnych grupach mogą być wykonywane różne zadania. 1. Do zacisków rezystora R = 100 Ω przyłożono napięcie stałe U = 8 V. Oblicz i wyświetl wartość prądu I płynącego przez rezystor. Przykładowe wywołanie programu: Prad I [A]: Przez opornik o rezystancji R płynie prąd stały I. Napisz program, który obliczy napięcie na oporniku U oraz wydzielającą się w nim moc P. Wartości rezystancji i prądu wczytaj funkcją scanf(). Przykładowe wywołanie programu: Podaj R [Om]: 470 Podaj I [A]: Napiecie U [V]: Moc P [W]: sinh x - zwraca sinus hiperboliczny argumentu x podanego w radianach; Informatyka 1 31 z 38 Instrukcja INF02 Informatyka 1 32 z 38 Instrukcja INF02
17 3. Napisz program obliczający współczynniki a, b równania prostej: y = ax + b (2) przechodzącej przez dwa punkty: P1(x1,y1), P2(x2,y2). Współrzędne punktów wczytaj funkcją scanf(). Przykładowe wywołanie programu: Wspolrzedne punktu P1 x1: 0 y1: 2 Wspolrzedne punktu P2 x2: 3 y2: Wspolczynnik a: Wspolczynnik b: Tabela 6. Rezystywność wybranych materiałów w temperaturze 20 ºC Materiał Rezystywność [Ω m] miedź 1, aluminium 2, srebro 1, złoto 2, Napisz program, w którym użytkownik wprowadza z klawiatury wartości trzech rezystancji R12, R23, R31 połączonych w trójkąt. Oblicz rezystancje R1, R2 i R3 równoważnego połączenia w gwiazdę. 4. Zadeklaruj trzy zmienne (x, y, z) typu int. Wczytaj wartości tych zmiennych funkcją scanf() i oblicz: x + y, x, y + z x y, x y z, x y, x x y Zwróć szczególnie uwagę na poprawność wykonania operacji dzielenia i pierwiastkowania. 5. Rezystancję R jednorodnego przewodnika o przekroju poprzecznym S i długości l wykonanego z materiału o rezystywności (oporze właściwym) ρ wyraża wzór: l R = ρ (3) S Napisz program, w którym użytkownik wprowadza z klawiatury przekrój poprzeczny S i długość l przewodnika. Program powinien obliczyć i wyświetlić rezystancję R przewodnika w przypadku, gdy jest on wykonany z miedzi, aluminium, srebra i złota. Rys. 2 Trójkąt i gwiazda rezystancji 7. Napisz program obliczający częstotliwość rezonansową fr układu o rezystancji R, indukcyjności L i pojemności C wprowadzonych z klawiatury. Przykładowe uruchomienie programu Rezystancja R [Om]: 10 Indukcyjnosc L [H]: 0.1 Pojemnosc C [F]: 1.0e Czestotliwosc fr [Hz]: Rezystancja R [Om]: 5000 Indukcyjnosc L [H]: 0.02 Pojemnosc C [F]: 4.0e Czestotliwosc fr [Hz]: f r f r Wzór 1 = (4) 2π LC ( RC) 2 = 2π 1 L LC R 2 (5) Informatyka 1 33 z 38 Instrukcja INF02 Informatyka 1 34 z 38 Instrukcja INF02
18 Rezystancja R [Om]: 500 Indukcyjnosc L [H]: 0.03 Pojemnosc C [F]: 6.0e Czestotliwosc fr [Hz]: Rezystancja R [Om]: 10 Indukcyjnosc L [H]: 1 Pojemnosc C [F]: 1.0e Czestotliwosc fr [Hz]: f r 1 1 = (6) 2π LC ( RC) R f r = (7) 2π LC L 1 2 Operacja Rzeczywiste Całkowite Dzielenie liczby dodatniej przez zero 1.0/0.0 1/0 Dzielenie liczby ujemnej przez zero -1.0/0.0-1/0 Dzielenie zero przez zero 0.0/0.0 0/0 Pierwiastek z liczby ujemnej Rezystancja R [Om]: 100 Indukcyjnosc L [H]: 0.05 Pojemnosc C [F]: 5.0e Czestotliwosc fr [Hz]: L = 1 (8) 2π LC R C f r 2 8. Napisz program, w którym użytkownik wczytuje z klawiatury kwotę w złotych (PLN). Następnie program wyświetla informację, ile innych walut (EUR, USD, GBP, CHF, CAD, DKK, CZK, JPY) za tę kwotę można kupić (Kwota). Poszukaj w Internecie kursów kantorowych. Wyniki przedstaw w postaci tabeli. Zakładamy, że część całkowita wyświetlanych liczb nie będzie zawierać więcej niż 7 cyfr. Zadbaj o odpowiednie wyrównanie wyświetlanych liczb i krawędzi tabeli. Przykładowy wynik działania programu: Podaj kwote w PLN: Kraj Waluta Kwota EUGiW EUR x.xx USA USD x.xx W. Brytania GBP x.xx Szwajcaria CHF x.xx Kanada CAD x.xx Dania DKK x.xx Czechy CZK x.xx Japonia JPY x.xx Sprawdź jaka jest reakcja kompilatora, gdy wykonywane są niedozwolone operacje na liczbach rzeczywistych i całkowitych: 4. Literatura [1] Kernighan B.W., Ritchie D.M.: Język ANSI C. Programowanie. Wydanie II. Helion, Gliwice, [2] Prata S.: Język C. Szkoła programowania. Wydanie VI. Helion, Gliwice, [3] Prinz P., Crawford T.: Język C w pigułce. APN Promise, Warszawa, [4] King K.N.: Język C. Nowoczesne programowanie. Wydanie II. Helion, Gliwice, [5] Kochan S.G.: Język C. Kompendium wiedzy. Wydanie IV. Helion, Gliwice, [6] Wileczek R.: Microsoft Visual C Tworzenie aplikacji dla Windows. Helion, Gliwice, [7] - C++ Reference, C Library 5. Pytania kontrolne 1. Wyjaśnij do czego służą zmienne w programie? 2. W jaki sposób umieszcza się komentarze w kodzie programu? 3. Scharakteryzuj typy zmiennych występujące w języku C. 4. Podaj zasady obowiązujące przy tworzeniu nazw zmiennych. 5. Scharakteryzuj operatory arytmetyczne w języku C oraz sposób tworzenia i obliczania wyrażeń arytmetycznych. Informatyka 1 35 z 38 Instrukcja INF02 Informatyka 1 36 z 38 Instrukcja INF02
19 6. Wyjaśnij pojęcie rzutowania oraz podaj przykłady jego zastosowania. 7. Opisz sposoby formatowania łańcucha wyjściowego w funkcji printf(). 8. Opisz zasadę działania funkcji scanf(). 6. Wymagania BHP Warunkiem przystąpienia do praktycznej realizacji ćwiczenia jest zapoznanie się z instrukcją BHP i instrukcją przeciw pożarową oraz przestrzeganie zasad w nich zawartych. W trakcie zajęć laboratoryjnych należy przestrzegać następujących zasad. - Sprawdzić, czy urządzenia dostępne na stanowisku laboratoryjnym są w stanie kompletnym, nie wskazującym na fizyczne uszkodzenie. - Jeżeli istnieje taka możliwość, należy dostosować warunki stanowiska do własnych potrzeb, ze względu na ergonomię. Monitor komputera ustawić w sposób zapewniający stałą i wygodną obserwację dla wszystkich członków zespołu. - Sprawdzić prawidłowość połączeń urządzeń. - Załączenie komputera może nastąpić po wyrażeniu zgody przez prowadzącego. - W trakcie pracy z komputerem zabronione jest spożywanie posiłków i picie napojów. - W przypadku zakończenia pracy należy zakończyć sesję przez wydanie polecenia wylogowania. Zamknięcie systemu operacyjnego może się odbywać tylko na wyraźne polecenie prowadzącego. - Zabronione jest dokonywanie jakichkolwiek przełączeń oraz wymiana elementów składowych stanowiska. - Zabroniona jest zmiana konfiguracji komputera, w tym systemu operacyjnego i programów użytkowych, która nie wynika z programu zajęć i nie jest wykonywana w porozumieniu z prowadzącym zajęcia. - W przypadku zaniku napięcia zasilającego należy niezwłocznie wyłączyć wszystkie urządzenia. - Stwierdzone wszelkie braki w wyposażeniu stanowiska oraz nieprawidłowości w funkcjonowaniu sprzętu należy przekazywać prowadzącemu zajęcia. - Zabrania się samodzielnego włączania, manipulowania i korzystania z urządzeń nie należących do danego ćwiczenia. - W przypadku wystąpienia porażenia prądem elektrycznym należy niezwłocznie wyłączyć zasilanie stanowiska. Przed odłączeniem napięcia nie dotykać porażonego. Informatyka 1 37 z 38 Instrukcja INF02 Informatyka 1 38 z 38 Instrukcja INF02
ZMIENNE P R O G R A M O W A N I E C + +
ZMIENNE P R O G R A M O W A N I E C + + Głównym zadaniem programów przedstawianych na poprzednich zajęciach było wyświetlanie tekstu. Napiszemy teraz prosty program wykorzystujący podczas działania także
Spis treści JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE.
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
Spis treści JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE.
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Spis treści JĘZYK C - OPERACJE WE-WY, ZMIENNE, TYPY I NAZWY ZMIENNYCH, OPERATORY I WYRAŻENIA ARYTMETYCZNE, FUNKCJE MATEMATYCZNE.
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka Kod przedmiotu: ESC00 009 (studia stacjonarne)
Spis treści JĘZYK C - OPERATORY BITOWE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF32
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Spis treści JĘZYK C - ZAGNIEŻDŻANIE IF-ELSE, OPERATOR WARUNKOWY. Metodyki i techniki programowania
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TSC00
Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Informatyka 1
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Spis treści JĘZYK C - FUNKCJE. Metodyki i techniki programowania. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia MITP10
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TSC200
J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE
J ZYK C: STAŁE I ZMIENNE, TYPY DANYCH, OPERATORY I WYRA ENIA ARYTMETYCZNE Przykład (program zamieniaj cy temperatur podan w skali Fahrenheita na temperatur w skali Celsjusza) Jak ma działa program? 1.
Spis treści JĘZYK C - INSTRUKCJA SWITCH, OPERATORY BITOWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
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ę
Spis treści JĘZYK C - OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, INSTRUKCJA WARUNKOWA IF. Informatyka 1
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Programowanie strukturalne i obiektowe
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
Spis treści PLIKI BINARNE W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF23
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE. Metodyki i techniki programowania
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TS1C200
Spis treści JĘZYK C - INSTRUKCJA WARUNKOWA IF, OPERATORY RELACYJNE I LOGICZNE, WYRAŻENIA LOGICZNE, ZAGNIEŻDŻANIE IF-ELSE.
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D200 009 (studia stacjonarne)
PROGRAMOWANIE w C prolog
PROGRAMOWANIE w C prolog dr inż. Jarosław Stańczyk Uniwersytet Przyrodniczy we Wrocławiu Wydział Biologii i Hodowli Zwierząt Katedra Genetyki 1 / jaroslaw.stanczyk@up.wroc.pl programowanie w c 17.10.2014
Wyrażenia arytmetyczne
Wyrażenia arytmetyczne Do budowania wyrażeń w języku C używa się operatorów jednoargumentowych oraz dwuargumentowych. Podstawowy operator jednoargumentowy to operator zmiany znaku (-), który jest prawostronnie
Spis treści JĘZYK C - ŚLEDZENIE WYKONANIA PROGRAMU, DEBUGGER. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D200 009 (studia stacjonarne)
13 JĘZYK C - OPERATOR WARUNKOWY,
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1D200 009 (studia stacjonarne)
BHP JĘZYK C - INSTRUKCJE ITERACYJNE
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TS1C200
Spis treści JĘZYK C - PLIKI BINARNE. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF30
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Spis treści JĘZYK C - PRZEKAZYWANIE PARAMETRÓW DO FUNKCJI, REKURENCJA. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
Języki i metodyka programowania. Wprowadzenie do języka C
Literatura: Brian W. Kernighan, Dennis M. Ritchie Język Ansi C, Wydawnictwa Naukowo - Techniczne, 2007 http://cm.bell-labs.com/cm/cs/cbook/index.html Scott E. Gimpel, Clovis L. Tondo Język Ansi C. Ćwiczenia
Stałe. Funkcje standardowe. Niektóre stałe i funkcje z pliku nagłówkowego math.h. M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2
Niektóre stałe i funkcje z pliku nagłówkowego math.h. Stałe Identyfikator M_E M_LOG2E M_LOG10E M_LN2 M_LN10 M_PI M_PI_2 M_PI_4 M_1_PI M_2_PI M_1_SQRTPI M_2_SQRTPI Znaczenie e log 2 (e) log 10 (e) ln(2)
2 Przygotował: mgr inż. Maciej Lasota
Laboratorium nr 2 1/7 Język C Instrukcja laboratoryjna Temat: Wprowadzenie do języka C 2 Przygotował: mgr inż. Maciej Lasota 1) Wprowadzenie do języka C. Język C jest językiem programowania ogólnego zastosowania
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
Spis treści JĘZYK C - TABLICE JEDNOWYMIAROWE. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF05Z
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
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
Język C część 1 Literatura [1] Brian W. Kernighan, Dennis M. Ritchie: Język ANSI C, Wydawnictwa Naukowo Techniczne, Warszawa 2003 [2] Anna Strudzioska-Walczak, Krzysztof Walczak, Nakuka programowania dla
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
1. Wprowadzanie danych z klawiatury funkcja scanf
1. Wprowadzanie danych z klawiatury funkcja scanf Deklaracja int scanf ( const char *format, wskaźnik, wskaźnik,... ) ; Biblioteka Działanie stdio.h Funkcja scanf wczytuje kolejne pola (ciągi znaków),
Zmienne, stałe i operatory
Zmienne, stałe i operatory Przemysław Gawroński D-10, p. 234 Wykład 2 4 marca 2019 (Wykład 2) Zmienne, stałe i operatory 4 marca 2019 1 / 21 Outline 1 Zmienne 2 Stałe 3 Operatory (Wykład 2) Zmienne, stałe
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.
Typy, operatory, wyrażenia. Wejście i wyjście. Typy, operatory, wyrażenia Zmienna: [] [ '[' ']' ] ['=' ]; Zmienna to fragment pamięci o określonym
Wstęp do Programowania, laboratorium 02
Wstęp do Programowania, laboratorium 02 Zadanie 1. Napisać program pobierający dwie liczby całkowite i wypisujący na ekran największą z nich. Zadanie 2. Napisać program pobierający trzy liczby całkowite
Spis treści JĘZYK C - TABLICE DWU- I WIELOWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Język ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: ES1C200 009 (studia stacjonarne)
Spis treści JĘZYK C - TABLICE DWUWYMIAROWE, OPERACJE NA TABLICACH. Metodyki i techniki programowania
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Metodyki i techniki programowania Kod przedmiotu: TS1C200
Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
OPERACJE WEJŚCIA / WYJŚCIA. wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout)
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
int tab[5]; tab[1]; ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu macierz [ ] - dwuargumentowy operator indeksowania
Rok akademicki 2013/2014, Pracownia nr 10 2/20 Informatyka 1 Tablica elementów ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu Politechnika Białostocka - Wydział Elektryczny Elektrotechnika,
Spis treści OPERACJE WEJŚCIA-WYJŚCIA W JĘZYKU C++. STEROWANIE FORMATEM, MANIPULATORY. Informatyka 2
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Spis treści JĘZYK C - WSKAŹNIKI, DYNAMICZNY PRZYDZIAŁ PAMIĘCI. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład I I Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Zaliczenie przedmiotu Na laboratorium można zdobyć 100 punktów. Do zaliczenia niezbędne jest
Struktury, unie, formatowanie, wskaźniki
Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej
Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1
Funkcje czyli jak programować proceduralne. Programowanie Proceduralne 1 Struktura programu w C # include / Dyrektywy p r e p r o c e s o r a / #define PI 3.1415 float g =. 5 ; / Zmienne
Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF22
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1D300 017 (studia stacjonarne)
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
ROZDZIAŁ 2. Operatory
Bibliografia [1] Jerzy Grębosz, Symfonia C++, Oficyna Kallimach, Kraków, 1999, [2] Jerzy Grębosz, Pasja C++, Oficyna Kallimach, Kraków, 1999, [3] Bjarne Stroustrup, Język C++, WNT, Warszawa, 1997, [4]
Podstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Metodyki i Techniki Programowania 1 1 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA
Metodyki i Techniki Programowania 1 1 ZAJ CIA 3. 1. MECHANIZM POWSTAWANIA PROGRAMU W JĘZYKU C PODSTAWOWE POJĘCIA IDE zintegrowane środowisko programistyczne, zawierające kompilator, edytor tekstu i linker,
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2
PODSTAWY INFORMATYKI 1 PRACOWNIA NR 2 TEMAT: Obsługa pakietu - środowiska do tworzenia, analizy i uruchomienia programów w języku C/C++: Dev-C++. Ogólna struktura programu w języku C, stałe i zmienne,
Podstawy programowania C. dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/
Podstawy programowania C dr. Krystyna Łapin http://www.mif.vu.lt/~moroz/c/ Tematy Struktura programu w C Typy danych Operacje Instrukcja grupująca Instrukcja przypisania Instrukcja warunkowa Struktura
#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 ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Spis treści PROGRAMOWANIE OBIEKTOWE W JĘZYKU C++: FUNKCJE ZAPRZYJAŹNIONE Z KLASĄ, PRZEŁADOWANIE OPERATORÓW. Informatyka 2
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania, odejmowania
http://torus.uck.pk.edu.pl/~fialko Operatory, wyrażenia, instrukcja przypisania Operatory arytmetyczne * / + - % operator zmiany znaku operatory mnożenia, dzielenia, dzielenia modulo operatory dodawania,
wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,
, Programowanie, uzupełnienie notatek: dr Jerzy Białkowski , 1 2 3 4 , Wczytywanie liczb , Wczytywanie liczb 1 #include 2 #include < s t d l i b. h> 3 4 int main ( ) { 5 int rozmiar, numer
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Proste typy zmiennych języka C++ *) Zapis 3.4 e-38 jest równoważny zapisowi 3,
WYKŁAD 1. PODSTAWY 1_1. Typy zmiennych Proste typy zmiennych języka C++ Nazwa typu (nazwa skrócona) Rozmiar (bajtów) unsigned char 1 signed char (char) unsigned short int (unsigned) signed short int (int)
INFORMATYKA Studia Niestacjonarne Elektrotechnika
INFORMATYKA Studia Niestacjonarne Elektrotechnika Wydział Elektrotechniki i Informatyki dr inż. Michał Łanczont Wydział Elektrotechniki i Informatyki p. E419 tel. 81-538-42-93 m.lanczont@pollub.pl http://lanczont.pollub.pl
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Programowanie strukturalne język C - wprowadzenie
Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766, email: ssamolej@prz-rzeszow.pl WWW: ssamolej.prz-rzeszow.pl Cechy programowania strukturalnego Możliwość
Funkcje. czyli jak programować proceduralne. Programowanie Proceduralne 1
Funkcje czyli jak programować proceduralne. Programowanie Proceduralne 1 Struktura programu w C # include # define PI 3. 1415 float g =. 5 ; float kwadrat ( float x ) { return x x ; } int
Jak napisać program obliczający pola powierzchni różnych figur płaskich?
Część IX C++ Jak napisać program obliczający pola powierzchni różnych figur płaskich? Na początku, przed stworzeniem właściwego kodu programu zaprojektujemy naszą aplikację i stworzymy schemat blokowy
#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 ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Ćwiczenie 1. Podstawy. Wprowadzenie do programowania w języku C. Katedra Metrologii AGH
Laboratorium Podstaw Informatyki Kierunek Elektrotechnika Ćwiczenie 1 Podstawy Wprowadzenie do programowania w języku C Kraków 2010 Twój pierwszy program w C Program w języku C, jak i w wielu innych językach
Spis treści WSKAŹNIKI. DYNAMICZNY PRZYDZIAŁ PAMIĘCI W JĘZYKU C. Informatyka 2. Instrukcja do pracowni specjalistycznej z przedmiotu
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 2 Kod przedmiotu: ES1C300 016 (studia stacjonarne)
Spis treści JĘZYK C - INSTRUKCJE ITERACYJNE FOR, WHILE I DO WHILE, ZAGNIEŻDŻANIE PĘTLI FOR, INSTRUKCJE CONTINUE, BREAK, I GOTO.
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015
POLITECHNIKA WARSZAWSKA Instytut Automatyki i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015 Język programowania: Środowisko programistyczne: C/C++ Qt Wykład 4 : Napisy. Tablice dwuwymiarowe. Formaty
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
programowania Wykład: 5 Instrukcje sterujące c.d. Stałe, Typy zmiennych c.d. 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD programowania w C++ Instrukcje sterujące 2 dr Artur Bartoszewski
Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI
Dr inż. Grażyna KRUPIŃSKA Grazyna.Krupinska@fis.agh.edu.pl D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI Wyrażenia 2 Wyrażenia w języku C są bardziej elastyczne niż wyrażenia w jakimkolwiek innym języku
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java
Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java Cechy C++ Język ogólnego przeznaczenia Można programować obiektowo i strukturalnie Bardzo wysoka wydajność kodu wynikowego
Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska
Instytut Mechaniki i Inżynierii Obliczeniowej www.imio.polsl.pl fb.com/imiopolsl @imiopolsl Wydział Mechaniczny Technologiczny Politechnika Śląska Języki programowania z programowaniem obiektowym Laboratorium
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory
Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.
WYKŁAD 1 - KONSPEKT. Program wykładu:
mgr inż. Jarosław Forenc e-mail: jarekf@pb.bialystok.pl tel. (0-85) 746-93-97 WWW: http://we.pb.bialystok.pl/~jforenc konsultacje: zaliczenie: Program wykładu: WYKŁAD 1 - KONSPEKT 1. Ogólna struktura programu
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
Podstawy algorytmiki i programowania - wykład 4 C-struktury
1 Podstawy algorytmiki i programowania - wykład 4 C-struktury Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy
JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak
JAVA Wstęp do programowania w języku obiektowym Bibliografia: JAVA Szkoła programowania, D. Trajkowska Ćwiczenia praktyczne JAVA. Wydanie III,M. Lis Platforma JSE: Opracował: Andrzej Nowak JSE (Java Standard
Politechnika Białostocka
Spis treści Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej Temat ćwiczenia: JĘZYK C - INSTRUKCJE ITERACYJNE FOR,
Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Języki i metody programowania. Omówienie języków C, C++ i Java
Języki i metody programowania Omówienie języków C, C++ i Java Język C Język programowania ogólnego przeznaczenia Historia: M. Richards - BCPL - lata 60-te ubiegłego stulecia K. Thompson - B dla UNIX (DEC
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Wstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Informatyka, Ćwiczenie 1. 1. Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu
Informatyka, Ćwiczenie 1 1. Uruchomienie Microsoft Visual C++ I. ZałoŜenie nowego projektu Wybieramy menu: File>New>Files jak na rys. poniŝej Zapisujemy projekt pod nazwą LAN, w katalogu d:\temp\lab typu
Laboratorium 1: Podstawy języka c. dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski
Laboratorium 1: Podstawy języka c dr inż. Arkadiusz Chrobot dr inż. Grzegorz Łukawski 12 października 2017 1. Wprowadzenie Instrukcja zawiera informacje o podstawowych konstrukcjach w języku c. Część pierwsza
Spis treści JĘZYK C - ŁAŃCUCHY ZNAKÓW. Informatyka 1. Instrukcja do pracowni specjalistycznej z przedmiotu. Numer ćwiczenia INF10Z
Politechnika Białostocka Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii Instrukcja do pracowni specjalistycznej z przedmiotu Informatyka 1 Kod przedmiotu: EZ1C200 010 (studia niestacjonarne)
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
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Funkcja (podprogram) void
Funkcje Co to jest funkcja? Budowa funkcji Deklaracja, definicja i wywołanie funkcji Przykłady funkcji definiowanych przez programistę Przekazywanie argumentów do funkcji Tablica jako argument funkcji
Podstawy programowania w języku C i C++
Podstawy programowania w języku C i C++ Część czwarta Operatory i wyrażenia Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu,
Wstęp do programowania 1
Wstęp do programowania 1 Struktury Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 12 Struktura dla dat - przykład #include struct Date { int y; short m; short