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

6.6 Условный оператор

Схема условного операторатакова:

If (выражение) оператор [else оператор].

З а д а ч а.Вводить вещественные числа с клавиатуры и отдельно суммировать положительные, отдельно — отрицательные числа.

Р е ш е н и е.

#include <iostream.h>

void main(){

float pozsum = 0, negsum = 0;

float x = 1;

while (x){

cin >> x;

if (x > 0)

pozsum += x;

else

negsum += x;

}

cout << "Положительные " << pozsum << '\n';

cout << "Отрицательные " << negsum << '\n';

}

В языке С++ имеются следующие логические операции:

&& - “и”, || - “или”, ! - “не”.

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

6.7 Оператор цикла for

В языке С++ имеется еще один оператор цикла

for ( [оператор1] [выражение1] ; [выражение2] ) оператор2

Семантика оператора for такова:

оператор1

while (выражение1) {

оператор 2

выражение 2;

}

З а д а ч а. Вводить с клавиатуры веществ. числа и суммировать, пока не встретится число 0. Вывести на экран среднее арифметическое.

Р е ш е н и е.

#include <iostream.h>

void main(){

float sum = 0, x = 1;

for (int count = 0; x; count++) {

cin >> x;

sum += x;

}

cout << sum/count << '\n';

}

Переменная count определена прямо в операторе for (в С так делать нельзя!). Ею можно пользоваться и после завершения цикла.

Вопросы

1. Как превратить выражение в оператор ?

2. Опишите синтаксис и семантику составного оператора.

3. Для чего нужны заголовочные файлы ?

4. Какие числовые типы имеются в С++ ?

5. Что означает -1, истину или ложь ?

6. Что означает операция A% = 5 ?

7. Чем операция A% = 5 отличается от операции A = A % 5?

8. Опишите синтаксис и семантику оператора while.

9. Опишите синтаксис и семантику оператора while с постусловием.

10. Напишите какой-нибудь бесконечный цикл.

11. Опишите синтаксис и семантику оператора for.

12. Что понимается под краткой схемой вычисления логических выражений ?

7 Указатели и массивы

7.1 Указатели

Указатели применяются для работы с массивами, с динамической памятью, в качестве параметров функций.

Указатель — это тип данных, значением которого является адрес данных определенного типа. Бывают и бестиповые указатели, которые хранят просто адрес памяти.

Значение адреса можно получить:

а) определив, где расположена в памяти некоторая переменная;

б) выделив участок динамической памяти для хранения значений;

в) при помощи сложения известного адреса с целым числом.

Синтаксис определения указателяследующий

тип* имя,

где тип — тип значений, на который будет указывать указатель,

имя — имя переменного указателя.

Здесь “*” означает операцию над типом, которая дает новый тип, читается “указатель на тип”. Примеры определений указателей:

int* pn; // указатель на целое значение

float *pf1, *pf2; // два указателя на вещественные значения

Новому типу можно дать собственное имя при помощи спецификатора typedef . Например,

typedef int* PInteger;

PInteger pn;

Существует лишь одна адресная константаNULL, которая означает “пустой” адрес.

Указателю нельзя присвоить, но можно добавить целое значение.

pn = 0 — допустимо, так как 0 означает пустой указатель;

pn = 1 — недопустимо.

pn += 3 — тоже допустимо, но не всегда корректно. Смысл выражения pn + 3 в том, что к адресу из pn добавляется утроенный размер базового типа, в данном случае типа int.

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