Program Translation
Bitwise
ADTs
File IO & Macros
Random Mops
100

This step turns an assembly language file into a machine language file.

What is assembling?

100

This operation inverts all bits of a number.

What is ~/complement/not?

100

This is the purpose of an ADT.

What is to hide implementation from the user?

100

This function opens a file.

What is fopen?

100

C is ____ type-checked, which means it occurs at compile time.

What is statically?

200

This step combines multiple object files into an executable.

What is linking?

200

1011 ^ 1100 =

What is 0111?

200

This file  serves as the interface for the client when using an ADT.

What is a header file?

200

This function writes to a binary file.

What is fwrite?

200

C is ____ typed, which means you can get around type restrictions.

What is weakly?

300

This step of compilation breaks characters into groups representing symbols.

What is lexical analysis?

300

unsigned char a = 0x09

a << 2 =

What is 0x24?

300

This type is used to store generic data.

What is void *?

300

This is your SI leader's favorite ice cream flavor.

What is cookies and cream?

300

This type allows you to give names to integer constants.

What is an enum?

400

This step of compilation checks the syntax correctness of a syntax tree.

What is semantic analysis?

400

char a = 0xf2;

a >> 4 =

What is 0xff?

400

This keyword is used in a ADT header file to hide the implementation of a struct.

What is typedef?

400

This is the output of the following code.

What is 19?

400

This is the decimal value of the following signed character:

char c = 0xf9

What is -7?

500

This is an abstract syntax tree for the given rules and expression.

expr -> term | expr op term

term -> ident | number | ( expr )

op -> & | ^ | >>


5 & (2 ^ 1)

500

This is the output of the following code:


What is 1?

500

Write a basic constructor for an ADT called "CoolADT"

The struct is called "struct coolADT_s" and the header file is the following:

typedef struct coolADT_s * CoolADT;

CoolADT cool_create();

CoolADT cool_create(){
    CoolADT newCool = (CoolADT) malloc(sizeof(struct coolADT_s));

    return newCool;

}

500

This is the output of the following code:


What is nothing?

500

I couldn't think of another ADT question, so here's a random one!

This is the output of the following code.

What is 'e d'?

M
e
n
u