C++: a beginner's Guide, Second Edition


  C++ A Beginner’s Guide by Herbert Schildt Ask the Expert



Download 11,33 Mb.
Pdf ko'rish
bet40/194
Sana12.03.2022
Hajmi11,33 Mb.
#491693
1   ...   36   37   38   39   40   41   42   43   ...   194
Bog'liq
C A Beginner\'s Guide 2nd Edition (2003)

20 
C++ A Beginner’s Guide by Herbert Schildt
Ask the Expert
Q: 
Does the increment operator ++ have anything to do with the name C++?
A: 
Yes! As you know, C++ is built upon the C language. C++ adds to C several enhancements, most of 
which support object-oriented programming. Thus, C++ represents an incremental improvement to C, 
and the addition of the ++ (which is, of course, the increment operator) to the name C is a fitting way to 
describe C++.
Stroustrup initially named C++ “C with Classes,” but at the suggestion of Rick Mascitti, he later changed 
the name to C++. While the new language was already destined for success, the adoption of the name 
C++ virtually guaranteed its place in history because it was a name that every C programmer would 
instantly recognize! 
 
CRITICAL SKILL 2.5: Relational and Logical Operators 
 
In the terms relational operator and logical operator, relational refers to the relationships that values 
can have with one another, and logical refers to the ways in which true and false values can be 
connected together. Since the relational operators produce true or false results, they often work with 
the logical operators. For this reason, they will be discussed together here.
The relational and logical operators are shown in Table 2-4. Notice that in C++, not equal to is 
represented by != and equal to is represented by the double equal sign, ==. In C++, the outcome of a 
relational or logical expression produces a bool result. That is, the outcome of a relational or logical 
expression is either true or false.
NOTE: For older compilers, the outcome of a relational or logical expression will be an integer value of 
either 0 or 1. This difference is mostly academic, though, because C++ automatically converts 
true 
into 1 
and 
false 
into 0, and vice versa as explained earlier.
The operands for a relational operator can be of nearly any type as long as they can be meaningfully 
compared. The operands to the logical operators must produce a true or false result. Since any nonzero 
value is true and zero is false, this means that the logical operators can be used with any expression that 
evaluates to a zero or nonzero result. Thus, any expression other than one that has a void result can be 
used.


21 
C++ A Beginner’s Guide by Herbert Schildt
The logical operators are used to support the basic logical operations AND, OR, and NOT, according to 
the following truth table:
Here is a program that demonstrates several of the relational and logical operators:
// Demonstrate the relational and logical operators.
#include
using namespace std;
int main()
{
int i, j;
bool b1, b2;
i = 10;
j = 11;
if(i < j) cout << "i < j\n";
if(i <= j) cout << "i <= j\n";


22 
C++ A Beginner’s Guide by Herbert Schildt
if(i != j) cout << "i != j\n";
if(i == j) cout << "this won't execute\n";
if(i >= j) cout << "this won't execute\n";
if(i > j) cout << "this won't execute\n";
b1 = true;
b2 = false;
if(b1 && b2) cout << "this won't execute\n";
if(!(b1 && b2)) cout << "!(b1 && b2) is true\n";
if(b1 || b2) cout << "b1 || b2 is true\n";
return 0;

The output from the program is shown here:
i < j
i <= j
i != j
!(b1 && b2) is true
b1 || b2 is true
Both the relational and logical operators are lower in precedence than the arithmetic operators. This 
means that an expression like 10 > 1+12 is evaluated as if it were written 10 > (1+12). The result is, of 
course, false.
You can link any number of relational operations together using logical operators. For example, this 
expression joins three relational operations:
var > 15 || !(10 < count) && 3 <= item
The following table shows the relative precedence of the relational and logical operators:

Download 11,33 Mb.

Do'stlaringiz bilan baham:
1   ...   36   37   38   39   40   41   42   43   ...   194




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