Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_na_vse_bilety_progi.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
492.03 Кб
Скачать

Обмен данными через внешние переменные

Внешняя переменная доступна из любой части программы, в том числе из другой функции. Использование внешних переменных делает функцию не универсальной, она теряет свою независимость, (//а это основные свойства функций). При широком использовании внешних переменных затруднена отладка программы.

Статические переменные

//Статистическая переменная, объявленная внутри функции, является локальной, но она живет и сохраняет свое значение во время выполнения всей программы, следовательно, вызывая функцию во второй раз, мы можем пользоваться значением статистической переменной полученной в предыдущий раз.

void func(void)

{

a

b

0

0

0

1

0

2

0

3

0

4

int a=0;

static int b=0;

cout<<a<<endl<<b<<endl;

a++;

b++;

}

int main(void)

{

for(int i=0;i<5;i++)

func();

return 0;

}

+

  1. Программирование ввода-вывода в языке С++ с использованием стандартных объектов потоков cin и cout.

Стандартный ввод/вывод данных через потоки

#include<iostream>

using namespace std;

Используем следующие средства:

1) cin – потом ввода (объект класса istream) (этот поток по умолчанию связан с клавиатурой)

2) cout – потом вывода (объект класса ostream) (по умолчанию связан с монитором)

3) cerr – поток вывода сообщений об ошибках (объект класса ostream) (по умолчанию связан с клавиатурой)

4) операция >> - операция извлечения из потока (ввод данных)

5) операция << - операция помещения в поток (вывод данных)

6) методы ввода-вывода

7) манипуляторы

Ввод-вывод данных производится в соответствии с типом данных

Ввод данных

Синтаксис:

cin>>ИмяПеременной;

В одном операторе можно ввести несколько данных, разделяя имена переменных операцией >>

При выполнении программы необходимо вводить данное соответствующего типа, разделяя их только пробельными символами.

Пример 1:

int a, b; cin>>a>>b;

При выполнении:

13 163<ввод> ИЛИ 13<ввод>163<ввод>

Пример 2:

char simv; cin>>simv;

При выполнении:

а<ввод>

Ввод строки без пробелов внутри:

char str[20];

cin>>str;

При выполнении:

Привет!<ввод>

Ввод строки с пробелом внутри

char str[80];

cin.getline(str,80);//контроль количества вводимых символов

При выполнении:

Люблю грозу в начале мая!<ввод>

НО: операция >> и getline конфликтуют. Операция >> считывает данное и оставляет на входном потоке клавишу ввода. Метод getline считывает клавишу ввода – получается пустая строка (“проскакивает” ввод строки).

cin.ignore(); - игнорирует один символ с входного потока (при переходе от cin к выполнению)

Вывод данных

Синтаксис:

cout<<Выражение;

В одном операторе можно вывести несколько выражений, разделяя их операцией <<.

Беспокоиться о разделении данных на экране.

При выводе данного отводится столько позиций, сколько значащих символов в данном.

int a=3, b=5;

cout<<”a=”<<a<<”, b=”<<b<<endl;

При выполнении:

a=3, b=5

endl – манипулятор, переводящий строку на следующую.

  1. Операции языка С++: арифметические операции; операция определения остатка от деления; увеличения и уменьшения на единицу.

Операции применяются для представления каких-либо действий над данными.

Операции могут быть:

  1. Арифметические

  2. Логические

  3. Побитовые

  4. Отношения и т.д.

Операнды – участники операции. В зависимости от количества операндов, операции делятся на:

  1. Унарные

  2. Бинарные

  3. Тернарные

Арифметические операции:

  1. Сложение

  2. Вычитание

  3. Умножение

  4. Деление (1/3=0) (1.0/3.0=0.3333)

Операции выполняются с учетом типа: операнды должны быть одинакового типа и результат получается этого же типа. Если типы разные, то происходит автоматическое выравнивание (по высшему) : char->int->long->float->double.

Определение остатка при делении a%b результат – сколько минимально надо отнять от a, чтобы a поделилось на b нацело. (17%4=1)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]