C konusunda bilgisi olan varsa benim takıldıgım konularda soru sormam icin bana yardımcı olabilecek biri varmiydi acaba??
Slm Eğer bildiğim bir konuda yardım istersen elimden geleni yaparım....bye
Ümit GÜLER Computer Engineering Girne American University of Cyprus...
ben ibrahim SÜRMEGÖZLÜER İZMİR YÜKSEK TEKNOLOJİ ENSTİTÜSÜ COMPUTER ENGINEERING I.TERM pardon kacıncı sınıftasın? ilgi ve alakan icin cok tesekkür ederim peki bana en basitinden BUBLE SORT ve SELECTION SORT örnekleri yollayabilir misin? anlaması kolay ve olabildigince basit olursa cok sevinirim...
elinde dev c++ veya borland c++ builder e-book ları olan varsa.. verebilirmi?
(mimkinse TR)
msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm
quote:
Orjinalden alıntı: iRoNMaSTeR
msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm
dostum bana linkini verebilir misin.
taam.. msnden geliom
quote:
Orjinalden alıntı: iRoNMaSTeR
msn den veya icqdan irtibata geç 25 milyon veripte aldiğim kitabin word halini(ki satin aldiğim gun bulmuştum :) ve diğer dokumanlari yollayabilirm
C PROGRAMLAMA DERS NOTLARI C PROGRAMLAMA DİLİ Programlamaya Giriş: Belli bir problemi çözmek için bilgisayar dili kullanarak yazılmış deyimler dizisidir.
Bir problemi bilgisayar ile çözmek için geliştireceğimiz program yazımında izleyeceğimiz adımlar 1-) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle. 2-) Problemin girdilerini çıktılarını ve diğer kısıtlama gereksinimlerini belirle. 3-) Problemin çözümünü veren algoritmayı yaz. 4-) Algoritmayı bir program diline çevir. 5-) Programı test et.
Örnek: #include<stdio.h> #include<conio.h> main() /* Program Ana Başlangıcı */ { /* Başlangıç */ int a=10; /* Tanımlamalar */ printf("A'nın Değeri = %d",a); /* Gövde Kısım */ getch(); } /* Bitiş */
Veri Türleri Ve Değişkenlerin Tanımlanması Tip İsmi :Kullanılacak verinin tipini belirleyen isimdir. Tip İsmi Uzunluğu (Byte) Sayı Aralığı char 1 -128 , +127 int 2 -32768 , +32767 longint 4 -2147483648 , +2147483647 float 4 -3.4e-38 , +3.4e38 shortint 2 -32768 , +32767 unsigned char 1 0 , 255
Örnek: #include<stdio.h> #include<conio.h> main() { char ad[30]; printf("Adını Gir :"); scanf("%s",&ad); printf("%s",ad); getch(); } Ekran: Adını Gir : RESUL RESUL
Değer Atamaları: #include<stdio.h> #include<conio.h> main() { int x=3; float y=5.2; float z; z=x+y; printf("y nin değeri : %f\n",y); printf("z nin değeri : %f\n",z); getch(); } Ekran: Y nin değeri : 5.200000 Z nin değeri : 8.200000
Not:Mod un sonucu her zaman tam sayıdır.
Artım ve Azaltım Operatörleri: Bu operatörler değişkenin değerini bir artırmak ve bir azaltmak için kullanılır. Bir değişkenin değerini bir artırmak için x=x+1, ++x veya x++ Kullanılır. Örnek: { int a,b; a=5; b=9; printf("%d\n",++a); printf("%d\n",a); printf("%d\n",b++); printf("%d\n",a); getch(); } Ekran: 6 5 10 9
Karşılaştırma Operatörleri : Bu operatörler çoğunlukla kontrol ve döngü ifadeleri ile birlikte kullanılırlar. Bu operatörler iki değeri karşılaştırır. Değer doğru ise 1, yanlış ise 0 değeri üretilir. < Küçüktür > Büyüktür <= Küçük Eşit >= Büyük Eşit == Eşittir != Eşit Değildir İşlem Karşılaştırma Sonucu 10>3 1 10>3 0 10==10 1
Karşılaştırmaları Birleştirme Operatörleri: Birden fazla şartın birleştirilmesi gerektiğinde örneğin birden fazla şartın birleştirilmesi isteniyorsa bu durumda şartların birleştirme operatörleri ile yazılması gerekir. Şartlar iki şekilde birleştirilebilir. • VE (&&) Operatörü • VEYA (||) Operatörü
Seçim Operatörü: Bu operatör 3 kısımdan oluşur. Şart Kısmı ve Değer Kısımları. (şart)?(değer_1):(değer_2)
Bit Seviyesinde İşlem Operatörleri : C Dili assembly dilinde yapılabilen bit seviyesindeki işlemlerin tamamını destekler.
X Y Ve Veya Özel Veya 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 Bu tabloya göre: a=24 =00011000 b=12 =00001100
ve =00001000=8 veya =00011100=28 ö.veya =00010100=20
Örnek: #include<stdio.h> #include<conio.h> main() { int a=24, b=12; int c,d,e; c=a & b; d=a ^ b; e=a | b; printf("a & b = %d\n",c); printf("a ^ b = %d\n",d); printf("a | b = %d\n",e); getch(); } Ekran: a & b = 8 a ^ b = 28 a | b = 20
Printf Bildirimi : Değişkenlerin içeriğini veya mir mesajı istenen bir düzende(formatta) Standart çıkışa yazmak için kullanılır. Bu komutta kullanılan en önemli 2 karakter; \ (ters slaş) ve % (yüzde) dir. Printf("Kontrol Dizisi, Format Tanımlayıcısı",argıman1,argıman2,....,argıman N); Kodu Anlamı____________________ \b İmleci sola kaydırır (Backspace) \n Satır atla. \r Satır başına al. \t Yatay tab. \" Çift tırnak.
Scanf Bildirimi : Bu fonksiyon klavyeden değer okumakta kullanılan formatlı giriş fonksiyonudur. Bu fonksiyonda formatlı sayıların, karakterlerin ya da karakter katarlarının programla bilgisayara girilmesi gerçekleştirilebilir.
printf fonksiyonunda gerçek değişkenler listelenmektedir. Scanf fonksiyonunda ise değişkenin adresi argıman olarak kullanılır. Argıman olarak gösterilen & işareti ile değişkenin ismi değil de değişkenin adresini gösteririz.
Örnek: Girilen iki sayının ortalamasını yapan C programı: #include<stdio.h> #include<conio.h> main() { float s1,s2,ort; printf("Birinci Sayıyı Giriniz : "); scanf("%f",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%f",&s2); ort=(s1+s2)/2; printf("İki Sayının Ortalaması : %0.1f",ort); getch(); } Ekran: Birinci Sayıyı Giriniz : 15 İkinci Sayıyı Giriniz : 10 İki Sayının Ortalaması : 12,5
Örnek: Girilen iki sayının 8'lik ve 16'lık karşılığı: #include<stdio.h> #include<conio.h> main() { int s1,s2; printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2); printf("Birinci Sayının 8'lik Karşılığı : %o\n",s1); printf("Birinci Sayının 16'lık Karşılığı : %x\n",s1); printf("İkinci Sayının 8'lik Karşılığı : %o\n",s2); printf("İkinci Sayının 16'lık Karşılığı : %x\n",s2); getch(); } Ekran: Birinci Sayıyı Giriniz : 15 İkinci Sayıyı Giriniz : 10
Birinci Sayının 8'lik Karşılığı : 17 Birinci Sayının 16'lık Karşılığı : F İkinci Sayının 8'lik Karşılığı : 12 İkinci Sayının 16'lık Karşılığı : A
Örnek: Girilen iki sayının ve veya yöntemi ile 8'lik ve 16'lık karşılığı: #include<stdio.h> #include<conio.h> main() { int s1,s2,c,d; printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2); c=s1&s2; d=s1^s2; printf("s1 & s2 :%d\n",c); printf("s1 ^ s2 :%d\n",d); getch(); } Ekran: Birinci Sayıyı Giriniz : 24 İkinci Sayıyı Giriniz : 12
S1 & s2 :20 S1 ^ s2 : 8
Program Denetim Deyimleri: Karşılaştırma Deyimleri: İf ve Switch olmak üzere 2 tip karşılaştırma deyimi vardır.
Örnek: Klavyeden girilen sayının tek veya çift olduğunu hesaplayan program: { int sayi; printf("Sayı Gir : ");scanf("%d",&sayi); if(sayi%2==0) printf("%d Çifttir",sayi); else printf("%d Tektir",sayi); grtch(); } Ekran: Sayı Gir : 5 5 Tektir
if-else-if Kullanımı: 2 den fazla koşulun olduğu durumlarda kullanılır. if(kontrol_ifadesi_1) deyim_1; if(kontrol_ifadesi_2) deyim_2; : : else if(kontrol_ifadesi_N) deyim_N; Örnek : Notlar: 0-25=E, 26-44=D, 45-54=C, 55-84=B, 85-100=A olan program { int not; char sonuc; printf("Notu Gir : ");scanf("%d",¬); if (not>=0 && not<=25) sonuc='E' else if (not>=26 && not<=44) sonuc='D' else if (not>=45 && not<=54) sonuc='C' else if (not>=55 && not<=84) sonuc='B' else sonuc='A' printf("Sonuç = %c",sonuc); getch(); } Ekran: Notu Gir : 75 Sonuç = B
switch ifadeleri: Her ne kadar if-else-if yapısında kontrol ifadeleri sıra ile işletiliyorsa da bu yapının kullanılması programın anlaşılır olmasını güçleştirir. Switch yapısı kullanılarak programın okunurluğu artmaktadır. switch(seçici) { case seçenek_1 : Deyim_1; case seçenek_2 : Deyim_2; : case seçenek_N : Deyim_N;
DÖNGÜ DEYİMLERİ: Bu tip deyimler bir kümenin belirli bir koşul altında yinelenmesi için kullanılır. while, do while ve for olmak üzere 3 tip döngü deyimi vardır.
for: Diğer döngü deyimleri gibi bir öbeği birçok kez tekrarlamakta kullanılır. for(başlangıç;koşul;artırım) { deyimler }
while: Mantıksal ifade doğru olduğu sürece deyim yürütülür. Eğer yanlış ise kontrol bir sonraki deyime geçer. while(Mantıksal İfade) { deyim }
do while: Bir gurup deyimi işlediği zaman kontrol ifadesini test eder. Eğer kontrol ifadesi doğru ise deyim gruba tekrar işletilir. Yanlış ise döngüden çıkar. do while döngüsünün while döngüsünden farkı, kontrol ifadesinin döngünün sonunda olması. do { deyim } while(Kontrol İfadesi);
DİZİLER Tek Boyutlu Diziler: Tüm programlama dillerinde olduğu gibi C dilinde de Dizi(Array) yapısı son derece önemli veri yapısıdır. Dizi: Bilgisayar belleğinde aynı isim altında genellikle aynı tipte çok sayıda veriyi bir arada saklayan veri yapısıdır.
Tanımlama: X[3]=5 x: Dizinin Adı, [3]: Dizinin indisi...
C dilinde bir dizinin ilk eleman indisi daima 0 dır. Son eleman indisi ise diziye ayrılan yer sayısının bir eksiğine eşittir.
C Programı İçinde Dizinin Bildirilmesi: Bir C programı içinde diziyi tanıtmak için değişken bildirimine benzer bir yol izlenir.
Tip Dizi_Adı[Eleman_Sayısı]; İn i[6];
Dizinin Gerekliliği: Dizi Kullanılmayan Versiyon Dizi Kullanılan Versiyon #include<stdio.h> main() { int sayi,t; int i; t=0; for(i=1;i<=5;i++) { printf("Bir Sayı Giriniz"); scanf("%d",&sayi); t=t+sayi; } printf("Toplam = %d",t); printf("Sayi = %d",sayi); getch(); } #include<stdio.h> main() { int sayi[5],t; int i; t=0; for(i=0;i<=4;i++) { printf("Bir Sayı Giriniz"); scanf("%d",&sayi); t=t+sayi; } printf("Toplam = %d",t); printf("Sayi = %d",sayi[2]); getch(); }
Dizilere İsimlendirilmiş Bir Sabit İle Yer Ayrılması: Daha önceden kendisine bir değer atanmış olacağı için dizilerin tanımında dizinin eleman sayısı isimlendirilmiş bir sabit yardımı ile de belirtilebilir.
Örnek: 1 İle 10 Arasındaki Sayıların Karesini Dizi Elemanına Aktarıp Ekrana Yazan Program: #include<stdio.h> int i; int s[11]; main() { clrscr(); for(i=1;i<=11;i++) { s=i*i; printf("%d nin Karesi : %d\n",i,s); } getch(); }
Stringlerin Bir Karakter Dizisi Olarak Tanımlanması: C Dilinde bir karakter zincirini ya da stringini oluşturmak için tek yol karakter dizisinin her karakterini char türü ile diziye yükleyerek bir karakter dizisi oluşturmaktadır.
Örnek: #include<stdio.h> main() { int i; char c[6]={'a','b','c','d','e','\0'}; for(i=0;c!='\0';i++) printf("\n %c",c); getch(); } İKİ BOYUTLU DİZİLER Uygulamada karşılaşılan pek çok problem, tablo halindeki verinin bilgisayarda saklanması, ve tablo üzerinde çeşitli işlemlerin gerçekleştirilmesi (Tablonun satır toplamları, sütun toplamları gibi hesaplamalar) söz konusudur. Örneğin aşağıdaki gibi bir veri mevcut olsun
1999 Yılı Otomobil Satışları Ocak Şubat Mart VW 500 500 500 Reno 600 650 700 Fiat 700 600 650 Ferrari 50 60 70 Porshe 50 60 80
Örneğin her marka için 3 aylık satışlar toplamını bulmak için;
Tanımlama: int satis[5][3]; Satis :Dizi Adı 5 :Satır Sayısı 3 :Sütun Sayısı
İki Boyutlu Dizilere Değer Okutmak; İki boyutlu dizinin elemanları C Programı icrası esnasında klavyeden girmek için aşağıdaki gibi program kullanılır.
Örnek: Satış adlı tabloyu bilgisayar belleğine yükleyip yüklenen tabloyu ekrana yazdıran c programını yapınız.
İki Boyutlu Dizi Elemanlarına İlk Değer Atama: İki boyutlu dizinin elemanları statik karakterde ise yani programın her icra edilişinde değerler değişmiyorsa bu durumda iki boyutlu dizi elemanlarına program içinde değer ataması yapılabilir.
Örnek: #include<stdio.h> main() { int satis[5][3]={{70,60,50},{65,75,25},{30,40,45},{40,40,40},{25,10,60}}; int i,j; printf(“\n\n”); printf(“Satış Adlı Tanlo : \n”); for(i=0;i<=4;i++) { for(j=0;j<=2;j++) { printf(“%d ”,satis[j]); } printf(“\n”); } getch(); }
C DİLİNDE FONKSİYON YAPISI C dilinde bir program kesinlikle en az bir fonksiyondan oluşur.
Fonksiyonların Tanımlanması: 1. Başlık 2. Gövde Başlık kısmı fonksiyonun göndereceği değere göre belirlenen tipini bildiren bir tip bildirisi ya da fonksiyon adı ve varsa parametre listesi ister. Fonksiyon adı değer gönderemeyecekse void sözcüğü ile başlar. Parametre listesinde parametrelerin tipi ve isimleri belirtilir. Her parametreye ilişkin tip bildirimleri arasında virgül (,) sembolleri kullanılır.
Örnek: int topla(int x, int y)
Burada topla adlı fonksiyon int tipinde tanımlanmıştır. İki tane parametresi vardır x ve y. Bu parametreler int tipindedir.
Örnek: int deger(void)
Burada değer int tipinde bir değer gönderecek olan fonksiyondur. Herhangi bir parametresi olmadığından void yerleştirilmiştir.
Fonksiyon Bildirimleri: Bir fonksiyon hangi fonksiyon içinden çağrılacaksa çağrılacağı fonksiyon içinde bir bildirim deyimi formunda tanımlanmalıdır. Buna fonksiyon bildirimi adı verilir. Not:Fonksiyon bildirimleri daima noktalı virgülle (;) sona erer.
Örnek: #include<stdio.h> main() { int toplam(int n); int m; } Burada main (ana program) içinde çağrılacak olan toplam adlı fonksiyonun bildiri deyimleri kümesi içinde bir bildiri deyimi formunda programa tanıtmaktadır.
Örnek: #include<stdio.h> main() { int toplam(int n); int m; printf("Ust Limit :"); scanf("%d",&m); printf("\n1+2+3+ ... + %d = %d",m,toplam(m)); } int toplam(int n) { int i,s; s=0; for(i=1;i<=n;i++) s=s+i; return s; } Örnek: c(n,r)=n!/(r!*(n-r)!) Kombinasyon formülünü hesaplayan C programı
C NEDIR ? C programlama dili, Dennis Ritchie tarafindan Bell laboratuarlarinda yaratilmistir. PDP-11 ile Unix altinda calismak icin yaratilmis olmasina ragmen, ilgi uzerine MS-DOS altinda calisacak hale getirilmistir. Basitligi, olusan kodun kucuklugu, ve her cesit programlamada kullanilabilmesi, C yi populer bir dil yapmistir. C, cok kestirme olmasi nedeni ile, yeni bilgisayarlara baslayanlar icin ogrenmesi zordur. Bir programci, C ile ust seviyelerden, assebly'ye yaklasan alt seviyelere kadar programlama yapabilir. C nin sagladigi bu rahatligin yaninda, tehlikeleride de vardir. Ornegin, makineyi kilitleyebilecek bir program yazmak, Pascal yada BASIC de yazmaktan cok daha kolaydir. Bir Pascal derleyicisinin fark edip uyaracagi bir hatayi, C derleyicileri fark etmeyebilir. C de, kendi basinizasiniz..
NIYE C? Bu gun IBM-PC icin yazilan piyasadaki yeni programlarin yuzde 75'i, C ile yaziliyor. MicroSoft, Macro Assembler 4.0 i cikardiktan sonra, onu C ile yazdiklarini acikladi. Herhalde icinde birkac assembler rutin vardir ama, cogunlugu C ile yazilmistir. C, bir komite degilde, bir kisi tarafindan yazilmis oldugundan, cok kullanisli bir lisandir, fakat cok iyi tanimlanmamistir. C icin bir standart yoktur, ama ANSI grubu, bu konuda calismaktadir. Isin ilgincligi, bir standart olmamasina ragmen, degisiklikleri cok azdir. Halbuki iyi tanimi olan Pascal dilinin, derleyicileri birbirinden cok farklidir, ve bir Pascal programini bir bilgisayardan digerine gecirmek zordur.. C nin Tasinabilirlik referanslari iyi olmasina ragmen, derleyiciler arasinda farkliliklar vardir. Bu degisiklikler genellikle BIOS fonksiyonlari gibi standart olmayan seyler kullanildiginda kendini gosterir.
c++ yoqmu yaw he bişe daha sorucam.. c++ için win ortamında DEV C++ ile program yazabiliyorum... C için böyle bi editör/compiler varmı?
visual C++ ı dene bence
visual C++ ı netten indirebilirmiyim? bildiğiniz bi link varmı?
quote:
Orjinalden alıntı: surmegozluer
visual C++ ı dene bence
Notorious ne deseler netten indiresin geliyor walla
quote:
Orjinalden alıntı: surmegozluer
iste c BUDUR:
C PROGRAMLAMA DERS NOTLARI C PROGRAMLAMA DİLİ Programlamaya Giriş: Belli bir problemi çözmek için bilgisayar dili kullanarak yazılmış deyimler dizisidir.
Bir problemi bilgisayar ile çözmek için geliştireceğimiz program yazımında izleyeceğimiz adımlar 1-) Problemin ne olduğunu kavra. Çözüm için gereksinimleri belirle. 2-) Problemin girdilerini çıktılarını ve diğer kısıtlama gereksinimlerini belirle. 3-) Problemin çözümünü veren algoritmayı yaz. 4-) Algoritmayı bir program diline çevir. 5-) Programı test et.
Örnek: #include<stdio.h> #include<conio.h> main() /* Program Ana Başlangıcı */ { /* Başlangıç */ int a=10; /* Tanımlamalar */ printf("A'nın Değeri = %d",a); /* Gövde Kısım */ getch(); } /* Bitiş */
Veri Türleri Ve Değişkenlerin Tanımlanması Tip İsmi :Kullanılacak verinin tipini belirleyen isimdir. Tip İsmi Uzunluğu (Byte) Sayı Aralığı char 1 -128 , +127 int 2 -32768 , +32767 longint 4 -2147483648 , +2147483647 float 4 -3.4e-38 , +3.4e38 shortint 2 -32768 , +32767 unsigned char 1 0 , 255
Örnek: #include<stdio.h> #include<conio.h> main() { char ad[30]; printf("Adını Gir :"); scanf("%s",&ad); printf("%s",ad); getch(); } Ekran: Adını Gir : RESUL RESUL
Değer Atamaları: #include<stdio.h> #include<conio.h> main() { int x=3; float y=5.2; float z; z=x+y; printf("y nin değeri : %f\n",y); printf("z nin değeri : %f\n",z); getch(); } Ekran: Y nin değeri : 5.200000 Z nin değeri : 8.200000
Not:Mod un sonucu her zaman tam sayıdır.
Artım ve Azaltım Operatörleri: Bu operatörler değişkenin değerini bir artırmak ve bir azaltmak için kullanılır. Bir değişkenin değerini bir artırmak için x=x+1, ++x veya x++ Kullanılır. Örnek: { int a,b; a=5; b=9; printf("%d\n",++a); printf("%d\n",a); printf("%d\n",b++); printf("%d\n",a); getch(); } Ekran: 6 5 10 9
Karşılaştırma Operatörleri : Bu operatörler çoğunlukla kontrol ve döngü ifadeleri ile birlikte kullanılırlar. Bu operatörler iki değeri karşılaştırır. Değer doğru ise 1, yanlış ise 0 değeri üretilir. < Küçüktür > Büyüktür <= Küçük Eşit >= Büyük Eşit == Eşittir != Eşit Değildir İşlem Karşılaştırma Sonucu 10>3 1 10>3 0 10==10 1
Karşılaştırmaları Birleştirme Operatörleri: Birden fazla şartın birleştirilmesi gerektiğinde örneğin birden fazla şartın birleştirilmesi isteniyorsa bu durumda şartların birleştirme operatörleri ile yazılması gerekir. Şartlar iki şekilde birleştirilebilir. • VE (&&) Operatörü • VEYA (||) Operatörü
Seçim Operatörü: Bu operatör 3 kısımdan oluşur. Şart Kısmı ve Değer Kısımları. (şart)?(değer_1):(değer_2)
Bit Seviyesinde İşlem Operatörleri : C Dili assembly dilinde yapılabilen bit seviyesindeki işlemlerin tamamını destekler.
X Y Ve Veya Özel Veya 1 0 0 1 1 0 1 0 1 1 1 1 1 1 0 0 0 0 0 0 Bu tabloya göre: a=24 =00011000 b=12 =00001100
ve =00001000=8 veya =00011100=28 ö.veya =00010100=20
Örnek: #include<stdio.h> #include<conio.h> main() { int a=24, b=12; int c,d,e; c=a & b; d=a ^ b; e=a | b; printf("a & b = %d\n",c); printf("a ^ b = %d\n",d); printf("a | b = %d\n",e); getch(); } Ekran: a & b = 8 a ^ b = 28 a | b = 20
Printf Bildirimi : Değişkenlerin içeriğini veya mir mesajı istenen bir düzende(formatta) Standart çıkışa yazmak için kullanılır. Bu komutta kullanılan en önemli 2 karakter; \ (ters slaş) ve % (yüzde) dir. Printf("Kontrol Dizisi, Format Tanımlayıcısı",argıman1,argıman2,....,argıman N); Kodu Anlamı____________________ \b İmleci sola kaydırır (Backspace) \n Satır atla. \r Satır başına al. \t Yatay tab. \" Çift tırnak.
Scanf Bildirimi : Bu fonksiyon klavyeden değer okumakta kullanılan formatlı giriş fonksiyonudur. Bu fonksiyonda formatlı sayıların, karakterlerin ya da karakter katarlarının programla bilgisayara girilmesi gerçekleştirilebilir.
printf fonksiyonunda gerçek değişkenler listelenmektedir. Scanf fonksiyonunda ise değişkenin adresi argıman olarak kullanılır. Argıman olarak gösterilen & işareti ile değişkenin ismi değil de değişkenin adresini gösteririz.
Örnek: Girilen iki sayının ortalamasını yapan C programı: #include<stdio.h> #include<conio.h> main() { float s1,s2,ort; printf("Birinci Sayıyı Giriniz : "); scanf("%f",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%f",&s2); ort=(s1+s2)/2; printf("İki Sayının Ortalaması : %0.1f",ort); getch(); } Ekran: Birinci Sayıyı Giriniz : 15 İkinci Sayıyı Giriniz : 10 İki Sayının Ortalaması : 12,5
Örnek: Girilen iki sayının 8'lik ve 16'lık karşılığı: #include<stdio.h> #include<conio.h> main() { int s1,s2; printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2); printf("Birinci Sayının 8'lik Karşılığı : %o\n",s1); printf("Birinci Sayının 16'lık Karşılığı : %x\n",s1); printf("İkinci Sayının 8'lik Karşılığı : %o\n",s2); printf("İkinci Sayının 16'lık Karşılığı : %x\n",s2); getch(); } Ekran: Birinci Sayıyı Giriniz : 15 İkinci Sayıyı Giriniz : 10
Birinci Sayının 8'lik Karşılığı : 17 Birinci Sayının 16'lık Karşılığı : F İkinci Sayının 8'lik Karşılığı : 12 İkinci Sayının 16'lık Karşılığı : A
Örnek: Girilen iki sayının ve veya yöntemi ile 8'lik ve 16'lık karşılığı: #include<stdio.h> #include<conio.h> main() { int s1,s2,c,d; printf("Birinci Sayıyı Giriniz : "); scanf("%d",&s1); printf("İkinci Sayıyı Giriniz : "); scanf("%d",&s2); c=s1&s2; d=s1^s2; printf("s1 & s2 :%d\n",c); printf("s1 ^ s2 :%d\n",d); getch(); } Ekran: Birinci Sayıyı Giriniz : 24 İkinci Sayıyı Giriniz : 12
S1 & s2 :20 S1 ^ s2 : 8
Program Denetim Deyimleri: Karşılaştırma Deyimleri: İf ve Switch olmak üzere 2 tip karşılaştırma deyimi vardır.
Örnek: Klavyeden girilen sayının tek veya çift olduğunu hesaplayan program: { int sayi; printf("Sayı Gir : ");scanf("%d",&sayi); if(sayi%2==0) printf("%d Çifttir",sayi); else printf("%d Tektir",sayi); grtch(); } Ekran: Sayı Gir : 5 5 Tektir
if-else-if Kullanımı: 2 den fazla koşulun olduğu durumlarda kullanılır. if(kontrol_ifadesi_1) deyim_1; if(kontrol_ifadesi_2) deyim_2; : : else if(kontrol_ifadesi_N) deyim_N; Örnek : Notlar: 0-25=E, 26-44=D, 45-54=C, 55-84=B, 85-100=A olan program { int not; char sonuc; printf("Notu Gir : ");scanf("%d",¬); if (not>=0 && not<=25) sonuc='E' else if (not>=26 && not<=44) sonuc='D' else if (not>=45 && not<=54) sonuc='C' else if (not>=55 && not<=84) sonuc='B' else sonuc='A' printf("Sonuç = %c",sonuc); getch(); } Ekran: Notu Gir : 75 Sonuç = B
switch ifadeleri: Her ne kadar if-else-if yapısında kontrol ifadeleri sıra ile işletiliyorsa da bu yapının kullanılması programın anlaşılır olmasını güçleştirir. Switch yapısı kullanılarak programın okunurluğu artmaktadır. switch(seçici) { case seçenek_1 : Deyim_1; case seçenek_2 : Deyim_2; : case seçenek_N : Deyim_N;
DÖNGÜ DEYİMLERİ: Bu tip deyimler bir kümenin belirli bir koşul altında yinelenmesi için kullanılır. while, do while ve for olmak üzere 3 tip döngü deyimi vardır.
for: Diğer döngü deyimleri gibi bir öbeği birçok kez tekrarlamakta kullanılır. for(başlangıç;koşul;artırım) { deyimler }
while: Mantıksal ifade doğru olduğu sürece deyim yürütülür. Eğer yanlış ise kontrol bir sonraki deyime geçer. while(Mantıksal İfade) { deyim }
do while: Bir gurup deyimi işlediği zaman kontrol ifadesini test eder. Eğer kontrol ifadesi doğru ise deyim gruba tekrar işletilir. Yanlış ise döngüden çıkar. do while döngüsünün while döngüsünden farkı, kontrol ifadesinin döngünün sonunda olması. do { deyim } while(Kontrol İfadesi);
DİZİLER Tek Boyutlu Diziler: Tüm programlama dillerinde olduğu gibi C dilinde de Dizi(Array) yapısı son derece önemli veri yapısıdır. Dizi: Bilgisayar belleğinde aynı isim altında genellikle aynı tipte çok sayıda veriyi bir arada saklayan veri yapısıdır.
Tanımlama: X[3]=5 x: Dizinin Adı, [3]: Dizinin indisi...
C dilinde bir dizinin ilk eleman indisi daima 0 dır. Son eleman indisi ise diziye ayrılan yer sayısının bir eksiğine eşittir.
C Programı İçinde Dizinin Bildirilmesi: Bir C programı içinde diziyi tanıtmak için değişken bildirimine benzer bir yol izlenir.
Tip Dizi_Adı[Eleman_Sayısı]; İn i[6];
Dizinin Gerekliliği: Dizi Kullanılmayan Versiyon Dizi Kullanılan Versiyon #include<stdio.h> main() { int sayi,t; int i; t=0; for(i=1;i<=5;i++) { printf("Bir Sayı Giriniz"); scanf("%d",&sayi); t=t+sayi; } printf("Toplam = %d",t); printf("Sayi = %d",sayi); getch(); } #include<stdio.h> main() { int sayi[5],t; int i; t=0; for(i=0;i<=4;i++) { printf("Bir Sayı Giriniz"); scanf("%d",&sayi); t=t+sayi; } printf("Toplam = %d",t); printf("Sayi = %d",sayi[2]); getch(); }
Dizilere İsimlendirilmiş Bir Sabit İle Yer Ayrılması: Daha önceden kendisine bir değer atanmış olacağı için dizilerin tanımında dizinin eleman sayısı isimlendirilmiş bir sabit yardımı ile de belirtilebilir.
Örnek: 1 İle 10 Arasındaki Sayıların Karesini Dizi Elemanına Aktarıp Ekrana Yazan Program: #include<stdio.h> int i; int s[11]; main() { clrscr(); for(i=1;i<=11;i++) { s=i*i; printf("%d nin Karesi : %d\n",i,s); } getch(); }
Stringlerin Bir Karakter Dizisi Olarak Tanımlanması: C Dilinde bir karakter zincirini ya da stringini oluşturmak için tek yol karakter dizisinin her karakterini char türü ile diziye yükleyerek bir karakter dizisi oluşturmaktadır.
Örnek: #include<stdio.h> main() { int i; char c[6]={'a','b','c','d','e','\0'}; for(i=0;c!='\0';i++) printf("\n %c",c); getch(); } İKİ BOYUTLU DİZİLER Uygulamada karşılaşılan pek çok problem, tablo halindeki verinin bilgisayarda saklanması, ve tablo üzerinde çeşitli işlemlerin gerçekleştirilmesi (Tablonun satır toplamları, sütun toplamları gibi hesaplamalar) söz konusudur. Örneğin aşağıdaki gibi bir veri mevcut olsun
1999 Yılı Otomobil Satışları Ocak Şubat Mart VW 500 500 500 Reno 600 650 700 Fiat 700 600 650 Ferrari 50 60 70 Porshe 50 60 80
Örneğin her marka için 3 aylık satışlar toplamını bulmak için;
Tanımlama: int satis[5][3]; Satis :Dizi Adı 5 :Satır Sayısı 3 :Sütun Sayısı
İki Boyutlu Dizilere Değer Okutmak; İki boyutlu dizinin elemanları C Programı icrası esnasında klavyeden girmek için aşağıdaki gibi program kullanılır.
Örnek: Satış adlı tabloyu bilgisayar belleğine yükleyip yüklenen tabloyu ekrana yazdıran c programını yapınız.
İki Boyutlu Dizi Elemanlarına İlk Değer Atama: İki boyutlu dizinin elemanları statik karakterde ise yani programın her icra edilişinde değerler değişmiyorsa bu durumda iki boyutlu dizi elemanlarına program içinde değer ataması yapılabilir.
Örnek: #include<stdio.h> main() { int satis[5][3]={{70,60,50},{65,75,25},{30,40,45},{40,40,40},{25,10,60}}; int i,j; printf(“\n\n”); printf(“Satış Adlı Tanlo : \n”); for(i=0;i<=4;i++) { for(j=0;j<=2;j++) { printf(“%d ”,satis[j]); } printf(“\n”); } getch(); }
C DİLİNDE FONKSİYON YAPISI C dilinde bir program kesinlikle en az bir fonksiyondan oluşur.
Fonksiyonların Tanımlanması: 1. Başlık 2. Gövde Başlık kısmı fonksiyonun göndereceği değere göre belirlenen tipini bildiren bir tip bildirisi ya da fonksiyon adı ve varsa parametre listesi ister. Fonksiyon adı değer gönderemeyecekse void sözcüğü ile başlar. Parametre listesinde parametrelerin tipi ve isimleri belirtilir. Her parametreye ilişkin tip bildirimleri arasında virgül (,) sembolleri kullanılır.
Örnek: int topla(int x, int y)
Burada topla adlı fonksiyon int tipinde tanımlanmıştır. İki tane parametresi vardır x ve y. Bu parametreler int tipindedir.
Örnek: int deger(void)
Burada değer int tipinde bir değer gönderecek olan fonksiyondur. Herhangi bir parametresi olmadığından void yerleştirilmiştir.
Fonksiyon Bildirimleri: Bir fonksiyon hangi fonksiyon içinden çağrılacaksa çağrılacağı fonksiyon içinde bir bildirim deyimi formunda tanımlanmalıdır. Buna fonksiyon bildirimi adı verilir. Not:Fonksiyon bildirimleri daima noktalı virgülle (;) sona erer.
Örnek: #include<stdio.h> main() { int toplam(int n); int m; } Burada main (ana program) içinde çağrılacak olan toplam adlı fonksiyonun bildiri deyimleri kümesi içinde bir bildiri deyimi formunda programa tanıtmaktadır.
Örnek: #include<stdio.h> main() { int toplam(int n); int m; printf("Ust Limit :"); scanf("%d",&m); printf("\n1+2+3+ ... + %d = %d",m,toplam(m)); } int toplam(int n) { int i,s; s=0; for(i=1;i<=n;i++) s=s+i; return s; } Örnek: c(n,r)=n!/(r!*(n-r)!) Kombinasyon formülünü hesaplayan C programı
Notorious ne deseler netten indiresin geliyor walla
kadıköye gidip para vermek istemiom ..öğrenci olmak kolay deil kılı kırk yarmam lazım
quote:
kadıköye gidip para vermek istemiom ..öğrenci olmak kolay deil kılı kırk yarmam lazım
dev c++ veya mingw ile yazabilirsin mesela www.nergin.com'da bu programlar war visual studio'dan daha iiler
Using the data in the following table, create a two dimensional array of students. Then write a search function that uses the sequential search to find a student in the array and prints the student’s scores, average score, grade based on an absolute scale (≥90 is AA, ≥85 and <90 is BA, ≥80 and <85 is BB, ≥75 and <80 is CB, ≥70 and <75 is CC, ≥60 and <70 is DC, ≥50 and <60 is DD, and <50 is F), medians and modes of each quiz. After the each printout, give the user the opportunity to continue or stop. Your code should also check the student numbers that not found in the table list.
Student ID# ----- Quiz1------Quiz2------Quiz3
1100 ------------- 52 ----------7---------100
1120 ------------- 90 --------- 36--------90
1117 ------------- 100 ---------45--------20
1123 ------------- 45 ---------17---------81
1136-------------20----------12----------45
1108 -------------34 ---------80---------55
1115 -------------60---------100---------56
1134-------------70--------- 11 --------- 66
1105 ------------- 34---------9 ---------77
1142------------- 45---------40---------88
1127------------- 55---------50--------- 99
1130-------------22---------70---------100
1138-------------89 ---------50---------91
1145-------------11---------11----------0
1150--------------0---------98---------89
arkadaşlar biliyorum işiniz çok ama ben zaten kıt olan c bilgi(sizliği)m le bu işin içinden çıkamadım...yardım ederseniz çok teşekkür ederim..etmezsenizde canınız saolsun
arkadaşlar bide ben microsoft visiual c++ 6.0 kullanıyorum ve programları derlerken sorun çıkıyo.. programı yazıyorum derliyorum hata yok uyarı yok build yapıyorum 1. programda exe sini yapıyo ama başka program yazdığımda programdan tamamen çıkmadan exe sini yapamıyorum...execute edemiyo diye hata veriyo
@bojo şu öğrenci prg. c++ da yazmıştım.. arşvimde var.. belki işine yarar
//Degisken tanimlamalari int n; //id int ogrsay[n]; //ogrenci sayisi int on[n]; //ogrenci no int s1[n]; //vize int s2[n]; //final float ort[n]; //ortalama