1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA...

14
Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 1. Bölüm C# Programlamaya Giriş

Transcript of 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA...

Page 1: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

Mühendislik Fakültesi

Elektrik-Elektronik Mühendisliği

C Programlama

1. Bölüm

C# Programlamaya Giriş

Page 2: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

2

1.1. C# ile Program Geliştirme

.Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları üzerine

işletim sistemi ve donanım seviyesinden daha üst seviyede taşınabilir olarak tasarlanmış bir

uygulama geliştirme platformudur. Windows Uygulamaları ve Windows İşletim sistemleri

arasında bir katman olarak görev yapan .Net Framework, işletim sistemi ve donanımdan

bağımsız olarak uygulamanın çalışmasını ve taşınabilirliğini sağlamaktadır.

Microsoft .Net Framework Software Development Kit (SDK), yazılım geliştiricilerin .Net

Framework uygulamalarını yazmak, derlemek, test etmek ve dağıtmak amacıyla ihtiyaç duyduğu

araçlar, dokümantasyon ve örnekleri içermektedir.

.Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C, C++, Java ve Visual

Basic dillerinin bir türevi olarak geliştirilmiş en güncel ve popüler nesne tabanlı yapısal

programlama dilidir (Şekil 4.1).

Şekil 1.1. .Net Framework bileşenleri

Page 3: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

3

C++, Pascal vb. geleneksel programlama dillerinde, yazılan programın kaynak kodları

derlenerek makine diline çevrilir, işletim sistemi ile doğrudan bağlantı kurularak çalıştırılır.

.NET Framework platformunda ise yazılan programın kaynak kodları, öncelikle MSIL

(Microsoft Intermediate Language) yapısına çevrilmektedir. MSIL kodları işlemci tarafından

tanınmaz ve doğrudan çalıştırılamaz (Şekil 1.2.).

CLR (Common Language Runtime) yapısı ile MSIL kodları, işletim sisteminden bağımsız

olarak .NET Framework olan bütün bilgisayarlarda çalışır duruma getirilmektedir. CLR, .NET

altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile program arasında yer

alan arabirimdir.

Şekil 1.2. C# programlarının derlenmesi

C# programlama dilini de kapsayan Microsoft Visual Studio IDE kullanılarak sadece Microsoft

Windows tarafından desteklenen yerel kodlar ile Konsol, Windows Form, Mobil, Web, Web

Servis vb. uygulamalar geliştirilebilmektedir

Visual Studio sürümleri ( https://visualstudio.microsoft.com/tr );

- Enterprise (En kapsamlı sürüm)

- Professional

- Community (Ücretsiz sürüm, bazı özellikleri kısıtlı)

.NET Temel Sınıf Kütüphanesi

Source Code

MSIL Microsoft Intermediate Language

CLR Common Language Runtime

EXE Executable Machine Code

DLL / COM Diğer Programlama Bileşenleri

Page 4: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

4

1.2. C# Program Yapısı

C# programının temel yapısı Şekil 1.3’te görülmektedir.

Şekil 1.3. C# program yapısı

Bir C# programı; temel olarak namespace, class, method yapılarından oluşmaktadır.

Page 5: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

5

Method (Metot) Geleneksel programlama dillerindeki altprogram ve fonksiyonlar, .Net Framework platformunda

metot olarak adlandırılmaktadır. C tabanlı dillerde ana metot main () metodu olup, diğer

tanımlanan metotlar bu ana metot içerisinden çağrılarak kullanılır.

Class (Sınıf) Veri ve Metotların bir araya gelmesiyle oluşan yapılardır.

Namespace (İsim Uzayı) Sınıf kütüphaneleridir. C# dilinde using anahtar kelimesi ile programa namespace - sınıf

kütüphaneleri eklenebilmektedir.

C# ile program geliştirmede dikkat edilecek kurallar:

C# dilinde Küçük-Büyük Harf Duyarlılığı vardır.

C#’ta tüm deyim ve ifadeler noktalı virgül (;) karakteri ile sonlanmalıdır.

C#’ta program icrası, main( ) metotu ile başlar.

C#’ta program dosya adı, sınıf adından farklı olabilir.

Program içerisinde girintilere dikkat edilmesi, programlamayı kolaylaştırır.

Program içerisinde derleyici tarafından dikkate alınmayan, tek satırlık (// ………. ) ve

çok satırlı (/* ….. */) açıklama satırı verilebilir.

// Bu satır açıklama satırıdır.

/*

Açıklama Satırı

Açıklama Satırı

Açıklama Satırı

*/

Açıklama Satırları, program içerisinde derleyici tarafından dikkate alınmayan, programın

anlaşılırlığını artıran tek satır veya bloklar halindeki yazılardır.

Anahtar Kelimeler (Keywords), derleyici tarafından önceden belli bir işlevi yerine getirmek

için tanımlanmış kelimelerdir. Anahtar Kelimeler, isimlendirme işlemlerinde olduğu gibi

kullanılamazlar.

Programlama deyimi, normal yazım dilindeki bir cümle gibi, bir programdaki en küçük

bağımsız birimidir. Çoğu programlama dilinde olduğu gibi C# dilinde de program deyimleri

“noktalı virgül (;)” karakteri ile sonlandırılır.

Blok, { } parantezleri kullanılarak deyimlerin bir grup içerisine alınmasıdır. Blok içerisindeki

tüm deyimler, bir birim olarak adımlanır. Blok sonunda “noktalı virgül (;)” karakteri

kullanılmasına gerek yoktur.

Page 6: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

6

1.3. Visual Studio C# IDE

.NET Framework ile kombine edilmiş C# IDE ortamında;

Windows Uygulamaları

Web Servisleri

Veritabanı Araçları

Bileşenler

Kontroller vb.

birçok proje geliştirilebilmektedir.

1. Menü Çubuğu (Menu Bar)

2. Standart Araç Çubuğu (Standard Toolbar)

3. Araç Kutusu (ToolBox)

4. Form Tasarımcısı (Forms Designer)

5. Hata Listesi (Output Window-Error List),

6. Çözüm Gezgini (Solution Explorer)

7. Özellikler ve Olaylar (Properties / Events)

Page 7: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

7

Çözüm Gezgini (Solution Explorer)

Çözüm Gezgini (Solution Explorer), çözüm ve çözüme bağlı projelerdeki kontrol, sınıf, metot

vb. bileşenleri görüntülemek amacıyla kullanılan Visual Studio aracıdır.

Solution, projeleri gruplandırarak bir çatı altında toplamak amacıyla kullanılır. Bir Solution

içerisinde, bir veya daha fazla proje olabilir. Solution ile ilgili kodlar *.sln uzantılı dosyalarda

tutulmaktadır.

Dosya Adı Açıklama

App.config Uygulama ile ilgili genel tanımlama ve bilgileri içerir.

Form1.cs Windows Form Uygulaması Kod sayfasıdır.

(Her form için ayrı bir kod sayfası mevcut olabilir.)

Form1.Designer.resx

Form tasarımında kullanılan nesnelerin görsel özellikleri ile ilgili

kodların yer aldığı dosyadır. C# tarafından otomatik olarak

oluşturulur.

Form1.resx Form tasarımında kullanılan yazı, resim vb. medya öğelerini içeren

“resource-kaynak” dosyadır.

Program.cs

Proje ortam ayarlarını içeren dosyadır.

(Örneğin birden çok forma sahip Projelerde, başlangıç formu bu

dosya içerisinde belirlenir.)

Page 8: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

8

Özellikler Penceresi (Properties & Events)

Seçili olan nesnenin özelliklerini ve olaylarını görüntüleyip düzenlemek amacıyla kullanılan

Visual Studio aracıdır.

Özellikler Penceresi

Olay Penceresi

Simge Simge Adı Açıklama

Özellikler

(Properties) Seçili nesneye ait özellikleri listeler.

Olaylar

(Events) Seçili nesneye ait olayları listeler.

Kategorik

Sıralama Özellik ve olayların kategorilere ayrılarak listelenmesini sağlar

Alfabetik

Sıralama Özellik ve olayların alfabetik olarak sıralı listelenmesini sağlar

Page 9: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

9

Windows Form Uygulaması Solution ve Proje Dosyaları

Visual Studio ile bir Windows Form Uygulaması oluşturulduğunda çeşitli klasör ve dosyalar

otomatik olarak oluşmaktadır.

Proje Çözüm (Solution) dosyası ve klasörü

Proje Dosyaları

Projenin başarılı bir şekilde Built edilmesi sonrasında oluşan *.exe ve *.dll uzantılı dosyalar

Page 10: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

10

1.4. C# Windows Forms Uygulaması Geliştirme

Visual Studio IDE kullanarak, C# Windows Forms Uygulaması geliştirmek için aşağıdaki

adımlar takip edilmelidir.

1. Adım: Visual Studio IDE’nin ilgili sürümü çalıştırılır.

2. Adım: Dosya Yeni Proje seçenekleri ile yeni bir proje başlatılır.

Page 11: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

11

3. Adım: Visual C# Windows Forms Uygulaması (.NET Framework) seçimleri

yapılır.

4. Adım: Proje adı verilerek “Tamam” denilir.

Yapılan bu işlemler sonucunda Visual Studio IDE, C# Windows Forms Uygulaması geliştirmek

için hazır hale getirilmiş olur.

Page 12: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

12

Çözüm Gezgini penceresinde Form1 üzerinde sağ klik yapılarak elde edilen menüden proje

formu ve kaynak kodları görüntülenebilmektedir.

C# program geliştirme işlemlerinde yapılan değişikler için Kaydetme işlemi yapılmalıdır.

Program Kaydetme Seçenekleri

Simge Kısayol Adı Açıklama

Ctrl + S Aktif Form dosyaları kaydedilir.

Ctrl + Shift + S Tüm Dosyalar Kaydedilir.

Page 13: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

1. Bölüm: C# Programlamaya Giriş

13

1.5. İlk Program

C# dilinde yazılmış örnek bir Windows Forms Uygulaması için Form ve Kaynak kodlar Şekil

1.4’te görülmektedir. Yazılan programın built edilmesi ve çalıştırılması için araç çubuğundan

“Başlat” butonu, menüden “Hata Ayıkla Hata Ayıklamayı Başlat” veya F5 fonksiyon tuşu

kullanılır.

Şekil 1.4. C# dilinde yazılmış Windows Forms Uygulaması

Page 14: 1. Bölümdislitas.com/files/C/01_CS_Programlamaya_Giris.pdf · C Programlama Dr. Serkan DİLİTA ... .Net platformunun öğesi olan C# programlama dili, Microsoft tarafından C,

C Programlama Dr. Serkan DİŞLİTAŞ

14

Yazılan bir programın built edilmesi durumunda, eğer hatalar varsa Şekil 1.5’te olduğu gibi

program çalıştırılmaz ve hata listesi verilir. Hatalar giderilmedikçe program çalıştırılamaz.

Hatalı Kodlama ve Hata Listesi

Dikkat: Programın başarılı bir şekilde Built edilen en son halini çalıştırmak için ‘Evet’ denir.

Düzeltilmiş Program Konsol Ekran Görüntüsü

Şekil 1.5. C# dilinde yazılmış örnek bir programda Built Hataları