Методическая разработка по C++
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
ражения, вырабатывающие значения типа int), соединенных между собой операцией И (&&), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается значение нуль. Если выражение составлено из логических утверждений, соединенных между собой операцией ИЛИ (||), то вычисление выражения прекращается, как только хотя бы в одном логическом утверждении вырабатывается ненулевое значение.
Вот несколько примеров, в которых используются логические операции:
if( i > 50 && j == 24)
...
if( value1 50 || value4 < 20) )
...
Операции присваивания
К операциям присваивания относятся =, +=, -=, *= и /=, а также префиксные и постфиксные операции ++ и --. Все операции присваивания присваивают переменной результат вычисления выражения. Если тип левой части присваивания отличается от типа правой части, то тип правой части приводится к типу левой.
В одном операторе операция присваивания может встречаться несколько раз. Вычисления производятся справа налево.
Например:
a = ( b = c ) * d;
Вначале переменной d присваивается значение с, затем выполняется операция умножения на d, и результат присваивается переменной а.
Операции +=, -=, *= и /= являются укороченной формой записи операции присваивания. Их применение проиллюстрируем при помощи следующего описания:
a += b означает a = a + b.
a -= b означает a = a - b.
a *= b означает a = a * b.
a /= b означает a = a / b.
Префиксные и постфиксные операции ++ и -- используют для увеличения (инкремент) и уменьшения (декремент) на единицу значения переменной.
Семантика указанных операций следующая:
++a увеличивает значение переменной а на единицу до использования этой переменной в выражении.
а++ увеличивает значение переменной а на единицу после использования этой переменной в выражении.
--a уменьшает значение переменной а на единицу до использования этой переменной в выражении.
a-- уменьшает значение переменной а на единицу после использования этой переменной в выражении.
Операцию sizeof (размер) можно применить к константе, типу или переменной. В результате будет получено число байтов, занимаемых операндом.
Например:
printf ( "\nРазмер памяти под целое %d", sizeof( int) );
printf ( "\nРазмер памяти под cимвол %d", sizeof( сhar) );
Задание: Cоставить и распечатать программу, использующую оператор присваивания, арифметические операции и операцию sizeof.
Лабораторная работа 4
Функции
(2 часа)
Цель работы: Изучение логической организации программы и простейшее использование функций в Турбо Си.
Процесс разработки программного обеспечения предполагает разделение сложной задачи на набор более простых задач и заданий. В (Турбо) Си поддерживаются функции как логические единицы (блоки текста программы) , служащие для выполнения конкретного задания.
Важным аспектом разработки программного обеспечения является функциональная декомпозиция.
Функции имеют нуль или более формальных параметров и возвращают значение скалярного типа, типа void (пусто) или указатель. При вызове функции значения, задаваемые на входе, должны соответствовать числу и типу формальных параметров в описании функции. Если функция не возвращает значения (т.е. возвращает void), то она служит для того, чтобы изменять свои параметры (вызывать побочный эффект) или глобальные для функции переменные.
Например, функция, возвращающая куб ее вещественного аргумента:
double cube( double x )
{
return x * x * x ;
}
Аргумент х типа double специфицируется вслед за первой открывающей скобкой. Описание extern , помещаемое в функцию main , является ссылкой вперед , позволяющей использовать функцию cube в функции main. Ключевое слово extern можно опускать, но сама ссылка вперед на описание функции является обязательной.
Логическая организация простой программы на Турбо Си.
(Турбо) Си предоставляет необычайно высокую гибкость для физической организации программы или программной системы.
В табл.1 показана типичная организация небольшой программы на (Турбо) Си.
/* Заголовки и комментарии, описывающие программу */
/* Директивы include */
#include имя_файла_1
...
#include имя_файла_n
/* Макро */
#define макро_1 значение_1
...
#define макро_n значение_n
/* Описание глобальных переменных */
тип_данных глобальная_переменная_1;
...
тип_данных глобальная_переменная_n;
main()
{
/* описание extern, обеспечивающие ссылку вперед на функции и используемые в теле функции main */
/* Описание локальных переменных */
тип_данных локальная_переменная_1;
...
тип_данных локальная_переменная_m;
/* Тело функции main */
...
}
/* Функции, используемые в программе main */
Тип_данных имя_функции_1( формальные параметры )
{
/* Описание extern, обеспечивающее ссылку вперед на функции и используемые в теле данной функции */
/* Описание локальных переменных */
тип_данных локальная_переменная_1;
...
тип_данных локальная_переменная_u;
/* Тело функции - 1 */
...
}
...
Тип_данных имя_функции_n( формальные параметры )
{
/* Описание extern, обеспечивающая ссылку вперед на функции и используемые в теле данной функции n */
/* Описание локальных переменных */
тип_данных локальная_переменная_1;
...
тип_да?/p>