|
Yazan
|
Konu: C de Aritmetik ve Degerler (Okunma Sayısı 1217 defa)
|
cellfish
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 42
|
"C dilinde aritmetik ve degerler" char tipi ornegi ile:
Bu program basit bir aritmetik orneyi dir char tipi ile. char tipi dedigimiz karakter tipi degisken kulandigimiz zaman gereken terimdir.
#include <stdio.h>
void main() { char birinci = 'A' ; char ikinci = 'B' ; char sonuncu = 'Z' ;
char sayi = 40 ;
char yap1 = birinci + 2 ; /* A ya 2 ekle */ char yap2 = ikinci - 1 ; /* B den 1 cikar */ char yap3 = sonuncu + 2; /* Z ye 2 ekle */
printf("Karakter degerleri %-5c%-5c%-5c", yap1, yap2, yap3) ; printf("\nSayisal esdegerler %-5d%-5d%-5d", yap1, yap2, yap3) ; printf("\nSayi 40 dir kareketer kodu %c\n", sayi, sayi) ; }
Programi calistirdiginiz zaman asagidaki cikar:
Karakter degerleri C A \ Sayisal esdeger 67 65 92 Sayi 40 dir kareketer kodu
Programi calistirmak icin:
Windows kulanicilar genelde "Borland" veya "Visual C++" programi kulanirlar. Gayet basit bir sekilde calistirabilirsiniz, ustdeki tabler de gayet acik yaziyor calistirmak icin tikliyip programi yurutebilirsiniz. Unix/Linux kulanicilar derleyicinize gore calisir, genelde gcc programismi.c komutu ile problemsiz calisir. Bazi derleyicilerde programismi.c dosyanizi calistirabilmek icin calisabilir hale getirmeniz gerekebilir. Bunu chmod a+x programismi.c ile calisabilen program yapabilirsiniz.
Program ile ilgili herhangi bir soru veya ogrenmek istediginiz varsa C dilinde, memnuniyetle yardimci olurum. Iler de daha cok C ve Perl dilin de deney/ornek vericem.
cellfish
|
|
|
|
|
Logged
|
CELLF1SH-----BEGIN GEEK CODE BLOCK----- Version: 3.1 GAT dpu s+:++ a---- C++(+++)>$ UL++++ P+>++ L++>++++ E W++ ?N ?o K w O M+ ?V PS PE Y+ ?PGP t+@ 5 X++ R+ tv+ b+++(+) DI D+++ G++ e-<++ h@ r--(++) y ------END GEEK CODE BLOCK------
|
|
|
|
Quadim
|
%-5c%-5c%-5c böyle bir kaşlıp hatırlamıyorum %5c olma ihtimali war mı ? ayrıca arada \t yok ondan dolay ıfarklı cıkmaz yan yanan cıkarlar.. yanlıssam duzelt. bılgıler ıcın saol
|
|
|
|
|
Logged
|
|
|
|
andelek
PHP Öğrencisi
Offline
Mesaj Sayısı: 80
|
Guzel bir bilgi yazmissin sag ol!
|
|
|
|
|
Logged
|
|
|
|
cellfish
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 42
|
%-5c%-5c%-5c böyle bir kaşlıp hatırlamıyorum %5c olma ihtimali war mı ? ayrıca arada \t yok ondan dolay ıfarklı cıkmaz yan yanan cıkarlar.. yanlıssam duzelt. bılgıler ıcın saol
Bu iki deyim uc degiskenin cikisini gosteriyor iki degisik yolardan. 1. printf( "karakter degerleri %-5c%-5c%-5c", yap1, yap2, yap3) ; 2. printf( "\nSayisal esdegerler %-5d%-5d%-5d", yap1, yap2, yap3) ; ilk deyim kaydedilen degeri ceviriyor %-5c kulanarak, donusturme belirticisi (conversion specifier). Bu belirtici, cikicak olan sonucu karakter olarak ve soldaki sirada olmasini sagliyor. Genisligi de 5 degerin de olarak. ikinci deyimin ayni degiskenleri cikartiyor ama bu sefer degerler tam sayi (integer) olarak ceviriyo. Bunu da %-5d belirtici ile yaptim. Hiza ve genislik ayni, ama d tam sayi olarak belirtiyor cikisi. Bu iki deyimde gorebiliyorsun ki uc karaketer ve cikislari ASCI kodla siraya giriyor bundan sonraki deyim de. printf( "\nSayi 40 dir kareketer kodu %c\n", sayi, sayi) ; umarim yardimci olabildim, su an okuldayim, eger yeterli degilse daha sonra genis bir sekilde aciklamasani yaparim arkadasim. cellfish
|
|
|
|
« Son Düzenleme: 21, 2007, 10:57:15 am Gönderen: cellfish »
|
Logged
|
CELLF1SH-----BEGIN GEEK CODE BLOCK----- Version: 3.1 GAT dpu s+:++ a---- C++(+++)>$ UL++++ P+>++ L++>++++ E W++ ?N ?o K w O M+ ?V PS PE Y+ ?PGP t+@ 5 X++ R+ tv+ b+++(+) DI D+++ G++ e-<++ h@ r--(++) y ------END GEEK CODE BLOCK------
|
|
|
|
Quadim
|
%s %c %d %f %a %e bunların warlıgını bılıyorum benım demek ıstedıgım ------ işaretinin warlıgıydı. 1 dönem boyunca c dersi aldım su anda da object oriented (ileri c ve squery yapıları) nı goruyorum. aradakı - işareti biraz ters geldi ondan dolayı dedim. boşluk (null karekter) olsa tmmda. - işaretini tek olarak cıkaramazsın. yani Programi calistirdiginiz zaman asagidaki cikar:
Karakter degerleri C A \ Sayisal esdeger 67 65 92 Sayi 40 dir kareketer kodu
olarak cıktı vermez. output ekranından bahsedıyordum.. Edit --> Deneme fırsatım yenı oldu  [Warning] return type of `main' is not `int' hatasını alıyorum tam olarak hata da denemez warning. çözümüde bazı c derleyicilerinde void main() yerine main() kullanabılıyor olman. void boş değer döndürme / döndürmeme olarak algılıyor..
|
|
|
|
« Son Düzenleme: 21, 2007, 06:08:40 pm Gönderen: Quadim »
|
Logged
|
|
|
|
cellfish
Yeni Kullanıcılar
Offline
Mesaj Sayısı: 42
|
%s %c %d %f %a %e bunların warlıgını bılıyorum benım demek ıstedıgım ------ işaretinin warlıgıydı. 1 dönem boyunca c dersi aldım su anda da object oriented (ileri c ve squery yapıları) nı goruyorum. aradakı - işareti biraz ters geldi ondan dolayı dedim. boşluk (null karekter) olsa tmmda. - işaretini tek olarak cıkaramazsın. yani Programi calistirdiginiz zaman asagidaki cikar:
Karakter degerleri C A \ Sayisal esdeger 67 65 92 Sayi 40 dir kareketer kodu
olarak cıktı vermez. output ekranından bahsedıyordum.. Edit --> Deneme fırsatım yenı oldu  [Warning] return type of `main' is not `int' hatasını alıyorum tam olarak hata da denemez warning. çözümüde bazı c derleyicilerinde void main() yerine main() kullanabılıyor olman. void boş değer döndürme / döndürmeme olarak algılıyor.. Evet  dogrusu bugun okulda denedim, bende de o bahsetdigin warning cikdi ama evde cikmiyor, derleyici ye gore degisiyor. Aslinda dedigin gibi sadece main() kulanip da olur, veya int main() de olur cunku sonucda tam sayi veriyor bize  int (tam sayi) anlamina geliyor bilmeyen arkadaslar icin. cellfish
|
|
|
|
|
Logged
|
CELLF1SH-----BEGIN GEEK CODE BLOCK----- Version: 3.1 GAT dpu s+:++ a---- C++(+++)>$ UL++++ P+>++ L++>++++ E W++ ?N ?o K w O M+ ?V PS PE Y+ ?PGP t+@ 5 X++ R+ tv+ b+++(+) DI D+++ G++ e-<++ h@ r--(++) y ------END GEEK CODE BLOCK------
|
|
|
glikoz
PHP Öğrencisi
Offline
Mesaj Sayısı: 141
|
Teşekkürler '-'yi ben de bilmiyordum. Bu haliyle bende sorunsuz çalışıyor. (Derleyici: CodeBlocks) #include <stdio.h>
int main() { char birinci = 'C' ; char ikinci = 'B' ; char sonuncu = 'Z' ;
char sayi = 40 ;
char yap1 = birinci + 1 ; /* A ya 2 ekle */ char yap2 = ikinci - 1 ; /* B den 1 cikar */ char yap3 = sonuncu + 2; /* Z ye 2 ekle */
printf("Karakter degerleri %-5c%-5c%-5c", yap1, yap2, yap3) ; printf("\nSayisal esdegerler %-5d%-5d%-5d", yap1, yap2, yap3) ; printf("\nSayi 40 dir kareketer kodu %c\n", sayi, sayi) ; return false; }
|
|
|
|
|
Logged
|
|
|
|
|
 |