Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BTP205 – Görsel Programlama

Benzer bir sunumlar


... konulu sunumlar: "BTP205 – Görsel Programlama"— Sunum transkripti:

1 BTP205 – Görsel Programlama
C# Temelleri

2 Bugün… Değişkenler ve İfadeler Akış kontrolü Yorumlar Değişkenler
Operatörler Namespaces (Ad alanları) Akış kontrolü if, switch while, do-while, for, foreach İkili operatörler

3 Temel C# Sözdizimi Boşluklar (boşluk, yeni satır, tab) C# derleyicisi tarafından göz ardı edilir İfadeler noktalı virgül (;) ile sonlandırılır C# kodları büyük-küçük harf duyarlıdır C# blok-yapılı bir dildir ve bloklar ayraçlar ile sınırlanır (‘{’ ve ‘}’) Kodlarınızı yazarken okunabilir olması için içerden başlamaya dikkat ediniz yorumlar yazınız

4 Yorumlar Tip I /* Tek yorum satırı */ /* Çoklu- Yorum Satırı*/ Tip II
// Başka bir tekli yorum satırı a = 0; // sayacı sıfırla Tip III /// Dokümantasyon için kullanılan özel yorum satırları

5 Değişkenler Değişkenleri, verinin içinde saklandığı kutular olarak düşünebiliriz Değişkenlerin tipleri, isimleri ve değerleri vardır int num = 5; Burada, int değişkenin tipi, num ismi ve 5‘de değeridir Bütün değişkenler kullanılmadan önce tanımlanmalıdır

6 Basit Tipler Basit tipler sayıları Boolean (doğru ya da yanlış) değerleri kapsar Sayıları ifade etmek için birçok tip vardır, çünkü her tipi ifade edebilmek için farklı sayıda byte gerekir

7 Tamsayı Tipleri (integer)
Diğer adı İzin verilen değer aralığı Byte sayısı sbyte System.SByte –128 ve 127 aralığında tamsayı 1 byte System.Byte 0 ve 255 aralığında tamsayı short System.Int16 –32768 ve aralığında tamsayı 2 ushort System.UInt16 0 ve aralığında tamsayı int System.Int32 –2,147,483,648 ve 2,147,483,647 aralığında tamsayı 4 uint System.UInt32 0 ve 4,294,967,295 aralığında tamsayı long System.Int64 – ve aralığında tamsayı 8 ulong System.UInt64 0 ve aralığında tamsayı u: unsigned-işaretsiz s: signed-işaretli

8 Noktalı Sayı Tipleri (Floating Point)
Diğer Adı Aralığı Byte sayısı float System.Single 4 double System.Double 8 decimal System.Decimal 16

9 Hassasiyet Tip Hassasiyet float 7-8 basamak double 15-16 basamak decimal 28 basamak Decimal veri tipi genellikle daha yüksek hassasiyet isteyen para birimleri için kullanılır!

10 Char veri tipinin 2 byte ve Unicode olarak saklandığına dikkat ediniz!
Diğer Basit Tipler Tip Diğer adı İzin verilen aralık char System.Char Tekil Unicode karakter, 0 ve aralığında bir tamsayı olarak saklanır bool System.Boolean Doğru ya da yanlış string System.String Bir karakter dizisi Char veri tipinin 2 byte ve Unicode olarak saklandığına dikkat ediniz!

11 Değişken Tanımlama, Değer Atama ve Yazdırma Örneği
static void Main(string[] args) { int myInteger; string myString; myInteger = 17; myString = "\"myInteger\" is"; Console.WriteLine("{0} {1}.", myString, myInteger); } Burada iki değişken tanımlanıyor Değişkenlere Değerler atanıyor Değişkenler ekrana yazdırılıyor. "myInteger" is 17.

12 Değişken Değerlerini Yazdırma
Değişken değerlerini ekrana yazdırmak için Console.Write() veya Console.WriteLine() metodlarını kullanınız Console.WriteLine() metodu satırın sonuna yeni bir satır ekler Metodların birçok veri tipini yazdırmak üzere farklı suretleri vardır, en uygun olanı kullanınız

13 Bazı Console.WriteLine() Suretleri

14 Ekrana bir int yazdırma
int x = 17, y = 25; Console.WriteLine(x); Console.WriteLine(x.ToString()); Console.Write(“x = ”); Console.WriteLine(“x = ” + x); Console.WriteLine(“x = ” + x.ToString()); Console.WriteLine(“x = {0}, y = {1}.”, x, y); 17 x = 17 x = 17, y = 25.

15 Değişken İsimlendirme
İlk karakter bir harf ya da alt çizgi (_) olmalıdır Devam eden karakterler harf, alt çizgi ya da sayı olabilir Rezerve edilmiş kelimeler değişken ismi olarak kullanılamaz Eğer rezerve bir kelimeyi değişken ismi olarak kullanmak isterseniz, başına bir at karakteri getirebilirsiniz

16 Örnek: Geçerli Değişken İsimleri
myBigVar VAR1 _test i myVariable MyVariable MYVARIABLE

17 Örnek: Geçersiz Değişken İsimleri
a+b 99bottles namespace double my-result

18 Anahtar Kelimeler abstract const extern int out short typeof as
continue false interface override sizeof uint base decimal finally internal params stackalloc ulong bool default fixed is private static unchecked break delegate float lock protected string unsafe byte do for long public struct ushort case double foreach namespace readonly switch using catch else goto new ref this virtual char enum if null return throw void checked event implicit object sbyte true volatile class explicit in operator sealed try while

19 C# Bağlamsal Anahtar Kelimeler
add ascending async await by descending dynamic equals from get global group in into join let on orderby partial remove select set value var where yield Bağlamsal anahtar kelimeler bazı dil yapılandırmalarında kullanılırlar. Bu yapılandırmalarda tanımlayıcı olarak kullanılamazlar. Aksi taktirde, tanımlayıcı olabilirler.

20 Macar Notasyonu Değişkenin tipini gösteren bir önek başa eklenir nAge
iAge fDelimeter btnClick txtName

21 Deve Stili İlk kelime küçük harfle başlar, diğerleri byük harfle devam eder age firstName lastName birthDay

22 Pascal Stili Bütün kelimeler büyük harfle başlar Age FirstName
LastName WinterOfDiscontent

23 Önceleme dizgeleri (Escape Sequences)
Önceleme dizgesi Üretilen karakter Unicode Değeri \’ Tek tırnak işareti 0x0027 \” Çift tırnak işareti 0x0022 \\ Ters bölü çizgisi 0x005C \0 Null 0x0000 \a Alarm (bip sesi çıkarır) 0x0007 \b Geri silme tuşu 0x0008 \f Sayfa başı tuşu 0x000C \n Yeni satır 0x000A \r Satır başına getirme 0x000D \t Yatay tab 0x0009 \v Dikey tab 0x000B

24 Karakter dizileri (string) üzerine…
\u sonrasında Unicode karakterler kullanabilirsiniz “Karli\’s string” “Karli\u0027s string” Eğer bir karakter dizisinin işareti koyarsanız bütün önceleme dizgeleri yok sayılır “C:\\inetpub\\wwwroot\\” @“C:\inetpub\wwwroot\” “A short list:\nitem 1\nitem 2” @“A short list: item 1 item 2”

25 Değişken Tanımlama ve Değer Atama
int age; age = 25; int age = 25; int xSize, ySize; int xSize = 4, ySize = 5; int xSize, ySize = 5;

26 Operatörler Toplama, çıkarma vb. işlemler operatörler aracılığıyla yapılır Üç operatör kategorisi vardır: Unary (tekli) – tek terim üzerinde işlem yapar Binary (ikili) – iki terim üzerinde işlem yapar Tertiary (üçlü) – üç terim üzerinde işlem yapar

27 Matematiksel Operatörler
Kategori Örnek + Binary (ikili) var1 = var2 + var3; var1 = var2 – var3; * var1 = var2 * var3; / var1 = var2 / var3; % var1 = var2 % var3; Unary (tekli) var1 = +var2; var1 = –var2; % : mod (bölümünden kalan) operatörü Örnek: 8 % 3  2.

28 Artırma ve Azaltma Operatörleri
Kategori Örnek ++ Unary (tekli) var1 = ++var2; -- var1 = --var2; var1 = var2++; var1 = var2--; Önce arttır, sonra atama yap Önce atama yap, sonra arttır

29 Alıştırma var1=25, var2=6, var3=5
int var1, var2 = 5, var3 = 6; var1 = var2++ * --var3; Console.WriteLine("var1={0}, var2={1}, var3={2}", var1, var2, var3); var1=25, var2=6, var3=5

30 Değişken Değerlerini Yazdırma
int var1 = 3, var2 = 5; Console.WriteLine("var1 = {0}, var2 = {1}", var1, var2); var1 = 3, var2 = 5

31 Değişken Değerlerini Yazdırma
int var1 = 3, var2 = 5; Console.WriteLine("{0}{1}{0}{1}{1}", var1, var2); 35355

32 Metinleri (string) Okuma
string userName; Console.Write("İsminiz: "); userName = Console.ReadLine(); Console.WriteLine("Hoş geldin {0}!", userName); İsminiz: Bilge Hoş geldin Bilge!

33 Tamsayıları (int) Okuma
int age; Console.WriteLine("Yasiniz: "); age = int.Parse(Console.ReadLine()); Console.WriteLine("Yasiniz {0}.", age); Eşdeğer kod: Convert.ToInt32(Console.ReadLine());

34 Double değerleri okuma
double w; Console.WriteLine("Agirliginiz (kg.): "); w = double.Parse(Console.ReadLine()); Console.WriteLine("{0} kilogramsiniz", w); Equivalent code: Convert.ToDouble(Console.ReadLine());

35 Atama Operatörleri Operatör Örnek Eşdeğeri = var1 = var2; +=
var1 = var1 + var2; -= var1 -= var2; var1 = var1 – var2; *= var1 *= var2; var1 = var1 * var2; /= var1 /= var2; var1 = var1 / var2; %= var1 %= var2; var1 = var1 % var2;

36 Operatör Öncelikleri Öncelik Operatörler En yüksek
++, -- (son ek olarak), +, - (unary) *, /, % +, - =, *=, /=, %=, +=, -= En düşük ++, -- (ön ek olarak)

37 Ad Alanları (Namespaces)
Hazır kütüphaneleri sağlamanın .NET yolu C ve C++’daki başlık (header) dosyaları Java’daki paketler .NET sınıfları ad alanlarında gruplanmıştır Sin, Cos, Atan, Acos, Pi, Sqrt, vb. Math ad alanı Int32, Double, vb. System ad alanı Windows Forms sınıfları System.Windows.Forms Kayıt defteri (registry) operasyonları Microsoft ad alanı Programlarınızı ya da DLL’lerinizi ayrı bir ad alanı içinde yazabilirsiniz, örneğin şirketinizin isminde

38 Akış Kontrolü Dallanma (if, switch, üçlü operatörler)
Döngüler (for, while, do-while, foreach)

39 Karşılaştırma Operatörleri
Anlamı == Eşittir != Eşit değildir < Küçüktür > Büyüktür <= Küçük eşittir >= Büyük eşittir

40 Boolean Değişkenler Boolean bir değişken doğru ya da yanlış değerleriniz alabilir bool isWhite = true; isWhite = false; Karşılaştırma sonuçları boolean değişkenlerde tutulabilir bool isLong = (height > 195); bool isWhite = (color == Color.White);

41 Temel Mantık Operatörleri
Adı Örnek && AND – VE (a > 0) && (a < 10) || OR – VEYA (a <= 0) || (a >= 10) ! NOT – DEĞİL !(a < 100)

42 ‘Eğer’ İfadeleri int height; Console.Write("Boyunuzu giriniz (cm.) "); height = int.Parse(Console.ReadLine()); if (height > 190) Console.WriteLine("Siz uzun bir kişisiniz!"); else Console.WriteLine("Boyunuz normaldir!");

43 ‘Eğer’ İfadeleri if (koşul) <koşul doğru ise çalıştırılacak ifadeler>; { <ifade 1>; <ifade 2>; }

44 if..else if (koşul) < koşul doğru ise çalıştırılacak ifadeler>;
< koşul yanlış ise çalıştırılacak ifadeler >; Birden fazla ifade yer alırsa süslü parantez kullanınız.

45 ‘if’ üzerine.. Parantezler (‘(’ and ‘)’) mutlaka gereklidir
Süslü parantezler (‘{’ and ‘}’) birden fazla ifade var ise kullanılmalıdır: if (test) { ifade1; ifade2; } else kısmı atılabilir if ifadeleri iç içe yazılabilir

46 Örnek: 3 sayıdan en küçüğünü bulma
int a, b, c, min; Console.WriteLine("3 sayi giriniz:"); Console.Write("a = "); a = int.Parse(Console.ReadLine()); Console.Write("b = "); b = int.Parse(Console.ReadLine()); Console.Write("c = "); c = int.Parse(Console.ReadLine()); if (a < b) { if (a < c) min = a; else min = c; } if (b < c) min = b; Console.WriteLine(«En kucuk sayi {0}.", min);

47 Koşulları kontrol etme
if (var1 == 1) { // bir şeyler yap. } else { if (var1 == 2) { // başka bir şeyler yap. if (var1 == 3 || var1 == 4) { else if (var1 == 2) { else if (var1 == 3 || var1 == 4) {

48 Sık karşılaşılan hatalar
if (var1 = 1) {…} if (var1 == 1 || 2) {…}

49 ‘switch’ İfadeleri switch (<testDegiskeni>) { case <karsilastirmaDegeri1>: <eğer <testDegiskeni > == <karsilastirmaDegeri1> ise calistirilacak ifadeler> break; case < karsilastirmaDegeri2>: <eğer <testDegiskeni > == <karsilastirmaDegeri2> ise calistirilacak ifadeler> case <karsilastirmaDegeriN>: <eğer <testDegiskeni > == <karsilastirmaDegeriN> ise calistirilacak ifadeler> default: <eğer <testDegiskeni> != karsilastirmaDegerleri ise calistirilacak ifadeler> }

50 Örnek 1 switch (var1) { case 1: // Bir şey yap. break; case 2:
// Başka bir şey yap. case 3: case 4: default: }

51 Örnek 2 switch (secim) { case 1: Console.WriteLine(“1 sectiniz”); break; case 2: Console.WriteLine(“2 sectiniz”); case 3: Console.WriteLine(“3 sectiniz”); default: Console.WriteLine(“1 ile 3 arasinda bir tamsayi seciniz.”); }

52 break kullanmayi unutmayiniz!
switch Örneği C dilinde yalnızca tamsayı değerler koşul olarak kullanılabilir, ancak C# dilinde, metinler de kullanılabilir. switch (mtnMeslek) { case "ogretmen": MessageBox.Show("Siz cocuklari egitiyorsunuz"); break; case "programci": MessageBox.Show("Siz muhtemelen zeki ama anti-sosyalsiniz"); case «muhasebeci": MessageBox.Show("Siz bir sayma makinesisiniz"); default: MessageBox.Show("switch ifadesine uyan meslek bulunamadi"); } break kullanmayi unutmayiniz!

53 Örnek 3 switch (mtnHayvan) { case “kus”: Console.WriteLine(“2 bacagi vardir.”); break; case “at”: case “kopek”: case “kedi”: Console.WriteLine(“4 bacagi vardir.”); case “kirkayak”: Console.WriteLine(“40 bacagi vardir.”); case “yilan”: Console.WriteLine(“Hic bacagi yoktur.”); default: Console.WriteLine(“Bu hayvanı bilmiyorum!”); }

54 Üçlü Operatör ? : <test> ? <DogruİseSonuc> : < YanlisİseSonuc > 3 operand üzerinde çalıştığı için Tertiary denir (unary ve binary operatörler sırasıyla 1 ve 2 operand üzerinde çalışırlar) Örnek: if (a < b) min = a; else min = b; min = (a < b) ? a : b;

55 Döngüler

56 for Döngüsü for (öndeğerleme; koşul; değiştirme_ifadesi) {
<ifadeler> } Örnek: for (i = 0; i < 10; i++) { Console.WriteLine("i = " + i.ToString());

57 while Döngüsü while (koşul) { <ifadeler> }

58 do-while Döngüsü do { <ifadeler> } while (koşul);

59 foreach Döngüsü foreach (<tip> <ad> in <liste>) { <ifadeler> }

60 for döngüsü ile ayları yazdırma
string[] aylar = new string[] {"Ocak", "Şubat", "Mart", "Nisan", "Mayis", "Haziran", "Temmuz", "Agustos", "Eylul", "Ekim", "Kasim", "Aralik" }; for (int i = 0; i < months.Length; i++) { MessageBox.Show(months[i]); }

61 foreach döngüsü ile ayları yazdırma
string[] aylar = new string[] {"Ocak", "Şubat", "Mart", "Nisan", "Mayis", "Haziran", "Temmuz", "Agustos", "Eylul", "Ekim", "Kasim", "Aralik" }; foreach (string ay in aylar) { MessageBox.Show(ay); }

62 Alıştırma İlk 10 asal sayıyı ekrana yazan bir program yazınız.

63 Döngüleri kesmek break – döngüyü derhal bitirir
continue – döngünün o anki çevrimini bitirir return – fonksiyondan geri döner goto – belirlenmiş bir noktaya sıçrar (kullanmayın)

64 Sonsuz Döngüler while (true) { … }

65 Örnek int sayi; while (true) { Console.Write(“1 ile 100 arasinda bir sayi giriniz: ”); sayi = Convert.ToInt32(Console.ReadLine()); if (sayi >= 1 && sayi <= 100) break; else Console.WriteLine(“1 ile 100 arasinda girmelisiniz.”); Console.WriteLine(“Lütfen tekrar deneyin!\n”); }

66 Bitwise Operatörler & (Bitwise AND) | (Bitwise OR) ~ (Bitwise NOT)
^ (Bitwise XOR)

67 Örnekler 0110 & 0101 = 0100 (1&1=1, aksi taktirde 0)
0110 ^ 0101 = 0011 (aynı0, farklı1) ~0110 = 1001 (01, 10)

68 Kaydırma Operatörleri
>> (Sağa kaydır) << (Sola kaydır) >>= <<=

69 Sonuçlar int a = 16; int b = a >> 2; // b 4 olur
int c = a << 4; // c 256 olur a >>= 2; // a 4 olur a <<= 4; // a 64 olur


"BTP205 – Görsel Programlama" indir ppt

Benzer bir sunumlar


Google Reklamları