Difference between revisions of "Week 2"
Line 27: | Line 27: | ||
A function must have one point of entry and one point of exit. Only one return statement per function. | A function must have one point of entry and one point of exit. Only one return statement per function. | ||
− | + | <u>The Include Statement</u> | |
''#include <stdio.h>'' | ''#include <stdio.h>'' | ||
Line 33: | Line 33: | ||
The hash tag (#) tells the compiler how to do things '''BEFORE''' compilation. | The hash tag (#) tells the compiler how to do things '''BEFORE''' compilation. | ||
− | The include | + | The #include keyword brings in the code from inside <stdio.h> |
+ | |||
+ | Header files are usually definitions of functions, classes, templates, etc. | ||
+ | |||
+ | <u>The Define Statement</u> | ||
+ | |||
+ | 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. |
Revision as of 11:49, 19 May 2010
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.