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