Конец холивара. Pascal vs C
Шрифт:
{
a = x;
y1 = y;
}
else
b = x;
}
printf (“X=%f\n”, x);
getchar ;
return 0;
}
6. Что ещё интересного?
Язык C замышлялся его создателем Деннисом Ритчи, как язык структурного программирования, а предназначением его должно было стать системное программирование, то есть создание операционных систем и компиляторов для других языков программирования. Происходило это в период
Скорость выполнения программ написанных на C близка к скорости программ на ассемблерах. А синтаксис этого языка послужил образцом при создании многих языков нового поколения.
Иногда удобны применяемые в C унарные операции, например запись i++ вместо i = i +1.
Причём возможна и запись ++i – но это выражение увеличивает переменную на единицу до её использования, а не после, как в случае i++.
Например: Если x имеет значение 5, то оператор x=i++; установит x равным 5, а оператор x=++i: равным 6. Тем не менее в обоих случаях i после выполнения любого из операторов становится равным 6. Аналогично работают унарные операции уменьшения на единицу i – – и – – i. При этом унарные операции работают быстрее, чем бинарные.
В C возможна, например, такая странная запись:
x=a+ (b=5) -1;
Здесь переменная b получит значение 5, такое же значение будет присвоено выражению в скобках, и всё выражение в целом стане равным a+4.
Но я не советую злоупотреблять этой занятной возможностью, так как это усложняет понимание текста программы другими людьми.
В C имеется препроцессор, который осуществляет макроподстановки, подстановки файлов, условные подстановки и перенумерацию строк в тексте программы перед её компиляцией.
Отличительным признаком директивы препроцессора служит символ #, помещённый перед ней.
Например, если вы напишете в начале программы:
# define pi 3.14159
# define e 2.71828
То препроцессор заменит в ней все имена pi и e на соответствующие числовые константы. Такие действия называются макроподстановками.
Подстановку файлов, например #include <stdio. h>, вы уже встречали в примерах программ.
Этот язык по прежнему пользуется уважением профессионалов и рассказывать о нём можно долго, но я, чтобы не раздувать объём книги, отсылаю вас к приведённому в её конце списку хорошей специальной литературы.
Напутствие
Ну, вот, я и рассказал вам всё, что хотел. Книжка получилась достаточно компактной, поскольку, как и в лекциях моим студентам, я следовал принципу – “Ещё проще!” Собственно, то, что вы держите сейчас в руках – это переработка тех самых лекций, в которых я снова нашёл, что можно ещё упростить и выкинул ряд моментов, требующих дополнительных объяснений и, следовательно, отвлекающих внимание
Буду очень рад получить ваши отзывы на свою работу – по адресу:
Если книжка вам понравится, то, может быть, возьмусь за следующую. И, скорее всего, она будет посвящена моему любимому интернет-программированию.
Упражнения
1. Написать программу пересчёта температуры из шкалы Цельсия в шкалу Фаренгейта:
t (F) =t (C) x 1,8 +32, где t (F) – температура по Фаренгейту, а t (C) – температура по Цельсию.
2. Написать программу пересчёта цены товара с учётом скидки, заданной в процентах.
3. Написать программу вычисления пройденного пути по известным значениям скорости и времени.
4. Написать программу для вычисления переменной S:
S= 1 +1/2 +1/3 +1/4 +…+1/n, при n=30.
5. Написать программу полного исследования совокупности корней биквадратного уравнения AX4 + BX2 + C = 0. Если корней нет, то должно быть выведено текстовое сообщение об этом, иначе должны быть выведены два или четыре корня.
6. Даны положительные X, Y, Z. Выяснить, существует ли треугольник с длинами сторон X, Y, Z? Ответ получить в текстовой форме: существует или не существует.
7. Дано положительное A. Найти наибольшее число вида 1/2n, где n больше или равно 0, меньшее А.
8. Вывести таблицу значений функции Y = sin X. Таблица должна иметь две колонки, в i-ю строку таблицы заносятся значения Xi и Yi, где Xi = 0,1 x i, Yi = sin Xi (i = 0,1, 2, 3,…, 15).
9. Дан массив целых чисел. Написать программу поиска в массиве элемента с заданным значением. Если элемент имеется, то сообщить его индекс или индексы, если таковых найдётся несколько. Если элемента с заданным значением нет, то сообщить об этом.
10. Дан массив вещественных чисел. Написать программу поиска минимального элемента массива.
11. Дан двумерный массив вещественных чисел. Написать программу поиска максимального элемента массива.
12. Выяснить, имеются ли среди данных символов S1,…, Sn совпадающие.
Литература
Это книги по которым я сам учился программированию и которые использовал, готовя лекции для своих студентов в колледжах. Я храню их в своей личной библиотеке и всячески рекомендую вам поискать их в тех библиотеках, услугами которых вы, надеюсь, пользуетесь, или найти их отсканированными в сети. Хотя они и не самые новые, но, поверьте, они стоят того, чтобы ими воспользоваться и сейчас.
1. Вишняков Ю. С. и др. Простое и сложное в программировании/ Авт. предисл. Е. П. Велихов. – М.: Наука, 1988. – 176 с.: ил.