
- •5.1. Разработка алгоритма решения
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Результат работы программы представлен на рисунке:
- •Int a; // глобальная переменная
- •Int с; // локальная переменная
- •5.6. Выводы
- •6. Контрольные вопросы
- •Приложение 1. Математические функции.
- •Приложение 2. Порядок создания консольного приложения в интегрированной среде разработки Microsoft Visual Studio 10.0
- •5. Пример решения задачи (вариант 30)
- •5.1. Разработка алгоритма решения
- •5.1.1. Общий метод решения
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Отладка программы
- •5.5. Результаты работы программы
- •5.6. Выводы
- •6. Контрольные вопросы
- •Приложение 2. Некоторые функции стандартного ввода-вывода
- •5. Пример решения задачи (вариант 30)
- •5.1. Программа упаковки
- •5.1.1. Разработка алгоритма решения.
- •5.1.2. Определение переменных программы
- •5.2. Программа распаковки
- •5.2.1. Разработка алгоритма решения.
- •5.3. Выводы
- •6. Контрольные вопросы
- •5. Пример решения задачи (вариант 30)
- •5.1. Программа упаковки
- •5.1.1. Разработка алгоритма решения.
- •5.1.2. Определение переменных программы
- •5.2. Программа распаковки
- •5.2.1. Разработка алгоритма решения.
- •5.3. Выводы
- •6. Контрольные вопросы
- •5.2. Определение переменных программы
- •5.3. Разработка текста программы
- •5.4. Отладка программы
- •5.5. Результаты работы программы
- •5.6. Выводы
- •Задание 1.
- •Задание 2
- •6. Контрольные вопросы
Int a; // глобальная переменная
int main()
{
static int b = 1; // локальная статическая переменная
Int с; // локальная переменная
}
Память под все эти переменные выделяет компилятор. Кроме перечисленных, существуют динамические переменные, память под которые резервируется во время выполнения программы с помощью операции new в динамической области памяти, или хипе (heap). Доступ к таким переменным осуществляется не по имени, а через указатели (см. занятие 8).
Во всех рассмотренных выше программах переменные являются локальными. Вариант программы с глобальными переменными выглядит так:
#include <conio.h>
#include <windows.h>
#include <iostream>
using namespace std;
float fahr, сels; // глобальные переменные
int main()//1
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
cout << endl << " Введите температуру по Фаренгейту" << endl; getch(); //3
cin >> fahr; //4
сels = 5.0 / 9 * (fahr - 32); //5
cout << " По Фаренгейту: " << fahr << ". в градусах Цельсия: "<< сels << endl; getch(); //6
Sleep(10);
return 0; //7
}
Для данной простой программы разницы в этих способах нет, но в общем случае глобальные переменные нужно стремиться использовать как можно реже. Переменная должна иметь минимальную из возможных областей действия, поскольку это значительно облегчает поиск ошибок.
Общие рекомендации
-
Выбирайте тип переменных с учетом диапазона и требуемой точности представления данных.
-
Давайте переменным имена, отражающие их назначение.
-
Ввод с клавиатуры предваряйте приглашением. Для контроля сразу же после ввода выводите исходные данные на дисплей (по крайней мере, в процессе отладки).
-
До запуска программы подготовьте тестовые примеры, содержащие исходные данные и ожидаемые результаты. Отдельно проверьте реакцию программы на неверные исходные данные.
-
При записи выражений обращайте внимание на приоритет операций.
-
При использовании стандартных функций или классов требуется с помощью директивы #include подключить к программе соответствующие заголовочные файлы. Установить, какой именно файл необходим, можно с помощью справочной системы.
-
Отдавайте предпочтение локальным переменным перед глобальными. Переменная должна иметь минимальную из возможных областей действия.
-
Данные при вводе разделяйте пробелами, символами перевода строки или табуляции.
5.6. Выводы
При выполнении практического занятия изучены вопросы:
-
последовательность разработки консольного приложения в Microsoft Visual Studio 10.0;
-
структура программы на языке С++;
-
типы данных в языке C++, объявление переменных в программе;
-
ввод и вывод данных, форматизация вывода.
6. Контрольные вопросы
-
Какие компиляторы языка С вам известны?
-
Какое имя имеет исполняемый файл созданного проекта?
-
Объясните назначение заголовочных файлов iostream, stdio.h, conio.h.
-
Для чего в программах на С используется заголовочный файл math.h?
-
Как будет работать программа без заголовочного файла conio.h?
-
В каком месте программы находится точка ее входа?
-
Как осуществляется табуляция строки на консоли и на сколько позиций выполняется отступ от левого края?
-
Какие машинно-зависимые типы данных имеются в языке С?