550 likes | 671 Views
Arash Rafiey. arafieyh@cs.sfu.ca TA : Xu Cheng xuc@cs.sfu.ca Office Hours M-W 10:30 – 11:30. How Create a C++ Program. #include<iostream> using namespace std; void main() { cout<<“Hello World”; } If your compiler gives error then. #include<iostream.h> void main() {
E N D
Arash Rafiey arafieyh@cs.sfu.ca TA : Xu Cheng xuc@cs.sfu.ca Office Hours M-W 10:30 – 11:30
#include<iostream> using namespace std; void main() { cout<<“Hello World”; } If your compiler gives error then
#include<iostream.h> void main() { cout<<“Hello World”; cout<<endl; // for going to new line cout<<“ good bye”; } cout is an object for printing out some thing on the screen.
#include<iostream.h> void main() { cout<<“Hello World \n”; cout<<“ good bye”; } we can use \n instead of cout<<endl;
How to run your program • Using Linux or unix: g++ myFile.cpp ./a.out g++ myFile.cpp myFile.out ./myFile.out
Declare Statement & Variable • Each variable must be declare before use • Each variable has a type: For example int , char, float. int for Integer type; char for character like ‘A’; float for real number;
Example int LuckyNumber=17; float RealNumber; char a=‘A’;
Identifiers • Identifier: name of a variable, function, or class • Rules for identifiers in C++: 1Can be made up of letters, digits, and the underscore (_) character 2 Cannot start with a digit 3 Cannot use other symbols such as ? or % 4 Spaces are not permitted inside identifiers 5 You cannot use reserved words 6 They are case sensitive
Self Check 1. What is the type of the values 0 and ‘0’? 2. Which of the following are legal identifiers? Greeting1gvoid101dalmatiansHello, World<greeting>
Answer • int and char • Only the first two are legal identifiers
Syntax : Variable Definition • typeName variableName = value;ortypeName variableName; Example : int numbe = 12; Purpose: To define a new variable of a particular type and optionally supply an initial value
The Assignment Operator • Assignment operator: = • Not used as a statement about equality • Used to change the value of a variable int number1; int number2, number3; number1=number2=number3=88;
number2=number2-1; number3=number2+1;
How to read a variable #include<iostream> using namespace std; void main() { int number; cout<<“please enter a number \n”; cin>>number; number=number+1; cout<<“the number is “<<number; }
Integer Types • The short, int and long Integer Types A short integer is at least 16 bits A int integer is at least as big as short A long integer is at least 32 bits and at least as big as int .
E.g. A 16-bit int might run from -32768 to 32767 • The sizeof operator returns the size (in bytes)
#include<iostream.h> int main() { int n_int = INT_MAX; short n_short = SHRT_MAX; long n_long = LONG_MAX; cout << “int is “ << sizeof (int) << “ bytes” << endl; cout << “short: “ << n_short << endl; cout << “long: “ << n_long << endl; return 0; }
int is 4 bytes • Maximum values: • Short: 32767 • Long: 2147483647
Characters and small integers #include<iostream.h> int main() { char ch = ‘M’; // assign ASCII code int a = ch; cout << “ASCII code: “ << ch << “ is “ << a << endl; ch = ch + 1; a = ch; cout << “ASCII code: “ << ch << “ is “ << a << endl; return 0; }
Output • M is 77 • N is 78
Boolean type • bool isReady = true; • int ans = true; // ans assigned 1 • int promise = false; // promise assigned 0 • bool start = -100; // true • bool stop = 0; // false
Floating-point number • E.g. • 12.34 • 9300.3 • 0.02 • 8.0 • We have float, double, long double
Arithmetic operators • Summation: + • Multiplication: * • Division: / • Subtraction: -
Operator Precedence • int number = 3 + 4 * 5 // 35 or 23? • float logs = 120 / 4 * 5 // 150 or 6??
Type Casting • Conversion between types: • (typeName) value // c • typeName (value) // c++ • e.g. • cout << int(‘A’) << endl; // 65 • float one, • int two; • one = 1.9 + 2.1; • two = (int) 1.9 + (int) 2.1;
Functions • Building blocks of programs • A function • Has an input and an output • Contains a set of instructions • x = sqrt(16); // returns 4
Syntax • typeName functionName (typeName varName_1, …) { BODY . . . return value; }
Examples of functions int sum (int firstValue, int secondValue) { int final; final = firstValue + secondValue; return final; } void main() { int a = 1; int b = 2; int total = sum(a,b); cout << “Total is: “ << total << endl; }
Arrays • An array is a data form that holds several values of the same type • Syntax: • typeName arrayName[value]; • e.g: • int someArray[3]; • Index starts from 0!!! • someArray[0] = 1; • someArray[2] = 2;
Initializations Rules for Arrays • int array[4] = {2,6,4,5}; • int secondArray[4]; • secondArray[4] = {5,6,7,8}; // error!!! • secondArray = array; //error!!! • float Hotel[5] = {1.1, 2.2}; • long total[500] = {0};
String • Series of characters stored in a consecutive bytes • Create a string as an array but the last element must be the null character ‘\0’ • e.g • char dog[5] = {‘b’,’e’,’a’,’u’,’x’}; //NOT!! • char dog[6] = {‘b’,’e’,’a’,’u’,’x’,’\0’}; // STRING!!
More examples • char dog[5] = “beaux”; //a better way null character is implicitly included. • char name[]=“c++”; // compiler counts • char boss[8]=“Arvind”;
#include<iostream.h> int main() { int arSize = 20; char name[arSize]; char dessert[arSize]; cout << “Enter your name: “ << endl; cin >> name; cout << “Enter your dessert: “ << endl; cin >> dessert; cout << name << “ has selected: “ << dessert << endl; return 0; }
Another way to read a string #include<iostream.h> int main() { int arSize = 20; char name[arSize]; char dessert[arSize]; cout << “Enter your name: “ << endl; cin.getline(name, arSize); // reads through newline cout << “Enter your dessert: “ << endl; cin.getline(dessert, arSize); cout << name << “ has selected: “ << dessert << endl; return 0; }
The String class • To define strings more easily: • Include the string class: • #include<string> • string str_1 = “jaguar”;
Assignment & Concatenation & Appending • char char_1[20]; • char char_2[20] = “jaguar”; • string str_1; • string str_2 = “panther”; • char_1 = char_2; // INVALID!! • str_1 = str_2; // VALID!!
Appending • string str_3; • str_3 = str_1 + str_2; // join str_1 and str_2 • str_1 += str_2; // add str_2 to the end of str_1
More string operations: • Copying: #include <cstring> • strcpy(char_1, char_2); //copy char_2 into char_1 strcat(char_1, char_2); //append char_2 to char_1 • Size of a string: • char charOne[20] = {‘p’,’i’,’e’}; • string strOne = “pie”; • strlen(charOne); • strOne.size();
Increment & Decrement • Increment: ++ int a = 20; int b = 20; cout << “a: “ << a << “ b: “ << b << endl; cout << “a++: “ << a++ << “ ++b: “ << ++b << endl; cout << “a: “ << a << “ b: “ << b << endl;
a: 20 b:20 a++: 20 ++b:21 a:21 b:21 int x = 5; int y = ++x;
Decrement: -- • Same rules as increment ( i.e. ++)
Loops • different types: • for • while • etc.
For Loop • for(initialValue; test-expression ; update-expression) { BODY }
Example #include<iostream.h> int main() { int a; for (a = 0; a < 10; a++ ) { cout << a << endl; } return 0; }
While loop • while(test-expression) { BODY }
Example #include<iostream.h> int main() { int arSize = 20; char name[arSize]; cin >> name; int a = 0; while (name[a] != ‘\0’) { cout << name[a] << endl; a++; } return 0; }
Conditional Statements • if statements • Syntax: if (condition) { IF_BODY } else { ELSE_BODY }
Conditions: • Relational Expressions: • Comparisons: • e.g • == tests equality • > is greater?