Upload
duongxuyen
View
254
Download
1
Embed Size (px)
Citation preview
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
1FEHİM KÖYLÜ13.02.2008
C# Yazım Kuralları
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
2FEHİM KÖYLÜ13.02.2008
İçindekiler
• C# Yazım Kuralları• Veritipleri• Değişkenler• Operatörler• Sınıflar• Nesneler, Özellik, Metot ve Olay• Bileşenler
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
3FEHİM KÖYLÜ13.02.2008
C# yazım kuralları
• Deyimlerde büyük küçük harf yazıma uyulmalı
• Her deyimin sonuna noktalı virgül konulmalı.• Açılan her parantez { bitiş işareti ile }
kapatılmalı• Kodlar arasında tek satırlık açıklama bilgileri
için // işareti kullanılır. • Kullanılan kütüphaneler using deyimi ile
kodun başına eklenmeli
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
4FEHİM KÖYLÜ13.02.2008
C# program kodu iskeletiAçıklama satırıKullanılan kütüphane
İsim uzayı tanımlamasıSınıf tanımlaması
Yapı tanımlaması
Arayüz tanımlaması
Delege metot tanımlaması
enum tanımlaması
İç isim uzayı tanımlaması
Yapı tanımlaması
Ana Sınıf tanımlaması
Program başlangıç metodu
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
5FEHİM KÖYLÜ13.02.2008
Keywords
• Bu kelimeler değişken, sınıf, nesne ismi olarak kullanılamaz.
thisobjectstructTrythrowdefaultelseforeachİsForusingoperatorlongshortstringnewtruefalseintifforwhilevoidvaluestaticdoublefixedGotodelegatecontinuecheckedCharcatchCasebytebreakboolbaseasabstractprotectedprivatepublicnotclass
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
6FEHİM KÖYLÜ13.02.2008
Operatörler
int Sayi1=50; int Sayi2= 100;Sayi1--; // Sayi1’in değeri 50-1 = 49
Değeri bir azalt--
Sayi2++; // Sayi2’nin değeri 100+1= 101Değeri bir artır++
ÖrnekGöreviOp.
sayi2>=100 // sayi3 150’ye eşit yada küçükse sonuç doğruMantıksal büyük eşittir>=
sayi3<=150 // sayi3 150’ye eşit yada küçükse sonuç doğruMantıksal küçük eşittir.<=
sayi2==100 // sonuç doğru(true) sayi2 100e eşitMantıksal eşittir.==
sayi2>sayi3 // sonuç yanlış(false) 100>150 yanlışMantıksal büyüktür>
sayi2<sayi3 //sonuç doğru(true) 100<150 dir.Mantıksal küçüktür<
sayi1=sayi2*5; // sayi1 sonuç 5*100=500sayi1= sayi2 / 5; //sayi1 sonuç 100/5=20
Aritmetik çarpma, bölme* /
int sayi1,sayi2,sayi3;sayi2=100;sayi3=150;sayi1=sayi3-sayi2; //sayi1 sonuç 50
Aritmetik çıkarma, toplama-, +
int sayi = 1;Atama operatörü=
MessageBox.Show()Nesnelerin alt üyeleri.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
7FEHİM KÖYLÜ13.02.2008
OperatörlerA = (3+8)*5 // Anın değeri 11*5 sonuç 55Parantez gruplama( )
ÖrnekGöreviOp.
int a=3; a= a |1; // 11 OR 01 = 11 sonuç A’nın yeni değeri 3Lojik or|
int a=3; a= a &1; // 11 AND 01 = 01 sonuç A’nın yeni değeri 1Lojik and&
int a=3; a= a ^1; // 11 XOR 01 = 10 sonuç A’nın yeni değeri 2Lojik Xor^
Icon simge = new Icon("c:\\Book.ico");Sınıftan türeyen yeni nesne operatörü
new
A *=3; // A’nın yeni değeri 10 * 3 xÇarparak atama* =
A- =1; // A’nın yeni değeri 10-1 sonuç 9Çıkartarak atama- =
int A=10;A +=5; // A’nın yeni değeri 10+5 sonuç 15
Toplayarak atama+=
A= 5 % 2; // 5’in 2’ye bölümünden kalan 1Bölmede kalan %
(A==10)||(B==20) // A 10’a eşit VEYA B 20’ye eşit ise doğruŞart VEYA(OR)||
(A==10)&&(B==20) // A 10’a eşit VE B 20’ye eşit ise doğruŞart VE(AND)&&
(a!=100) //a değişkeni 100’e eşit DEĞİLSE sonuç doğruMantıksal değil!
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
8FEHİM KÖYLÜ13.02.2008
Operatör Öncelik Sırası
Değer atamaSağdan sola= 6
Eşittir eşitdeğildirSoldan sağa== !=5
Küçüktür büyüktür karşılaştırmaSoldan sağa< > <= >=4
Toplama çıkarmaSoldan sağa + -3
2
1
Öncelik
Çarpma, bölme, kalanSoldan sağa* / %
ParantezSoldan sağa( )
Türüİşleyiş sırasıOperatör
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
9FEHİM KÖYLÜ13.02.2008
Temel Veritipleri
• C#’da herşey sınıflardan meydana gelmektedir. Sadece temel değer veritipleri için değişken tanımlamak mümkündür.
• Örnek:
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
10FEHİM KÖYLÜ13.02.2008
Temel Veri tipleri tamsayı
0 1019
10-17 1017
0 4294967295
-2147483648 2147483647
0 65535
-32768 32767
-128 127
0, 255
true, false
Değer Aralığı
ulong a=1;8 byteişaretsiz tamsayıulong
long a=10000000;8 byteTamsayılong
uint a=4000000000;4 byteİşaretsiz tamsayıuint
int a=2000000000;4 byteTamsayıint
Ushort sayi = 65000;2 byteİşaretsiz tamsayıushort
Short sayi=32000;2 byteTamsayıshort
sbyte sayi=-128;1 byteİşaretli tamsayısbyte
byte sayi = 5 ;1 byteTamsayıbyte
bool cinsiyet;1 byteMantık değeribool
KullanımıBoyutuAnlamıVeritipi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
11FEHİM KÖYLÜ13.02.2008
Temel Veri tipleri Reel
7 hane
15-16 hane
28-29 hane
Duyarlılık(Virgülden sonra)
±1.5 × 10−45
±3.4 × 1038
±5.0 × 10−324
±1.7 × 10308
1e-28 7.9e28
Değer Aralığı
float x = 3.5F;reel sayıfloat
double pi = 3.14;reel sayıdouble
decimal ucret = 300.5m;para hesaplamaları
decimal
KullanımıAnlamıVeritipi
0
Double değer aralığı+5e-324-5e-324-1.7e308 1.7e308
0
Float değer aralığı1.5e-45-1.5e-45-3.4e38 3.4e38
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
12FEHİM KÖYLÜ13.02.2008
Temel Veri tipleri diğer
string isim= “Fehim”;yazıstring
char tus = ‘a’;tek karakterchar
KullanımıAnlamıVeritipi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
13FEHİM KÖYLÜ13.02.2008
Değişkenler
• Değişken isimlerini belirlerken bazınoktalara dikkat etmek gerekir.
• Boşluk, nokta, soru işareti, noktalıvirgül, çift tırnak, tek tırnak, aritmetik operatörler, karşılaştırma ve atama operatörleri, parantezler değişken isimlendirmede kullanılamaz.
• İsimler sayı ile başlayamaz.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
14FEHİM KÖYLÜ13.02.2008
Değişken tanımlama
• Tip değişken_ismi;
• Örnek:int sayi;char karakter;string ogrencininAdi;decimal urununBedeli;float pi;
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
15FEHİM KÖYLÜ13.02.2008
İlk değer atama
• İlk değer atama değişken tanımlamasının hemen ardından yapılabilir.int sayi =5;char tus=‘a’;float pi = 3.14F;double x = 2.000000001234567;
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
16FEHİM KÖYLÜ13.02.2008
Değişkenlerin kapsama alanı
• Değişkenler tanımlandığıblok içinde ve alt bloklarda geçerlidir.
using System;using System.Windows.Forms;
// 20 rasgele sayı hesaplar ve gösterir class RandomInt{// programın main prosedürüstatic void Main( string[] args ){
int sayi;string yazi= "";
Random randomInteger = new Random();
// 20 kez tekrarlafor ( int i = 1; i <= 20; i++ ) {
// 1 ile 6 arası rasgele sayı atasayi = randomInteger.Next( 1, 7 );yazi += sayi+ " "; // yaziya ekle
// eğer sayaç 5’e bölünebiliyorsa yazıya bir alt satır ekleif ( i % 5 == 0 )
yazi += "\n";
} // for bitişi
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
17FEHİM KÖYLÜ13.02.2008
Kontrol Deyimleri
• Bir programı sadece hesap yapmaktan kurtararak duruma bağlı olarak farklıgörevler icra etmesini sağlayan mantık operatorleri ile kullanılan kontrol deyimleridir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
18FEHİM KÖYLÜ13.02.2008
if kontrol deyimi
if (şart) ifadeelse ifade;
true ya da false cevabıverecek bir ifade şartın
sağlandığıdurumda icra edilecek komut
şartın sağlanmadığıdurumda icra edilecek komut
if (notu>50) MessageBox.show(“geçer”) else MessageBox.show(“sınıfta kalır”)
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
19FEHİM KÖYLÜ13.02.2008
if kontrol deyimiif (şart){ifade;ifade; ….}else { ifade; …}
şart doğruysa icra edilecek deyimler
şart doğru değilse icra edilecek deyimler
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
20FEHİM KÖYLÜ13.02.2008
if else if kontrol deyimiif (şart1){ifade;ifade; ….} else if(şart2) { ifade; ifade; …} else if(şart3) { ifade; …}…else
ifade;
Şart1 doğruysa icra edilecek deyimler
Şart2 doğru ise icra edilecek deyimler
Şart3 doğru ise icra edilecek deyimler
Yukardaki hiçbir şart doğru değilse icra edilecek deyimler
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
21FEHİM KÖYLÜ13.02.2008
if örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
22FEHİM KÖYLÜ13.02.2008
switch kontrol deyimi• C#’da if ’den sonra ikinci seçme ifadesi switch
deyimidir.• Çok yollu dallanma sağlar. Böylece birkaç alternatif
arasından seçim yapma imkanı sağlar.• Bir önceki örnekte if ifadeleri ile çok yollu bir test
gerçekleştirilmişti. • switch başlangıcı içindeki deyim bir tamsayı
tipinde(char,byte,short,int) yada string tipinde olmalıdır.
• switch ifadeleri iç içe, veya başka kontrol ve döngüifadeleri içinde kullanılabilir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
23FEHİM KÖYLÜ13.02.2008
switch kontrol deyimiswitch(deyim){
case sabit1:ifade;ifade;….break;
case sabit2:ifade;ifade; ….break;
….default:
ifade;ifade; ….break;
}
deyim sabit1’e eşitse icra et
deyim sabit2’e eşitse icra et
deyim hiçbirine de uymadıysa icra et
.
.
.
switch başlangıç ifadesi
switch bloğu bitiş
E
E
E
H
H
son
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
24FEHİM KÖYLÜ13.02.2008
switch örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
25FEHİM KÖYLÜ13.02.2008
for döngüsü
• komutları belirli sayıda tekrar etmek istediğimiz durumlarda forkullanabiliriz.
• for, başlangıç ataması yapılarak, belirlenen şart sağlanıncaya kadar artışı icra edip deyimi yürütür.
for(başlangıç; şart; artış) deyim;
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
26FEHİM KÖYLÜ13.02.2008
for döngüsü
for(başlangıç; şart; artış){ deyim;deyim;...
}
for(int i = 1 ; i<=10; i++) toplam+=4;
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
27FEHİM KÖYLÜ13.02.2008
for örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
28FEHİM KÖYLÜ13.02.2008
for örneği faktöryel hesabı
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
29FEHİM KÖYLÜ13.02.2008
for örneği birden fazla kontrol değişkeni
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
30FEHİM KÖYLÜ13.02.2008
for ve if örneği
TextChanged olayıTextBox içindeki yazıdeğiştiğinde tetiklenir.
sayi1, sayi2 Değişkenlerinin
Kapsama Alanı
Değişken tanımlaması
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
31FEHİM KÖYLÜ13.02.2008
Akış Şemasısayi1=100;sayi2=110;
i=sayi1; //100
i<sayi2//110
i++;
BLOK
SONH
E
BLOK:
i mod 3==0
i mod 3==1
listbox1.item.add(i);
listbox2.item.add(i);
listbox3.item.add(i);i mod 3==2
BLOK SONU
E
E
E
H
H
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
32FEHİM KÖYLÜ13.02.2008
while döngüsü
while(şart) deyim;
while(şart){deyim;deyim;…
}
C#’daki ikinci döngü while döngüsüdür.deyim, şart doğru olduğu müddetçe defalarca icra edilecektir.while döngüsünde;Önce şartın kontrolü yapılmakta ve sonra gelen kodlar icra edilir. Yazım biçimi:
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
33FEHİM KÖYLÜ13.02.2008
while örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
34FEHİM KÖYLÜ13.02.2008
while örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
35FEHİM KÖYLÜ13.02.2008
do while döngüsü
• C#’ta üçüncü tür döngü do-whiledöngüsüdür.
• while döngüsünden farkı önce kodlar icra edilmekte sonra şart kontrol edilerek tekrarlamanın yapılıp yapılmayacağı karar verilmektedir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
36FEHİM KÖYLÜ13.02.2008
do while döngüsü
• Kullanılışı:
do{deyimler; …
}while (şart)
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
37FEHİM KÖYLÜ13.02.2008
do while örneği
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
38FEHİM KÖYLÜ13.02.2008
Döngülerde kullanılan ifadeler• break: Devam eden
bir döngüyüsonlandırmak için kullanılır. Şart sağlansa da sağlanmasa da bu kodun icra edilmesi ile döngüden sonraki kısımdan yürütülmeye devam edilir.
• continue: Bir döngünün normal tekrarını atlatarak bir sonraki adıma geçmesini sağlar.
• Bu deyimin icra edilmesi ile bir sonraki iterasyondöngünün başından itibaren icra edilecektir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
39FEHİM KÖYLÜ13.02.2008
break örneği – orijinal kod
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
40FEHİM KÖYLÜ13.02.2008
break örneği
50’den sonrasını yazmadı! Neden?
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
41FEHİM KÖYLÜ13.02.2008
break deyimi
//
i 50’ye eşit ise dur satırını yazmadığımızda aşağıdaki kod durdurulmayan döngütekrarı yapacak dolayısıyla program hafıza taşmasına neden olacakhata verecektir.
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
42FEHİM KÖYLÜ13.02.2008
continue örneği
i’nin 3’e bölümünden kalan 0 ise bu iterasyonu atla, bir sonraki iterasyondandevam et.
3’e tam bölünen sayılar yazdırılmadı! Neden ?
ERCİYES. Ü. BİLGİSAYAR M. COMPUTER PROGRAMMING II
43FEHİM KÖYLÜ13.02.2008
Ödev 1
• Ödev bir sonraki hafta(27.02.08) dersten önce kontrol edilecektir. Ödevin çalışır haldeki exedosyası ders sayfasından indirilebilir.