1. ГОСТ 19.701-90. ЕСПД. Схемы алгоритмов, пpогpамм, данных и систем. – М.: Изд-во стандартов, 1991. – 26 с.
2. Крылов, Е.В. Техника разработки программ / Е.В. Крылов, В.А. Острейковский, Н.Г. Типикин. – М.: Высш. шк., 2008. – 469 с.
3. Пpогpаммиpование на С и С++: практикум / А.В. Кpячков [и дp.]. – М.: Радио и связь, 1997. – 344 с.
4. Макогон, В.С. Язык программирования Си для начинающих / В.С. Макогон. – Одесса: НПФ "АСТРОПРИНТ", 1993. – 96 с.
5. Методы проектирования программ: метод. указания / сост. О. П. Шафеева. – Омск: Изд-во ОмГТУ, 2004. – 32 с.
6. Павловская, Т.А. С/С++. Программирование на языке высокого уровня / Т.А. Павловская. – СПб.: Питер, 2002. – 462 с.
7. Подбельский, В.В. Программирование на языке Си / В.В. Подбельский, С.С. Фомин. – М., 2000. – 600 с.
8. Флоренсов, А.Н. Введение в программирование. Семантический подход: учеб. пособие / А.Н. Флоренсов. – Омск: Изд-во ОмГТУ, 1998. – 220 с.
9. Численные методы: метод. указания / сост.: О. Б. Малков, Е. Т. Гегечкори. – Омск: Изд-во ОмГТУ, 1995. – 28 с.
10. Шафеева, О.П. Технологии программирования. С++: учеб. пособие / О.П. Шафеева. – Омск: Изд-во ОмГТУ, 2007. – 80 с.
11. Программирование на языке С: метод. указания / сост. О. П. Шафеева, Ю. Г. Каворина, Г. С. Шукурова. – Омск: Изд-во ОмГТУ, 2008. – 72 с.
Приложение А
Операции языка С/С++
Вес | Знак | Наименование операции | Вид операции | Порядок |
() [] . -> | вызов функции выделение элемента массива выделение элемента структуры или объединения выделение элемента структуры, адресуемой (го) указателем | выражение | слева направо ® | |
! ~ - ++ -- & * (тип) sizeof | логическое отрицание побитовое отрицание изменение знака (унарный минус) увеличение на 1 (инкремент) уменьшение на 1 (декремент) определение адреса обращение по адресу преобразование типа определение размера в байтах | унарные | справа налево | |
* / % | умножение деление остаток от деления | бинарные арифметич. | ® | |
+ - | сложение вычитание | бинарные арифметич. | ® | |
<< >> | сдвиг влево сдвиг вправо | сдвига | ® | |
< <= > >= | меньше чем меньше или равно больше чем больше или равно | отношения | ® | |
== != | равно неравно | отношения | ® | |
& | поразрядная операция "И" | побитовая | ® | |
^ | «исключающее "ИЛИ"» | побитовая | ® | |
| | поразрядная "ИЛИ" | побитовая | ® | |
&& | логическая операция "И" | логическая | ® | |
|| | логическая операция "ИЛИ" | логическая | ® | |
?: | условная операция | тернарная | ||
= += -= *= /= %= <<= >>= &= |= ^= | простое присваивание составные присваивания: сложение с присваиванием вычитание с присваиванием умножение с присваиванием деление с присваиванием остаток от деления с присваиванием сдвиг двоичного числа влево с присв. сдвиг двоичного кода вправо с присв. побитовая операция "И" с присв. поразрядная операция "ИЛИ" c присв. исключающее "ИЛИ" с присв. | присваивания бинарные (для двоичных операндов) | ||
, | операция "запятая" (соединения) | тернарная | ® |
Приложение Б
Типы данных
Обозначение | Размер, байт | Диапазон | Тип данных |
char, signed char | -128...127 | Символьный со знаком | |
unsigned char | 0...255 | Символьный без знака | |
short, short int, signed short, signed short int | -32768...32767 | Короткое целое со знаком | |
unsigned short, unsigned short int | 0...65535 | Короткое целое без знака | |
int, signed, signed int | 1, 2, 4 | Зависит от реализации | Целое |
unsigned, unsigned int | 1, 2, 4 | Зависит от реализации | Целое без знака |
long, signed long, long int | -2147483648… 2147483647 | Длинное целое со знаком | |
unsigned long | 0...4294967295 | Длинное целое без знака | |
float | -3.4e-38... 3.14e+38 | Вещественное число с плавающей точкой | |
double | -1.7е-308… 1.7е308 | Вещественное число удвоенной точности | |
long double | -3.4e-4932....4e4932 | Длинное вещественное число удвоенной точности |
Приложение В
Операторы языка С/С++
1. Оператор "Выражение" имеет три формы:
<идентификатор>=<выражение>; // выполяет простое присваивание;
<идентификатор><знак>=<выражение>; // составное присваивание,
<идентификатор>=<идентификатор>=<выражение>; //реализует многоступенчатое присваивание справа налево.
Примеры: z = x; w += 2; /* w = w + 2*/ s = t = 1;
2. Условный оператор записывается следующим способом:
if (<выражение>) <оператор1;>
else (<оператор2>);
Пример: a) if (k!= 0) k = k +1; b) if (k) k++;
else k = k-1; else k--;
3. Оператор цикла со счетчиком:
for (<выражение1>;<условие выполнения>;<выражение2>) <оператор>;
где <выражение1> - выражение инициализации параметра цикла,
<выражение2> - изменение параметра цикла.
Пример: for ( i=0; i<100; i++ ) sum += x[i]; // sum = sum + x[i];
4. Оператор цикла с предусловием:
while (<выражение>) <оператор>;
Пример: while (i<100) p++;
5. Оператор цикла с постусловием
do {<операторы>} while (<условие выполнения цикла>);
Пример: do
{
n *= i;
i++;
}
while (i <= 100);
6. Оператор безусловного перехода:
goto < идентификатор-метка >;
7. Оператор возврата из функции:
return < выражение >;
8. Оператор-переключатель:
switch (<выражение>)
{
case <константа1>: <группа операторов1>;
case <константа2>: <группа операторов2>;
...
case <константаN>: <группа операторовN>;
default: <операторы>;
};
Метки определяют точки входа в тело оператора. Чтобы выполнить только одно действие, необходимо предусмотреть выход из данного оператора в нужном месте.
Пример:
switch (operand)
{
case 1: x *= y; break;
case 2: x /= y; break;
case 3: x += y; break;
case 4: x -= y; break;
case 5: x++; break;
case 6: x++; break;
case 7: case 8: case 9: printf("Not done\n"); break;
default: printf("Bye!\n"); exit(1);
}
9. Оператор break;
организует досрочный выход из операторов while, do, for или switch.
10. Оператор continue;
выполняет переход на следующую итерацию и выполняет первый оператор тела цикла while, do или for.
Пример:
for (i = 0; i < 20; i++)
{
if (array[i] == 0)
continue;
array[i] = 1/array[i];
}
СОДЕРЖАНИЕ
Лабораторная работа № 1
Основы программирования в системе Visual Studio С/C++........................ 3
Лабораторная работа № 2
Разработка программ из нескольких функций.
Обработка двумерных массивов.................................................................... 7
Лабораторная работа № 3
Применение адресов и указателей при возврате
из функций нескольких значений................................................................. 11
Лабораторная работа № 4
Создание проектов из нескольких файлов в Eclipse IDE С/С++............ 15
Лабораторная работа № 5.
Программирование с возвратом из функции структур............................ 20
Лабораторная работа № 6.
Основы программирования в системе Code::Blocks.................................. 21
Библиографический список........................................................................... 27
Приложение А. Операции языка С/С++....................................................... 28
Приложение Б. Типы данных....................................................................... 29
Приложение В. Операторы языка С/С++.................................................... 30
Редактор Т. А. Москвитина
Компьютерная верстка – Т. А. Бурдель
ИД № 06039 от 12.10.2001 г.
Сводный темплан 2012 г.
Подписано в печать 28.04.2012. Формат 60×84 1/16. Бумага офсетная.
Отпечатано на дупликаторе. Усл. печ. л. 2,0. Уч.-изд. л. 2,0.
Тираж 50 экз. Заказ 348.
_________________________________________________________
Издательство ОмГТУ. 644050, г. Омск, пр. Мира, 11; т. 23-02-12
Типография ОмГТУ