conditionals!
	if
	if-else
	switch

loops!
	while
	do-while
	for
types!
	int, double, string, char, void, boolean, float
	cast is an explicit type conversion
		double d = 3.1415;
		int i = int(d);
	type promotion or demotion
		double d = 3.1415;
		int i = d;

variables!
	a name for a chunk of memory! holds a value of some type
	must be initialized or you get junk
	global (visible everywhere) or local (visible in one scope)
	name rules: must begin w/ a letter or underscore

case sensitivity -- lexical rules of C++

operators and order of operations (precedence and associativity)
	+-*/% >,<,==,<=,>=,!=  &&,||,!
	= ++ -- &

int x;

string class: initialization from " ",
	+
	.c_str()
	.size()

double f(double x, double y)
{
    return x + y;
}

int main()
{
double x;
cin >> x;
cout << f(x, 1.2) << endl;
}

functions
	formal parameters -- information given into a function
		when it is called
	return value -- output from a function when it finishes
	declare (prototype) - specify parameters and return types
	define (body) - declare+{ sequence of statements }
	call. supply arguments (actual parameter)

classes
	private (accessible only from member functions) and public
	members: variables and function
	declaring the class (class foo {...}) vs. implementation
	foo::funcname() { }
	o.funcname();
	proper use of .h files: no code in there!
	constructor - initializes objects/instances of the class
		function by-product of creating an object

--- below here, not on midterm #1 of 2/21/14. ---

files and streams!
	ifstream, ofstream
	libraries and include files #include 
	open and close; by the way, open can fail!
	<< operator sends stuff to an output stream...
	>> operator inputs stuff from an input stream...
		cin.ignore() - skips over a newline