Escreva uma diretiva do pré-processador que propicie a realização das tarefas a seguir:

a) Definir a constante simbólica YES para ter o valor 1 .

b) Definir a constante simbólica NO para ter o valor 0 .

c) Incluir o arquivo de cabeçalho common.h . O arquivo está no mesmo diretório do arquivo compilado.

d) Renumerar as linhas restantes no arquivo começando com o número de linha 3000 .

e) Se a constante simbólica TRUE estiver definida, anular sua definição e redefini-la como 1 . Não use #ifdef .

f) Se a constante simbólica TRUE estiver definida, anular sua definição e redefini-la como 1 . Use a diretiva #ifdef do pré-processador.

g) Se a constante simbólica TRUE não for igual a 0 , definir a constante simbólica FALSE como 0 . Caso contrário, definir FALSE como 1 .

h) Definir a macro VOLUME_CUBO , que calcula o volume de um cubo. A macro utiliza apenas um argumento.

Passo 1

Fala galera, tudo tranquilo? Este exercício nos pede apenas para que a gente escreva diretivas que atendam aos itens a seguir.

a) Usando #define

#define YES 1

b) #define NO 0

c) Para incluir arquivo, já é de nosso conhecimento bem usual, mas um arquivo no mesmo diretório, você faz:#include ”common.h”

d) Para numerar linhas, usa-se #line, então:#line 3000

e) #if define(TRUE)

#undef TRUE

#define TRUE 1

#endif

f)Para anular uma definição, usa-se “#undef”, portanto:

#ifdef TRUE

#undef TRUE 1

#define TRUE 1

#endif

g) Aqui ele nos pede um definição da constante:

#if TRUE

#define FALSE 0

#else FALSE 1

#endif

h) para o volume de um cubo podemos escrever:

#define VOLUME_CUBO(x) ((x) * (x) * (x))

É isso galera, espero ter ajudado e vamos para mais um exercício. Valeu!

Resposta

a) #define YES 1

b) #define NO 0

c) #include ”common.h”

d) #line 3000

e) #if define(TRUE)

#undef TRUE

#define TRUE 1

#endif

f) #ifdef TRUE

#undef TRUE 1

#define TRUE 1

#endif

g) #if TRUE

#define FALSE 0

#else FALSE 1

#endif

h) #define VOLUME_CUBO(x) ((x) * (x) * (x))