Lecture 2: C basics
Today, we start to learn about the C programming language.
Hardware and software
Optional reading: chapter 1
Key ideas:
- Hardware: memory cells, bits, bytes, memory addresses, RAM vs. ROM, CPU
- Software: operating systems, application software
- Computer languages: machine language, assembly language, high level languages
- Compiling your C programs: source file, compiler, object file, linker, executable file
C overview
Optional reading: chapter 2.1-2.6
Key ideas:
- Parts of a C program: preprocessor directives (
#includeand#define), main function, declarations vs executable statements - Variable declarations and data types
- Use
gcc -o [executable_filename] -Wall [c_filename]to compile your program and./[executable_filename]to run - Assignment statements
- Comments and whitespace
printfandscanf: placeholders (%), float formating- Newline and tab:
\nand\t - Arithmetic expressions
Programming errors
Optional reading: chapter 2.8
Key ideas:
- Four different types of errors: syntax errors, runtime errors, undetected errors, and logic errors