Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическое занятие №1234 по си++.docx
Скачиваний:
11
Добавлен:
08.11.2018
Размер:
787.62 Кб
Скачать

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

}

Для данной простой программы разницы в этих способах нет, но в общем случае глобальные переменные нужно стремиться использовать как можно реже. Переменная должна иметь минимальную из возможных областей действия, поскольку это значительно облегчает поиск ошибок.

Общие рекомендации

  1. Выбирайте тип переменных с учетом диапазона и требуемой точности представления данных.

  2. Давайте переменным имена, отражающие их назначение.

  3. Ввод с клавиатуры предваряйте приглашением. Для контроля сразу же после ввода выводите исходные данные на дисплей (по крайней мере, в процессе отладки).

  4. До запуска программы подготовьте тестовые примеры, содержащие исходные данные и ожидаемые результаты. Отдельно проверьте реакцию программы на неверные исходные данные.

  1. При записи выражений обращайте внимание на приоритет операций.

  1. При использовании стандартных функций или классов требуется с помощью директивы #include подключить к программе соответствующие заголовочные файлы. Установить, какой именно файл необходим, можно с помощью справочной системы.

  2. Отдавайте предпочтение локальным переменным перед глобальными. Переменная должна иметь минимальную из возможных областей действия.

  3. Данные при вводе разделяйте пробелами, символами перевода строки или табуляции.

5.6. Выводы

При выполнении практического занятия изучены вопросы:

  • последовательность разработки консольного приложения в Microsoft Visual Studio 10.0;

  • структура программы на языке С++;

  • типы данных в языке C++, объявление переменных в программе;

  • ввод и вывод данных, форматизация вывода.

6. Контрольные вопросы

  1. Какие компиляторы языка С вам известны?

  2. Какое имя имеет исполняемый файл созданного проекта?

  3. Объясните назначение заголовочных файлов iostream, stdio.h, conio.h.

  4. Для чего в программах на С используется заголовочный файл math.h?

  5. Как будет работать программа без заголовочного файла conio.h?

  6. В каком месте программы находится точка ее входа?

  7. Как осуществляется табуляция строки на консоли и на сколько позиций выполняется отступ от левого края?

  8. Какие машинно-зависимые типы данных имеются в языке С?