Конец холивара. Pascal vs C - [6]
%c – символ;
%s – строка;
%d – целое десятичное число (тип int);
%u – целое десятичное число без знака (тип unsigned);
%f – вещественные числа в форме с фиксированной точкой;
%е – вещественные числа в форме с плавающей точкой.
Соответствие между спецификаторами формата и элементами списка аргументов устанавливается в порядке их записи слева направо.
Использование функций ввода и вывода смотрите в примерах программ далее по тексту.
Арифметические операции
Унарные операции – применяются к одной переменной.
++ – увеличение на единицу (x++ выдаёт старое значение, ++x – новое значение).
– – – уменьшение на единицу, аналогично операции ++.
Бинарные операции – стоят между двумя переменными или числами.
* – умножение.
/ – деление.
% – остаток от деления (только для int или long).
+ – сложение.
— – вычитание.
Стандартные математические функции
Для того, чтобы использовать эти функции в начале программы должно стоять:
#include
abs (x) – возвращает абсолютное значение целого аргумента x.
acos (x) – арккосинус x.
asin (x) – арксинус x.
atan (x) – арктангенс x.
cos (x) – косинус x.
exp (x) – e>x.
fabs (x) – абсолютное значение вещественного аргумента x.
floor (x) – наибольшее целое, не превышающее значения х.
labs (x) – абсолютное значение целого аргумента long x.
log (x) – ln x.
log10 (x) – log >10 x.
pow (x, y) – х в степени у.
sin (x) – синус x – угол задается в радианах.
sqrt (x) – квадратный корень x.
tan (x) – тангенс x – угол задается в радианах.
Это только основные функции, которые могут понадобиться на первом этапе освоения языка.
Оператор присваивания
x = … – пусть x будет…
2. Программные конструкции
2.1. Ветвление (выбор)
2.1.1. Альтернатива (условный оператор)
Пример 2.1: Вычисление значений функции Y=1/X.
#include
int main ()
{
float x;
printf (“Введите число\n”);
scanf (”%f”, &x);
if (x!= 0)
printf (“Y=1/X=%f\n”, 1/x);
else
printf (“0 не входит в область определения функции Y=1/X\n”);
getchar ();
return 0;
}
2.1.2. Неполный условный оператор
Пример 2.2: Если X <3, то вывести на печать значение X.
if (x <3)
printf (”%f”, x);
> – больше
< – меньше
> = – не меньше
<= – не больше
= = – равно
!= – не равно
! – не
&& – и
|| – или
Примеры сложных (составных) условий:
if (a == 2 && b> 5)…
if (a == 2 || b> 5)…
if (! (a == 4))…
2.1.3. Оператор варианта (переключатель)
Переключатель в C существенно отличается от подобного в Pascal. Например, в нём нельзя в одном варианте выбора предлагать через запятую несколько констант. Зато у переключателя в C есть вариант по умолчанию. Поэтому, я привожу для разбора другой, но тоже простой и наглядный, пример.
Пример 2.3: При вводе номера дня недели программа сообщает название рабочего дня или сообщение “Выходной!”
#include
int main ()
{
int n;
printf (“Введите номер дня недели\n”);
scanf (”%d”, &n);
switch (n)
{
case 1: printf (“Понедельник\n”); break;
case 2: printf (“Вторник\n”); break;
case 3: printf (“Среда\n”); break;
case 4: printf (“Четверг\n”); break;
case 5: printf (“Пятница\n”); break;
case 6: printf (“Выходной!\n”); break;
case 7: printf (“Выходной!\n”); break;
default: printf (“Вы заработались :-) \n”);
}
getchar ();
return 0;
}
Как видите, данный оператор не может похвастаться хвалёной компактность записи, столь свойственной C. В Pascal подобная структура реализована куда элегантней. Вообще, современные среды программирования сводят на нет преимущество в экономии нажатий клавиш, поскольку все они обладают опцией автозавершения. Но данному монстру из C завоевать любовь программистов не поможет даже это.
SWITCH – переключатель, железнодорожная стрелка.
CASE – случай, обстоятельство.
BREAK – прервать.
DEFAULT – отсутствие, исключение, по умолчанию.
2.2. Повторение (операторы цикла)
2.2.1. Цикл типа “пока” (цикл с предусловием)
Пример 2.4: Программа находит наибольший общий делитель двух целых чисел.
#include
#include
int main ()
{
int x, y;
printf (“Введите два целых числа через пробел\n”);
int r = scanf (”%d%d”, &x, &y);
assert (r == 2);
while (x!= y)
if (x> y)
x = x – y;
else
y = y – x;
printf (“НОД=%d\n”, x);
getchar ();
return 0;
}
Для проверки соответствия ввода пользователя требованиям программы мы сохраняем (=) результат выполнения scanf – количество успешно измененных переменных – в целочисленной переменной с именем r (int r), после чего требуем равенства её значения двум
(assert (r == 2);
Для этого и нужна директива препроцессора
#include
2.2.2. Цикл, который выполняется не меньше одного раза
Обратите внимание, что в цикле используется условие продолжения, а не завершения повторения! Это не цикл “до”, подобный REPEAT… UNTIL в Pascal, хотя назначение его то же – позволить телу цикла выполнится хотя бы один раз.
Пример 2.5: Решение предыдущей задачи.
#include
#include
int main ()
{
int x, y;
printf (“Введите два целых числа через пробел\n”);
int r = scanf (”%d%d”, &x, &y);
assert (r == 2);
do
if (x> y)
x = x – y;
else
y = y – x;
while (x!= y);
printf (“НОД=%d\n”, x);
getchar ();
return 0;
}
2.2.3. Цикл с параметром (со счётчиком)
Пример 2.6: Вычислить факториал числа (n!=1×2×3×…×n).
#include
int main ()
{
int f=1, k, n;
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.
Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.