Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
C++ for beginners Lecture 1 © 2008 Richèl Bilderbeek 1 Question • What are variables? • Where do you use variables for? • What is the C++ syntax for using variables? 2 Answer • A variable is a value (number, text, etc.) a computer has to remember • The purpose of variables is perform operations on them, for example mathematical operations 3 C++ syntax for variables int value = 12; int = data type int stores whole numbers C++ is type sensitive value = identifier C++ is case sensitive 12 = initial value of 'value' should be a whole number (as it is stored into an int) 4 Question • An int stores whole numbers. Which other data types do you guess to exist? • What is the purpose of using data types? 5 Answer • Everything can be a data type, e.g. you can define a data type called 'Chicken' • There are some standard C++ data types • (one of) the purpose(s) of data types is that the compiler can prevent illegal conversions, e.g. from Chicken to Database 6 Data types int wholeNumber = 12; double brokenNumber = 12.34; bool truth = true; std::string woord = “Bilderbikkel”; enum Sex { man, vrouw }; Sex richel = man; class Chicken { /* IETS */ }; Chicken henny; 7 Question • What is the problem in the following program? #include <iostream> int main() { int x = 12; std::cout << x << std::endl; int x = 24; std::cout << x << std::endl; } 8 Answer • The variable 'x' is declared twice! #include <iostream> int main() int must be removed! { int x = 12; std::cout << x << std::endl; int x = 24; std::cout << x << std::endl; } 9 Math #include <iostream> int main() { int a = 1; int b = 2; int som = a + b; std::cout << som << std::endl; } 10 Mathematical operators + * / % plus minus multiplication division modulus ('rest after division', e.g. 7 % 4 equals 3) 11 Question • How do you increase the value of a certain variable? int main() { int x = 12; int y = 23; //How to increase the value of x by the value of y? } 12 Adding i = i + 2; // i is its old value plus 2 i += 2; // i is increased by 2 i = i + 1; // i is i += 1; // i is i++; // i is ++i; // i is its old value plus 1 increased by 1 incremented incremented 13 Question • What happens in the following program? #include <iostream> int main() { int numerator = 22; int denominator = 7; //Approximation of pi double pi = numerator / denominator; std::cout << pi << std::endl; } 14 Answer • The int '22' divided by the int '7' results in the int '3', which gets converted to the double '3.0' • The get the value '3.14…', convert the ints to doubles. • This is called casting. 15 Casting int teller = 22; int noemer = 7; double pi = teller / noemer; //WRONG double pi = static_cast<double>(numerator) / static_cast<double>(denominator); //GOOD double pi = numerator / static_cast<double>(denominator); //WRONG double pi = static_cast<double>(numerator) / denominator; //GOOD (if you know why) 16 Question • If you want to do something depending a certain condition, what would you need to specify? 17 Answer • The keyword if • The condition • The line(s) of code that must be executed when the condition is true • Optionally: the line(s) of code that must be executed when the condition is false 18 If statement int x = /* something */; if (x % 2 == 0) { std::cout << "x is even" << std::endl; } else { std::cout << "x is odd" << std::endl; } 19 Logische operatoren if (truth == true) { /* if equal */ } if (x < 96) { /* if smaller */ } == != < > <= >= is is is is is is && || and or equal to not equal to smaller bigger smaller of equal bigger or equal if (x == 1 && y == 2) { /* if both are true */ } 20 Question • How do you write a program that calculates the formula below? X = 1 + 2 + 3 + 4 + …. + 98 + 99 + 100 21 Answer • Let the int x be zero • Let the int i be one • As long as i is not equal to 101 – Add the value of i to x – Increment the value of i • We must use a loop! 22 For-loop for ( int i = 1; //Initialisation i!=100; //Perform is this is true ++i) //Step { //Something } 23 For-loop #include <iostream> int main() { int x = 0; for (int i = 1; i!=100; ++i) { x+=i; } std::cout << x << std::endl; } 24 Special for-loops int main() { //Empy for-loop for (int i = 0; i!=10; ++i) ; //Infinite loop for ( ; ;) { } //Infinite empty loop for ( ; ;) ; } 25 Question • How should do the layout if his/her code? – Indentation? – Tabs? 26 Answer • Depends on your company's standard! • Indentation should be used in a consistent way • Some teams ban tabs, some teams allow tabs under disciplined use 27 Three standard layouts for (int i = 0; i!=10; ++i) { //Something } for (int i = 0; i!=10; ++i) { //Something } for (int i = 0; i!=10; ++i) { //Something } 28