Difference between revisions of "C-and-C++/C2/Logical-Operators/English"
Nancyvarkey (Talk | contribs) |
|||
(2 intermediate revisions by the same user not shown) | |||
Line 17: | Line 17: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Slide 2 | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Slide 2 | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial we will learn about: | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial we will learn about: | ||
− | *Logical Operators | + | *Logical Operators like |
*Logical AND | *Logical AND | ||
** Eg- '''expression1 && expression2''' | ** Eg- '''expression1 && expression2''' | ||
Line 189: | Line 189: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Type | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Type | ||
− | '''gcc logical.c -o log''' | + | '''gcc space logical.c space -o space log''' |
+ | '''Press Enter''' | ||
Type | Type | ||
'''./log''' | '''./log''' | ||
+ | '''Press Enter''' | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To compile the code, type | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To compile the code, type | ||
− | '''gcc logical.c -o log''' | + | '''gcc space logical.c space -o space log''' |
Press '''Enter.''' | Press '''Enter.''' | ||
− | + | To execute, type '''./log''' | |
Press '''Enter.''' | Press '''Enter.''' | ||
Line 206: | Line 208: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Output: | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Output: | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| I will enter the values as 0 34 567. | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| I will enter the values as 0 34 and 567. |
− | The output is displayed as, | + | The output is displayed as here, |
'''c is greatest.''' | '''c is greatest.''' | ||
− | '''The product of a, b and c is zero.''' | + | And '''The product of a, b and c is zero.''' |
You should try executing this program with different sets of inputs. | You should try executing this program with different sets of inputs. | ||
Line 268: | Line 270: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now to make the same program in''' C++''', we make a few changes. | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now to make the same program in''' C++''', we make a few changes. | ||
− | There's a change in the header | + | There's a change in the header file. |
− | '''using''' statement has been used. | + | The '''using''' statement has been used. |
Also there is a difference in output and input statements. | Also there is a difference in output and input statements. | ||
Line 299: | Line 301: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To compile the program, type | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| To compile the program, type | ||
− | '''g++ logical.cpp -o log1''' | + | '''g++ logical.cpp space -o space log1''' |
Press '''Enter.''' | Press '''Enter.''' | ||
− | To execute | + | To execute, type |
'''./log1''' | '''./log1''' | ||
Line 311: | Line 313: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Output: | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Output: | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"|I will enter the values as 0 34 567. | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"|I will enter the values as 0 34 and 567. |
− | + | So we see the output is similar to the '''C''' program. | |
− | You should try executing | + | You should try executing this program with different sets of inputs too. |
|- | |- | ||
Line 323: | Line 325: | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now let us see an error which we can come across. | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Now let us see an error which we can come across. | ||
− | Let | + | Let us switch back to the editor. |
|- | |- | ||
Line 337: | Line 339: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let see what will happen. Save the program. | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Let us see what will happen. Save the program. |
Come back to the '''terminal'''. | Come back to the '''terminal'''. | ||
Line 369: | Line 371: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Compile and execute as before. |
So, it is working now. | So, it is working now. | ||
Line 377: | Line 379: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Summary: | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Summary: | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial we learnt about | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| In this tutorial we learnt about |
− | + | ||
*&& Logical AND | *&& Logical AND | ||
**eg. '''((a > b) && (a > c)) ''' | **eg. '''((a > b) && (a > c)) ''' | ||
Line 387: | Line 388: | ||
|- | |- | ||
| style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Assignment: | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:none;padding:0.097cm;"| Assignment: | ||
− | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Write a program that takes two numbers as input from the user. | + | | style="border-top:none;border-bottom:1pt solid #000000;border-left:1pt solid #000000;border-right:1pt solid #000000;padding:0.097cm;"| Assignment |
+ | Write a program that takes two numbers as input from the user. | ||
Check whether the two numbers are equal or not using '''NOT''' operator. | Check whether the two numbers are equal or not using '''NOT''' operator. |
Latest revision as of 16:34, 5 February 2014
Title of script: Logical Operators in C and C++
Author:Ritwik Joshi
Keywords: Logical Operators, Video Tutorial
|
|
Slide 1 | Welcome to the spoken tutorial on Logical operators in C and C++. |
Slide 2 | In this tutorial we will learn about:
|
Slide 3 | To record this tutorial, I am using:
Ubuntu 11.10 as the operating system gcc and g++ Compiler version 4.6.1 on Ubuntu. |
Slide 4
|
Let us start with the introduction to the logical operators.
In C and C++, true is any value, other than 0. Non-zero means true. Zero means false
|
Now I'll explain the logical operators with the help of an example. | |
Switch to logical.c in gedit | Here is the program for logical operators in C. |
Highlight
|
Inside the main block, this statement declares the variables a,b and c as integers. |
Highlight
and c \n"); |
The printf statement prompts the user to enter the values of a,b and c. |
Highlight
&c); |
The scanf statement takes input from the user for the variables a, b and c. |
Highlight
printf("a is greatest \n"); |
Here, we are comparing the values of a with b and c to find the greatest.
To compare simultaneously, we use the logical AND operator. Here, all of the conditions have to be true for logical AND to return a true value. The expression is not evaluated further on encountering a false condition. So, the expression (a>c) is evaluated only if (a>b) is true. If a is less than b, then the expression won't be evaluated further. This statement is be evaluated if the previous condition is true. |
Highlight
|
Next (b>c) is evaluated.
|
Highlight
|
If the condition is true, then b is greatest is displayed on the screen. |
Highlight
printf("c is greatest \n"); |
Otherwise c is greatest is displayed on the screen. |
Highlight
|
We now come to the logical OR operator.
Here, any one of the conditions has to be true for logical OR to return a true value. The expression is not evaluated further on encountering a true condition. So, if a == zero, then the remaining two expressions won't be evaluated. |
Highlight
and c is zero \n");
|
This printf statement is executed, if, either of a, b or c is 0. |
Highlight
} |
Coming to the end of the program.
return 0 and ending curly bracket. |
Click on Save | Now save the program.
Save it with extension .c I have saved my file as logical.c |
press Ctrl, Alt and T keys simultaneously. | Open the terminal by pressing Ctrl, Alt and T keys simulataneously. |
Type
gcc space logical.c space -o space log Press Enter Type ./log Press Enter |
To compile the code, type
gcc space logical.c space -o space log Press Enter. To execute, type ./log Press Enter. |
Output: | I will enter the values as 0 34 and 567.
The output is displayed as here, c is greatest. And The product of a, b and c is zero. You should try executing this program with different sets of inputs. |
Now, let's write the same program in C++ | |
Open the C++ file. | I have already made the program and will take you through it.
Here is the code in C++. |
//Logical operators in C++
#include <iostream> using namespace std; int main() { int a,b,c; cout <<"Enter the values of a,b and c \n"; cin >>a >>b >>c; if((a > b) && (a > c)) cout <<"a is greatest \n"; else if (b > c) cout <<"b is greatest \n"; else cout <<"c is greatest \n"; if(a == 0 || b == 0 || c == 0) cout <<"The product of a, b and c is zero \n"; return 0; } |
Now to make the same program in C++, we make a few changes.
There's a change in the header file. The using statement has been used. Also there is a difference in output and input statements. The operators behave in the same way as they did in C.
|
Click on Save.
point to .cpp |
Click on Save.
Make sure the file is saved with extension .cpp |
press Ctrl, Alt and T keys simultaneously. | Open the terminal by pressing Ctrl, Alt and T keys simulataneously. |
On the terminal type
g++ logical.cpp -o log to execute ./log |
To compile the program, type
g++ logical.cpp space -o space log1 Press Enter. To execute, type ./log1 Press Enter. |
Output: | I will enter the values as 0 34 and 567.
So we see the output is similar to the C program. You should try executing this program with different sets of inputs too. |
Errors
|
Now let us see an error which we can come across.
Let us switch back to the editor. |
Delete
|
Suppose here we forgot the brackets.
Delete this and this. |
Let us see what will happen. Save the program.
Come back to the terminal. Compile and execute as before. | |
Highlight Error | We see the error:
Expected identifier before '(' token. |
This is because we have two different expressions here.
We have to evaluate them as one expression using AND operator. | |
Now let us go back to our program and fix the error. | |
Let us insert the brackets here and here.
Click on Save. Come back to the terminal. | |
Compile and execute as before.
So, it is working now. Let us now summarize the tutorial. | |
Summary: | In this tutorial we learnt about
|
Assignment: | Assignment
Write a program that takes two numbers as input from the user. Check whether the two numbers are equal or not using NOT operator. Hint: (a != b) |
Slide 5
About the Spoken Tutorial Project
|
* Watch the video available at the following link
|
Slide 6
Spoken Tutorial Workshops The Spoken Tutorial Project Team
|
The Spoken Tutorial Project Team * Conducts workshops using spoken tutorials
|
Slide 7
Acknowledgement
|
Spoken Tutorial Project is a part of the Talk to a Teacher project * It is supported by the National Mission on Education through ICT, MHRD, Government of India
|
Remain on previous slide
No slide for this part |
This is Ritwik Joshi from IIT Bombay.
Thank you for joining. |