3.2 KiB
Compilation Steps
- Preprocessing: The preprocessor obeys commands that begin with #, also known as directives Commands for the preprocessor are called directives. Directives begin with a pound sign, and they do not end with a semicolon.
Example:
#include <stdio.h>
- Compiling. A compiler translates then translates the program into machine instructions.
- Linking: The generated objects are combined to create a complete executable.
The preprocessor is typically integrated with the compiler.
Types
Strings
A string literal is characters enclosed in double quotation marks.
A newline can be inserted using \n
.
Integers
An integer is a way to store a whole number. In C, integers are signed by default.
Floats
A float is a decimal value. Slower arithmetic and inexact values are both drawbacks of using floats.
Variables
A variable must be declared before it is assigned.
Formatting specifiers
Standard library
Formatting specifiers
Specifier | Function |
---|---|
%d |
Decimal representation: Display a value as a base 10 (hence the decimal) integer. |
%f |
Fixed point decimal representation. Specify the number of places to round to by adding a decimal and a number, eg %.2f would round to two decimal places. |
%e |
Exponential floating point number representation. |
%g |
Either fixed point or exponential representation, whichever has a more compact representation. |
For number formatting specifiers, the convention is as follows: | |
%-a.bX |
|
% : Start of the formatting specifier |
|
- : (optional) If included, justify value left in space. Otherwise, justify right in space |
|
a : (optional) If included, the size of the field in characters. |
|
. : Separator between a and b . Optional if b is not specified |
|
b : The number of decimal places to round to |
|
X : The type of format to use, and the end of the specifier. Use d for integer base 10 (decimal) representation, f for fixed point decimal, and e for exponential notation, and g to select between fixed point and exponential, whichever is shorter. |
printf
Used to write a string to stdout with the ability to format variables into the string.
Write a string to standard output. f
indicates that it's a formatting string. The string will not include move the cursor to a newline, append \n
to the end of the string to do so.
Printf accepts a variable number of arguments, the first argument is the formatting string, then following arguments are the arguments to be inserted into the string.
scanf
Read value(s) from stdin.
scanf
is to stdin as printf
is to stdout.
The format of the input is specified