Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмизация и программирование .doc
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

Оператор присваивания

Язык С# имеет несколько особенностей выполнения присваивания, задаваемого символом оператора =.

Оператор присваивания позволяет создавать цепочку операций присваивания.

Пример 3_8. Использование цепочки операций присваивания.

#include "stdafx.h"

using namespace System;

int main()

{

int a, b, c;

a = b = c = 10;

Console::WriteLine("a={0}, b={1}, c={2}", a,b,c);

Console::ReadLine();

return 0;

}

Результат работы программы:

a=10, b=10, c=10

Составные операторы присваивания

В С++ предусмотрены специальные составные операторы присваивания. Для многих двоичных операторов, т.е. операторов требующих наличия двух операндов, существуют отдельные составные операторы присваивания.

Общая форма операторов:

Var1 op= expression;

где Var1 – переменная; op – арифметический или логический оператор, применяемый вместе с оператором присваивания.

Составные операторы присваивания:

+= -= *= /+ %= &= != ^=

Пример 3_9. Использование составных операторов присваивания.

#include "stdafx.h"

using namespace System;

int main()

{

int a=4, b=7, c=10, d=15, f=14;

a += 2;

b -= 3;

c *= 2;

d /= 4;

f %= 5;

Console::WriteLine("a={0}, b={1}, c={2}, d={3}" +

", f={4}", a,b,c,d,f);

Console::ReadLine();

return 0;

}

Результат работы программы:

a=6, b=4, c=20, d=3, f=4

Оператор условия ? :

Данный оператор представляет собой условный оператор.

Общая форма оператора:

Cond_expression ?TRUE_statement :FALSE_statement;

При выполнении оператора условия сначала вычисляется значение логического выражения Cond_expression. Если оно – ИСТИНА, результатом оператора условия является результат выражения TRUE_statement, если ЛОЖЬ, - результат выражения FALSE_statement.

Пример 3_10. Демонстрация оператора условия

#include "stdafx.h"

using namespace System;

int main()

{

int x = 3, y = 2, z;

z = x >y ?x * x : y * y;

Console::WriteLine("z={0}", z);

Console::ReadLine();

return 0;

}

Результат работы программы:

z=9

Операция sizeof

Результатом операции sizeof является размер в байтах типа или объявленной переменной.

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

Форма операции:

int sizeof (E);

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

Пример 3_11. Использование операции sizeof.

#include "stdafx.h"

using namespace System;

int main()

{ double ff;

Console::Write("Данные типа int занимают " + sizeof(int) + " байта \n");

Console::Write("Переменная ff занимает " + sizeof(ff) + " байт \n");

Console::ReadLine();

return 0;

}

Результат работы программы:

Данные типа int занимают 4 байта

Переменная ff занимает 8 байт

Тестовые задания

ЗАДАНИЕ 1

Определите результат работы программы

int main()

{

int x=14, y=4, c, d;

c = x/y;

d = x%y;

Console::WriteLine("c={0}, d={1}", c, d);

return 0;

}

Варианты ответов

1. c=3, d=2

2. c=4, d=0

3. c=3, d=0

4. c=3.5, d=0

ЗАДАНИЕ 2

Определите результат работы программы

int main()

{

int c, d;

c = (5 + 5) * 2 + 4%2;

d = (50 - 45 + 5) /2 * 3;

Console::WriteLine(" c={0}, d={1}", c, d);

return 0;

}

Варианты ответов

1. c=0, d=1

2. c=20, d=15

3. c=12, d=15

4. c=20, d=1

ЗАДАНИЕ 3

Определите результат работы программы

int main()

{

int c = 6, x, y;

x = ++c;

y = c++;

Console::WriteLine(" x={0}, y={1}, c={2}", x,y,c);

return 0;

}

Варианты ответов

1. x=6, y=7, c=8

2. x=6, y=6, c=6

3. x=7, y=6, c=8

4. x=7, y=7, c=8

ЗАДАНИЕ 4

Определите результат работы программы

int main()

{

int a, b, c;

a = b = c = 10;

a += ++b + c--;

Console::WriteLine("a={0}, b={1}, c={2}", a, b, c);

return 0;

}

Варианты ответов

1. a=21, b=11, c=9

2. a=31, b=10, c=10

3. a=31, b=11, c=9

4. a=30, b=11, c=9

ЗАДАНИЕ 5

Определите результат работы программы

int main()

{

int a = 30, b = 5, s;

s = --a + b + 10;

Console::WriteLine("a={0}, b={1}, s={2}", a, b, s);

return 0;

}

Варианты ответов

1. a=30, b=5, s=45

2. a=30, b=5, s=44

3. a=29, b=5, s=45

4. a=29, b=5, s=44

ЗАДАНИЕ 6

Определите результат работы программы

int main()

{

int m = 6;

m += 3;

Console::Write("m=" + m + " ");

m *= 3;

Console::Write("m=" + m + " ");

m -= 4;

Console::Write("m=" + m + " ");

m %= 4;

Console::Write("m=" + m + " ");

return 0;

}

Варианты ответов

1. m=6 m=18 m=14 m=3

2. m=6 m=18 m=14 m=2

3. m=9 m=27 m=23 m=3

4. m=9 m=27 m=23 m=5

ЗАДАНИЕ 7

Результатом операции

!(3 + 4 > 15|| 3 + 5 > 4);

является …

Варианты ответов

1. True

2. False

3. 1.

4. 0

ЗАДАНИЕ 8

Результатом операции

!(3 + 14 > 15 && 23 + 5 > 24);

является …

Варианты ответов

1. True

2. False

3. 1

4. 0

ЗАДАНИЕ 9

Определите результат работы программы

int main()

{

double a = 9.5, b = 7.3, x;

x = (a < b) ? a + b : a - b;

Console::WriteLine("x= " + x );

return 0;

}

Варианты ответов

1. x = 2

2. x = 2,2

3. x = 16

4. x = 16,8

ЗАДАНИЕ 10

А||B возвратит значение false, если …

Варианты ответов

1. оба операнда имеют значение false

2.оба операнда имеют значение true

3. A=true, B=false

4. A=false, B=true