|
Yazan
|
Konu: C de Aritmetik ve Degerler (Okunma Sayısı 1071 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: Şubat 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: Şubat 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
|
|
|
|
|
 |