Основы программирования на C++: различия между версиями
Ctrlalt (обсуждение | вклад) |
Ctrlalt (обсуждение | вклад) Нет описания правки |
||
Строка 36: | Строка 36: | ||
== Вспомогательные материалы к занятиям == | == Вспомогательные материалы к занятиям == | ||
=== Введение. Переменные. Ввод-вывод === | === Введение. Переменные. Ввод-вывод === | ||
Минимальная программа на C++ | ==== Минимальная программа на C++ ==== | ||
int main() { | int main() { | ||
} | } | ||
В любой программе всегда должна быть функция main. Фигурные скобки обозначают начало и конец функции, все команды записываются внутри. | |||
До функции main, в самом начале файла, обычно указываются директивы #include (например #include <stdio.h>). | |||
==== Использование переменных ==== | |||
Чтобы добавить в программу переменную, укажите её тип, название и, если необходимо, начальное значение. | |||
int radius = 100; //целое число radius со значением 100 | |||
double circleArea = 3.14 * radius * radius; //дробное число circleArea, значение вычисляется по формуле | |||
Переменные могут менять своё значение: | |||
radius = radius * 2; //радиус увеличился в 2 раза | |||
Часто используемые типы данных: | |||
{| border=black; cellspacing=0; cellpadding=5px; | |||
| int || целые числа || от -2<sup>31</sup> до 2<sup>31</sup>-1 (примерно от -2·10<sup>9</sup> до 2·10<sup>9</sup>) || 4 байта | |||
|- | |||
| long long || большие целые числа || от -2<sup>63</sup> до 2<sup>63</sup>-1 (примерно от -9·10<sup>18</sup> до 9·10<sup>18</sup>) || 8 байт | |||
|- | |||
| double || дробные числа || точность 15-16 десятичных цифр || 8 байт | |||
|} | |||
==== Вывод при помощи функции printf ==== | |||
Функция printf используется для печати на экране. Для использования printf нужно подключить stdio.h (#include <stdio.h>). | |||
printf выводит только то, что указано в кавычках. Для вывода перевода строки используется специальный символ \n. | |||
printf("Hello World!\n"); //выводит Hello World! | |||
printf("My name\nis Vasya."); //выводит My name, а затем на новой строке is Vasya. | |||
printf может выводить переменные и значения выражений, но для этого в строке с кавычками нужно указать места («окошечки»), куда следует подставлять значения. Места указываются при помощи спецификаторов. | |||
int salary = 100; | |||
printf("Your salary is %d $.\n", salary); //выводит Your salary is 100 $. | |||
printf("Next year you'll have %.2lf $.", salary * 1.5); //выводит Next year you'll have 150.00 $. | |||
Часто используемые спецификаторы: | |||
{| border=black; cellspacing=0; cellpadding=5px; | |||
| %d || int | |||
|- | |||
| %lld || long long | |||
|- | |||
| %lf || double | |||
|- | |||
| %.Xlf || double, X знаков после точки (например, %.2lf — 2 знака после точки) | |||
|} | |||
printf может выводить несколько значений: | |||
printf("P:%d S:%d", 2 * (3 + 4), 3 * 4); //выводит P:14 S:12 | |||
==== Ввод при помощи функции scanf ==== | |||
Функция scanf используется для ввода с клавиатуры. Для использования scanf нужно подключить stdio.h (#include <stdio.h>). | |||
scanf похож на printf, но перед каждой переменной следует ставить амперсанд &: | |||
int age; | |||
scanf("%d", &age); //значение переменной age вводится с клавиатуры | |||
scanf может вводить несколько значений: | |||
int time; | |||
double speed; | |||
scanf("%d%lf", &time, &speed); //значения переменных time и speed вводятся с клавиатуры | |||
int | |||
Версия от 19:24, 28 октября 2017
В любой непонятной ситуации
Пишите преподавателю:
- Кашичкин Максим Олегович —
- Кондратьев Евгений Валерьевич — teach.ekon@yandex.ru
- Фолунин Владимир Александрович — v.folunin@gmail.com
Не забудьте указать тему, представиться и обстоятельно описать свою проблему.
Подготовка к работе
Установка среды разработки
- Visual Studio 2017 Community (для Windows 7 — Windows 10)
- Выберите только вариант «Разработка классических приложений на C++»
- Visual Studio 2010 (для Windows XP, но также рекомендуется, если вы не хотите выкачивать большие установочные файлы)
- Code::Blocks (если остальные варианты не устраивают)
Создание проекта в Visual Studio
Создаём проект:
Меню Файл (File) → Создать (New) → Проект... (Project...) → слева выбираем Visual C++ → справа выбираем Пустой проект (Empty Project) → вводим имя проекта → OK.
Добавляем в проект новый файл:
Меню Проект (Project) → Добавить новый элемент... (Add New Item...) → Файл C++ (C++ File) → вводим имя файла → Добавить (Add).
Решение проблем
- Visual Studio не позволяет мне использовать scanf
- Меню Проект (Project) → Свойства (Properties) → C/C++ → Проверки SDL (SDL Checks) → выбрать значение Нет (No) → OK.
- Другой способ: скопировать в начало программы строку #define _CRT_SECURE_NO_WARNINGS
- При запуске появляется окно Следующий проект устарел. Выполнить его сборку? (This project is out of date. Would you like to build it?)
- Поставьте галочку Больше не выводить это окно (Do not show this dialog again) и нажмите кнопку Да (Yes).
- Если программа содержит ошибки, при запуске появляется окно Возникли ошибки сборки. Продолжить и запустить последний успешно построенный вариант? (There were build errors. Would you like to continue and run the last successful build?)
- Поставьте галочку Больше не выводить это окно (Do not show this dialog again) и нажмите кнопку Нет (No).
- Где посмотреть, какие у меня ошибки?
- Меню Вид (View) → Список ошибок (Error List). В более старых версиях: View → Other Windows → Error List.
Вспомогательные материалы к занятиям
Введение. Переменные. Ввод-вывод
Минимальная программа на C++
int main() { }
В любой программе всегда должна быть функция main. Фигурные скобки обозначают начало и конец функции, все команды записываются внутри.
До функции main, в самом начале файла, обычно указываются директивы #include (например #include <stdio.h>).
Использование переменных
Чтобы добавить в программу переменную, укажите её тип, название и, если необходимо, начальное значение.
int radius = 100; //целое число radius со значением 100 double circleArea = 3.14 * radius * radius; //дробное число circleArea, значение вычисляется по формуле
Переменные могут менять своё значение:
radius = radius * 2; //радиус увеличился в 2 раза
Часто используемые типы данных:
int | целые числа | от -231 до 231-1 (примерно от -2·109 до 2·109) | 4 байта |
long long | большие целые числа | от -263 до 263-1 (примерно от -9·1018 до 9·1018) | 8 байт |
double | дробные числа | точность 15-16 десятичных цифр | 8 байт |
Вывод при помощи функции printf
Функция printf используется для печати на экране. Для использования printf нужно подключить stdio.h (#include <stdio.h>).
printf выводит только то, что указано в кавычках. Для вывода перевода строки используется специальный символ \n.
printf("Hello World!\n"); //выводит Hello World! printf("My name\nis Vasya."); //выводит My name, а затем на новой строке is Vasya.
printf может выводить переменные и значения выражений, но для этого в строке с кавычками нужно указать места («окошечки»), куда следует подставлять значения. Места указываются при помощи спецификаторов.
int salary = 100; printf("Your salary is %d $.\n", salary); //выводит Your salary is 100 $. printf("Next year you'll have %.2lf $.", salary * 1.5); //выводит Next year you'll have 150.00 $.
Часто используемые спецификаторы:
%d | int |
%lld | long long |
%lf | double |
%.Xlf | double, X знаков после точки (например, %.2lf — 2 знака после точки) |
printf может выводить несколько значений:
printf("P:%d S:%d", 2 * (3 + 4), 3 * 4); //выводит P:14 S:12
Ввод при помощи функции scanf
Функция scanf используется для ввода с клавиатуры. Для использования scanf нужно подключить stdio.h (#include <stdio.h>).
scanf похож на printf, но перед каждой переменной следует ставить амперсанд &:
int age; scanf("%d", &age); //значение переменной age вводится с клавиатуры
scanf может вводить несколько значений:
int time; double speed; scanf("%d%lf", &time, &speed); //значения переменных time и speed вводятся с клавиатуры