Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Tokens
token
:
keyword
identifier
constant
string-literal
punctuator
preprocessing-token
:
header-name
identifier
pp-number
character-constant
string-literal
punctuator
cada caractere que não seja de espaço em branco que não possa ser um dos acima
Palavras-chave
keyword
: um de
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
Para obter uma lista de palavras-chave adicionais específicas da Microsoft, confira palavras-chave da C.
Identificadores
identifier
:
identifier-nondigit
identifier
identifier-nondigit
identifier
digit
identifier-nondigit
:
nondigit
universal-character-name
outros caracteres definidos pela implementação
nondigit
: um de
_
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
: um de
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
Constantes
constant
:
integer-constant
floating-constant
enumeration-constant
character-constant
integer-constant
:
decimal-constant
integer-suffix
opt
binary-constant
1 integer-suffix
opt
octal-constant
integer-suffix
opt
hexadecimal-constant
integer-suffix
opt
decimal-constant
:
nonzero-digit
decimal-constant
digit
binary-constant
:1
binary-prefix
binary-digit
binary-constant
binary-digit
binary-prefix
1: um dos
0b
0B
binary-digit
1: um dos
0
1
octal-constant
:
0
octal-constant
octal-digit
hexadecimal-constant
:
hexadecimal-prefix
hexadecimal-digit
hexadecimal-constant
hexadecimal-digit
hexadecimal-prefix
: um de
0x
0X
nonzero-digit
: um de
1
2
3
4
5
6
7
8
9
octal-digit
: um de
0
1
2
3
4
5
6
7
hexadecimal-digit
: um de
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
opt
unsigned-suffix
long-long-suffix
opt
long-suffix
unsigned-suffix
opt
long-long-suffix
unsigned-suffix
opt
unsigned-suffix
: um de
u
U
long-suffix
: um de
l
L
long-long-suffix
: um de
ll
LL
floating-constant
:
decimal-floating-constant
hexadecimal-floating-constant
decimal-floating-constant
:
fractional-constant
exponent-part
opt floating-suffix
opt
digit-sequence
exponent-part
floating-suffix
opt
hexadecimal-floating-constant
:
hexadecimal-prefix
hexadecimal-fractional-constant
binary-exponent-part
opt floating-suffix
opt
hexadecimal-prefix
hexadecimal-digit-sequence
binary-exponent-part
floating-suffix
opt
fractional-constant
:
digit-sequence
opt .
digit-sequence
digit-sequence
.
exponent-part
:
e
sign
opt digit-sequence
E
sign
opt digit-sequence
sign
: um de
+
-
digit-sequence
:
digit
digit-sequence
digit
hexadecimal-fractional-constant
:
hexadecimal-digit-sequence
opt .
hexadecimal-digit-sequence
hexadecimal-digit-sequence
.
binary-exponent-part
:
p
sign
opt digit-sequence
P
sign
opt digit-sequence
hexadecimal-digit-sequence
:
hexadecimal-digit
hexadecimal-digit-sequence
hexadecimal-digit
floating-suffix
: um de
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
:
Qualquer membro do conjunto de caracteres de origem, exceto a marca de aspas simples ('
), a barra invertida (\
) ou o caractere de nova linha
escape-sequence
escape-sequence
:
simple-escape-sequence
octal-escape-sequence
hexadecimal-escape-sequence
universal-character-name
simple-escape-sequence
: um de
\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
Literais de cadeia de caracteres
string-literal
:
encoding-prefix
"
s-char-sequence
opt "
encoding-prefix
:
u8
u
U
L
s-char-sequence
:
s-char
s-char-sequence
s-char
s-char
:
qualquer membro do conjunto de caracteres de origem, exceto a marca de aspas duplas ("
), a barra invertida (\
) ou o caractere de nova linha
escape-sequence
Pontuadores
punctuator
: um de
[
]
(
)
{
}
.
->
++
--
&
*
+
-
~
!
/
%
<<
>>
<
>
<=
>=
==
!=
^
|
&&
||
?
:
;
...
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
,
#
##
<:
:>
<%
%>
%:
%:%:
Nomes do Cabeçalho
header-name
:
<
h-char-sequence
>
"
q-char-sequence
"
h-char-sequence
:
h-char
h-char-sequence
h-char
h-char
:
qualquer membro do conjunto de caracteres de origem, exceto o caractere de nova linha e >
q-char-sequence
:
q-char
q-char-sequence
q-char
q-char
:
qualquer membro do conjunto de caracteres de origem, exceto o caractere de nova linha e "
Pré-processamento de números
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
e binary-digit
são extensões específicas da Microsoft.