-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path2. Hafta
199 lines (134 loc) · 4.48 KB
/
2. Hafta
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
////////////////////////////////////////////////////1. DERS///////////////////////////////////////
Global isimleri:
1)
İdentifier : isim demektir
Declaration(bildirim) : ismin ne anlama geldiğini söyler
2)
Statement (deyim) : bir işlem yaptırır
X = y + z;
===========================================
Tokenizing : derleme işlemi başında derleyici kaynak kodu en küçük birimlerine ayrırmasına nedir
Token : en küçük birim(atom)
=============================================
Keyword(anahtar sözcük) : c de başka anlamalarda kullanılamayanlara denir(do, while, for, signed, unsigned, union)
Reserved word
============================================
İdentifier(isim) : varlıkların adları anlamına gelen tokenlara identifier denir.
-değişkenler
-fonksiyonlar
-sabitler
-türler
-etiketler
=============================================
Case-sensitive : dilde yazılanların büyük veya küçük yazılması önem taşımaz
COUNTER
Counter
===========================================
Constants(sabitler):
Tam sayı sabitler (integer constants)
Gerçek sayı sabitleri(floating constants)
10’luk sayı sistemi (decimal) 41
16’lık sayı sistemi(hexadecimal) 0x41
8’lik sayı sistemi(octal) 041
! c dlinde 2’li sistem kullanılmaz c++’da kullanılır
=======================================================
As if(sanki – adeta) kuralı: derleyeicinin uygun şekilde düzenlemeler yapması
=======================================================
scope(kapsam)
name lookup(isim arama):ismin, neyin ismi olduğunu anlama sürecidir
=======================================================
data type:
nesnelerin değerlerinin derleyicinin koda bakması sırasaında anlaşılıyor ise bu static türdür(static typeing). C static typing’dir---phyton dynamic typingdir.
Tür, nesne için bellekte kaç byte’lık bir yere ihtiyaç duyduğunu söyler(storage)
Type system
Data type
Value
Nesnelerinin strorage, type, adresleri var
Lifespan(ömür)
Expression (ifade)
////////////////////////////////////////////////////3. DERS/////////////////////////////////////////
expression (ifade)
statement (deyim)
value category: c de bir ifade ya R value ya da L value olabilir
-L value (expression)
-R value (expression)
=======================================
-L value expression : nesne gösteren – nesne anlamına gelen ifade
x
a[1][2].ptr ->x
-R value expression :bellekte nesneyi temsil etmeyen ifadeye denir
x + y
Dikkat!
c ve c++ dillerinde değer kategorisi farklı olabilir
eğer başına operatör koyulduğu zaman hata vermiyorsa L value denir
&x --> L value
&x++ --> R value
====================================
constant expression (sabit ifadesi): sabitin değerini önceden bilir
int x = 10;
int a[x] = {0};
x burada constant expression olmadığı için hata meydana gelir
========================================
sayı sistemi(numbering system)
decimal system
hexadecimal system
octal
binary system
digit (basamak)
binary system:
-tam sayilar
a)unsigned binary system(işaretsiz):
negatif sayilar ele alınmadan sadece pozitif ve sıfır
3,5,0
b)signed binary system(işaretli):
hem negatif hem pozitif sayilar olabilir
=================================================
[] =
() =
{} = brace
* = asteriks
& = ampersant
: = colon
; = semi colon
# = number sign
=================================================
C
translation unit <= preproccer (ön işlemci komutu) <= source file
function:
standat C funtion : printf,scanf bunlar stadandart c fonksi
to define a function (function definitian)
to call a function ( function call)
to declare a function (function declaration):fonksiyonu bildirmek(ne olduğunu)
function implementation (fonksiyon tanımlamak)
#include <stdio.h>
int main(void){
printf("hello world");
}
=====================================
-data type
basic types : bu türleri var kabul ederiz
integer types:
-char types 1 byte
char type
signed char type -128 127
unsigned char 0 255
-short integer types
signed short
unsigned short
-int types
signed int
unsigned int
-long integer types
signed long
unsigned long
-long long integer types (C99 standartı ile eklendi)
signed long long
unsigned long long
-_Bool type 1 byte
short <= int <= long <= long long
user defined types : kullanıcı tarafından oluşturulmuş
örnek:
gün ay yıl
11 şubat 2022
Date mydate{12,2,2022} = //user defined
int gün,ay,yil = //böyle kullanılması tercih edilmez yukarıdaki tercih edilir