Beruflich Dokumente
Kultur Dokumente
history of c
"hey dennis, why don't you make a programming language for unix."
"okay brian, but you have to help me write the book for it."
"no problem man!"
"pass the twinkies my brutha."
"dude i think we're out of twinkies."
"what!!!! you mean to tell me that here in bell labs, where we created
the transistor, unix, and the 10 cent a minute long distance dialing
plan we can't keep a steady supply of twinkies!"
c was brought to us by those fine people at bell labs. you know those
at&t people? they had themseves this operating system called unix,
that needed a programming language. they made it, and since the
previous version was called b, they decided to call it c for obvious
reasons. no, there was never an a programming language. i say that so
you won't embarass your self on an irc, dang those guys can be brutal.
it was written by this guy named dennis ritchie. the b in b stood for bell
by the way. so if your ever on jeapordy, now you know.
the workings of c
i still find it amazing that for all the power that a computer has it's just
working off a base 2 number system. wouldn't it be different if humans
used base 2? in the lottery you'd only have 0 and 1 too choose from.
after you compile your source code a thing called an object file is
created. afterwards, if it is brave and it's heart remains pure it is ran
through the linker which turns it into an excecutable file. let's write a
simple c program shall we? don't worry if you don't understand
everything i'm about to say. just copy the source code, i'll break down
all lines of code. do not use capital letters!!!!!! !! do not copy and
paste this code!!!! the < stdio.h > is confusing to your browser, since it
looks, smells, and tastes like an html tag. i had to use some spaces. so
if you cut and paste it will not work!!! so there!!!!
important :
now for compiler you can use many c compilers avaiable in market but
i would like to recomend borland turbo c ver 3.0. a simple program
with lot of help and easy to use interface .
now if you have to stroe a c code some where stroe it in .c format .cpp
is fine too but it will start causing problems later so better to be
warned in time......
now lets think that you had done every thing regarding compiler and
lets get down to the code .......
main ( )
{
clrscr();
printf ("goodbye cruel world!!!!");
getch();
}
compile and run. you should get something like goodbye cruel world!!!!
on your screen.
1st line
#include
this stdio.h stands for standard input output header. basically the code
is "telling" your computer to use a certain command that is found in
the stdio.h "file". there are a lot of "#include" files and they all have
these wild commands in them, that you can access using the #include
thingee.
2nd line
main ( )
this is the main function. there are many functions and all will have to
do battle to be worthy of the title main. okay all joking aside, in c you
can have a lot of different functions. these can be titled; main ( ),
function1 ( ), function2 ( ), and so on. what you have typed has but one
function in it that will do your bidding. it's really not important that you
know all of this in your infant stage, but i mention it anyways.
3rd line
{
this is the all important curly bracket. it is used to seperate "blocks of
code" from each other and keep them from fighting each other. just
kidding.
4th line
printf ("goodbye cruel world!!!!");
this is the printf command. it "hides" in the stdio.h file and waits to be
called. and now in this line we use it. the printf commands stands for
"print format." it is not print function as some believe. it bascially takes
the text within the quotation marks and displays it on the screen. "hey
digital you used capitals." arrrgghh caught red handed. it won't affect
c's case sensitive nature if you use it in this case. "why does it display
on the monitor digital?" well son, way back in the day before monitors
they used teletype (ancient printer) machines to display stuff from the
computer. no games back then, too much paper. all printf does is take
the stuff you want written and puts it on the screen. you must enclose
what you want written on the screen in quotation marks and
parenthesis! you must also end the line wit a semi colon! do not
question it, just do it!
6th line
}
you are enclosing your block of code so it won't get into a fight. just
kidding. here is where you end this block of code.
so now you've written your first c program. compile it and run it. bask
in the glory of your accomplishment. savor this moment young jedi for
things get a whole lot more complicated in the future.
main ( )
{
clrscr();
printf ("i live in pakistan!!!!!!\n");
printf ("my father is pakistani \n");
printf ("i m proud pakistani");
getch();
so here you go. compile this bad boy and run it. you should get a
similar output, but with 3 lines of text. whenever you use a front slash
the compiler says, "oh my gosh and escape sequence!!!" the printf
ignores the n, cuz it has been identified in such a manner.
ahhhh, the assertation of knowledge. weeeeeeell, that's all for now
folks! i'll see you wacky internet people later - digitalscribe
---------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------
variables
what is a variable?
we all know how to add right? 2+2=4? suppose for an instant though that we wanted
write a formula on how to add to someone who had no concept of it. we could right it as
a+b=c.
now any one can substitue numbers in the place of a,b, or c. "let's see a = 3, b = 4, so c
will equal 7!!!!, you can plug any formula you want into a computer;like ohm's law e=ir,
etc. i know that last sentence wasn't necessary i just want to impress people with the fact i
know ohm's law.
all a variable is in our field is just a place set apart in a computers memory to hold a
changing value. this is very useful, for it helps those hard working scientists do complex
math, leaving plenty of time to eat , drink and watch " kabhi khusi kabhi ghum " . now
don't shriek when you see all these numbers, doing math is simple with computers
because the computer does all the work!
types of varibales
each "variable type" has a different range of values. you can only fit oh so much stuff into
one variable type! here are 4 of these variable types;
it's not a necessity that you memorize these types just yet. i recommend that you learn
them through use. to use variables in this section, we will be using the scanf command.
the scanf (scan function) basically reads your keyboard for a specific type of input. it
stops scanning when you press the enter key. i'll explain more after you write the
program.
we'll also using c's operators. that is + for addition, - for subtraction, * for multiplication,
and finally / for division. we will first write a program that squares a number. let's code
shall we? type this program into your c compiler;
line 4
int x,y;
in this line we are declaring our variables. we are basically making the little sections of
memory in this line of code. so here we have 2 'boxes' called x and y. they are integer
variables ready to put their talents to work for you.
line 5
printf ("enter a number and i'll square it!!!\n");
just a printf statement that asks a question.
line 6
scanf ("%d", &y");
this is where scanf is used. the %d is what is called a place holder. we'll get into it's
signifcance later. the scanf function here was patiently waiting for you to enter a number.
when you pressed enter it took that number and "threw" it into the y variable. that is why
you had to type in the &y. soooooo now we have a number sitting in the little y box.
line 7
x=y*y;
this tells your computer to do some number crunching. it takes what is in the y variable
and multiplies it by itself. afterwards, it takes that number and throws it into the x
variable. so now we have the answer sitting in the x variable.
line 8
printf ("%d is your number squared!!! hahahaha!", x);
okay it's a printf statment with some subtle differences. the %d is a placeholder as said
before. %d is specifically used for int variables. used in printf it will display the variable
that you stored in x. at the end of the quotations and comma you see x. this basically
'tells' your compiler the x variable will be displayed in the %d place holder. put y in there
instead and see what happens.
play around with the different math functions. remember that c does math backwards. ie;
4=3+1.
you know what though? if your just using int, it will not work with everything. case in
point;
compile it and run it. when it asks you for a number enter 2. for those don't know the
reciprocoal (a number divided into 1) of 2 is 0.5. press enter and you should get
something cooky. it will not work. the int variable will not work well with anything other
then whole numbers. what to do? what to do? real c programmers don't panic and move
to montana (unlike pascal people), they find another way!!! that last sentence wasn't
necessary, i'm always searching for new ways to annoy people with my unique brand of
dry humor. try using a different variable type. in this case use float. retype this into your
compiler;
it should work now. i'll tell you how to fix those annoying decimal place 0's later.
i guess thats enough for today but any ways try different airthematic operators by your
self and do tell me if u have any problems ........ bye for today....
---------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------------
okkk jeee first of all thanx to all those who appriciated the small efort i
had made and yes to all those who want to learn java and vb .......not
now but soon i will be going after those languages too.... the fact is
that i want that we should start from basics like c and c++ and then
we can even take it to vc++ or vj++ coz these are the two languages i
basically work in ..............
but this can be just a revision for u before we take some bigger steps
.....any ways lets continue ......
however, it's 2 a.m. right now so i'm not so sure if i'll botch this up
again. anyways in this section we are going to discuss the char
variable. char stands for character. as the name suggests this "variable
type" is used to store characters. whether these be single letters,
words, or other stuff.
type this fine piece of c code into your compilers.
main ( )
{
char name[5];
printf ("hey what's your name? \n");
scanf ("%s", &name);
printf ("only kings are named %s", name);
getch();
}
now we get a little bit more complicated. the getch funciton basically
works like this. it waits for you to press a key and stores that key.
confused? type this tidbit into your compilers and run it
depending on what kind of compiler you use the source code might or
might not work. if not try putting a getchar instead of getch. you see a
new include directive, conio.h. this is where the getchar function is
stored and when you type it in it retrieves it for you. the getch function
waited for you to press a key and stored that key into the variable
named key.
key = getch ( );
after it is stored in the key variable you displayed using the printf
function
if you haven't done this already try and change getch to getchar and
see what happens. it's basically the same thing only it waits for you to
hit the return button.
well in this here example, the same concept is applied as the one
before. we added a printf line that placed contents of the key variable
into the %i place holder.
there is much more about the char variable that will be covered, ie;
putchar and so on. however i will these later. so come back soon and
be amazed at all the mighty attributes of the char variable.
---------------------------------------------------------------------------------------------------------------------------------
-----------------------------------------------
variables part 3
if you recall in last lecture we went into a little tidbit on char. there is much more we can
learn from char variables and we will start this marvelous learning process by typing
code. enter this into your compilers and run it!
this is basically some of the same stuff we've done before and only it containes the getche
function. it produces the same kind of effect as getch, only it displays immeadiately what
you type. to help you distinguish between the two imagine that e at the end of getche
stands for echo. wait a minute! i wonder if it really does stand for echo? hmmmmm........
i know in the last tutorial i said i would cover putchar ( ), but i think i'll hold off on that
until we get into loops. i do that because the programs i use to discuss loops uses putchar
a lot...that and the fact that i'm extremely lazy. anyways we let us now discuss constants.
don't worry if the discussion on variable seem a bit scanty, as i go into further tutorials
variables will also be used a lot and discussed plentifly.
constants are extremely easy to comprehend. it almost works like variables in that the
computer sets aside memory for values, but it is different in that these values are defined
and set in stone. these values will not change. they refuse to compromise. they are not
human. they cannot feel pain. they cannot be reasoned with............sorry. type this into thy
compiler and run it
we've done this type of program before. the only real difference is the #define tax thingee
and the placeholder %.0f.
so here you are creating a constant called "tax." you assigned a value to that constant
10000000. this will stay "constant." this will not change. you will not assimilate it. it will
resist. it isn't hum...bleah sorry. anyways it's going to stay the same.
printf ("you have insulted the mighty tax dept you owe %.0f rupees!", t);
remember a long ways back when i said i would tell you how to get rid of the decimals in
float? well there you go. by placing a 0 in behind the decimal point you are telling the
computer to ignore everything next to the decimal. if you wrote a %.2f it would take it
out to two decimal points.
well thas it for constants and variable for now will start loops and then move to some
advance concepts of array and strings.
---------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------
loops
in this chapter we are going to do a simple for loop. it's really quite
simple, and it's not as hard as some might think. well let's begin;
well here we have some stuff that on the surface may seem a little
deep but really it's not. almost everything in the preceding block of
code should be obvious, except for line 5 and 8 and whats in between.
let's look at line 5 shall we?
the for keyword is the what sets up the loop. everything between the
parenthesis (the argument) is what sets up the parameters of the loop.
above this line of code you see that an int variable was set up. in the
for loop we have (and i realize i'm being redundant) set the parameters
of that variable. let's look deeper and explain the argument.
i=0;
i<100;
here we have set the condition of the loop. this says that the loop will
cycle as long as i is "less than" 100. as soon as i is equal to 100 than
the argument is not less than 100 and it will stop. i guess you realize
that i'm using the word argument a lot. it's basically programming talk
for parameter.
i++
now that we have explained all that lets see how that little snippit of
code relates to whats between the for brackets ({ }). let us employ our
abstract thinking shall we? now this is just an analogy of sorts, don't
take it literally. not all analogies are perfect!!!!!