Please Help ----------Free Downloadable Ebooks for C & C++ Language needed

A

abhay

hi friends,
i am not new to C language but also i am not an expert at it.
i want some free downloadable links for ebooks on C-language.if anybody
has ebook in pdf format
of C-complete reference please provide me.i would be very grateful.
i want to learn more about data structures in C , file operations ,
hardware interaction through C.

please help me .

also i need some good e-books on C++.i am a beginner to it

thank you
 
S

santosh

abhay said:
hi friends,
i am not new to C language but also i am not an expert at it.
i want some free downloadable links for ebooks on C-language.if anybody
has ebook in pdf format
of C-complete reference please provide me.i would be very grateful.
i want to learn more about data structures in C , file operations ,
hardware interaction through C.

please help me .

also i need some good e-books on C++.i am a beginner to it

Why don't you try libraries and used book stores, (both real and
online), instead of engaging in copyright infringement.

Search via Google for 'n1124.pdf' and 'CBook'. Both are free for
downloading and/or using. The former is the latest draft version of the
ISO C standard, while the latter is a reasonably good introduction to
ANSI C. Beyond that, regular practise in programming and perusal of,
and participation in, this group are both excellent ways to develop
your C skills.

Finally, if you can at all offered it, buy a copy of 'The C Programming
Language' Second Edition by Kernighan and Ritchie.
 
A

abhay

hi,
I would be grateful if u provide me some direct links or books in pdf
format
this is because most of the links that i am trying are not giving me
any fruitful results.
thank you
 
J

jacob navia

abhay said:
hi friends,
i am not new to C language but also i am not an expert at it.
i want some free downloadable links for ebooks on C-language.if anybody
has ebook in pdf format
of C-complete reference please provide me.i would be very grateful.
i want to learn more about data structures in C , file operations ,
hardware interaction through C.

please help me .

also i need some good e-books on C++.i am a beginner to it

thank you

http://www.cs.virginia.edu/~lcc-win32

Download the tutorial.pdf.

It has a complete description of C, and you can download the associated
compiler that goes with the book at the same address.

Enjoy!

jacob
 
R

Richard Heathfield

jacob navia said:

Download the tutorial.pdf.

Have you yet fixed the bugs in that tutorial that were pointed out last time
you pushed it?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: normal service will be restored as soon as possible. Please do not
adjust your email clients.
 
C

CBFalconer

abhay said:
I would be grateful if u provide me some direct links or books in
pdf format this is because most of the links that i am trying are
not giving me any fruitful results.

U has never posted to this newsgroup.
 
R

Richard Heathfield

CBFalconer said:
U has never posted to this newsgroup.

A number of articles have been posted to comp.lang.c by people who boast a
single letter U somewhere in their name. The best candidate I found was
someone rejoicing in the name of U.P., who posted here in March 1998.

Unfortunately, the Google Groups archive has mangled his email address, so
contacting him may prove problematical.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: normal service will be restored as soon as possible. Please do not
adjust your email clients.
 
R

Richard Heathfield

jacob navia said:
Yes, I hope so.

Upthread, you said:

"Download the tutorial.pdf. It has a complete description of C"

The tutorial says:

"this is not a full-fledged introduction to all of C." and "there isn't here
a description of all the features of the language".

I spot a contradiction, don't you?

Anyway, here are the next half-dozen bugs for you. But you might find it
easier to find someone who knows C, and get them to go through the whole
thing, fixing all the bugs in one fell swoop.


Minor nit: on page 16, strictly speaking the argument to your printf call is
the result of evaluating "Hello\n" - and that result is a pointer, not a
string.

Medium nit: merely saying that the return value from main is optional is to
miss an opportunity to explain why main returns a value, and what that
value is used for.

Medium nit: For int fn(int a) on page 18, you claim that a is an argument.
It isn't. It's a parameter. You continually confuse the two in your
tutorial.

Major nit: you claim on page 19 that, when you see a statement like
printf("Hello\n"); the address of the first element is passed to printf
(which is true), but you then say that "the array can be modified by the
function you are calling". But the printf function takes const char * as
its first parameter. It cannot modify the array whose first element's
address is passed, except by violent means, such as casting away the
constness.

Medium nit: compilers exist which pre-date C99 and for which their
implementors, at the time of release, correctly claimed conformance to ANSI
C. On page 22, you give a list of headers which *all* "ANSI compliant" C
compilers provide. So a reader, learning C from your tutorial but using an
early Borland or Microsoft compiler, is going to be very confused by your
list. They will also be thrown by your occasional for(int i = ...) code.

Major nit: On page 24, "char *argv[] This is an array..." It isn't. It's a
pointer.



--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: normal service will be restored as soon as possible. Please do not
adjust your email clients.
 
J

jacob navia

Richard said:
jacob navia said:




Upthread, you said:

"Download the tutorial.pdf. It has a complete description of C"

The tutorial says:

"this is not a full-fledged introduction to all of C." and "there isn't here
a description of all the features of the language".

I spot a contradiction, don't you?

It could be a contradiction, but actually after writing that sentence
(when I started the tutorial project) I went on to a complete
description of every feature. This started with the big tables where I
describe ALL operators, syntax quircks, preprocessor stuff, etc.

A fair description would be a "almost complete description"
Anyway, here are the next half-dozen bugs for you. But you might find it
easier to find someone who knows C, and get them to go through the whole
thing, fixing all the bugs in one fell swoop.


Minor nit: on page 16, strictly speaking the argument to your printf call is
the result of evaluating "Hello\n" - and that result is a pointer, not a
string.

It is a pointer to a string. OK.
Medium nit: merely saying that the return value from main is optional is to
miss an opportunity to explain why main returns a value, and what that
value is used for.

True, I will add that.
Medium nit: For int fn(int a) on page 18, you claim that a is an argument.
It isn't. It's a parameter. You continually confuse the two in your
tutorial.

Parameter is from the function's point of view, argument is from the
calling function's point of view... Is that very important?

Major nit: you claim on page 19 that, when you see a statement like
printf("Hello\n"); the address of the first element is passed to printf
(which is true), but you then say that "the array can be modified by the
function you are calling". But the printf function takes const char * as
its first parameter. It cannot modify the array whose first element's
address is passed, except by violent means, such as casting away the
constness.

Yes in the case of printf you are right. I will use another example.

Medium nit: compilers exist which pre-date C99 and for which their
implementors, at the time of release, correctly claimed conformance to ANSI
C. On page 22, you give a list of headers which *all* "ANSI compliant" C
compilers provide. So a reader, learning C from your tutorial but using an
early Borland or Microsoft compiler, is going to be very confused by your
list. They will also be thrown by your occasional for(int i = ...) code.

Here we disagree. I mean as ANSI compliant compilers that conform to the
current ANSI standard for the C language: C99.
Major nit: On page 24, "char *argv[] This is an array..." It isn't. It's a
pointer.

It is a pointer to an array of pointers.

Normally the arguments are accessed using array notation (argv[2]). But
eternal confusion in C between pointers and arrays will be difficult
to explain. See our other discussion yesterday about array/pointers
 
J

jacob navia

Richard said:
Major nit: On page 24, "char *argv[] This is an array..." It isn't. It's a
pointer.

Excuse me but the C standard, 5.1.2.2.1 Program startup says:

< begin quote >
The parameters argc and argv and the strings pointed to by the argv
array shall be modifiable by the program...
< end quote>


Even the people writing the standard make the same confusion...

They speak about the "argv array"...

jacob
 
R

Richard Heathfield

jacob navia said:
Richard Heathfield wrote:


Parameter is from the function's point of view, argument is from the
calling function's point of view... Is that very important?

Yes, the distinction matters, because it makes pass-by-value easier to
understand. The important thing to explain is that an argument is an
*expression*; the expression is *evaluated*, and that *value* is given to
the function as a parameter. If this is made clear to the capable student,
he will quickly and truly understand pass-by-value.

Here we disagree. I mean as ANSI compliant compilers that conform to the
current ANSI standard for the C language: C99.

I accept that, but since you haven't explained this in the tutorial, the
potential for confusion remains.
Major nit: On page 24, "char *argv[] This is an array..." It isn't. It's
a pointer.

It is a pointer to an array of pointers.

No, it's a pointer to the first element in an array of pointers.
Normally the arguments are accessed using array notation (argv[2]). But
eternal confusion in C between pointers and arrays will be difficult
to explain.

If there is eternal confusion, it is only because of poor explanations which
confuse the two concepts, which have significant points of departure from
each other. It's no harder to explain the difference between pointers and
arrays than it is to explain the difference between a house number and a
row of houses.
See our other discussion yesterday about array/pointers

I have not forgotten it.

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: normal service will be restored as soon as possible. Please do not
adjust your email clients.
 
R

Richard Heathfield

[Cross-posted to comp.std.c, followups set to comp.std.c]

jacob navia said:
Richard said:
Major nit: On page 24, "char *argv[] This is an array..." It isn't. It's
a pointer.

Excuse me but the C standard, 5.1.2.2.1 Program startup says:

< begin quote >
The parameters argc and argv and the strings pointed to by the argv
array shall be modifiable by the program...
< end quote>

Is this the subject of a DR yet? If not, how does one go about raising one?

--
Richard Heathfield
"Usenet is a strange place" - dmr 29/7/1999
http://www.cpax.org.uk
email: normal service will be restored as soon as possible. Please do not
adjust your email clients.
 
K

Keith Thompson

jacob navia said:
Richard Heathfield wrote: [...]
Medium nit: For int fn(int a) on page 18, you claim that a is an
argument. It isn't. It's a parameter. You continually confuse the
two in your tutorial.

Parameter is from the function's point of view, argument is from the
calling function's point of view... Is that very important?
Yes.

[...]
Medium nit: compilers exist which pre-date C99 and for which their
implementors, at the time of release, correctly claimed conformance
to ANSI C. On page 22, you give a list of headers which *all* "ANSI
compliant" C compilers provide. So a reader, learning C from your
tutorial but using an early Borland or Microsoft compiler, is going
to be very confused by your list. They will also be thrown by your
occasional for(int i = ...) code.

Here we disagree. I mean as ANSI compliant compilers that conform to the
current ANSI standard for the C language: C99.

The older C90 standard is still significant; you should at least
acknowledge that. (I haven't read your tutorial, so I don't know to
what extent you already do so.)

But why do you insist on referring to it as the ANSI standard rather
than the ISO standard? Both the C90 and C99 standards were published
by ISO, and *then* accepted by ANSI. ANSI shouldn't be particularly
relevant unless you're specifically targeting an American audience,
and probably not even then.
Major nit: On page 24, "char *argv[] This is an array..." It
isn't. It's a pointer.

It is a pointer to an array of pointers.

Normally the arguments are accessed using array notation
(argv[2]). But eternal confusion in C between pointers and arrays will
be difficult
to explain. See our other discussion yesterday about array/pointers

No, it's really not that difficult to explain, as long as you keep
firmly in mind that arrays are not pointers and pointers are not
arrays. See, for example, section 6 of the comp.lang.c FAQ. Yes,
there are features of the language that can blur the distinction if
you're not careful -- so be careful.
 
P

pete

jacob said:
Richard Heathfield wrote:

Parameter is from the function's point of view, argument is from the
calling function's point of view... Is that very important?

Parameters are objects.
 
A

abhay

I am still not getting any useful free downloadable links for C
Language Ebook.
Please help
 
N

Nelu

abhay said:
I am still not getting any useful free downloadable links for C
Language Ebook.
Please help

The book you must have:
http://www.amazon.com/C-Programming...=pd_bbs_1/002-6474813-4209651?ie=UTF8&s=books
If I understand English correctly, the content at that link is
freely download-able, the problem is that you need to buy the book.

If you really need to download an e-Book about C, try this:
http://www.google.com/url?sa=t&ct=r...0P6LxulXzkxAe9DI=&sig2=JvSjISpMNPUaC0o0UYD77A

You should buy K&R 2 (the first link). It's worth every penny
(cent?, I actually live in the US). I'm serious. Also, if you
want to buy good books on C to learn from you should ask for
that, I don't think people around here will give you links to
sites for illegal downloads.
 
C

CBFalconer

abhay said:
I am still not getting any useful free downloadable links for C
Language Ebook.

That may be partly because of your lack of quoting. Another
possibility is that you are being ignored because of posting from
that execresence of a usenet interface named google.

However I don't believe that Jacobs offering is that bad. Richards
criticisms were relatively minor. The C faq is another
possibility. See below.

--
Some useful references about C:
<http://www.ungerhu.com/jxh/clc.welcome.txt>
<http://www.eskimo.com/~scs/C-faq/top.html>
<http://benpfaff.org/writings/clc/off-topic.html>
<http://anubis.dkuug.dk/jtc1/sc22/wg14/www/docs/n869/> (C99)
<http://www.dinkumware.com/refxc.html> (C-library}
<http://gcc.gnu.org/onlinedocs/> (GNU docs)
<http://clc-wiki.net> (C-info)
 
K

Keith Thompson

CBFalconer said:
That may be partly because of your lack of quoting. Another
possibility is that you are being ignored because of posting from
that execresence of a usenet interface named google.

Or because people think he's looking for pirated copies of published
books. I don't know whether he is or not.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,482
Members
44,901
Latest member
Noble71S45

Latest Threads

Top