Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Token
token
:
keyword
identifier
constant
string-literal
punctuator
preprocessing-token
:
header-name
identifier
pp-number
character-constant
string-literal
punctuator
setiap karakter non-spasi kosong yang tidak boleh merupakan salah satu dari karakter di atas
Kata Kunci
keyword
: salah satu dari
auto
break
case
char
const
continue
default
do
double
else
enum
extern
float
for
goto
if
inline
int
long
register
restrict
return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned
void
volatile
while
_Alignas
_Alignof
_Atomic
_Bool
_Complex
_Generic
_Imaginary
_Noreturn
_Static_assert
_Thread_local
Untuk daftar kata kunci tambahan khusus Microsoft, lihat kata kunci C.
Identifiers
identifier
:
identifier-nondigit
identifier
identifier-nondigit
identifier
digit
identifier-nondigit
:
nondigit
universal-character-name
karakter lain yang ditentukan implementasi
nondigit
: salah satu dari
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
digit
: salah satu dari
0
1
2
3
4
5
6
7
8
9
universal-character-name
:
\u
hex-quad
\U
hex-quad
hex-quad
hex-quad
:
hexadecimal-digit
hexadecimal-digit
hexadecimal-digit
hexadecimal-digit
Konstanta
constant
:
integer-constant
floating-constant
enumeration-constant
character-constant
integer-constant
:
decimal-constant
integer-suffix
Memilih
binary-constant
1 integer-suffix
opt
octal-constant
integer-suffix
Memilih
hexadecimal-constant
integer-suffix
Memilih
decimal-constant
:
nonzero-digit
decimal-constant
digit
binary-constant
:1
binary-prefix
binary-digit
binary-constant
binary-digit
binary-prefix
1: salah satu dari
0b
0B
binary-digit
1: salah satu dari
0
1
octal-constant
:
0
octal-constant
octal-digit
hexadecimal-constant
:
hexadecimal-prefix
hexadecimal-digit
hexadecimal-constant
hexadecimal-digit
hexadecimal-prefix
: salah satu dari
0x
0X
nonzero-digit
: salah satu dari
1
2
3
4
5
6
7
8
9
octal-digit
: salah satu dari
0
1
2
3
4
5
6
7
hexadecimal-digit
: salah satu dari
0
1
2
3
4
5
6
7
8
9
a
b
c
d
e
f
A
B
C
D
E
F
integer-suffix
:
unsigned-suffix
long-suffix
Memilih
unsigned-suffix
long-long-suffix
Memilih
long-suffix
unsigned-suffix
Memilih
long-long-suffix
unsigned-suffix
Memilih
unsigned-suffix
: salah satu dari
u
U
long-suffix
: salah satu dari
l
L
long-long-suffix
: salah satu dari
ll
LL
floating-constant
:
decimal-floating-constant
hexadecimal-floating-constant
decimal-floating-constant
:
fractional-constant
exponent-part
opt opt floating-suffix
digit-sequence
exponent-part
floating-suffix
Memilih
hexadecimal-floating-constant
:
hexadecimal-prefix
hexadecimal-fractional-constant
binary-exponent-part
opt opt floating-suffix
hexadecimal-prefix
hexadecimal-digit-sequence
binary-exponent-part
floating-suffix
Memilih
fractional-constant
:
digit-sequence
Memilih .
digit-sequence
digit-sequence
.
exponent-part
:
e
sign
Memilih digit-sequence
E
sign
Memilih digit-sequence
sign
: salah satu dari
+
-
digit-sequence
:
digit
digit-sequence
digit
hexadecimal-fractional-constant
:
hexadecimal-digit-sequence
Memilih .
hexadecimal-digit-sequence
hexadecimal-digit-sequence
.
binary-exponent-part
:
p
sign
Memilih digit-sequence
P
sign
Memilih digit-sequence
hexadecimal-digit-sequence
:
hexadecimal-digit
hexadecimal-digit-sequence
hexadecimal-digit
floating-suffix
: salah satu dari
f
l
F
L
enumeration-constant
:
identifier
character-constant
:
'
c-char-sequence
'
L'
c-char-sequence
'
c-char-sequence
:
c-char
c-char-sequence
c-char
c-char
:
Setiap anggota karakter sumber yang ditetapkan kecuali tanda kutip tunggal ('
), garis miring terbalik (\
), atau karakter baris baru
escape-sequence
escape-sequence
:
simple-escape-sequence
octal-escape-sequence
hexadecimal-escape-sequence
universal-character-name
simple-escape-sequence
: salah satu dari
\a
\b
\f
\n
\r
\t
\v
\'
\"
\\
\?
octal-escape-sequence
:
\
octal-digit
\
octal-digit
octal-digit
\
octal-digit
octal-digit
octal-digit
hexadecimal-escape-sequence
:
\x
hexadecimal-digit
hexadecimal-escape-sequence
hexadecimal-digit
Literal string
string-literal
:
encoding-prefix
"
s-char-sequence
Memilih "
encoding-prefix
:
u8
u
U
L
s-char-sequence
:
s-char
s-char-sequence
s-char
s-char
:
setiap anggota set karakter sumber kecuali tanda kutip ganda ("
), garis miring terbalik (\
), atau karakter baris baru
escape-sequence
Punctuators
punctuator
: salah satu dari
[
]
(
)
{
}
.
->
++
--
&
*
+
-
~
!
/
%
<<
>>
<
>
<=
>=
==
!=
^
|
&&
||
?
:
;
...
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
,
#
##
<:
:>
<%
%>
%:
%:%:
Nama header
header-name
:
<
h-char-sequence
>
"
q-char-sequence
"
h-char-sequence
:
h-char
h-char-sequence
h-char
h-char
:
setiap anggota set karakter sumber kecuali karakter baris baru dan >
q-char-sequence
:
q-char
q-char-sequence
q-char
q-char
:
setiap anggota set karakter sumber kecuali karakter baris baru dan "
Angka pra-pemrosesan
pp-number
:
digit
.
digit
pp-number
digit
pp-number
identifier-nondigit
pp-number
e
sign
pp-number
E
sign
pp-number
p
sign
pp-number
P
sign
pp-number
.
1 binary-constant
, binary-prefix
, dan binary-digit
merupakan ekstensi khusus Microsoft.