- •Глава I.
- •1. Простейшие программы ......................................................................................... 3
- •2. Переменные ............................................................................................................... 7
- •3. Выбор вариантов ................................................................................................... 14
- •4. Циклы ....................................................................................................................... 19
- •5. Методы отладки программ ................................................................................. 27
- •1. Простейшие программы
- •1) Трансляция – перевод текста программы в машинные коды;
- •2) Компоновка – сборка частей программы и подключение стандартных функций.
- •I. Введение в программирование © к. Поляков, 1995-2009
- •1 Препроцессор – это специальная программа, которая обрабатывает текст вашей программы раньше транслятора.
- •I. Введение в программирование © к. Поляков, 1995-2009
- •2. Переменные
- •Int a; // выделить память под целую переменную a
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Int a, b, c; // объявление переменных
- •I. Введение в программирование © к. Поляков, 1995-2009
- •I. Введение в программирование © к. Поляков, 1995-2009
- •6 Знаков в дробной части.
- •6 Позиций (4 цифры в дробной
- •10 В этой степени). При выводе по u1092 формату %e также можно задать число позиций, которые
- •I. Введение в программирование © к. Поляков, 1995-2009
- •3. Выбор вариантов
- •If ( условие ) // заголовок с условием
- •If ( условие )
- •I. Введение в программирование © к. Поляков, 1995-2009
- •I. Введение в программирование © к. Поляков, 1995-2009
- •4. Циклы
- •Int I; // объявление переменной цикла
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Int I, n; // I – переменная цикла
- •Int n; // число, с которым работаем
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Int n, sum; // sum - сумма цифр числа
- •I. Введение в программирование © к. Поляков, 1995-2009
- •If ( надо выйти ) break;
- •I. Введение в программирование © к. Поляков, 1995-2009
- •5. Методы отладки программ
- •I. Введение в программирование © к. Поляков, 1995-2009
- •I. Введение в программирование © к. Поляков, 1995-2009
- •6. Работа в графическом режиме
- •Initwindow ( 400, 300 ); // открыть окно для графики 400 на 300
- •I. Введение в программирование © к. Поляков, 1995-2009
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Initwindow (440, 300);
- •7. Процедуры
- •Void Tr ( int X, int y, int c )
- •Void Tr ( int X, int y, int c )
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Initwindow (400, 300);
- •2 Позднее мы изучим подпрограммы, которые возвращают значение-результат – они называются функциями.
- •I. Введение в программирование © к. Поляков, 1995-2009
- •8. Функции
- •Int SumDigits ( int n ) // заголовок функции
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Int Prime ( int n ); // объявление функции
- •If ( Prime(n) ) // вызов функции
- •Int Prime ( int n ) // описание функции
- •Int MinMax ( int a, int b, int &Max )
- •I. Введение в программирование © к. Поляков, 1995-2009
- •9. Структура программ
- •Void ProcNoChange ()
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Void Square ( int X, int y, int a );
- •Void Kvadrat ( int X, int y, int a );
- •Int Romb ( int X, int y, int a, int b, int color,
- •Int colorFill )
- •I. Введение в программирование © к. Поляков, 1995-2009
- •10. Анимация
- •1) Рисуем фигуру на экране;
- •1. Проверяем, нажата ли какая-нибудь клавиша; это делает функция kbhit, которая воз-
- •If ( kbhit() ) { ... }
- •2. Если клавиша нажата, то
- •Void Draw ( int X, int y, int color )
- •20 Мс, вызывая функцию delay с параметром 20, и затем стираем фигуру. После этого изменя-
- •2 Нажатия, причем для первого код символа всегда равен нулю, а для второго мы получим спе-
- •I. Введение в программирование © к. Поляков, 1995-2009
- •If ( kbhit() ) { // если нажата клавиша
- •11. Случайные и псевдослучайные числа
- •I. Введение в программирование © к. Поляков, 1995-2009
- •Int random ( int n )
- •Int random (int n) { return rand() % n; } // функция
- •Initwindow (500, 500); while ( ! kbhit () ) { // пока не нажата клавиша
I. Введение в программирование © к. Поляков, 1995-2009
http://kpolyakov.narod.ru
12
printf("[%6d]", 1234); [ 1234] 6 позиций, выравнивание вправо.
printf("[%-6d]", 1234); [1234 ] 6 позиций, выравнивание влево.
printf("[%2d]", 1234); [1234]
Число не помещается в заданные 2
позиции, поэтому область вывода
расширяется.
Для вывода символов используются такие же приемы форматирования, но формат %d заменяет-
ся на %c.
Вещественные числа
Для вывода (и для ввода) вещественных чисел могут использоваться три формата: %f,
%e и %g. В таблице показаны примеры использования формата %f.
Пример вывода Результат Комментарий
printf("[%f]", 123.45); [123.450000] Минимально возможное поле,
6 Знаков в дробной части.
printf("[%9.3f]", 123.45); [ 123.450]
Всего 9 позиций, из них 3 – для
дробной части, выравнивание
вправо.
printf("[%-9.3f]", 123.45); [123.450 ]
Всего 9 позиций, из них 3 – для
дробной части, выравнивание
влево.
printf("[%6.4f]", 123.45); [123.4500]
Число не помещается в заданные
6 Позиций (4 цифры в дробной
части), поэтому область вывода
расширяется.
Формат %e применяется в научных расчетах для вывода очень больших или очень ма-
леньких чисел, например, размера атома или расстояния до Солнца. С представлением числа в
так называемом стандартном виде (с выделенной мантиссой и порядком). Например, число
123.45 может быть записано в стандартном виде как 123.45 = 1.2345×102 . Здесь 1.2345 –
мантисса (она всегда находится в интервале от 1 до 10), а 2 – порядок (мантисса умножается на
10 В этой степени). При выводе по u1092 формату %e также можно задать число позиций, которые
отводятся для вывода числа, и число цифр в дробной части мантиссы. Порядок всегда указыва-
ется в виде двух цифр, перед которыми стоит буква e и знак порядка (плюс или минус).
Пример вывода Результат Комментарий
printf("[%e]", 123.45); [1.234500e+02]
Минимально возможное по-
ле, 6 знаков в дробной части
мантиссы.
printf("[%12.3e]", 123.45); [ 1.234e+02]
Всего 12 позиций, из них 3 –
для дробной части мантис-
сы, выравнивание вправо.
printf("[%-12.3e]", 123.45); [1.234e+02 ]
Всего 12 позиций, из них 3 –
для дробной части мантис-
сы, выравнивание влево.
Программирование на языке Си. © К. Поляков, 1995-2009
http://kpolyakov.narod.ru
13
printf("[%6.2e]", 123.45); [1.23e+02]
Число не помещается в за-
данные 6 позиций (2 цифры
в дробной части мантиссы),
поэтому область вывода
расширяется.
Формат %g применяется для того, чтобы удалить лишние нули в конце дробной части
числа и автоматически выбрать формат (в стандартном виде или с фиксированной точкой). Для
очень больших или очень маленьких чисел выбирается формат с плавающей точкой (в стан-
дартном виде). В этом формате можно задать общее число позиций на число и количество зна-
чащих цифр.
Пример вывода Результат Комментарий
printf("[%g]", 12345);
printf("[%g]", 123.45);
printf("[%g]", 0.000012345);
[12345]
[123.45]
[1.2345e-05]
Минимально возможное
поле, не более 6 значащих
цифр.
printf("[%10.3g]", 12345);
printf("[%10.3g]", 123.45);
printf("[%10.3g]",0.000012345);
[ 1.23e+04]
[ 123]
[ 1.23e-05]
Всего 10 позиций, из них 3
значащие цифры, выравни-
вание вправо. Чтобы сде-
лать выравнивание влево,
используют формат
"%-10.3g".