Difference between revisions of "C++ Syntax"
(→Read from Console) |
(→Variables) |
||
(15 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | 'C++' is an extended version of 'C', it essentially added more features to allow for Object Oriented Programming. 'C#' is a continuation of 'C++' and was originally developed to replace 'C++', therefore 'C', 'C++', and 'C#' are very similar in many ways and have a few differences. | ||
+ | |||
=Comments= | =Comments= | ||
C++ implements comments by: | C++ implements comments by: | ||
Line 80: | Line 82: | ||
| \' || ' character | | \' || ' character | ||
|- | |- | ||
− | | \" || Alert or bell | + | | \" || " character |
+ | |- | ||
+ | | \? || ? character | ||
+ | |- | ||
+ | | \a || Alert or bell | ||
|- | |- | ||
| \b || Backspace | | \b || Backspace | ||
Line 116: | Line 122: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | Strings are handled differently, because using 'cin' a space is considered to be terminating character. using this method you can only enter a single word. | + | Strings are handled differently, because using 'cin' a space is considered to be terminating character. using this method you can only enter a single word. So you need to do this instead: |
+ | |||
+ | <syntaxhighlight lang=c++> | ||
+ | #include <iostream> | ||
+ | #include <string> //added this include for handling strings | ||
+ | using namespace std; | ||
+ | |||
+ | int main () | ||
+ | { | ||
+ | string mystr; | ||
+ | cout << "What's your name? "; | ||
+ | getline (cin, mystr); //getline is passed cin and the string to read in | ||
+ | cout << "Hello " << mystr << endl; | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | </syntaxhighlight> | ||
=Variables= | =Variables= | ||
− | + | The main Data types within C++ are: | |
− | = | + | |
− | + | {| class="wikitable" | |
− | + | |- | |
− | + | ! Data Type !! Keyword | |
+ | |- | ||
+ | | Boolean || bool | ||
+ | |- | ||
+ | | Integer || int | ||
+ | |- | ||
+ | | Floating Point || float | ||
+ | |- | ||
+ | | Double floating point || double | ||
+ | |- | ||
+ | | Character || char | ||
+ | |} | ||
+ | |||
+ | Notice, string is not one of the main types (if you think about it, a string is an array of char). | ||
+ | |||
+ | Some of the main types above can also be preceded with: | ||
+ | *signed | ||
+ | *unsigned | ||
+ | *short | ||
+ | *long | ||
===Strings=== | ===Strings=== | ||
− | + | See the reading from the console section above. | |
− | + | ||
− | + | ===Syntax=== | |
− | + | Just like C# you must declare a variable by typing the data type followed by the name of the variable: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <syntaxhighlight lang=c++> | |
− | <syntaxhighlight lang= | + | #include <iostream> |
− | + | using namespace std; | |
+ | |||
+ | int main () { | ||
+ | // variable declaration: | ||
+ | int a; | ||
+ | |||
+ | // actual initialization | ||
+ | a = 10; | ||
+ | |||
+ | cout << a; | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Notice in the code above that assignment/initialisation is also the same as in C#, this gives the variable a value and without it the variable will be null. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | ===Local | + | ===Local vs Global=== |
− | + | Where you declare your variable determines the scope of the variable. A variable declared within a method will be local and only exist within the method. Declaring a variable outside a method will give it global status. This is the same as C# and is demonstrated below: | |
− | <syntaxhighlight lang= | + | <syntaxhighlight lang=c++> |
− | + | #include <iostream> | |
− | + | using namespace std; | |
+ | |||
+ | // Global variable declaration: | ||
+ | int g; | ||
+ | |||
+ | int main () { | ||
+ | // Local variable declaration: | ||
+ | int a, b; | ||
+ | |||
+ | // actual initialization | ||
+ | a = 10; | ||
+ | b = 20; | ||
+ | g = a + b; | ||
+ | |||
+ | cout << g; | ||
+ | |||
+ | return 0; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=If Statement= | =If Statement= | ||
− | + | C++ If statements are exactly the same as C#. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Operators= | =Operators= | ||
− | Within if statements and also within loops, the following relational and conditional operates exist: | + | Within if statements and also within loops, the following relational and conditional operates exist (these are the same as C#): |
===Relational=== | ===Relational=== | ||
Line 181: | Line 229: | ||
| == || Equal | | == || Equal | ||
|- | |- | ||
− | | | + | | != || Not equal |
|- | |- | ||
| <= || Less than or equal | | <= || Less than or equal | ||
Line 196: | Line 244: | ||
! Operator !!Description !! Example | ! Operator !!Description !! Example | ||
|- | |- | ||
− | | | + | | && || Called Logical AND operator. If both the operands are non zero then condition becomes true.||(A && B) is false |
|- | |- | ||
− | | | + | | <nowiki>||</nowiki> || Called Logical OR Operator. If any of the two operands is non zero then condition becomes true. || (A <nowiki>||</nowiki> B) is true. |
|- | |- | ||
− | | | + | | !|| Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. || !(A && B) is true. |
|} | |} | ||
=Loops= | =Loops= | ||
− | Just like other languages Lua has the standard 3 types of loop. While will run 0 or more times (may never run), Repeat will run at least once, For will run an exact number of times: | + | Just like other languages Lua has the standard 3 types of loop. While will run 0 or more times (may never run), Repeat (do..while) will run at least once, For will run an exact number of times: |
− | + | Each of the loop structures in C++ are exactly the same as in C#. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
=Functions= | =Functions= | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | C++ uses the following structure for functions: | |
− | + | return_type function_name( parameter list ) { | |
+ | body of the function | ||
+ | } | ||
− | + | If the function has a return_type it will need to return a value of that type: | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | <syntaxhighlight lang=c++> | |
+ | int TimesTwo(int num) | ||
+ | { | ||
+ | return num*2; | ||
+ | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | You could call this function by using the function name and by providing it with its parameters: | |
− | |||
− | + | <syntaxhighlight lang=c++> | |
− | <syntaxhighlight lang= | + | cout << TimesTwo(10) << endl; |
− | + | int a; | |
− | + | a = TimesTwo(15); | |
− | + | cout << a << endl; | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | < | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</syntaxhighlight> | </syntaxhighlight> |
Latest revision as of 11:56, 14 June 2019
'C++' is an extended version of 'C', it essentially added more features to allow for Object Oriented Programming. 'C#' is a continuation of 'C++' and was originally developed to replace 'C++', therefore 'C', 'C++', and 'C#' are very similar in many ways and have a few differences.
Contents
Comments
C++ implements comments by:
/* This is a comment */
/* C++ comments can also
* span multiple lines
*/
// Single line comment also
Write to Console
Writing to the console is a little more complicated than other languages:
#include <iostream>
using namespace std;
main() {
cout << "Hello World"; // prints Hello World
return 0;
}
You can also use 'endl' to have a new line:
#include <iostream>
using namespace std;
int main() {
cout << "Hello World" << endl;
cout << "Hola Mundo" << endl;
return 0;
}
You can also concatenate using the '<<' symbols:
#include <iostream>
using namespace std;
main() {
cout << "Hello World " << 0 <<endl; // prints Hello World followed by a 0
return 0;
}
This method can be used to concatenate variable into your output (ie replace '0' with a variable name).
Escape Characters
These can also include escape characters in the string, eg '\n':
#include <iostream>
using namespace std;
main() {
cout << "Hello\nWorld"; // prints Hello followed by a new line and then World
return 0;
}
Here is a list of the escape characters available:
Escape sequence | Meaning |
---|---|
\\ | \ character |
\' | ' character |
\" | " character |
\? | ? character |
\a | Alert or bell |
\b | Backspace |
\f | Form feed |
\n | Newline |
\r | Carriage return |
\t | Horizontal tab |
\v | Vertical tab |
\ooo | Octal number of one to three digits |
\xhh . . . | Hexadecimal number of one or more digits |
Read from Console
C++ can read from the keyboard (ie Console.ReadLine() in C# or input() in Python), This uses the 'cin' command. The example is for will read an integer (notice the direction of the '>>' is swapped for inputs):
#include <iostream>
using namespace std;
int main ()
{
int i;
cout << "Please enter an integer value: ";
cin >> i;
cout << "The value you entered is " << i;
return 0;
}
Strings are handled differently, because using 'cin' a space is considered to be terminating character. using this method you can only enter a single word. So you need to do this instead:
#include <iostream>
#include <string> //added this include for handling strings
using namespace std;
int main ()
{
string mystr;
cout << "What's your name? ";
getline (cin, mystr); //getline is passed cin and the string to read in
cout << "Hello " << mystr << endl;
return 0;
}
Variables
The main Data types within C++ are:
Data Type | Keyword |
---|---|
Boolean | bool |
Integer | int |
Floating Point | float |
Double floating point | double |
Character | char |
Notice, string is not one of the main types (if you think about it, a string is an array of char).
Some of the main types above can also be preceded with:
- signed
- unsigned
- short
- long
Strings
See the reading from the console section above.
Syntax
Just like C# you must declare a variable by typing the data type followed by the name of the variable:
#include <iostream>
using namespace std;
int main () {
// variable declaration:
int a;
// actual initialization
a = 10;
cout << a;
return 0;
}
Notice in the code above that assignment/initialisation is also the same as in C#, this gives the variable a value and without it the variable will be null.
Local vs Global
Where you declare your variable determines the scope of the variable. A variable declared within a method will be local and only exist within the method. Declaring a variable outside a method will give it global status. This is the same as C# and is demonstrated below:
#include <iostream>
using namespace std;
// Global variable declaration:
int g;
int main () {
// Local variable declaration:
int a, b;
// actual initialization
a = 10;
b = 20;
g = a + b;
cout << g;
return 0;
}
If Statement
C++ If statements are exactly the same as C#.
Operators
Within if statements and also within loops, the following relational and conditional operates exist (these are the same as C#):
Relational
Symbols | Explanation |
---|---|
== | Equal |
!= | Not equal |
<= | Less than or equal |
>= | Greater than or equal |
< | Less than |
> | Greater than |
Conditional
Operator | Description | Example |
---|---|---|
&& | Called Logical AND operator. If both the operands are non zero then condition becomes true. | (A && B) is false |
|| | Called Logical OR Operator. If any of the two operands is non zero then condition becomes true. | (A || B) is true. |
! | Called Logical NOT Operator. Use to reverses the logical state of its operand. If a condition is true then Logical NOT operator will make false. | !(A && B) is true. |
Loops
Just like other languages Lua has the standard 3 types of loop. While will run 0 or more times (may never run), Repeat (do..while) will run at least once, For will run an exact number of times:
Each of the loop structures in C++ are exactly the same as in C#.
Functions
C++ uses the following structure for functions:
return_type function_name( parameter list ) { body of the function }
If the function has a return_type it will need to return a value of that type:
int TimesTwo(int num)
{
return num*2;
}
You could call this function by using the function name and by providing it with its parameters:
cout << TimesTwo(10) << endl;
int a;
a = TimesTwo(15);
cout << a << endl;