notes/education/software development/ECE1400/C.md
2024-09-11 12:21:34 -06:00

2.6 KiB

Compilation Steps

  1. 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>
  1. Compiling. A compiler translates then translates the program into machine instructions.
  2. 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
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

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.