— имя переменной — некоторый набор символов по вашему желанию, но не образующий зарезервированные слова языка Си.
Желательно давать осмысленное имя переменным и функциям, напоминающие вам об их назначении. Принято использовать маленькие буквы, а для отличия имен переменных от названия функций — имена переменных можно, например, начинать с буквы, а названия функций (кроме main конечно) с двух символов подчеркивания.
Например так:
moya_peremennaya__vasha_funkziya

Внимание!
Глобальные переменные, а также локальные с модификатором static — при старте и рестарте программы равны 0, если вы не присвоили им (например, оператором =) иное значение при их объявлении или по ходу программы.
Подробные примеры объявления переменных посмотрите, пожалуйста, в разделе Variables в «Хелп»компилятора.
Вот несколько примеров объявления переменных:
unsigned char my_peremen = 34;
unsigned int big_peremen = 34034;
Выше объявлены две переменные с присвоением значений.
Пример массива из 3-х переменных mas[3]={11,22,33};
Три элемента: mas[0] mas[1] mas[2]
Нумерация элементов массива начинается с нуля!
Пример: строковая переменная – массив
char stroka[7]=»Hello»;
/* на 2 элемента больше чем символов между кавычками!
Строковый массив может быть распечатан одной строкой:
printf («%sn», stroka);

Так делаются вставки ассемблерных инструкций:
#asm («инструкция на ассемблере»)
Обратите внимание — точки с запятой НЕТ!

Часто используются такие строки:
#asm(«sei») // Разрешить ГЛОБАЛЬНО все прерывания
#asm(«cli») // Запретить ГЛОБАЛЬНО все прерывания
#asm(«nop») // Пауза в 1 такт процессора
#asm(«wdr») // Сбросить сторожевой таймер

4.7. Разделители.

В разделители входят следующие символы:
[], (), {}, , , ; , : , … , * , = , #.

[] — для записи идентифицированных переменных.
Пример №1:
Int A [5] , e[3][2]

( ) применяются для:
1. выделения условия в операторе if;
2. входит как обязательный элемент в определении любой функции;
3. группирует выражения в арифметических операциях;
4. входит как обязательный элемент в операторы цикла: for, white, do.

{ } используется для обозначения начала и конца составного оператора или блока операторов.
Пример №2:
If (d>x) {d—; x++}
Float absx (float x)
{
Return x>0 ? x:-x
}

{ } также используется для выделения списка компонентов в определениях структурных и объединяющих типов, используются для инициализации массивов.
Int month [] = {1, 2, 3, 4, 5, 6, 7,…,12};

, используется либо в качестве операций либо в качестве разделителя. В последнем случае она разделяет элементы из списка.

; каждый оператор, определение и описаний в программе на языке СИ завершается знаком — ;. Любое допустимое выражение, за которым следует ; воспринимается как оперативный отдельный символ, ; считается пустым оператором.

: используется для отделения метки от помечаемого ею оператора.

… используется для обозначения переменного числа параметров.

* используется в качестве знака операции умножения и знака операции разыменования.

= используется для присваивания значений и инициализаций объекта.

# признак препроцессорных средств используется для обозначения директив препроцессора.

4.8 Пример программы на языке СИ:

# include
# include

void delay ( )

{
unsigned char a,b,c;
for (a=1;2;a++)
for (b=1;2;b++)
for (c=1;2;c++)
}
void Led_on (int i)

{
Port a = ~BIT (i);
Delay( );
}
void main ( )

{
unsigned char data;
unsigned char x;
int I;
DDRA=oxFF; /*output*/
DDRC=oxOO;
PORTA=oxFF; /*alloff*/
While (1)
}