Zıplanacak içerik
  • Üye Ol

C / C++ / C# > C Ders Notları


LaRsiE_

Önerilen İletiler

C NEDİR?

 

C’nin gelişimi

 

C Dennis Ritchie tarafından DEC PDP–11 üzerinde geliştirilmiş bir programlama dili. C BCPL dilinden türetilen B dilinin 1970’lerde geliştirilmesiyle yaratılmış. C ’nin geliştirilme amacı, sistem seviyesine daha yakın ve kullanımı daha kolay bir dil yaratmak. Uzun yıllar boyunca C dilinin standardı Unix işletim sistemi ile birlikte tanımlıydı. Daha sonra 1983’te C dilinin standardize edilmesi için bir komite oluşturuldu (ANSI) ve bu işlem yaklaşık 9 yıl sürdü. 1989’da ilk ANSI C standardı tanımlanmıştı. Daha sonra 1995’te C standardına eklemeler yapıldı. Bu dilin son hali ise 1999’da tanımlandı ve buna C99 adı verildi. 90’lı yıllarda ise C’ye object mantığı eklenerek C++ dilinin geliştirilmesine ağırlık verildi ama bu yine de C’nin yaygınlığını azaltmadı.

 

 

 

Programlama Dilleri Hiyerarşisi

 

Programlama dilleri High (Yüksek), Middle (Orta) ve Low (Düşük) seviye olarak 3 kategoriye ayrılmıştır. Bu kategorizasyonda kullanılan kriter söz konusu programlama dilinin programcı veya makineye olan yakınlığıdır. Örneğin Assembly gibi makineye yakın programlama dilleri Low Level olarak tanımlanırken, Basic gibi kullanıcıya daha anlaşılır gelen programlama dilleri ise High Level olarak tanımlanmaktadır;

 

High Level

 

Basic

Pascal

Cobol

 

Medium Level C

C++

Java

 

Low Level

Assembly

 

Middle Level bir dil olarak C hem makineye hem de programcıya yakındır. Örneğin C ile bitler, bytelar ve adresler üzerinde de işlem yapılabildiği gibi, C syntax bakımından da kullanıcının anlayabileceği bir yapıdadır. C aynı zamanda kolaylıkla port edilebilir bir dildir. Yani bir platform için yazılmış bir C programını, bazı platform-spesifik değişikliklerle başka bir platforma taşımak mümkündür.

 

C’nin High Level Programlama Dillerinden Farkları

 

Data tipi çevirimlerinde diğer High Level programlama dilleri kadar katı kuralları yoktur. Neredeyse bütün tipler arasında çevirim yapılabilir.

 

Diğer diller gibi run-time (çalışma anı) hata kontrolü yoktur; dizi indisi aşılması gibi. Bu kontrolleri programcının yapması beklenir.

 

İlk kurala benzer bir şekilde C parametre ve argüman tipleri arasında data tipi uyumunu şart koşmaz. C bit, byte ve adresler üzerinde işlem yapılmasına da izin vererek sistem programlama seviyesine daha yakın bir yerde durur.

 

C diğer High Level programlama dillerinden farklı olarak çok az keyword içerir - 32 adet. Buna karşın BASIC 100’ün üstünde keyword içermektedir.

NEDEN C ?

 

C genelde ‘programcının dili’ olarak anılır. Bunun sebebi C’nin geliştirilme amacıdır. Örneğin COBOL programın verimini artırmak veya kodun güvenilirliğini artırmak için değil, programcı olmayanların program yazıp hazır programları kolayca anlayabilmeleri için tasarlanmıştı. Aynı şekilde BASIC de programcı olmayan kişilerin basit problemleri çözebilmeleri için tasarlanmıştı.

 

Fakat C çalışan programcılar tarafından, programcının isteklerini karşılayacak şekilde geliştirildi: az sayıda kısıtlama, function tanımlama, block yapısı ve az sayıda keyword. Böylece C kullanılarak Assembly dilinin verimi ve Pascal veya Modula–2 dilinin kullanım kolaylığını elde edebiliriz.

 

C’nin ilk başarısını yakalamasının esas sebebi Assembly language yerine kullanılabilmesiydi. Kodlaması, debug edilmesi ve okunması oldukça zor olan Assembly language yerine C dilinin kullanılması gerçek bir avantaj. Bir diğer önemli nokta da Assembly dilinin port edilememesi.

C sistem dili olarak da tanımlanabilir. C’nin geliştirilme sebebi işletim sistemi yazılmasında kullanmaktı. Bütün UNIX implementasyonlarının ve Windows 95’in de C’de kodlanmış olması C’nin bu konuda ne kadar güçlü olduğunu göstermektedir.

C Kodunu Oluşturan Parçalar

 

Bir C programının en önemli parçaları ‘function’ adı verilen prosedürlerdir. Bu prosedürlerden en önemlisi main() dir. main() prosedürü yazılan programın akışı hakkında genel yapıyı içerir. Bunun dışındaki prosedürler main() veya diğer prosedürler tarafından çağırılmak üzere kodlanır.

 

Örnek bir C kodu verip gerekli kod parçalarını bunun üzerinde gösterecek olursak:

 

#include

 

void main(void)

{

char name[10];

 

printf(“Adınızı giriniz:\n”);

scanf(“%s”, name);

 

printf(“Merhaba %s”, name);

}

 

 

 

Yukarıdaki koda baktığımızda birkaç parçaya ayrılmış olduğunu görülür:

 

 

 

#include

 

 

 

Bir programın başında kullanılan #include satırları, program içinde kullanılacak fonksiyonların (string fonksiyonları, aritmetik fonksiyonlar, vs.) nerede tanımlanmış olduğunu söyler.

 

 

 

void main(void)

 

 

Daha önce de belirtildiği gibi main() fonksiyonu bir C programında olmak zorundadır.

 

 

 

main()

 

 

 

Fonksiyonu program çalıştırıldığında çalışacak esas kodu içerir.

 

 

 

char name[10]

 

 

 

Fonksiyon tanımından sonra gelen ilk satırlar fonksiyon içinde kullanılacak değişkenlerin tanımlandığı yerlerdir.

 

 

 

printf ve scanf

 

 

 

Yazılan bütün C programlarında kullanıcıdan veri girişi almak için scanf, ekrana çıktı almak için ise printf komutlarını kullanılır.

 

 

 

{ }

 

 

 

C programlarında en önemli unsurlardan biri de blokları belirleyen parantezlerdir. Bu parantezler genelde bir kod parçasını ayırmak için kullanılır; örneğin bir karşılaştırma sonucuna göre yapılacak işlemleri veya bir döngü içinde yapılacak işlemleri ayırmak için. Bu parantezlerin yerleştirilmesine dikkat edilmelidir çünkü yanlış yerleştirilmiş veya eksik/fazla yazılmış bir parantez programın yanlış çalışmasına veya hiç çalışmamasına yol açabilir.

 

 

Bunun yanında bir C programı yazarken dikkat edilecek en önemli şeylerden biri bu dilin case-sensitive oluşu yani program içinde geçen karakterlerin büyük/küçük harf yazılmasına dikkat etmesidir. Yani printf, Printf ve PRINTF hepsi birbirinden bağımsız üç farklı fonksiyon gibi algılanır. Aynı şey kullanılan değişken isimleri için de geçerlidir. Örnek programda kullanılan name adlı değişkeni ekranda yazdırırken ismini Name olarak versek alacağımız şey name değişkenini içeriği değil bir hatadır.

Kendi Ders Notlarımdır Lütfen Emeğe Saygı

Yoruma sekme
Diğer sitelerde paylaş

C ++ (PLUS PLUS) GİRİŞ

 

Şimdi kısaca bilgisayar ve algoritma mantığından bahsedelim.

 

Bilgisayar, verileri saklayan üzerlerinde çok hızlı işlem yapan ve istenen verileri sunan bir aygıttır. Donanım (hardware) ve yazılım (software) diye iki bölüme ayrılır. Donanım bilgisayarın fiziksel bileşenleridir. Yazılım ise donanımı oluşturan bileşenlerin çalışmasını ve işlevlerini yerine getirmesini sağlayan programlardır.

 

Bilgisayarlar kendisine sorulan sorulara hemen cevap veren, bir sürü problemi çözen bir aygıt değildir. Bilgisayarda yapılan her tür iş, ilk önce insan aklının süzgecinden geçiyor, insanlar tarafından etraflıca tasarlanıyor, planlanıp programlanıyor. Bu nedenle, önce bilgisayara problemin çözümü öğretilmelidir. Fakat bunun için bizim problemi çözmemiz gerekir. Ve daha sonra bir programlama dili ile bu çözüm bilgisayara aktarılmalıdır.

 

Programlamanın temeli algoritmalara dayanır. Algoritma işletme mantığını kavrayan bir insan tüm programlama ve betik dillerini çok iyi kavrayabilir.

ALGORİTMA MANTIĞI

Her algoritma aşağıdaki kriterleri sağlamalıdır.

 

1. Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.

2. Çıktı: En azından bir değer üretilmeli.

3. Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.

5. Etkinlik: Her komut kişinin kalem ve kâğıt ile yürütebileceği kadar basit olmalıdır.

Not: Bazı programlar için 4. özellik geçerli değildir. Örneğin işletim sistemleri sonsuza dek çalışırlar.

 

Örnek: 1'den 100'e kadar olan sayıların toplamını veren algoritma.

1. Toplam T, sayılar da i diye çağırılsın. (i ve T'yi tanımla)

2. Başlangıçta T'nin değeri 0 ve i'nin değeri 1 olsun. (i=1, T=0 olsun)

3. i'nin değerini T'ye ekle. ( i += T; )

4. i'nin değerini 1 arttır. ( i += 1; )

5. Eğer i'nin değeri 100'den büyük değil ise 3. adıma git. (Eğer (i < 100) {ise 3'e git})

6. T'nin değerini yaz. ( print T; )

 

C++ (PLUS PLUS) MANTIĞI

 

Açık olan editör ekranına dönelim ve aşağıdaki kodları kesip yapıştırmadan oraya yazalım;

 

#include <iostream.h>
int main ()
{
cout<<Seni Seviyorum Turkish-mediaC++;
}

Yoruma sekme
Diğer sitelerde paylaş

C# NASIL BİR PROGRAMLAMA DİLİDİR?

 

.NET Microsoft' un çeşitli araçlarla programlama dillerinden oluşan bir geliştirme ve çalıştırma ortamıdır. .NET ortamı resmi olarak 2000 yılında Microsoft tarafından duyurulmuştur.

.NET ortamı programlama dilleri için ortak bir spesifikasyon belirlemiştir. Bir geliştirme ortamı ve programlama dilinin .NET uyumlu olabilmesi için bu spesifikasyonu desteklemelidir.(Common Language Infrastructure) Microsoft' un Visual Studio geliştirme sistemi içerisinde kendisinin desteklediği üç temel dil Visual Basic.NET, C# ve Visual C++.NET dilleridir.

 

C# programlama dili Java ve C++ dilleri referans alınarak geliştirilmiş yeni bir nesne yönelimli programlama dilidir.

 

.NET ortamındaki tüm programlama dilleri CLI standartlarına uygun olarak ortak bir ara kod üretmektedir. Bu ortak ara koda MIL (Microsoft Intermediate Language) denilmektedir. Oluşturulan bu ara kod hiçbir mikro işlemcinin doğal makine kodu değildir. Bu ara kod yorumlayıcı programlarla çalıştırılmaktadır. Ara kodun çalıştırıldığı ortama CLR (Common Language Runtime) denilmektedir.

CLI belirlemelerine uygun programlama dillerinin hepsi ortak bir ara kod üretmektedir. Yani örneğin biz projenin bir kısmını C++' da bir kısmını Visual Basic' te ve bir kısmını C# dillerinde yazabiliriz. Projelerin bu parçaları bu programlama dillerinde derlendikten sonra aynı formata dönüştürülmektedir. Üretilen ara kod dilden bağımsız hale getirilmiş olur.

 

C# programlama dili .NET geliştirme ve çalıştırma sisteminin tasarımı sırasında Anders Hejlsberg başkanlığında dört kişilik bir ekip tarafından tasarlanmıştır. Anders Hejlsberg Borland, Turbo Pascal ve Delphi dillerinin de tasarımcısıdır. Dilin tasarımı genel olarak .NET ortamı göz önüne alınarak yapılmıştır. Genel olarak C# programlama dili büyük ölçüde Java diline benzemektedir. C# teknik anlamda Java'nın iyileştirilmiş ve daha fazla C++'a yaklaştırılmış bir biçimidir.

 

C# programlama dili 2002 yılında ECMA tarafından standart hale getirilmiştir. ECMA aynı zamanda genel ara kod alt yapısını da CLI (Common Language Infrastructure) ile standart hale getirmiştir.

 

C # MANTIĞI

 

.NET ile sadece VB dili gibi uygulama geliştirmenin son derece zahmetsiz ve kolay biçimde gerçekleştirilmesini sağlayan bir dile tam destek verilmemiş aynı zamanda bu dilde bir takım değişiklikler yapılarak tam anlamıyla nesne temelli bir yapıya dönüştürülmüştür.

 

Her şeyden önce ilk söylenmesi gereken C# ‘in bütün C türevi dillerde olduğu gibi büyük-küçük harf duyarlı (case-sensitive) olduğuna dikkat çekmektir. Yani C# için String ile String kesinlikle farklı şeylerdir.Bu hassasiyet tahmin edileceği gibi VB.NET dilinde mevcut değildir.

 

PROGRAM AÇIKLAMALARI;

VB.NET ‘de açıklamalar yine önceki sürümde olduğu gibi bir kesme ( ‘ ) imi ile yapılıyor. Derleme işlemi esnasında açıklama bölümü dikkate alınmadığı için açıklamalarınızı Türkçe karakter kullanarak yapabilirsiniz.

 

Kod:

 

‘ VB açıklaması

C#’da ise Java ‘da olduğu gibi tek satırlık bir açıklama için çift slash (//) ve çok satırlı bir açıklama için bir slash ve yıldız (/*) ile başlayıp diğer satırın sonunda bir yıldız ve bir slash ile biten (*/) açıklama biçimi kullanılıyor.

 

 

// Tek satırlık C# açıklaması 
/* Çok satırlı bir C# açıklaması */ 
Satır sonlandırması:
VB.NET ‘te önceki VB sürümünde olduğu satır bitirmeye yarayan bir im yoktur bunun yerine alt satıra geçerken boşluk alt çizgi ( _) imi kullanılır.

 

Değişken = degisken1 + degisken2 + degisken3 
Java, JavaScript, PHP gibi C türevi bütün dillerde olduğu gibi C# ‘da da satırlar noktalı virgül (; ) ile biter. Bunun dışında noktalı virgül konulmadığı sürece alt satırlara geçilebilir.

 

Değişken = degisken1 + degisken2 + degisken3; 

Koşullu Yapılar:

If – else if - else

VB.NET

 

 

If sayi =1 Then
Yapılacak işlem
Else if değişken=”Merhaba”
Yapılacak başka bir işlem
Else
Yapılacak başka bir işlem
End If 
C#

 

if (sayi=1)
{
Yapılacak işlem;
}
Else if (değişken =”Merhaba”)
{
Yapılacak başka bir işlem
}
else
{
Yapılacak başka bir işlem
} 
Select Case
VB.NET

 

Select Case Değişken
Case 1
Yapılacak işlem
Case 2
Yapılacak işlem
Case Else
Yapılacak işlem
End Select 
C#

 

 

switch (değişken)
{
case 1:
Yapılacak işlem
Break;
case 2:
Yapılacak işlem
Break;
default:
Yapılacak işlem
Break;
} 
Döngüler
For-Next

For-Next döngüsü bütün programlama dillerinde kullanılan bir döngüdür. VB.NET dilinde Step kelimesi ile döngüyü istenen adımda yapmak imkânı da vardır. Aşağıdaki örnekte değişken değeri Step 1 ile 1 arttırılmaktadır. C# dilinde ise bu durum ufak tefek farklılıklar ile aynıdır.

 

 

 

Dim i As Integer
For i=1 To 10 Step 1
10 kez sürecek bir iş yap
Next 
C#

 

for (int 1= 0; i<10; i++)
{
10 kez sürecek bir iş yap
} 
Do Loop

 

VB.NET dili Do While döngüsünü hem While için olanını hem de Until için olanını destekler. While koşulunda “karşılaştırma doğru olduğu sürece” Until ise “karşılaştırma doğru olmadığı sürece” anlamındadır. C#’ta ise sadece While anahtar sözcüğü kullanılmaktadır.

Do While döngüsü iki şekilde olmaktadır.

 

Dim i As Integer = 1
Do
İ+=1
10 kez sürecek bir iş yap
Loop While i < 10

Veya

 

Dim i As Integer
Do While i<10
i+=1
10 kez sürecek bir iş yap
Loop 
C#

 

int i=1;
while (i<10)
{
i+=1;
10 kez sürecek bir iş yap
}

Veya aşağıdaki şekilde koşulun koddan sonra çıkılmasına olanak veren biçimde:

 

İnt i=1;
{
i+=1;
10 kez sürecek bir iş yap
}
while (i<10);

Yoruma sekme
Diğer sitelerde paylaş

  • 2 yıl sonra...
  • 2 yıl sonra...

Katılın Görüşlerinizi Paylaşın

Şu anda misafir olarak gönderiyorsunuz. Eğer ÜYE iseniz, ileti gönderebilmek için HEMEN GİRİŞ YAPIN.
Eğer üye değilseniz hemen KAYIT OLUN.
Not: İletiniz gönderilmeden önce bir Moderatör kontrolünden geçirilecektir.

Misafir
Maalesef göndermek istediğiniz içerik izin vermediğimiz terimler içeriyor. Aşağıda belirginleştirdiğimiz terimleri lütfen tekrar düzenleyerek gönderiniz.
Bu başlığa cevap yaz

×   Zengin metin olarak yapıştırıldı..   Onun yerine sade metin olarak yapıştır

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Önceki içeriğiniz geri getirildi..   Editörü temizle

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Yeni Oluştur...

Önemli Bilgiler

Bu siteyi kullanmaya başladığınız anda kuralları kabul ediyorsunuz Kullanım Koşulu.