Найти в Дзене

Cтруктура программы и интегрированная среда Borland С

Оглавление

Алфавит и идентификаторы языка Си

В алфавит языка Си входят:

  • прописные и строчные буквы латинского алфавита;
  • цифры;
  • специальные знаки “ , {} | [ ] ( ) + - / % \ ; ‘ . : ? < = > _ ! & * # ~ ^
  • неизображаемые символы, например, пробел, табуляция.

Идентификатор: Последовательность букв, цифр, символов подчеркивания, начинающаяся с буквы или символа подчёркивания, считается идентификатором языка Си. Например, Lab_1, size22, _min, TIME, time.

Прописные и строчные буквы различаются, т.е. два последних идентификатора различны. Идентификаторы могут иметь различную длину, но компилятор учитывает не более 31-го символа.

Переменные

Переменная – это именованная область памяти. Отличительная особенность переменной – возможность связывать с её именем различные значения, совокупность которых определяется типом переменной. Каждая переменная перед её использованием в программе должна быть определена, т.е. для неё должна быть выделена память. Размер участка памяти зависит от типа переменной.

Основные типы переменных и их предельно допустимые значения:

char -128…127 1 байт

unsigned char 0…255 1 байт

int -32768…32767 2 байта

unsigned int 0…65535 2 байта

long -2147483648…2147483647 4 байта

unsigned long 0…4294967295 4 байта

float 3.4E-38…3.4E+38 4 байта

double 1.7E-308…1.7E+308 8 байт

long double 3.4E-4932…1.1E+4932 10 байт

Операции

Операция присваивания: “=”.

Аддитивные операции: “ +”,”-“;

Мультипликативные: “*”,”/”,”%”; % - получение остатка от деления,

“/” - целочисленное деление (остаток отбрасывается);

Логические операции: && (and), || (or), ! (not);

Операции отношения: == (равно), != (не равно), < (меньше), > (больше), <=

(меньше или равно), >= (больше или равно);

Операции модификации: *= присваивание после умножения (p *= 2;

эквивалентно p=p*2;).

/= присваивание после деления (p /= 2; эквивалентно

p=p/2; ).

+= присваивание после суммирования (a += b; эквивалентно a=a+b;).

-= присваивание после вычитания (a -= b; эквивалентно a=a-b;).

%=присваивание после деления по модулю (n %= 3; эквивалентно n=n % 3;).

a++ (--) постфиксное изменение (a++; эквивалентно a=a+1; значение а

сначала используется, затем изменяется).

++(--)a префиксное изменение (++a; эквивалентно a=a+1; значение а сначала изменяется, затем используется).

Операторы ввода/вывода

  • Оператор вывода :

printf(<форматная строка>, переменные);

Форматная строка может включать текст для вывода на экран, спецификаторы формата, управляющие символы. Список переменных должен быть согласован со спецификаторами формата по типу и количеству.

Спецификатор формата:

%[флаг] [ширина] [. точность] [l]

[флаг] : “-“ или “+” ; ”-“ выравнивает текст вывода по левому краю; “+” выводит знак для положительных и отрицательных значений;

[ширина] : минимальный размер поля вывода;

[.точность] : для вещественных чисел количество знаков после десятичной точки;

[l] : для вывода целых чисел типа long;

При выводе переменных различных типов используются следующие форматы:

%c – char;

%d – целое десятичное:

%u – беззнаковое целое;

%o – целое восьмеричное;

%x – целое шестнадцатеричное;

%s – строка;

%f – вещественное число с фиксированной точкой;

%e – вещественное число в экспоненциальной форме;

%g – вещественное число ( выводится в формате %f или %e , что более компактно).

Управляющие символы:

\n – перевод строки;

\t – табуляция;

\v – вертикальная табуляция;

\b – возврат на 1 символ;

\r – возврат на начало строки;

\a – звуковой сигнал.

  • Оператор ввода :

scanf(<форматная строка>, адреса переменных);

В отличие от printf () форматная строка должна включать в себя только форматы (если их несколько, они разделяются пробелами). Количество форматов определяется количеством переменных. Форматы при вводе переменных различных типов такие же, как и при выводе. Перед именами строк и массивов операция взятия адреса & не ставится, т.к. имя строки или массива само определяет их адрес.