Let*s talk about C++

advertisement
CS31
You Lu
CS31-1K TA
Hello World!
Variable
• Declare Variables before you use it
type variable_list;
e.g. int i, j, k;
• Numeric Ranges (textbook page 9)
int: −2,147,483,648~2,147,483,647
double: −1.7 × 10308 ~1.7 × 10308
• Check its range before you use this type of
variable. Make sure the value you want to store
in this variable will not be out of its range.
Out of the Range
You input 8888888888,
but it outputs another
different number.
I/O
• cin >>
• cout <<
Input one word or string
cin>>s;
//can only input one word, e.g., only my first
name.
getline(cin, s);
//can input the whole string, e.g., my first and
last name
cin.ignore(10000, '\n')
Use cin.ignore(10000, '\n') after reading a
number if the next input will be of a string
(using getline)
Arithmatic
• Division: 5/2=2; 5.0/2=2.5
– as long as one of the number is a “double” we
have a “double” division.
• Mod: 5%2=1 (remainder)
• Casting:
– int a = 2.5
a=?2
– (double)5/2 = ? 2.5
– (double) (5/2) = ? 2
Visual Studio 2010
Check the output of compiler to see if there
is any warning or error every time.
iostream precision
• Default is 6 digits
• If “double a = 1234.56789”; “cout << a” will
only display 1234.57
• Here you can use “cout.precision(9)” to set the
output as 9 digits.
• See the example below.
iostream precision
Be more careful to use “cout”
header file
• #include <string> //standard built-in libraries
• #include “ccc_time.h” //user-defined libraries
if …
• if (condition) statement;
condition:
• non-zero value means true;
• zero value means false;
another example
if…else…
if (expression) statement;
else statement;
Nested if statement:
if()
{
if() {…}
else {…}
}
else if()
{
}
else
{
}
Boolean expression
•
•
•
•
•
Greater than or equal: “>=“
Less than or equal: “<=”
Equal: “==”
Not equal: “!=”
Logic expression:
– AND: &&
– OR: ||
– NOT: !
priority
• Arithmetic operator > relational operator
10 > 1+2 ↔ 10 > (1+2)
• “<<“ operator > logic operator
cout << “true AND false is ” << (true && false);
priority
highest
!
> >= < <=
== !=
&&
lowest
||
while loop
while (expression)
{
statement;
}
do{
statement;
}
while (expression)
example
for loop
for (initialization; condition; increment)
{
statement;
}
infinite loop:
for(;;)
{
}
“continue”
skip the current round loop, go to the next round
loop
for(…)
{
code 1;
code 2;
continue;
code 3;
}
example
“break”
stop the current loop and get out of the loop.
for (…)
{
code 1;
code 2;
break;
code 3;
}
code 4
example
“goto”
• goto and “lable” must be in the same
function.
lable:
goto [lable];
another example
Jump out from a deep nested loop
for(…)
{
for(…)
{
while(…)
{
if(…) goto stop;
…
}
}
}
stop:
cout << “Error in program. \n”;
//”break” can only jump out from only one loop
Online reference
• Some websites are really helpful for you to
learn C++, like http://www.cplusplus.com/
• More detailed reference: Microsoft MSDN
library
– http://msdn.microsoft.com/enus/vstudio/hh388567
– http://msdn.microsoft.com/enus/library/cscc687y(v=vs.80).aspx
– http://msdn.microsoft.com/enus/library/3bstk3k5.aspx
Look up “rand()”
My webpage for CS31 1K
http://www.cs.ucla.edu/~youlu/CS31-1K.html
Download