- •23.4F 67.7e-24f - float
- •89UL 89Lu 89ul 89 lu - unsigned short
- •Void main ()
- •Void main ( )
- •If (условие) оператор;
- •Void main ( )
- •Void textbackground (int bkcolor);
- •Void textcolor (int txcolor);
- •Void clrscr ();
- •If (условие) оператор1; else оператор2;
- •If (X) оператор;
- •If (выражение1) оператор1;
- •Void main()
- •Void main()
- •Void main()
- •Void main()
- •Void main()
Void main ()
{
// инициализация переменных
// вычисление выражения
cout<<”Result=”<<y;
// операция над результирующей переменной
cout<<”Result operation”<<y;
}
1.4.1 Согласно варианту (таблица 1.1) записать арифметическое выражение, используя библиотеку стандартных математических функций.
1.4.2 Инициализировать все входные и объявить все выходные переменные, используя известные типы данных.
1.4.3 Разместить переменные и выражение в заготовке программы.
1.4.4 Выполнить с результирующей переменной операцию, указанную в варианте (таблица 1.1).
Таблица 1.1 – Варианты заданий
№ варианта |
Арифметическое выражение |
Входные переменные |
Константы (const) |
Операция |
1 |
|
a, b |
c |
инкремент |
2 |
|
x, z |
a |
декремент |
3 |
|
x, z |
a |
*= const |
4 |
|
a, b |
c |
-=const |
5 |
|
x, z |
a |
+=const |
6 |
|
a, b |
x |
/=const |
7 |
|
x, z |
a |
декремент |
8 |
|
x, z |
b |
декремент |
9 |
|
a, b |
x |
*= const |
10 |
|
a, b |
x |
-=const |
11 |
|
x, z |
a |
+=const |
12 |
|
x, z |
b |
/=const |
13 |
|
x, z |
b |
инкремент |
14 |
|
x, z |
b |
декремент |
15 |
|
x, z |
a |
*= const |
16 |
|
a, b |
x |
-=const |
Окончание таблицы 1.1
17 |
|
x, z |
b |
+=const |
18 |
|
a, b |
x |
/=const |
19 |
|
a, b |
x |
инкремент |
20 |
|
x, z |
a |
инкремент |
21 |
|
x, z |
a |
*= const |
22 |
|
x, z |
a |
-=const |
23 |
|
a, b |
x |
+=const |
24 |
|
a, b |
c |
/=const |
25 |
|
a, b |
x |
инкремент |
26 |
|
a, b |
x |
декремент |
27 |
|
a, b |
x |
*= const |
28 |
|
x, z |
a |
-=const |
29 |
|
a, b |
c |
+=const |
30 |
|
x, z |
a |
/=const |
1.5 Контрольные вопросы
1.5.1 Какие особенности языка следует учитывать при идентификации переменных? Как инициализируется переменная?
1.5.2 Как подключаются необходимые библиотеки? Где они размещаются?
1.5.3 Какие типы комментариев существуют в С++ и в чем их разница?
1.5.4 В чем заключаются особенности функции main()?
1.5.5 Перечислите базовые типы данных. Какие модификаторы могут быть использованы для получения новых типов?
1.5.6 Каковы особенности операции присваивания в С++?
1.5.7 Каковы преимущества использования ключевого слова const вместо директивы #define?
1.5.8 Что представляют собой перечислимые константы и как они объявляются?
1.5.9 Что представляют собой выражения и операции? Какие существуют типы операндов?
1.5.10 С какой целью выполняется преобразование типов и каких правил следует придерживаться при этом?
2 Лабораторная работа №2. Программирование алгоритмов линейной и разветвляющейся структуры
Цель работы – ознакомиться с особенностями использования операторов ввода-вывода данных и операторов передачи управления, а также с программированием алгоритмов линейной и разветвленной структур.
2.1 Линейные алгоритмы и операторы ввода-вывода
В любой достаточно сложной программе можно выделить линейные фрагменты. Фрагмент программы имеет линейную структуру, если все операции в нем выполняются последовательно, друг за другом, и может содержать операторы присваивания, математические функции, арифметические операции, функции ввода-вывода данных и другие операторы, не изменяющие общего порядка следования операторов.
Редкая программа обходится без операций ввода-вывода. В языке С его авторами были реализованы две новаторские идеи: средства ввода-вывода были отделены от языка и вынесены в отдельную библиотеку stdio (стандартная библиотека ввода-вывода, входит в стандарты С/C++), а также была разработана и реализована концепция процесса ввода/вывода, независимого от устройств. Таким образом, С++ имеет большой набор функций, осуществляющих ввод-вывод данных различных типов.
Для реализации форматного ввода-вывода часто используются две функции, подключаемые с помощью заголовочного файла #include <stdio.h>: printf и scanf. Использование этих функций С++ унаследовал от своего «прародителя» языка С.
Функцию printf можно использовать для вывода любой комбинации символов, целых и вещественных чисел, строк, беззнаковых целых, длинных целых и беззнаковых длинных целых. Она описывается следующим образом:
printf (“управляющая_строка”, список_аргументов);
Список аргументов – это последовательность констант, переменных или выражений, значения которых выводятся на экран в соответствии с форматом управляющей строки, которая определяет количество, тип аргументов и обычно содержит следующие объекты:
- обычные символы, выводимые на экран без изменений;
- спецификации преобразования, каждая из которых вызывает вывод на экран значения очередного аргумента из последующего списка аргументов;
- управляющие символьные константы (список наиболее используемых констант приводится в таблице A1).
Спецификация преобразования начинается с символа % и заканчивается символом преобразования (таблица A6), между которыми могут записываться:
- знак «минус», указывающий на то, что выводимый текст выравнивается по левому краю, по умолчанию выравнивание происходит по правому краю;
- строка цифр, задающая минимальный размер поля вывода;
- точка, являющаяся разделителем;
- строка цифр, задающая точность вывода;
- символ l, указывающий, что соответствующий аргумент имеет тип long.
Например,
printf ("\nВозраст Эрика - %d. Его доход $%.2f", age, income);
Предполагается, что целой переменной age (возраст) и вещественной переменной income (доход) присвоены какие-то значения. Последовательность символов \n переводит курсор на новую строку, поэтому последовательность символов «Возраст Эрика» будет выведена с начала новой строки. Символы %d являются символами преобразования формата (спецификацией) для переменной age. Затем следует литерная строка «Его доход $» и символы %.2f - спецификация для значения переменной income, а также указание формата для вывода только двух цифр после десятичной точки.
Функция ввода данных scanf описывается аналогично функции printf:
scanf (“управляющая_строка”, список_аргументов);
Аргументы функции scanf должны быть указателями на соответствующие значения (более подробно указатели будут рассмотрены позже), для чего перед именем переменной записывается символ &. Как и в функции printf, управляющая строка содержит спецификации преобразования и используется для установления количества и типов аргументов. В ней допустимо использование пробелов, символов табуляции и перехода на новую строку, которые игнорируются при вводе. В управляющей строке спецификации преобразования должны быть отделены теми же разделителями, что и при вводе с клавиатуры. Например, scanf (“%d %f %c”, &i, &a, &ch);
Пример 2.1 - Составить программу вычисления объема V и площади поверхности полого шара S по заданным внешнему R и внутреннему r радиусам, если известно, что S = 4 (R2-r2), V = 4/3 (R3-r3).
#include <stdio.h> //подключение заголовочных файлов
#include <math.h>
#define Pi 3.1415926 //определение символической константы Pi
