C is a general-purpose, structured programming language, statically typed, and a compiled language. It is used to implement some of the most important software, including important parts of operating systems (Windows, Linux), Git, etc.
The competency area includes understanding of variables, data types, loops, control statements, conditional statements, arrays, file input, and output, among others.
- Variables and Datatypes - A basic understanding of variables and data types. A variable is a unit of storage which is referred to with the use of an identifier. Data types are the type of value that is stored in a variable, integer, boolean, character, and floating-point.
- Conditional statements - A basic understanding of Conditional Statements, which are statements where one can evaluate a logical condition to decide whether a block of code should be executed or not. Ability to execute if-else (if-else if-else and nested if-else statements), switch-case construct, and the ternary operator.
- Loops and Control statements - Understanding of loops, which are used to execute a block of code repeatedly based on a condition, i.e for, while, and do-while.
- Operators and Precedence - Understanding of Arithmetic Operators, Relational Operators, Logical Operators, Bitwise Operators, Assignment Operators, and Misc Operators (pointer operators, ternary, etc). Awareness of the precedence of these operators and the ability to evaluate expressions with complex combinations of these operators.
- Basic I/O - Understanding Basic I/O operations in C using standard input and standard output files.
- Format Specifiers - An understanding of Format Specifiers, which are used to specifying to the compiler the type of data that will be input or output during an I/O operation.
- Simple programs - Ability to write simple programs, such as printing a specific pattern, calculating simple interest or compound interest with inputs from the user, etc.