Пятое занятие
(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]);