Bir dosyaya yazma veya ek
yapma, PHP açısından aynı işlemdir; sadece dosyaların açılışında fark
vardır. Hatırlayacaksınız, bir dosyayı yazmak amacıyla açmak için:
Kod Alanı: |
Türlerin Tanımlanması
C#’ta bir değişkeni kullanmadan önce onun türünü tanımlamak zorundayız. Bir değişken program içerisinde yalnızca bir kere tanımlanabilir. Şimdiye kadar yaptığımz örneklerin hiç biri çalışır bir program değildi. Şimdi çalışabilecek komple bir program yazalım. C#’ta programlar yöntemlerden ve birbiri ile alakalı olan yöntemlerin gruplanarak oluşturduğu sınıflardan oluşur. Tamsayılar
Tamsayılar (integer ya da int), bütün programlama dillerinde bulunurlar. Tamsayıların çeşitlerini, gücünü ve sınırlarını bilmekte yarar var. C#'ta nasıl tanımlandığını ve kullanıldığını aşağıdaki örnekte inceleyelim. Sabitler
Şimdi bir sinema bileti programı yazalım. Normal bilet ve öğrenci bileti için ayrı ayrı fiyat seçenekleri olsun. Program sinemaya gidince ödeyeceğimiz toplam tutarı bulsun.
using System;
class SinemaBileti
{
static void Main()
{
int TamBilet = 10, OgrenciBileti = 7;
Console.Write("Kaç tane tam bilet: ");
int TamBiletSayisi = Int32.Parse(Console.ReadLine());
Console.Write("Kaç tane öðrenci bileti: ");
İstisna ve Hata Yakalama
C# ile uğraşmaya başladığımızdan beri bir çok çalışma zamanı hataları ile karşılaşıyoruz. Örneğin bir intereger değişkeni 0’a bölemeye çalıştığımızda karşılaştırdığımız hata. Hatalar sınıflar tarafından tanımlanır. Örneğin DivideByZeroException (Sıfıra bölünme hatası) sınıfı. Temel hata sınıflarının büyük bir kısmı System isim uzayında tanımlanır. Durumsal Operatörler
Şöyle bir program yazdığımızı düşünelim;
Evimize gelen her misafirin üç kurabiye yiyeceğini varsayan ve buna göre misafirlere yetecek kurabiye sayısını hesaplayan bir program. Bu program aşağıdaki gibi bir kod içerebilir. C dilinin standardı yoktur, ama ANSI grubu ,bu konuda çalışmaktadır.C nin Taşınabilirlik referansları
iyi olmasına rağmen ,derleyicileri arasında farklılıklar vardır.Bu değişiklikler genellikle BIOS fonksiyonları gibi
standart olmayan şeyler kullanıldığında kendini gösterir.
C dili fonksiyonlardan oluşmuştur ve bütün programlar main( ) fonksiyonu ile başlamaktadır. Diğer
fonksiyonları bu fonksiyondan çağırıyoruz .Fonksiyonlar işlem satırlarından oluşmaktadır.
C Dilinde Aritmetik İşlemler ve Anahtar Kelimeleri
# include "stdio.h"
main( )
{
int d1,d2 ;
d1=(27+3)*2;
d2=27+3*2;
printf ("%d %d ",d1,d2);
}
# include "stdio.h"
main( )
{
înt d1,d2,d3,d4;,
d1=25/5; d2=42%8;
d3=85%5; d4=d1+d2;
printf ("%d %d %d %d ",d1,d2,d3,d4);
}
ANAHTAR KELİMELER
outo continue enum if short swich break default extern int FONKSİYONLAR
C 'nin fonksiyonlardan oluştuğunu öğrenmiştik. Şimdide program içerisinde nasıl çağrıldıklarını göreceğiz.C 'de fonksiyon tanımlamak çok kolaydır.Aslında , biz foksiyonları kullanıp duruyorduk ,örneğin kullandığımız printf komutu ,bir fonksiyondur.Printf fonksiyonu , derleyici ile gelen fonksiyon kütüphanesinin
bir parçasıdır.C 'de herhangi bir fonksiyonu çağırdığımızda ,ismi parantez ve şayet varsa bu fonksiyona gönderilmesi istenen değerler yazılır.Programın çalışması bu satıra gelince , belirtilen fonksiyona atlanır ve buradaki işlemler yapılır.Bitince , program KOŞULA BAĞLI İŞLEM SATIRLARI
İlk if deyimi ile başlar ,ondan sonra parantez içinde şartı bulunur.Şayet bu parantez içindeki şart doğru ise if 'den hemen sonraki satırı işler.Şayet cevap yanlış ise if 'den sonra gelen komut atlanır.Burada da tek bir komut ,küme işaretleri ile ,bir komut bloku haline getirilir.
Kullanışı şu şekildedir.
IF ( ifade ) işlem-satırı;
#include"stdio.h"
main()
{
int d1;
printf("Bir int değer giriniz :");
scanf("%d",&d1);
[değiştir] #else
#else önişlemci komutu C#'taki else ile aynı göreve sahiptir. Koşul sağlanmışsa bir kod bloğunun derlenmesini sağlayan #if komutu ile birlikte kullanılır. Örnek:
#define ENGLISH
using System;
class Onislemci
{
static void Main()
{
Console.WriteLine("Programa hoş geldiniz.");
#if ENGLISH
Console.WriteLine("Bu program ENGLISH");
#else
Console.WriteLine("Bu program ENGLISH değil");
#endif
}
}
İlk programımızı yazalım. İlk derse verecegimiz degerlerin nasıl olmasını ve derleyici mantıgımı anlamıstık. Şimdi ise programımızı yazmaya başlayalım.
Her zaman programlama dillerinde "merhaba dünya" yazıyını ekrana yazdırmakla başlanır. Bizde bu durumu bozmadan devam edelim..
PHP- Kodu:
main()
{
/* Bilgilendirme yazisi */
printf ("merhaba dunya");
}
Ekranda merhaba dünya yazısı çıkacaktır. Peki programı inceleyelim. C Programlama Dili: Döngüler
Bir C programı ile karşı karşıya kalındığında programda bol miktarda if ve bol miktarda for komutundan başka birşey olmadığını göreceksiniz. Programlar genellikle bu iki komut arasına serpilmiş işlemler ve çağrılardan oluşur. Tabii sistem programlarında assambly çağrıları da vardır. ama temel hep mantıksallar ve döngürelerdir. Ve bu yapılar tüm programlama dillerinde aynıdır. Biz daha önceden bir programlama BREAK DEYİMİ
Bir döngüyü , döngüye bağlı kalmaksızın sona erdirmek için break kullanılır. Break komutu, bizi döngüden çıkarıp,programı döngünün hemen altındaki satırdan devam etmesini sağlar.
#include "stdio.h" #include "stdio.h"
#include "conio.h" #include "conio.h"
main(){ main(){
int d1; char d1; int d2;
for (d1=1; d1<10; d1++) { for(d1='A'; d1<='J'; d1++){
printf("%d",d1); printf("\n");
if(d1==5) break; for (d2=0;d2<10; d2++){
} printf("%c",d1);
} if(d1>'E' && d2==5) break;
SWITCH KALIBI
Switch,bir değişken değerine bağlı olarak içinde yer alan seçeneklerden birini çalıştıran bir kalıptır.Daha sonraki "Break " deyimi ise switch in içinde yer alan diğer komutları işlenmeden , switch'den çıkılmasını sağlar.
Kullanım:
switch (değişken)
{
case sabit 1:
işlem-satırı;
break;
case sabit 2:
işlem-satırı;
break;
.
.
default;
işlem-satır
}
GOTO DEYİMİ
Programın herhangi bir yerinden başka bir yerine atlamak için goto deyimi kullanılır. Goto komutunu kullanmak için , " Goto " isminin yanına , atlamak istediğiniz yerin sembolik ismini yazmanız gerekir.Goto ile bir döngünün içine atlamanıza izin yoktur , fakat bir döngünün dışına atlayabilirsiniz.Ayrıca bir fonksiyondan ötekine de "goto" ile geçemezsiniz.
#include "stdio.h"
main( )
{
int d1,d2;
d2=0;
etiket 1:
for (d1=1; d1<=5; d1++)
printf("%d",d1);
FORMAT TANIMLAYICILARI
Veri Türü Format Tanımlatıcısı
printf( ) scanf( )
char %c %c
int %d %d
usigned int %u %u
short int %hd %hd
unsigned shot int %hu %hu
long int %ld %ld
unsigned long int %lu %lu
float %f %f
double %f %lf
long double %lf %lf
#include "stdio.h"
#include "conio.h"
main( )
{
shot int d1;
usigned int d2;
long int d3;
Değişken Tanımlayıcıları
C çeşitli kelimeleri kullanarak değişkenleri farklı şekilde kullanma olanağı sağlar.Değişkenler bir türe ait verileri saklayan veri deposudur.Aksi belirtilmedikçe içerikleri değiştirilebilir.
Değişkenleri tanımlamak için aşağıdaki notasyon kullanılır. ARİTMETİK İŞLEMCİLER
* , / ,%,+,- Bunlardan % işlemcisi dışındaki bütün aritmetik işlemcileri temel veri türlerinin tamamı ile birlikte kullanabiliriz. % işlemcisi sadece int veri türü ile kullanılır,
NOT : % İşlemcisi bölme işleminde kalanı verir.
#include "stdio.h"
main( )
{
int d1,d2,d3;
d1=32; d2=75; d3=3;
printf( " %d %d %d %d ", d3*d2-d1,d3*(d2-d1));
}
MANTIKSAL İŞLEMCİLER
! NOT , && AND , II OR
Diziler ve Sözcükler (strings) Isaretçilere Giris
Isaretçiler (Pointers) ve bundan önce görmüs oldugumuz diziler (Arrays) ilerde yapacagimiz uygulamalarda kullanimina kesin ihtiyaç duyacagimiz basliklardir. Bunlar bize dinamik bellek kullanimini saglarlar. Dinamik bellek kullanimindan bahsedecek olursak, bellegimizin kutucuklardan olustugunu hayal edin. 100 kutucuklu bir bellegimiz var. Bu kutucuklarin her birinin bir adresi vardir ve biz de bu adresler yolu ile kutucuklara erisiriz. Iste isaretçiler bu erisimi sagliyor. Bu konuya çalisirken, anlamanin gayet kolay Isaretçiler ve Diziler
C++ da Isaretçiler ve diziler arasinda çok yakin bir iliski vardir. Bir dizinin ismi, dizideki ilk elemanin adresini içeren sabit bir degiskendi. Bundan diziler bölümünde bahsetmistik. Simdi isaretçiler ile dizileri iliskilendirirsek, dizilerin adlarinin birer isaretçiden olustugunu görmüs olacagiz.
*(a+i)
a[i]
Bu sayede bu iki ifadenin ayni oldugunu söylemis oluruz. Bir de çok boyutlu dizilere uyarlarsak,
*(*(a+i)+j)
a[i][j]
seklini alir.
DEGISKENLER
Simdi bize yine çok lazim olacak bir özellik de degisken tanimlamak ve atama yapmaktir. Bunu bir örnek üzerinde anlatmak istiyorum. Örnegimiz;
// degisken.cpp
// Burda degisken tanimlamayi görecegiz.
// Ayni zamanda verilen bir sayiyi kendisi ile carpma 2.2=4 gibi
#include <iostream.h>
#include <stdio.h> // kütüphane dosyamiz
main()
{
int i; // Degisken tanimlama
cout << "Bir sayi giriniz: ";
cin >> i;
i=i*i;
VERI TIPLERI
1) Int tip.
Integer = Tamsayi 1. Fonksiyonlara Giris:
Fonksiyonlarin programlama hayatina girmesi ile daha büyük boyutta sistemlerin tasarimi mümkün hale gelmistir. Fonksiyonlar ile alakali derslerimizde, fonksiyonlarin tanimlanmasi ve kullanimi hakkinda bilgi edineceksiniz. Fonksiyonlar konusu size her ne kadar ilk bakista "Fonksiyon" adi altinda bir konu gibi gelse de, aslinda bir alt programdir. Hatta programimizin içine, kodlamamizin daha kolay ve gelistirilebilir hale gelmesini saglayan programciklar da diyebiliriz.
Daha önce baska bir programlama dili gördüyseniz (yüksek seviyeli Dizilere Giris
Diziler, "indisleri olan degiskenler" olarak adlandirilirlar. Diger bir deyisle, birden fazla tek düze veri tipi içeren degiskenlerdir. Diziler birbirine bitisik bellek gözleri kullanilarak olusturulurlar. Bunu biraz daha açarsak: farz edelim ki elimizde üç tane kutu var, birinde yesil kalemler, birinde kirmizi kalemler ve birinde de mavi kalemler olsun. Bu kutucuklari 1,2,3 diye adlandirdigimizi düsünelim. Biz diziler ile numarasini bildigimiz kutucugun içindeki malzemeyi alabilecegiz. Daha dogrusu numarasini vermis oldugumuz kutunun içindeki bilgiyi bilgisayar okuyacaktir.
Karakter Katarlari Fonksiyonlari ve Karakter Dizileri
Iste buraya biraz dikkat, kafaniz gerçekten karisabilir. Daha dogrusu hangisi hangisiydi diye ugrasir durursunuz:)
Hanci.org sizlere daha iyi hizmet sunmak için çerezleri kullanıyor. Hanci.org sitesini kullanarak çerez politikamızı kabul etmiş olacaksınız.
Detaylı bilgi almak için Gizlilik ve Çerez Politikası metnimizi inceleyebilirsiniz.
|