(1) Циклы do {} while, while, for
int i;
for (i = 0; i < n; i++) { }
for (int i = 0; i < n; i++) { }
while (n > 0) { n--; }
do { n-- } while (n > 0);
(2) Элементарные типы.
char, int, long long, float, double, long double
unsigned (char, int, long long)
bool = true/false
void
(3) Массивы
int a[10];
int a[3] = {1, 2, 3};
int a[] = {1, 2, 3};
int *a = {1, 2, 3};
int b[10][10];
int a[4][2] = {{1, 2}, {3, 4}, {5, 6}, {7, 8}};
// Передача в параметры функциям
int a[10];
int f( int *b );
int g( int b[10] );
int x = f(a) + g(a);
// Передача двумерных массивов
int a[10][99];
int f( int b[10][99] );
int g( int (*b)[99] );
(4) Строки, символы
char s[] = {'a', 'b', 'c'};
char *s = "abc";
char s[4];
scanf("%s", s); // "abc"
Конец строки = '\0' ('\0' == 0 && 0 != '0')
'b' - 'a'
'0' + 3
'1' <= '2'
char *s[] = {"acm", "x", "30"};
char s[10][100 + 1]; // массив из 10 строк длины от 0 до 100.
(5) typedef & sizeof
typedef long long ll;
typedef int mas[10][10];
ll x = 3, y;
mas a, b, c;
// n - длина массива
int n = sizeof(a) / sizeof(a[0]);
(6) sscanf & sprintf
sscanf(s, "%d", &a);
sprintf(s, "%d = %d + %d\n", x, a, b);
(7)
Фишка с while (n --> 0)
Фишка с printf("%d%c", a[i], " \n"[i == n - 1]);