Instrukcja laboratorium nr 1
Transkrypt
Instrukcja laboratorium nr 1
Politechnika Rzeszowska, Wojciech Szydełko 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 „Win32 Console Application” czyli aplikacja do uruchomienia z wiersza poleceń systemu operacyjnego. Wybieramy klawisz OK. i projekt zostanie utworzony. II. Dokładanie pliku źródłowego do projektu Mamy juŜ przygotowany projekt, ale aby przygotować program musimy załoŜyć plik źródłowy w którym go wpiszemy. Wybieramy kolejno menu: File > New i okienku jak poniŜej wpisujemy nazwę pliku w polu „ File name:” test.c ( nadajemy rozszerzenie .c poniewaŜ przygotowujemy program w języku C), Wybieramy typ pliku: „C++ Source File” (plik źródłowy C++) i wciskamy klawisz OK. WS_ver1.3_2008-03-03 1 Politechnika Rzeszowska, Wojciech Szydełko Od tej pory mamy juŜ plik źródłowy, do którego moŜemy wpisywać program, kompilować i uruchamiać. Okno projektu w zakładce „FileView” będzie zawierać nazwę pliku lub plików źródłowych. Zobacz rys. poniŜej. Kod programu III. Wpisanie kodu źródłowego #include <stdio.h> void main (void){ printf("HelloWorld"); } WS_ver1.3_2008-03-03 2 Politechnika Rzeszowska, Wojciech Szydełko IV. Kompilacja Wybieramy z menu opcje: Build>Compile test.c zobacz rys. poniŜej. JeŜeli plik źródłowy będzie się nazywał inaczej ta opcja się zmieni. JeŜeli kompilacja przeszła prawidłowo to nie będziemy mieli błędów ani ostrzeŜeń i powinniśmy otrzymać okno jak poniŜej. V. Stworzenie pliku wynikowego Wybieramy z menu: Build>Build test.exe. Powstanie plik uruchomieniowy zlokalizowany w katalogu w którym zapisaliśmy plik źródłowy i w podkatalogu ..\Debug Istnieje równieŜ skrót klawiatury F7. VI. Uruchomienie programu Uruchomienie programu moŜe się odbyć się z linii poleceń systemu (zobacz rys. poniŜej). MoŜemy równieŜ wywołać menu: Build > Execute test.exe WS_ver1.3_2008-03-03 3 Politechnika Rzeszowska, Wojciech Szydełko 2. Zadania do realizacji na zajęciach nr 1. I. Wyprowadzanie tekstu Przy pomocy metody printf() wypisać tekst „Hello World” na konsoli systemowej. printf (tekst_i_łańcuch_formatu, argumenty); II. Operacje inkrementacji i dekrementacji - wykonaj operacje arytmetyczne int x = 0; int y = 0; x++; ++x; x = 0; y = x++; y = ++x; - zadeklaruj odpowiednie zmienne short x = 6; int y = 4; float a = 12.5f; float b = 7f; Wypisać wyniki działania tych operatorów i wartości tych zmiennych przy pomocy metody printf(). III. Wprowadzanie danych liczbowych Przy pomocy metody scanf() pobrać dane typu int i float i wypisać je na konsoli. scanf (łańcuch_formatu, adres_zmiennej_argumenty); IV. Przeliczenie wagi na KsięŜycu Aby obliczyć wagę na KsięŜycu naleŜy wprowadzoną jako parametr dane pomnoŜyć przez współczynnik 0,166. Wynik naleŜy wyprowadzić na konsoli. WS_ver1.3_2008-03-03 4 Politechnika Rzeszowska, Wojciech Szydełko 3. Wprowadzenie Typy zmiennych Istnieją róŜne typy zmiennych i reprezentują one odmienne typy danych, zakresy liczb i zajmują róŜną ilość pamięci. typy danych stosowane w C podane zostały w tabeli poniŜej. Typ char ubsigned char Zakres wartości -128 ..128 0 .. 256 Reprezentacja w pamięci 1 bajt 1 bajt Liczba całkowita short -32768 .. 32768 2 bajty unsigned short 0 .. 65535 2 bajty int -32768 .. 32768 2 bajty unsigned int 0 .. 65535 2 bajty long - 2 147 483 648 .. 2 147 483 648 4 bajty unsigned long 0 .. 4294967295 4 bajty Liczba rzeczywista float -3.4E38 .. -3.4 E-38, 0 , 3.4E38 .. 3.4E38 4 bajty double -1.7E308 .. 8 bajtów long double -1.1E4932 .. 10 bajtów Dokładna reprezentacja zmiennych zwłaszcza rzeczywistych zaleŜy od sprzętu i kompilatora. Wyprowadzanie danych Do wyprowadz\ania wyników moŜeny uŜyć funkji printf(„format”, dane) format=% [Pole znaku] [szerokość] [.Dokładność] [Modyfikator] Typ danych Pole znaku ‘+’ ma się pojawić znak liczby (- gdy liczba jest ujemna, + gdy liczba jest dodatnia) ‘-‘ liczba ma być wyrównana prawostronnie, niewykorzystane pozycje z prawej strony będą wypełnione zerami ‘ ‘ (spacja) – przy wartości dodatniej będzie wydrukowany znak pusty ‘0’ – w przypadku formatowania prawostronnego zera wiodące zostaną wypisane Szerokość Określa całkowitą szerokość pola na liczby. MoŜe być uŜyty znak ‘*’ co automatycznie regulują tą szerokość lub podana zmienna. Dokładność Określa liczbę miejsc po kropce dziesiętnej, moŜe być zastąpiona znakiem ‘*’ dla automatycznej regulacji WS_ver1.3_2008-03-03 5 Politechnika Rzeszowska, Wojciech Szydełko Typy danych %c pojedynczy znak (ang. char) %s Ciąg znaków (ang. string) %d, %i Liczba typu int %D, %l Liczba całkowita ze znakiem long %f Liczba typu float %l Liczba typu long %u Liczba typu unsigned int %U, %ul Liczba typu unsigned long %o Liczba ósemkowa int %O Liczba ósemkowa long %X Liczba szestnastkowa long %x Liczba szesnastkowa int %f Liczba zmiennoprzecinkowa float %e, %E Liczba zmiennoprzecinkowa float w postaci ekwipotencjalnej printf("%.4f",liczba); spowoduje wyświetlenie zmiennej liczba z dokładnością 4 miejsc po przecinku. printf("%.4s",lancuch); spowoduje wyświetlenie pierwszych 4 znaków łańcucha. Znaki sterujące wyświetlaniem Sekwencja Znaczenie ucieczki alarm (bell, BEL) \a cofnięcie karetki (backspace, BS) \b znak ucieczki (escape, ESC) \e nowa strona (form feed, FF) \f nowa linia (new line, NL) \n powrót karetki (carriage return, CR) \r tabulacja pozioma (horizontal tab, HT) \t tabulacja pionowa (vertical tab, VT) \v ukośnik (backslash) \\ cudzysłów (double quote) \" apostrof (single quote) \' kontynuacja linii (line continuation) \<ENTER> \nnn nnn = wartość ósemkowa znaku \0xnn nn = wartość szesnastkowa (tylko niektóre kompilatory) Wartość dziesiętna 7 8 27 12 10 13 9 11 Wprowadzanie danych Do wprowadzania danych moŜmy uŜyć funkcji scanf. Pozwala ona na wprowadzanie sformatowane dane. WS_ver1.3_2008-03-03 6 Politechnika Rzeszowska, Wojciech Szydełko scanf(„format”, dane) format =% [*] [Szerokość] [Modyfiktor1] [Modyfikator2] Typ_danych dane =&zmienna – adres zmiennej ‘*’ Szerokość – zignorowanie pola wejściowego – maksymalna liczba wprowadzanych znaków, wprowadzanie zostanie przerwane jeŜeli pojawi się „spacja” lub znak nieprawidłowy dla wybranego formatu, Modyfikator1 – F dla wskaźnika far, N dla wskaźnika near Modyfikator2 – h dla short int, 1 dla long int lub double MoŜna teŜ uŜyć następującej konstrukcji: %[A-Z] – duŜe litery dozwolone %[^A-Z] – duŜe litery zabronione %[AaBb+-.:K] – wybrane znaki dozwolone %[^AaBb+-.:K] – wybrane znaki zabronione %[a-zABC] – zakres znaków i wybrane znaki Wprowadzić moŜemy dowolny ciąg znaków, jednak dane wprowadzone do programu zostaną obcięte do pierwszego wystąpienia niezgodności. Typy danych %c pojedynczy znak (ang. char) %s Ciąg znaków (ang. string) %d, %i Liczba typu int %D, %l Liczba całkowita ze znakiem long %f Liczba typu float %l Liczba typu long %u Liczba typu unsigned int %U, %ul Liczba typu unsigned long %o Liczba ósemkowa int %O Liczba ósemkowa long %X Liczba szestnastkowa long %x Liczba szesnastkowa int %f Liczba zmiennoprzecinkowa float %e, %E Liczba zmiennoprzecinkowa float w postaci ekwipotencjalnej Funkcja scanf("%s",&zmienna) pobiera z klawiatury łańcuch znaków (%s - string pol. łańcuch). Zakończenie wprowadzania znaków następuje po wciśnięciu klawisza „Enter”. W tym momencie tekst jest kopiowany pod adres pamięci wskazywany przez &zmienna. W funkcji scanf nazwę zmiennych zawsze poprzedzamy operatorem adresowym [&]. Operator ten wskazuje adres pod którym znajduję się zmienna. WS_ver1.3_2008-03-03 7