Open main menu

CDOT Wiki β

Week 2

Revision as of 12:49, 19 May 2010 by Jaburton1 (talk | contribs)

Reviewing IPC 144

The Question Mark Operator

c = a > b ? 100 : 200;

It replaces an if statement and is much faster. If a is greater than b then 100, else 200.

Please note: The types 100 and 200 must be the same type or else it will not work.

Function Calls

printf("%d  %d, b, b = b + 1);

It returns 21 21. Why? Some compilers stack the arguments and read the last argument first. Therefore, it would see b as 21 as well.

a = printf("%d  %d, b, b = b + 1);

printf("%d\n", a);

What is a?

6

printf returns the number of characters printed (scanf also returns the number of characters input - special note: scanf cannot return a number greater than the % symbols in your scanf statement).

A function must have one point of entry and one point of exit. Only one return statement per function.

The Include Statement

#include <stdio.h>

The hash tag (#) tells the compiler how to do things BEFORE compilation.

The #include keyword brings in the code from inside <stdio.h>

Header files are usually definitions of functions, classes, templates, etc.

The Define Statement

A #define statement is a simple search and replace in the current file.

#define SUM a+b

printf("%d\n", SUM*2);

This will print 50, not 60. It replaces SUM with a+b then operator precedence allows it to multiply first before addition.