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 — testa o valor de uma expressão. Se o valor da expressão é falso ( 0 ), então assert imprime uma mensagem de erro e chama a função abort (da biblioteca de utilitários gerais, ) para terminar a execução do programa.

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