İçeriğe geç
ShiftDelete.Net
Haber ara/ SDN'ye SorGiriş
Haber Akışı SDNTV İnceleme Forum Yapay Zeka Akıllı Telefon Elektrikli Otomobil Oyun ShiftDelete.Net Global Teknoloji Haberleri Mobil Otomobil Donanım Savunma Bilim Sosyal Medya İnternet Giyilebilir Teknoloji Rehber Ürünler Son dakika Yazarlar
  1. Ana sayfa
  2. Topluluk
  3. Programlama
  4. Programlama Dilleri
Programlama Dilleri

Gelişmiş Atama

steve7811.01.201610 cevap3.227 görüntüleme
2012'den beri800 mesaj
#1
Arkadaşlar Merhaba,
Aşağıda paylaştığım komutları açıklayabilir misiniz? Bazı takıldığım noktalar var yanlış öğrenmek istemiyorum.

#include <stdio.h>
#include <conio.h>
main()
{
int x,y;
x=4;
y=11;
x+=2;
printf("x: %d\n",x);
x-=y+3;
printf("x: %d\n",x);
x=++y;
printf("x: %d\n",x);
x=y++;
printf("x: %d\n",x);
y*=x-1;
printf("x: %d\n",y);
}
Cevaplar
2016'den beri9 mesaj
#2

Resim az buçuk yardımcı olur umarım.
steve78 Konuyu açan
2012'den beri800 mesaj
#3
Daoda dedi: ↑

Resim az buçuk yardımcı olur umarım.
Bu PDF'i nereden bulabilirim?
2016'den beri9 mesaj
#4
Google dan mkü c++ diye aratırsan büyük ihtimalle karşına çıkacak ilk pdf bu olacaktır.
steve78 Konuyu açan
2012'den beri800 mesaj
#5
Daoda dedi: ↑
Google dan mkü c++ diye aratırsan büyük ihtimalle karşına çıkacak ilk pdf bu olacaktır.
Teşekkürler (y)
2016'den beri9 mesaj
#6
Ne demek yardımcı olduysak.
2011'den beri505 mesaj
#7
y*=x-1 ifadesi nasıl bir atama bende merak ettim pointer ataması mı oluyor. Genelde pointerlar ile uğraşırken “*” karakterini değişkenin başına getiriyorduk.
steve78 Konuyu açan
2012'den beri800 mesaj
#8
algea dedi: ↑
y*=x-1 ifadesi nasıl bir atama bende merak ettim pointer ataması mı oluyor. Genelde pointerlar ile uğraşırken “*” karakterini değişkenin başına getiriyorduk.
Bende tam olarak o satırdaki atamada takıldım.
2011'den beri505 mesaj
#9
a *= b, a = a * b imiş kaynak
2016'den beri25 mesaj
#10
//her zaman önce sol taraf bulunup sağa eşitlenir
//ayrıca atamalarda sol her zaman önceliklidir buna dikkat !
int x=4;
int y=11;
x+=2; // x = x +2 demektir buradan x = 4 + 2 = 6
printf("x: %d\n",x);
x-=y+3; // x = x - (y+3) demektir buradan x = 6 - (11 + 3) = -8 bulunur
printf("x: %d\n",x);
x=++y; // sol önceliklidir bu yüzden önce y değeri 1 artar sonra x'e atanır x = 1 + 11 = 12
// ++ operatörü y'yi bir arttırdığından sonraki satırda y = 11 almayacağız 12 alacağız dikkat
printf("x: %d\n",x);
x=y++; // önce x = y ataması yapılır sonra y değeri 1 artar buradan x = 12 y = 13 olur
printf("x: %d\n",x);
y*=x-1; // y = y * (x-1) demektir buradan y = 13 * (12 - 1) = 143 olur
printf("x: %d\n",y);

son olarak
int x,y;
x=4;
y=11;
şeklinde bir kod yazımı çok anlamsızdır, int x = 4, y = 11; demek varken, nedense okullar bu incelikleri önemsemiyor..
steve78 Konuyu açan
2012'den beri800 mesaj
#11
kunefe dedi: ↑
//her zaman önce sol taraf bulunup sağa eşitlenir
//ayrıca atamalarda sol her zaman önceliklidir buna dikkat !
int x=4;
int y=11;
x+=2; // x = x +2 demektir buradan x = 4 + 2 = 6
printf("x: %d\n",x);
x-=y+3; // x = x - (y+3) demektir buradan x = 6 - (11 + 3) = -8 bulunur
printf("x: %d\n",x);
x=++y; // sol önceliklidir bu yüzden önce y değeri 1 artar sonra x'e atanır x = 1 + 11 = 12
// ++ operatörü y'yi bir arttırdığından sonraki satırda y = 11 almayacağız 12 alacağız dikkat
printf("x: %d\n",x);
x=y++; // önce x = y ataması yapılır sonra y değeri 1 artar buradan x = 12 y = 13 olur
printf("x: %d\n",x);
y*=x-1; // y = y * (x-1) demektir buradan y = 13 * (12 - 1) = 143 olur
printf("x: %d\n",y);

son olarak
int x,y;
x=4;
y=11;
şeklinde bir kod yazımı çok anlamsızdır, int x = 4, y = 11; demek varken, nedense okullar bu incelikleri önemsemiyor..
Teşekkür ederim.

Cevabını yaz

Cevap yazmak için giriş yap ya da üye ol. Eski forum kullanıcı adın ve parolanla girebilirsin.