Похожие презентации:
Начала С/C++: переменная, программа и ввод-вывод. С / С++. Тема 02
1. НРТК
С / С++Тема 02. Начала С/C++: переменная,
программа и ввод-вывод
НРТК, 2022 г. 1
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
2. Первая программа на C++
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
return 0;
}
НРТК, 2022 г. 2
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
3. Первая программа на C++
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
return 0;
}
НРТК, 2022 г. 3
1. В текст программы
вставляется файл
iostream, содержащий
объявления средств
ввода-вывода
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
4. Первая программа на C++
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
return 0;
}
НРТК, 2022 г. 4
2. Все имена стандартной
библиотеки делаются
видимыми
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
5. Первая программа на C++
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
return 0;
}
НРТК, 2022 г. 5
3. Функция main:
принимает входные
параметры (могут
быть опущены)
возвращает код
завершения
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
6. Первая программа на C++
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
cout << "Hello world!" << endl;
return 0;
}
4. Выполняется вывод на
экран
Демонстрация
НРТК, 2022 г. 6
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
7. Еще один пример
#include <iostream>using namespace std;
int main()
{
int a, b, c;
cout << "a, b = ";
cin >> a >> b;
c = a + b;
cout << "c = " << c;
return 0;
}
5. Объявляются переменные
6. Перечисляются
инструкции программы,
каждая заканчивается
точкой с запятой
7. Переменной
присваивается значения
НРТК, 2022 г. 7
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
8. Еще один пример
#include <iostream>using namespace std;
int main(int argc, char* argv[])
{
int a, b, c;
cout << "a, b = ";
cin >> a >> b;
8. Вывод приглашения
c = a + b;
9. Ввод исходных данных
cout << "c = " << c;
10. Выполнение расчетов
return 0;
11. Вывод результатов
}
НРТК, 2022 г. 8
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
9. Еще один пример
// Подключение библиотек#include <iostream>
using namespace std;
int main(int argc, char* argv[])
{
int a, b, c;
// Ввод исходных данных
cout << "a, b = ";
cin >> a >> b;
12. Программа может
включать комментарии
// Вычисления
c = a + b;
// Вывод ответа
cout << "c = " << c;
/* Программа закончена, можно возвращать
управление операционной системе.*/
return 0;
}
НРТК, 2022 г. 9
Начала С/C++: переменная, программа и ввод-вывод
Демонстрация
Созонов А.А.
10. Следующие темы
Алфавит С++
Переменная и тип переменной
Ввод-вывод в С++
Ввод-вывод в С
НРТК, 2022 г. 10
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
11.
Алфавит C++НРТК, 2022 г. 11
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
12. Алфавит C++
• Основные символы (для идентификаторов)– латиницы (прописные и строчные): A, B, C,… , a,
b, c,…
– арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
– подчерк: _
• Остальные символы (включая кириллицу) —
для использования в литералах
– "Вороне где-то Бог послал …"
– Unicode можно использовать в идентификаторах,
но переносимость…
НРТК, 2022 г. 12
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
13. Алфавит C++
• Символы-разделители (пробельные символы)– пробел,
– табуляция,
– перевод строки, возврат каретки
– и т. д.
• Специальные символы
• Управляющие символы
НРТК, 2022 г. 13
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
14. Специальные символы
СимволНаименование
Символ
Наименование
,
.
;
запятая
точка
точка с запятой
)
(
}
круглая скобка правая
круглая скобка левая
фигурная скобка правая
:
?
'
!
двоеточие
вопросительный знак
апостроф
восклицательный знак
{
<
>
[
фигурная скобка левая
меньше
больше
квадратная скобка
|
/
\
~
*
+
-
вертикальная черта
дробная черта
обратная черта
тильда
звездочка
плюс
минус
]
#
%
&
^
=
"
квадратная скобка
номер
процент
амперсанд
крышка
равно
кавычка
НРТК, 2022 г. 14
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
15. Управляющие символы
СимволНаименование
Символ
Наименование
\a
звонок
\"
кавычка
\b
возврат на шаг
\'
апостроф
\t
горизонтальная табуляция
\0
ноль-символ
\n
переход на новую строку
\\
обратная дробная черта
\v
вертикальная табуляция
\ooo
восьмеричное число
\r
возврат каретки
\xhh
шестнадцатеричное число
\f
перевод формата
НРТК, 2022 г. 15
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
16.
Переменная и тип переменнойНРТК, 2022 г. 16
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
17. Переменная
• Переменная это именованная величина, значениекоторой может меняться
• Имя (идентификатор) переменной
– используется для ссылки на переменную: a + b
– может содержать символы из числа
• строчные и прописные символы латиницы
• цифры
• символ «подчерк» — «_»
– начинается не с цифры
– строчные и прописные символы различаются:
MyName ≠ myname
НРТК, 2022 г. 17
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
18. Переменная
• Переменная имеет адрес и значение:alpha->
173) -278
• Значение переменной может меняться
– при выполнении операции присваивания:
c = a + b;
– при выполнении операций ввода:
cin >> gamma;
• Все переменные должны быть объявлены до
их использования
НРТК, 2022 г. 18
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
19. Переменная
• При объявлении переменной указывается еетип
• Тип переменной определяет
– множество значений, которые может
принимать переменная
– множество операций, которые можно
выполнять с переменной
НРТК, 2022 г. 19
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
20. Тип переменной. Типы int и double
• Тип int — целое– диапазон значений: [-2 147 483 648; +2 147 483 647]
• Тип double — действительное
– диапазон значений: [-1,7976931348623158 · 10+308;
+1,7976931348623158 · 10+308]
– точность: 2,2250738585072014 · 10-308
– множество значений double конечно!
• Конкретные значения зависят от компилятора!
НРТК, 2022 г. 20
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
21. Операции над int и double
Операция+
*
/
i
d
i
d
%
i % i i
== !=
< >
<= >=
НРТК, 2022 г. 21
Тип результата
¤
¤
¤
¤
i
d
d
i
i
d
d
d
0 (ложь)
1 (истина)
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
22. Операции ++ и --
Операции ++ и -• Применимы только для целочисленныхпеременных
• Применяются в виде:
n++;
++n;
n--;
--n;
• Имеют смысл:
int
n =
n =
n =
n =
n =
НРТК, 2022 г. 22
n, m;
5; m = n++;
5; m = ++n;
5; m = n--;
5; m = --n;
-n++-m+--m;
//
//
//
//
//
m = 5, n = 6
m = 6, n = 6
m = 5, n = 4
m = 4, n = 4
Никогда так не пишите
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
23. Операции вида ¤=
• Применимы и для переменных типа int, идля переменных типа double
• Имеют смысл:
a ¤= b
тоже самое, что и:
a = a ¤ b
примеры:
a
a
a
.
НРТК, 2022 г. 23
+= b
//
-= b
//
*= b
//
. . . . .
a
a
a
.
=
=
=
.
a
a
a
.
+
*
.
b
b
b
.
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
24. Объявления переменных
• Переменные объявляются с помощьюпредложения:
<тип переменной> <список идентификаторов>;
• Примеры:
int a, gamma;
double betta;
• При объявлении переменные могут быть
инициированы начальными значениями:
int ht = 3, adt, gem = -6;
double alfa = 3.98;
• Запись действительных констант:
-3.5
6.8e-4
НРТК, 2022 г. 24
6.
-8.23E-2
0.23
.1e5
-.45
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
25. Оператор присваивания
• Заносит в переменную указанное значениеПодробнее
• Примеры:
int
a =
a =
a =
a, int b;
1;
b + 1;
a + 1;
• Оператор присваивания
a = b + c;
– не «a равно b плюс c» (a == b + c)
– а «переменной a присвоить значение,
полученное в результате сложения значений
переменных b и c»!
НРТК, 2022 г. 25
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
26. Выражения
• Пример:Alfa = d + (s – gt) / y;
• Правила вычисления
– слева направо
– с учетом старшинства операций
* / %
+ -
– изменение приоритета — с помощью скобок
НРТК, 2022 г. 26
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
27. Подробнее об a = b + c
• Если это разжевать, то:– переменная – это такой ящичек с именем
– имя ящичка – это имя (идентификатор) переменной:
• имя ящичка менять нельзя;
• два ящичка не могут иметь одинаковое имя (почему?)
• один ящичек может иметь несколько имен, но это для вас пока сложно
– то, что в ящичке – значение переменной; менять можно, но:
• сколько не бери все равно остается
• если положить новое, то старое пропадает
– оператор присваивания: "в ящичек с именем а положить то, что
получим сложив то, что в ящичке бэ с тем, что в ящичке це"
– еще подробнее - читайте: А. Богатырев.Руководство полного идиота
по программированию (на языке Си).
http://www.helloworld.ru/texts/comp/lang/c/c6/
НРТК, 2022 г. 27
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
28.
Ввод/вывод в C++НРТК, 2022 г. 28
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
29. Стандартная библиотека ввода/вывода (в/в)
• Доступ к библиотеке обеспечиваетсявключением файла iostream (до main):
#include <iostream>
using namespace std; // Это — заклинание
• Вывод на экран:
cout
cout
cout
cout
<<
<<
<<
<<
10;
"Hello!";
a;
2 * 3.14 * r;
• Можно указывать несколько элементов для
вывода:
cout << "a = " << a << ", ей Богу!";
НРТК, 2022 г. 29
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
30. Стандартная библиотека в/в
• Несколько элементов для вывода:cout << "a = " << a << ", ей Богу!";
«копят» вывод в одну строку. Например, при
a=1 на экране появится:
a = 1, ей Богу!_
• Переход на новую строку:
cout << endl;
cout << "\n";
(курсор)
// Предпочтительнее
• Можно задать точность:
#include <iomanip>
...
cout << setprecision(2);
cout << 3.1415926535;
Демонстрация
НРТК, 2022 г. 30
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
31. Стандартная библиотека в/в
• Ввод с клавиатуры– ввод одного значения:
cin >> a;
– ввод сразу нескольких значений:
cin >> a >> b >> c;
• Ввод «с подсказкой»:
double r;
cout << "Введите радиус:";
cin >> r;
НРТК, 2022 г. 31
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
32. Пример
#include <iostream>using namespace std;
int main()
{
double a, b, c;
cout << "a, b = ";
cin >> a >> b;
c = a + b;
cout << "a + b = " << c << endl;
cout << "a - b = " << a - b << endl;
return 0;
}
НРТК, 2022 г. 32
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
33.
Ввод/вывод в CНРТК, 2022 г. 33
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
34. Библиотека stdio.h
• Подключение библиотеки stdio.h:#include <stdio.h>
// До функции main
• Ввод:
scanf("формат", <список ввода>);
– формат — перечень спецификаторов
– список ввода — адреса переменных через запятую
• Вывод:
printf("формат", <список вывода>);
– формат — текст, содержащий спецификаторы
– список ввода — выражения для вывода через запятую
• Спецификаторы:
–
–
–
–
%i, %d
%ni
%lf
%n.mlf
НРТК, 2022 г. 34
– ввод-вывод int
– ввод-вывод int с точностью n разрядов
– ввод-вывод double в виде: n.mmmmmmmmmmme[+-]pp
– ввод-вывод double в виде: nnn.mmme[+-]pp
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
35. Ввод/вывод. Пример 1
#include <stdio.h>int main()
{
int a, b, c;
scanf("%i", &a);
scanf("%i", &b);
c = a + b;
Результат:
если:
2
3
- введено
- введено
то:
56 - выведено
printf("%i", c);
printf("%i", a * b);
return 0;
}
НРТК, 2022 г. 35
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
36. Ввод/вывод. Пример 2
#include <stdio.h>a = 2
b = 3
a + b = 5a * b = 6
int main()
{
int a, b, c;
printf("a =
scanf("%i",
printf("b =
scanf("%i",
Результат:
");
&a);
");
&b);
c = a + b;
printf("a + b = %i", c);
printf("a * b = %i", a*b);
return 0;
}
НРТК, 2022 г. 36
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
37. Ввод/вывод. Пример 3
#include <stdio.h>a = 3
b = 6
int main()
{
int a, b, c;
printf("a =
scanf("%i",
printf("b =
scanf("%i",
Результат:
");
&a);
");
&b);
a + b = 9
a * b = 18
c = a + b;
printf("\na + b = %i", c);
printf("\na * b = %i",
a * b);
return 0;
}
НРТК, 2022 г. 37
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
38. Ввод/вывод. Пример 4
#include <stdio.h>int main()
{
double a, b, c;
printf("a, b = ");
scanf("%lf%lf", &a, &b);
Результат:
a, b = 2.3 1.78
a + b = 4.080000
a / b = 1.292135
c = a + b;
printf("\na + b=%lf", c);
printf("\na / b=%lf",a/b);
return 0;
}
НРТК, 2022 г. 38
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.
39. Задачи
• Перевод температуры из шкалы Цельсия вшкалу Фаренгейта
• Перевод из градусов в радианы
• Задачи для самостоятельной работы
НРТК, 2022 г. 39
Начала С/C++: переменная, программа и ввод-вывод
Созонов А.А.