Pobierz - Informacje dla uzytkowników serwera antenor.pol.lublin.pl

Transkrypt

Pobierz - Informacje dla uzytkowników serwera antenor.pol.lublin.pl
Programowanie C#
mgr in . Dariusz Ku
p. 119A
[email protected]
http://antenor.pol.lublin.pl/~dkus
Translacja kodu
Kod ródłowy
Java, C#
Kompilator
Kompilator
Kod po redni
Interpreter
Maszyna wirtualna
(interpreter, kompilator w locie)
C, C++, Pascal
Kod maszynowy
Perl, Python, PHP
Tworzenie programu
Edytor
Nieudana
Kompilacja
Udana
Uruchomienie
Udane
Program
Nieudane
C#
C# to:
• Obiektowy j zyk programowania
• Kompilowany do kodu po redniego
Common Intermediate Language CIL
• Wykonywany w specjalnym rodowisku
.NET, mono, dotGNU
Platforma .NET
Microsoft .NET to rodowisko uruchomieniowe
• działaj ce od Windows 2000
• Zapewniaj ce
– łatwiejszy model programowania
– Bezpiecze stwo i ochron
– Wygodne narz dzia do tworzenia oprogramowania i
jego wdra ania tak e w wieloosobowych zespołach
Filozofia .NET
Podstawowe cechy rodowiska .NET
• Wspólne rodowisko uruchomieniowe –
CLR (Common Language Runtime)
• Wspólny system typów – CTS (Common
Type system)
• Wspólna specyfikacja j zykowa – CLS
(Common Language Specification)
• Wspólna biblioteka klas podstawowych
Wieloj zyczno
.NET
W zało eniu rodowisko ma współpracowa
z wieloma j zykami programowania
Podstawowe, dost pne j zyki:
• Visual Basic
• C++
• J# (microsoftowa wersja j zyka Java)
• C# - j zyk stworzony specjalnie dla .NET
J zyk C#
Podstawowe cechy j zyka C# to:
• Obiektowo
• Prostota
• Kontrola typów
• Zgodno (mo liwo korzystania z zewn trznych bibliotek)
Symbole w C#
Rodzaje symboli:
• Identyfikatory
• Słowa kluczowe
• Operatory
• Literały (reprezentuj warto ci) i znaki
przestankowe (grupuj i rozdzielaj )
Identyfikatory w C#
• Identyfikatory to nazwy nadane typom,
metodom, zmiennym itp..
• Identyfikatory to ci gi znaków Unicode
rozpoczynaj ce si od litery lub znaku _
• W identyfikatorach rozró niana jest
wielko liter
Typy danych w C#
Typy danych
Referencyjne
object
string
Warto ci
Numeryczne
int
long
float
double
decimal
Znakowe
char
string
Logiczne
bool
Typy danych w C#
Typ C#
Typ .NET
Framework
Zakres
Rodzaj
Rozmiar
bool
System.Boolean
true, false
Logiczny
32 b
char
System.Char
U+0000 - U+FFFF
Znak Unicode
16b
string
System.String
do 2mld znaków
Łancuch znaków
UNICODE
byte
System.Byte
0-255
l. całkowita bez znaku
8b
sbyte
System.SByte
-128 – 127
l. całk. Ze znakiem
8b
int
System.Int32
-2147483648 –
2147483647
l. całkowita ze znakiem
32b
uint
System.UInt32
0 – 4294967295
l. całkowita bez znaku
32b
long
System.Int64
-9223372036854775808 –
9223372036854775807
l. całkowita ze znakiem
64b
Typy danych w C# cd.
Typ C#
Typ .NET
Framework
Zakres
Rodzaj
Rozmiar
ulong
System.UInt64
0–
18446744073709551615
l. załkowita bez znaku
64b
short
System.Int16
-32768 – 32767
l. całkowita ze znakim
16b
ushort
SystemUInt16
0 -65535
l. całkowita bez znaku
16b
decimal
System.Decimal
1.0E-28 - 7.9E+28
(28-29 cyfr znacz.)
l. Rzeczywista
stałopozycyjna
96b
double
System.Double
+-5.0E-324- +-1.7E308
(15-16 cyfr znacz.)
l. rzeczywista
zmiennopozycyjna
64b
float
System.Float
+-1.5E-45 - +-3.4E38
(7 cyfr znacz.)
l. rzeczywista
zmiennopozycyjna
32b
object
System.Object
referencja
32b
Zmienne w C#
• Zmienna to element j zyka reprezentuj cy
miejsce w pami ci słu ce do przechowywania
danej reprezentowany przy pomocy
identyfikatora
• Ka da zmienna ma okre lony typ
• Warto zmiennej mo na zmienia przy pomocy
– przypisania
– operatorów ++ i –
• J zyk C# to j zyk o cisłej kontroli typów
Zmienne w C#
Zmienna MUSI by zadeklarowana przed
pierwszym u yciem!
typ nazwa_zmiennej;
int licznik;
typ nazwa_zmiennej = warto
pocz tkowa;
double Suma = 1.2543;
typ nazwa_zmiennej = wyra enie;
int z = 2*x;
Operatory w C#
Kategoria
Operatory
Podstawowe
(x) x.y f(x) a[x] x++ x– new typeof
sizeof checked unchecked
Jednoargumentowe + - ! ~ ++x –x (T)x
Multiplikatywne
*/
Addytywne
+Przesuni cia
<< >>
bitowego
Relacyjne
< > <= => is
Równo
== !=
Iloczyn bitowy
&
Operatory w C# c.d.
Kategoria
Operatory
Alternatywa
rozł czna (XOR)
Suma bitowa
^
|
Koniunkcja
&&
Alternatywa
Warunkowe
||
?:
Przypisania
= += -+ *= /= <<= >>= &= ^= |=
Operator przypisania
zmienna = wyra enie;
x=2*y+z;
Typ zmiennej musi by zgodny z typem rezultatu wyra enia
Konwersja typów przy przypisaniu
int x = 5;
double a = 2*x; long z = x+100;
Typ lewej strony jest wi kszy ni typ prawej strony
Przypisania zło one
x+=10; x=x+10;
y-=5;
y=y-5;
z*=2;
z=z*2;
a/=3;
a=a/3;
m%=n
m=m%n;
ab&=cd ab=ab&cd;
kl|=mn kl=kl| mn;
u^=v
u=u^v;