Структура программы
Программа, написанная на языке С++, состоит из директив препроцессора, объявлений глобальных переменных, одной или нескольких функций, среди которых одна главная (main) функция управляет работой всей программы. Общая структура программы на языке С имеет вид: <директивы препроцессора> <определение типов пользователя – typedef> <прототипы функций> <определение глобальных объектов> <функции> Функции, в свою очередь, имеют структуру: <класс_памяти> <тип> <имя функции> (<объявление параметров>) {- начало функции <определение локальных объектов> <операции и операторы> }- конец функции
Операция присваивания имеет полную и сокращенную формы записи. Полная форма: ID = выражение; – выполняется справа налево, т.е. сначала вычисляется выражение, а затем его результат присваивается указанному ID, например: y=(x+2)/(3*x)–5; В одном операторе можно присвоить значение нескольким переменным, например: x = y = z = 0; или z = (x = y) * 5; – сначала переменной x присваивается значение переменной y, далее вычисляется выражение x *5, и результат присваивается переменной z. Сокращенная форма: ID операция= выражениe; где операция – одна из арифметических операций +, –, *, /, %;например: s += 7; (s = s+7;) или y *= x+3; (y = y*(x+3)); Сокращенная форма применяется, когда переменная используется в обеих частях ее полной формы. В языке С/С++ существуют операции инкремента (--) и декремента (++), т.е. уменьшения или увеличения значения переменной на 1. Операции могут быть префиксные (++ i и -- i) и постфиксные (i ++ и i --). При использовании данной операции в выражении в префиксной форме, сначала выполняется сама операция (изменяется значение i), и только потом вычисляется выражение. В постфиксной форме – операция применяется после вычисления выражения, например, для значений b = 7 и n = 1 будут получены следующие результаты: 1) c = b *++ n; – порядок выполнения: n = n +1, c = b * n, т.е. c = 14; 2) c = b * n ++; – в этом случае: c = b * n, n = n +1, т.е. c = 7. Еще несколько примеров: i += i; // равносильно i = i + 1; I *= 4; // равносильно i = I * 4; I /= 4; // равносильно i = i / 4; i -= i; // равносильно i = i - 1;
Операции языка С / С ++ (арифметические: +,–,*,/,%) и наиболее часто использующиеся стандартные математические функции описаны в прил.1.
Стандартные функции вывода информации Для вывода информации в консольном приложении чаще всего используются следующие функции: puts (S) – вывод строки символов S с переходом на начало новой строки и вывод данных с форматированием; рrintf (управляющая строка, список объектов вывода); управляющая строка – заключенная в кавычки строка, содержащая спецификации преобразования объектов вывода, управляющие символы (признак «\») и любой набор символов, использующийся в качестве поясняющего текста – указывает компилятору вид выводимой информации; список объектов вывода – печатаемые объекты (константы, переменные или выражения, вычисляемые перед выводом). Данные, указанные в списке выводятся в соответствии со спецификациями управляющей строки. Спецификации преобразования имеют вид % < флаг > < размер поля. точность > спецификация флаг: – (минус) выравнивание влево (по умолчанию выполняется выравнивание вправо); + (плюс) выводится знак положительного числа; размер поля – задает ширину поля вывода (количество символов), при недостаточном значении выполняется автоматическое расширение; точность – задает количество цифр в дробной части числа; спецификация – формат преобразования выводимого объекта. Приведем основные форматы печати: %d – десятичные целые (int); %c – один символ (char); %s – строка символов (string); %f – данные типа float; %ℓd – длинное целое; %ℓf – данные типа double; %x – шестнадцатеричные данные; %o – восьмеричные данные. При необходимости вывода управляющих символов (% \ и т.п.) их нужно указать 2 раза, например: printf("Только %d%% предприятий не работало. \n",5); получим: Только 5% предприятий не работало. Управляющие символы: \ n – переход на новую строку; \ t – горизонтальная; \ v – вертикальная табуляция; \ b – возврат назад на один символ; \ r – возврат в начало строки; \ a – звуковой сигнал; \ f – прогон бумаги до начала новой страницы; \? – знак вопроса.
|