Advanced Placement Computer Science AB:
Quiz 3
    Sewickley Academy, 2000-2001

See Course Home Page.

Note:  This is the retry of Quiz 3.  Due to substandard scores, the original Quiz 3 has been demoted to Assignment 11.

When possible, SHOW YOUR WORK.  Also, YOU MAY NOT USE A COMPILER OR ANY OTHER MATERIALS (except a pen and your brain).

0.  Write your name on the top-right corner.  No name, no grade, no exceptions.

1.  Write the API's for apvector and apmatrix.

2.  For each assignment to c below, give the value that will be assigned to c (just like the review questions for this quiz).

#include <iostream.h>
#include <stdio.h>

int f3(int& y)
{
 y = 3+y;
 return 3*(y--)+3;
}

int f2(int y)
{
 return f3(y);
}

void main()
{
int a,b,c;
a = 19;
b = 3;
c = (a / b);            // Q1
c = (a > b);            // Q2
c = a ^ b;              // Q3
c = (! a == (b/(b+1))); // Q4
c = (a != b);         // Q5
c = a & b;            // Q6
c = a && b;           // Q7
c = a || b;           // Q8
c = 17;             // Q9
c += a && b;       // Q10
c = (a = b);       // Q11
c -= (a % (a-1));  // Q12
c = c && b;        // Q13
c ^= a;            // Q14
c = f2(a) + f2(a); // Q15
c = f3(a) + f3(a); // Q16
a = 1;
c = (f3(a) && !f3(a) && f3(a)); // Q17
c = a;             // Q18

a = b = 1;
for (a;a/(a+b);a)
b += a;
c = b;             // Q19

b = 0;
for (a=0x80000005;a>a-1;a--)
 b++;
c = b;             // Q20

b = 2;
for (a = --b; a = --b; a = --b)
 a = b++;
c = b;             // Q21

b = 0;
for (a = 0; a < 5; a++)
 b += a;
c = b;             // Q22

a = b = 0;
for (a = 1; (a = --b) && (a == 0); a++)
 b++;
c = a + b;         // Q23

a = b = 6;
for (a = 3; a < a+1; a++)
{
 if ((a % 2) * a >= a - 4)
  continue;
 if (!((b += a) % 4))
  break;
}
c = b;             // Q24

}

See Course Home Page.