C++ за 21 день седьмое издание



Download 1,38 Mb.
bet66/437
Sana22.02.2022
Hajmi1,38 Mb.
#89455
TuriРеферат
1   ...   62   63   64   65   66   67   68   69   ...   437
Bog'liq
word1

#include




  1. using namespace std;



2 :


3 : int main ()



  1. {




  1. unsigned short UShortValue = 65535;




  1. cout « "Incrementing unsigned short " « UShortValue




    1. " gives: ";




  1. cout « ++UShortValue « endl;

  2. :




    1. short SignedShort = 32767;




    1. cout « "Incrementing signed short " « SignedShort« " gives: ";




    1. cout « ++SignedShort « endl;

1 2 :

  1. return 0;




  1. }



Результат


Incrementing unsigned short 65535 gives: 0


Incrementing signed short 32767 gives: -32768


Анализ

Как можно заметить, непреднамеренные ситуации переполнения приводят к непредска­


зуемому и не интуитивно понятному поведению приложения. Если по причинам экономии


96 ЗАНЯТИЕ 5. Команды, выражения и операторы

памяти вы использовали тип u n s ig n e d s h o r t , то когда потребуется число 65 536, вы фактически получите число 0.




Операторы равенства (=) и неравенства (!=)

Зачастую необходимо проверить выполнение или не выполнение определенного усло­ вия прежде, чем предпринять некое действие. Операторы равенства == (операнды равны) и неравенства ! = (операнды не равны) позволяют сделать именно это.





Результат проверки равенства имеет логический

тип

b o o l, т.е. t r u e (истина) или

f a l s e (ложь).













int

MyNum = 20;







//

true

bool CheckEquality = (MyNum == 20);




bool Checklnequality = (MyNum != 100);

//

true

bool

CheckEqualityAgain =

(MyNum ==

200);

//

false

bool

ChecklnequalityAgain

= (MyNum

!= 20);

//

false



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

Кроме проверки на равенство и неравенство, может возникнуть необходимость в срав­ нении, значение какой переменной больше, а какой меньше. Для этого язык C++ предо­ ставляет операторы сравнения, приведенные в табл. 5.1.




ТАБЛИЦА 5.1. Операторы сравнения



Оператор


Описание

Меньше (<)


Возвращает значение true, если один операнд меньше другого (Ор1 <Ор2), в противном случае возвращает значение false



Больше (>)

Возвращает значение true, если один операнд больше другого (Opl > Ор2), в противном случае возвращает значение false



Меньше или равно (<=)

Возвращает значение true, если один операнд меньше или равен другому, в противном случае возвращает значение false



Больше или равно (>=)

Возвращает значение true, если один операнд больше или ра­ вен другому, в противном случае возвращает значение false



Как свидетельствует табл. 5.1, результатом операции сравнения всегда является значе­ ние t r u e или f a l s e , другими словами, тип b o o l. Следующий пример кода демонстрирует применение операторов сравнения, приведенных в табл. 5.1:





int MyNum =20;

// пример целочисленного

значения

bool CheckLessThan = (MyNum < 100);

//

true

bool CheckGreaterThan = (MyNum > 100);

//

false

bool CheckLessThanEqualTo = (MyNum <= 20);

//

true

bool CheckGreaterThanEqualTo = (MyNum >= 20);

//

true

bool CheckGreaterThanEqualToAgain = (MyNum >= 100);

//

false

Код листинга 5.4 демонстрирует использование этих операторов при отображении ре­ зультата на экране.



Использование операторов

97

ЛИСТИНГ S.4. Операторы равенства и сравнения





  1. #include




  1. using namespace std;


  2. int main()

  3. {



5 cout « "Enter two integers:" « endl;



  1. int Numl = 0, Num2 = 0;




  1. cin » Numl;




  1. cin » Num2;

9



  1. bool Equality = (Numl == Num2);

    11

    cout

    «

    "Result

    of equality test: " «

    Equality « endl;

    12

    bool

    Inequality =

    (Numl

    != Num2);




    13

    Inequality « endl;

    14

    cout

    «

    "Result

    of

    inequality

    test: " «

    15

    bool

    GreaterThan

    =

    (Numl

    > Num2);




    16

    Num2;

    17

    cout

    «

    "Result

    of

    " «

    Numl «

    ">"«

  2. cout « " test: " « GreaterThan « endl;








  1. bool LessThan = (Numl < Num2);

    21

    cout

    «

    "Result

    of

    " «

    Numl «

    " <

    " «

    Num2 « " test: "

    22




    «

    LessThan

    «

    endl;













    bool

    GreaterThanEquals = (Numl >= Num2);




    23

    Num2;

    24

    cout

    «

    "Result of

    " «

    Numl «

    " >=

    " «

    25

    cout

    «

    " test: " «

    GreaterThanEquals

    «

    endl;

    26

    bool LessThanEquals = (Numl <= Num2);







    27




    Num2;

    28

    cout

    «

    "Result of

    " «

    Numl «

    " <=

    " «

    29

    cout

    «

    " test: " «

    LessThanEquals

    «

    endl;

    30































  2. return 0;




  1. }



Результат


Enter two integers:


365
-24


Result of equality test: 0


Result of inequality test: 1


Result of 365 > -24 test: 1


Result of 365 < -24 test: 0


Result of 365 >= -24 test: 1


Result of 365 <= -24 test: 0

Следующий запуск:




Enter two integers:


101
101
Result of equality test: 1


Result of inequality test: 0



4 3ak. 3626

98

ЗАНЯТИЕ 5. Команды, выражения и операторы

Result

of

101

> 101

test:

0

Result

of

101

<

101

test:

0

Result

of

101

>=

101

test: 1

Result

of

101

<=

101

test: 1



Анализ

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


Тот факт, что вывод операторов равенства и сравнения является двоичным, делает их отлично подходящими для использования в операторах принятия решения и в выражениях условий циклов, гарантирующих выполнение цикла, только пока условие истинно. Более подробная информация об условном выполнении и циклах приведена на занятии 6, “Вет­ вление процесса выполнения программ”.


Логические операции NOT, AND, OR и XOR

Логическая операция NOT обеспечивается оператором ! и выполняется над одним опе­ рандом. Таблица истинности для логической операции NOT, которая просто инвертирует значение логического флага, приведена в табл. 5.2.




ТАБЛИЦА 5.2. Таблица истинности логической операции NOT


Операнд Результат операции NOT (Операнд)


False True


True False

Для других операций, таких как AND, OR или XOR, необходимы два операнда. Ло­ гическая операция AND возвращает значение t r u e только тогда, когда каждый операнд содержит значение tr u e . Действие логической операции AND приведено в табл. 5.3.




ТАБЛИЦА 5.3. Таблица истинности логической операции AND





Операнд 1



  1. a l s e

T ru e F a l s e T ru e




Операнд 2



  1. a l s e F a l s e T ru e T ru e




Download 1,38 Mb.

Do'stlaringiz bilan baham:
1   ...   62   63   64   65   66   67   68   69   ...   437




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish