- •Часть 1. Структурное программирование
- •Екатеринбург
- •Введение
- •Состав языка Алфавит языка
- •Идентификаторы
- •Зарезервированные (ключевые) слова
- •Знаки операций
- •Константы
- •Комментарии
- •Типы данных
- •Основные типы данных
- •Структура программы
- •Переменные и выражения Переменные
- •Операции
- •Примеры операций
- •Выражения
- •Функции ввода-вывода Основные функции ввода-вывода в стиле с
- •Спецификации формата
- •Модификаторы формата
- •Операторы Оператор "выражение"
- •Условный оператор if
- •Оператор switch
- •Цикл с предусловием
- •Цикл с постусловием
- •Цикл с параметром for
- •Операторы передачи управления Оператор безусловного перехода
- •Инициализация указателей
- •Операции с указателями
- •Массивы Одномерные массивы
- •Динамические массивы
- •Многомерные массивы
- •Задание Написать программу, вычисляющую среднее арифметическое для каждого столбца и каждой строки двумерного числового массива a[4, 5]. Строки
- •Типы данных, определенные пользователем
- •Переименование типов
- •Перечисления
- •Структуры
- •БиблиогрАфичеСкий список
- •ОглавлеНие
- •Часть 1. Структурное программирование
- •620002, Екатеринбург, ул.Мира, 19
- •620002, Екатеринбург, ул.Мира, 19
Модификаторы формата
Модификаторы формата применяются для управления шириной поля, отводимого для размещения значения. Модификаторы − это одно число или два, первое из которых задает минимальное количество позиций, отводимых под число, а второе − сколько из этих позиций отводится под дробную часть числа (точность):
- % - minC или %minC
- % - min.precisionC или % min.precisionC
Здесь С − это спецификации формата; min − число, задающее минимальную ширину поля. Смысл модификатора precision, задаваемого десятичным числом, зависит от спецификации формата, с которой он используется:
- при выводе строки (спецификация %s) precision указывает максимальное число символов для вывода;
- при выводе вещественного числа (спецификации %f или %e) precision указывает количество цифр после десятичной точки;
- при выводе целого числа (спецификации %d или %i) precision указывает минимальное количество выводимых цифр. Если число представляется меньшим числом цифр, чем указано в precision, выводятся ведущие нули.
Символ "-" указывает, что значение выравнивается по левому краю и, если нужно, дополняется пробелами справа. При отсутствии минуса значение выравнивается по правому краю и дополняется пробелами слева.
Вывод в стиле С++
Для ввода-вывода в стиле С++ используются стандартные объекты-потоки cin для ввода с клавиатуры и cout для вывода на экран, а также операции помещения в поток << и чтения из потока >> (см. методические указания “Программирование на яыке С++. Часть 4. Стандартная библиотека)”.
Пример
# include <iostream.h>
int main ( ) {
int i;
cout << "Введите целое число \n";
cin >> i;
cout << "Вы ввели число" << i;
return 0;
}
Операторы Оператор "выражение"
Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении выражения.
Примеры
i ++; // операция инкремента
a = d + c; // присваивание
fun (i, k); // вызов функции
Условный оператор if
Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора:
if (выражение) оператор_1; [else оператор_2;]
Сначала вычисляется выражение. Если оно не равно нулю (имеет значение true), выполняется первый оператор, иначе − второй. Ветвь else может отсутствовать (квадратные скобки в данном случае означают необязательный параметр). Если в какой-либо ветви требуется выполнить несколько операторов, их необходимо заключить в блок (в фигурные скобки). Блок может содержать любые операторы, в том числе и описания.
Примеры
if (a < 0) b = 1;
if (a ++) b ++;
if (b > a) max = b; else max = a;
if (a < b && a > d) b ++; else {b = a; a =0;}
Распространенная ошибка при записи условных операторов − использование в выражениях вместо проверки на равенство ( = = ) простого присваивания ( = ), например:
if (a = 1) b =0;
Синтаксической ошибки здесь нет, так как операция присваивания формирует результат, который оценивается на равенство или неравенство нулю. В этом примере присваивание переменной b будет выполнено независимо от значения переменной а.
Вторая ошибка − неверная запись проверки на принадлежность диапазону. Например, чтобы проверить условие 0 < x < 1, нельзя его записать в условном операторе непосредственно:
if ( 0 < x < 1)...;
Здесь тоже нет синтаксической ошибки. Правильный способ записи:
If (0<x && x<1) ...;
Задание
Написать программу, вычисляющую корни квадратного уравнения. Для вычисления квадратного корня воспользуйтесь функцией sqrt (заголовочный файл <math.h>).