Preencha os espaços em cada uma das sentenças:
a) Toda diretiva do pré-processador deve começar com ______.
b) A construção de compilação condicional pode ser estendida para testar múltiplos casos a partir das diretivas ______ e ______.
c) A diretiva ______ cria macros e constantes simbólicas.
d) Apenas caracteres de ______ podem aparecer antes de uma diretiva do pré-processador em uma linha.
e) A diretiva ______ descarta nomes de constante simbólica e de macro.
f) As diretivas ______ e ______ são fornecidas como uma notação abreviada para #if defined( nome ) e #if !defined( nome ) .
g) A ______ permite que você controle a execução das diretivas do pré-processador e a compilação do código do programa.
h) A macro ______ imprime uma mensagem e termina a execução do programa se o valor da expressão que a macro avalia for 0 .
i) A diretiva ______ insere um arquivo em outro arquivo.
j) O operador ______ concatena seus dois argumentos.
k) O operador ______ converte seu operando em uma string.
l) O caractere ______ indica que o texto de substituição para uma constante simbólica ou macro continua na linha seguinte.
m) A diretiva ______ faz com que as linhas do código-fonte sejam numeradas a partir do valor indicado, começando com a próxima linha no código-fonte.
Passo 1
Fala galera, tudo tranquilo? Vamos preencher lacunas?!
a) Diretiva do pré-processador deve começar com “#”
b) Uma construção de pré-processador com múltiplas partes pode ser testada com o uso das diretivas #elif (o equivalente de else if em uma estrutura if ) e #else (o equivalente de else em uma estrutura if ).
c) Cria macros e constantes simbólicas usamos a diretinha “#define”.
d) Apenas caractere de espaço em branco aparecem antes de diretivas.
e) Constantes simbólicas e macros podem ser descartadas com o uso da diretiva para o pré-processador #undef .
f) As diretivas #ifdef e #ifndef são abreviações de #if defined( nome )
g) A compilação condicional permite que você controle a execução das diretivas…
h) A macro assert — definida no arquivo de cabeçalho
i) A diretiva #include do pré-processador tem sido usada ao longo de todo o livro. Ela faz com que uma cópia de um arquivo especificado seja incluída no lugar da diretiva.
j) O operador ## concatena dois tokens.
k) O operador # faz com que o token de um texto substituto seja convertido em uma string entre aspas.
l) Se o texto substituto para uma macro ou para uma constante simbólica é mais longo que o restante da linha, uma barra invertida (\) deve ser colocada no fim da linha para indicar que o texto de substituição continua na próxima linha.
m) A diretiva #line do pré-processador faz com que as linhas de código-fonte subsequentes sejam re-numeradas, começando com o valor constante inteiro especificado.
. É isso galera, espero ter ajudado e vamos para mais um exercício. Valeu!
Resposta
a) #
b) #elif e #else
c) #define
d) espaço em branco
e) #undef
f) #ifdef e #ifndef
g) compilação condicional
h) assert
i) #include
j) ##
k) #
l) \ (barra invertida)
m) #line