Loading...


bookmark - [tutorial] Basics Of C Programming - Part 2

[tutorial] Basics Of C Programming - Part 2

 
 Discussion by dhanesh with 21 Replies.
 Last Update: October 17, 2008, 10:36 pm
 
bookmark - [tutorial] Basics Of C Programming - Part 2  
Quickly Post to [tutorial] Basics Of C Programming - Part 2  w/o signup Share Info about [tutorial] Basics Of C Programming - Part 2  using Facebook, Twitter etc. email your friend about [tutorial] Basics Of C Programming - Part 2 Print
Reply / Comment New Discussion / Topic Share / Bookmark E-Mail a Friend Print

Ok, well here is the Second part of the tutorial i promised.

Operators & Expressions in C

Introduction


  • In c the variable, arrays or function references are combined with operators to form expressions.
Eg. C=A+B

  • The data items that the operators act upon are called operands.
  • Some operators require two operands will others require just a single operand to act upon.
Types Of Operators :


  • Arithmetic Operators
  • Unary Operators
  • Relational and Logical Operators
  • Assignment Operators
  • Conditional Operators
Arithmetic Operators


  • + : Addition
  • : subtraction
  • * : Multiplication
  • / : Division
  • % : Modulus

  • The operands must represent numeric values
Eg : Integer, Floating, or characters – C character set

  • % : Both operands must be integer and second one nonzero.

  • / : Second operand must be a Nonzero.

  • Both operands are integers then referred to as integer division
  • Operation is carried by two floating values then Floating point division.
  • If one integer and the other float then the result will be floating quotient.
Type Cast : Converts the value of an expression to a required data type if needed.
Syntax ( Data type) Expression
Eg. ((int):unsure:%4

Unary Operator:


  • They act upon a single operand to produce a new value.
Types :

  • Increment Operator
++ : Increments the value in the operand by 1
Eg: ++a, a++

  • Decrement Operator
--: Decrements the value in the operand by one
Eg. : --a, a--.

  • sizeof : returns the size of the operand in terms of bytes. And is always preceded by its operand.
Eg. Printf( “THE SIZE OF VARIBALE A IS : %d”, sizeof a);


Relational and Logical Operator:

Relational Operators :

  • <= : Less than or equal to
  • >= : Greater than or equal to
  • > : Greater than
  • < : Less than
  • == : Equal to
  • != : Not Equal to
Logical Operators :

  • && - and : Both the conditions should hold true
  • || - or : Either one of the condition should hold true for the action to be performed.
Assignment Operators :

  • They are used to form an assignment expression
  • It would assign a value of an expression to a identifier.
Types :

  • =
  • +=
  • -=
  • *=
  • /=
  • %=
Conditional Operator :

  • Used for carrying out conditional operations – ( ? : )

  • Syntax : Expression 1 ? Expression 2 : Expression 3
Eg. i=10
ans= (i<=10) ? 0 : 1

Yeap, well that wraps up the Conditional Operators topic. As suggested, i would post some examples of code later on, but till then you could go through these basic guidelines and perfect them. Hope this helped :D

Regards
Dhanesh.

   Thu Jul 27, 2006    Reply         


Alright, that did make a great Part II, and you didn't screw up any code this time either! Good work, but you missed out some things (Of course you can't teach C Prog. in 2 parts :D ) so I'd write Part III, if I get time, that is! No, really - I'm working hard on my website right now, and filling up my forums too!

Honestly, you should be adding some examples and some assignments too, as a good tutor!!! :unsure:









   Fri Jul 28, 2006    Reply         

LOL omkar .. true but hard to believe, I'll kill someone if they dont understand what i teach .. lol :D . I am a really impatient tutor. Guess i have to be working on my teaching skills from now. hehe ..

As for Part 3 .. Its all yours, really .. I havent started yet .. so whenever you get time .. go on and complete whatever i have missed out. Its not easy to complete C in 2 parts true, so i hope you will add up a few pointers for us then :unsure: ..

Thankx for your comments.
Regards
Dhanesh.

   Fri Jul 28, 2006    Reply         


Hey Dhanesh

Long time no see, digital brother. <LOL
Wow I am just amazed at how much you guys are literate in computer programming languages. For me, it's HTML and I only know the basics. Well, it's kinda sad but I guess it can hold out for a little time being while I go try to learn PHP.

Can someone answer my question:

How can you benefit from being literate in C programming and C++?? What about C++ Visuals? Is that another programming language too?

By the way, wonderful job there, Dhanesh. Kudos for you.

   Sat Jul 29, 2006    Reply         

QUOTE (cyborgxxi)

Hey Dhanesh
Long time no see, digital brother. <LOL

Link: view Post: 83715


Aha .. the Hobbes of asta :D .. long time indeed, where have u been bro and how've you been ?. Seems like you were bz with ur website. Best of luck for that :unsure: share it with us sometime ..

QUOTE (cyborgxxi)


Can someone answer my question:

How can you benefit from being literate in C programming and C++?? What about C++ Visuals? Is that another programming language too?

Link: view Post: 83715


I think the best people to answer this would be people who are INTO programming. But lets see, by learning C / C++ which are the foundation of any programming languages today, you would be able to design/program applications flexibly. Visual C++ is a form of basic command C/C++, just with a pretty GUI and with the title of M$, i have seen people who prefer the basic C/C++ more to the Visual C++. One major difference would be the syntax, Different programming languages have different syntax, but its easy to cope up when you are fluent with 1 basic language.

I love to work on Visual Basic, and to be honest, i have to be changing that, cause tho VB might seem easy with GUI and stuff, its not so flexible as command C/C++ ..Hope you get the basic point .. Anyone else who can elaborate on this is welcome :D ..

Hope you see more of you around Hobbes ... lol ;)
Regards
Dhanesh.

   Sat Jul 29, 2006    Reply         

These are old knowledge... I miss them sooo!!

   Wed Oct 18, 2006    Reply         


QUOTE

Honestly, you should be adding some examples

I agree.
Mainle, I see what ++i is (it changes i to i+1).
I would like to know what += means. if a=-1, += applied to a makes it change to -2 or to 0 ?

   Wed Oct 18, 2006    Reply         

Hey Dhanesh, hobbes :P , long time no see.

I've been studying Visual Basic for the past few weeks now as a course in school. It's getting a little more complicated now that i've moved up to ifs and elses. Some of the operators i see used in C (as you have portrayed) is really similar to that of Visual Basic, one difference i can point out though, is how to make equations equal, that is using the double equal sign (==). It reminds me of back when i was studying a little php. They say that Visual Basic is a good base before moving on to other languages such as C or C pluses, it doesn't seem so at first glance, and if you know me, I'm not a very good reading learner :P .

Going out of the topic for a moment. The book we're using in our Visual Basic course describes something about pseudocode. Where you actually incorporate understandable English language as code. A friend told me it is just a form of "laying out" your code into more understandable parts. But I'm wondering if pseudocode actually works as a language itself?

   Wed Oct 18, 2006    Reply         

It was a good tutorial indeed. Though I did find some omissions.
1)First you didn't differntiate between a++ and ++a. May be you have a plan of explaining it later.
2) You have left out bitwise operators completely. (Operators like XOR-^ , OR- | , AND - & , NOT - ~ ). In fact along with the assignment operators you've mentioned, the following also hold good.
|=,
&=,
^=.
3)Also, there are bitshift operators. Bitwise left shift (<<) and bitwise right shift(>>) operators whih help in doing bitshifting operations.

Once again I repeat I'm not sure if you have plans of covering these in your next part. But if you didn't have such plans, you can include these in your next part of the tutorial :P

   Wed Oct 18, 2006    Reply         

It looks like a great piece of information to me, Iv'e done DLL's and things in C++ and still didn't know some of that :P.

   Fri Oct 20, 2006    Reply         

QUOTE (Chesso)


It looks like a great piece of information to me, Iv'e done DLL's and things in C++ and still didn't know some of that :D.

Link: view Post: 89753

May be bacause you never needed BITWISE operators... They are very much useful in embedded system programming and system programming.

For high level codes, BITWISE operators may not be necessary. (I've never done any DLL's. So ain't sure if you do BIT operations there... All I know about DLL is it stands for Dinamic Link Libraries. Atleast thet's what I think it is :D )

[PS: Sorry for late response. Didn't come online for a long time as I was caught up with series of unfortunate events. Finally I'm free!!! :) ]

   Sun Oct 29, 2006    Reply         

QUOTE (yordan)


I agree.
Mainle, I see what ++i is (it changes i to i+1).
I would like to know what += means. if a=-1, += applied to a makes it change to -2 or to 0 ?

Link: view Post: 89645


Here is an example:
a = 10;
a += 1;
(a==11);
a = 0;
a += -1;
(a==-1);
a = 5;
a += -3;
(a==2);

So a += b; is the same as writing a = a + b;, just a simpler syntax.

   Sun Dec 31, 2006    Reply         

QUOTE (bluefish)


Here is an example:
a = 10;
a += 1;
(a==11);
a = 0;
a += -1;
(a==-1);
a = 5;
a += -3;
(a==2);

So a += b; is the same as writing a = a + b;, just a simpler syntax.

Link: view Post: 94789

OK, thanks for the reply. I learned something today, now I know what "+=" means.

   Tue Jan 2, 2007    Reply         

I actually didn't know what it meant either, but I don't think I have ever needed to use it, but then again Iv'e only seen it used rarely.

   Tue Jan 2, 2007    Reply         

QUOTE (Chesso)


I actually didn't know what it meant either, but I don't think I have ever needed to use it, but then again Iv'e only seen it used rarely.

Link: view Post: 94965

rarely is already a lot. I never saw thins += thing until today, and I don't even mind seeing somebody using it. Nevertheless, from a philosophical point of view, knowledge is supposed to be a good thing, even for (probably) useless things :)

   Wed Jan 3, 2007    Reply         

Well, it was a great tutorial and i found it a very useful addition to my learning of programming. There were a few minor improvements in store, which SP Rao has stated for me.

All in all a good tutorial, and i await the next part with great anticipation :)

   Wed Jan 3, 2007    Reply         

Wow, I hope these guides keep coming! There are a lot of differences for me for C compared to c++ and java. I like the syntax better in c++ and java, so the more guides I can read like this, the better off I am! Thanks a lot for your hard work B)

   Thu Jun 7, 2007    Reply         

C and C++ aren't too different, C++ is more an upgrade to add Object Orientation to the mix.

   Thu Jun 7, 2007    Reply         

Thankx for the second part man, glad to learn it. :P
I think i'm gonna learn a lot here.<_<

   Sun Jul 1, 2007    Reply         

Hey,

Long time no see, digital brother. <LOL
Wow I am just amazed at how much you guys are literate in computer programming languages. For me, it's HTML and I only know the basics. Well, it's kinda sad but I guess it can hold out for a little time being while I go try to learn PHP.

Can someone answer my question:

How can you benefit from being literate in C programming and C++?? What about C++ Visuals? Is that another programming language too?

   Sat Aug 11, 2007    Reply         

C was a non object oriented programming language, C++ is just a well, more updated version of C that includes more modern standards including OOP.

As for the last one you mentioned, I think you mean Visual C++ and variants, which are Microsoft products (Microsoft Visual C++).

   Sat Aug 11, 2007    Reply         

QUOTE (Chesso)

C was a non object oriented programming language, C++ is just a well, more updated version of C that includes more modern standards including OOP.

As for the last one you mentioned, I think you mean Visual C++ and variants, which are Microsoft products (Microsoft Visual C++).
Link: view Post: 109003

C and C++ are general purpose programming languages, if you can write c or c++ you can virtually do anything, i suggest you stick with console applications as you start, you can do graphical stuff later when you'd mastered the language very well.
Although C++ looks like C, it's quite a different language and it was rewritten from scratch with C compatibility in mind but with so many enhancements, the most visible improvement with C++ is that it is object oriented, this is a different programming paradigme from procedural C.
I would like to emphasise the fact that the C WASN'T, the C language still IS !! i personnally do a lot of work in this language wich i find to be a very powerfull tool of work, although i am familiar with C++i still write C daily, however as a beginner you can start C++ directly, most of us still use C because one way or another it's the language we master the best.
Visual C++, is just an integrated development environment (IDE), it only runs in microsoft windows, this is an inferior software platform, if you want to do some real development you should use a higher grade system such as GNU/Linux or FreeBSD.

   Fri Oct 17, 2008    Reply         

Quickly Post to [tutorial] Basics Of C Programming - Part 2  w/o signup Share Info about [tutorial] Basics Of C Programming - Part 2  using Facebook, Twitter etc. email your friend about [tutorial] Basics Of C Programming - Part 2 Print
Reply / Comment New Discussion / Topic Share / Bookmark E-Mail a Friend Print

Similar Topics:

Programming With Coffee

Since Java is a complete programming language, one tutorial is not going to cover everything. However, I will try to cover the basics and possibly extend on them later, and will assume you know very little about programming. If something seems unclear, it is because I am not very good at explaining. ...more

   24-Apr-2005    Reply         

What Shall I Learn First In Program...

Hey guys i'm posting here because i've a doubt, about 1 year ago i started to develop a certain taste for programming, at first i tryed code Websites using Html ,then with php, then Mysql, and at last all together. Now i alreday finished my hardware Reparation course, but that old taste for ...more

   07-Feb-2006    Reply         

How To Learn A Programming Language

How to Learn a Programming Language 1. Choose a programming language. Pythonand Turtle Graphics are good starter languages. they are very straightforward and easy to learn. Also, there is a module called Pygame available that makes handling windows a breeze. Ano ...more

   15-Aug-2007    Reply         

Writing ISRs (Interrupt Service Routines) Interrupt Service Routines   Writing ISRs (Interrupt Service Routines) Interrupt Service Routines (6) (10) C++: Basic Classes classes, objects, access labels, members, inline functions  C++: Basic Classes classes, objects, access labels, members, inline functions