1,105,423 Community Members

Starting " C "

Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
24
 

EDIT: Please note, as I write this, the post is now 6 years old and might have some outdated information. I'd personally recommend beginners start with "Learn C the hard way" by Zed and this book since I have heard good things about them. Reading the FAQ put together by the C newsgroup folks might be a good idea.

List of free compilers and IDE

1) Codeblocks IDE integrated with MINGW compiler can be downloaded at http://www.codeblocks.org/downloads.shtml

2) Visual Studio Express Edition

3) Pelles C IDE

List of Tutorials

C programming tutorials 4th edition
http://www.iu.hio.no/~mark/CTutorial/CTutorial.html#Preface

C standard function reference
http://www.cppreference.com
http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html#Contents

Excellent site for free compilers, libraries, tutorials etc.
http://www.thefreecountry.com/documentation/onlinereferences.shtml

C programming Notes
http://www.eskimo.com/~scs/cclass/notes/sx1.html

Programming in C
http://www.scit.wlv.ac.uk/~jphb/cbook/html/

Excellent site a must see for all newbies
http://www.cprogramming.com/tutorial.html
http://www.physics.drexel.edu/courses/Comp_Phys/General/C_basics/c_tutorial.html

Link to many programming tutorials
http://www.programmingtutorials.com/c.aspx
http://www.freeprogrammingresources.com/ctutor.html
http://www.tutorialized.com/tutorials/C-and-Cpp/1
http://www.techtutorials.info/cgen.html
http://www.intelligentedu.com/newly_researched_free_training/C.html
http://www.cyberdiem.com/vin/tutorials.html


Pointer and other topic specific resources
http://pweb.netcom.com/~tjensen/ptr/cpoint.htm
http://www.augustcouncil.com/~tgibson/tutorial/
http://www.newty.de/fpt/index.html

Advice and warnings for C
http://www.brainbell.com/tutors/c/Advice_and_Warnings_for_C/

Interfacing ODBC and C
http://www.physics.drexel.edu/courses/Comp_Phys/General/C_basics/c_tutorial.html


- sos

Member Avatar
Dave Sinkula
long time no c
4,852 posts since Apr 2004
Reputation Points: 2,398 [?]
Q&As Helped to Solve: 340 [?]
Skill Endorsements: 69 [?]
Team Colleague
 
3
 
Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
2
 

First of all, thanks for the sticky Mr. Dave.

Here is a list of some of the free books available on the net which should be present in the collection of each and every graphic programmer.

Free Game Programming ebooks ( general and Opengl related)

The openGL red book
http://www.opengl.org/documentation/red_book/

OpenGL programming guide
http://fly.srk.fer.hr/~unreal/theredbook/

Michael Abrash's Graphics Programming Black Book
http://public.planetmirror.com/pub/gpbb/

Waiting for the feedback of all you ppl.
Hope it helped.

Yours friend,
~s.o.s~

Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
3
 
Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
8
 

Looks like no one is intrested in posting their resources or the things which they know, but still i would continue helping other people out.

Here are some more links which are related to graphics programming using OpenGL.

Intro Opengl and C
http://www.eecs.tulane.edu/www/Terry/OpenGL/Introduction.html

THe all famous Nehe tuts for beginners
nehe.gamedev.net/

OpenGl advanced samples
http://www.xmission.com/~nate/tutors.html

Excellent site must see for all
http://www.lighthouse3d.com/opengl/index.shtml

Member Avatar
Shane_Warne
Junior Poster in Training
59 posts since Jul 2006
Reputation Points: 91 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
2
 

People who want to have command-line gcc on their windows system, should take a look at
MingW (DevCPP is also based on this)-This page is enough to get your system up and running
Cygwin.

Member Avatar
WolfPack
Posting Virtuoso
1,787 posts since Jun 2005
Reputation Points: 491 [?]
Q&As Helped to Solve: 135 [?]
Skill Endorsements: 15 [?]
Moderator
 
1
 

Steve Loughran's WinAPI FAQ

This isn't exactly starting material and maybe a bit outdated (created before Win2K). But overall covers most of the questions a newbie, who is new to programming in C and is fedup with creating Hello World console applications, may ask.

Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
1
 

Some of the tutorials for those interested in the OpenGL API programming using C.

Beginner Opengl tuts

http://www.codecolony.de/opengl.htm

http://www.zeuscmd.com/index.php

http://www.sulaco.co.za/tut.htm


Hope it helped, bye.

Member Avatar
Jafet
Newbie Poster
6 posts since Aug 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
2
 

theForger's Win32 API tutorial -- a must read for beginners
http://winprog.org/tutorial/

Official Microsoft Windows API documentation
http://msdn2.microsoft.com

Excellent downloadable API documentation (executable uncompressers)
ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe (basic)
ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32apidoc.exe (more)
(If you can't access the FTP server (I couldn't) try the mirrors at Filewatcher.)

Member Avatar
Ancient Dragon
Achieved Level 70
27,663 posts since Aug 2005
Reputation Points: 5,234 [?]
Q&As Helped to Solve: 3,039 [?]
Skill Endorsements: 115 [?]
Team Colleague
Featured
Sponsor
 
2
 

Some example free programs for MS-DOS, MS-Windows in C and assembly

Member Avatar
jamshid
Junior Poster in Training
70 posts since Jan 2006
Reputation Points: -2 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
1
 

Text Books

1. C by Dissection, AI Kelley, Ira Pohl, 4th Edition, Pearson Education, 2001, ISBN:0-201-71374-8

2. A Practical Introduction to Data Structures and Algorithm Analysis, Clifford A. Shaffer, 2nd Edition, Pearson Education, 2001, ISBN: 0-13-028446-7

3. Code Complete, Second Edition, Steve McConnell , 2004, Microsoft Press, ISBN: 0735619670

Member Avatar
satish.ambition
Light Poster
26 posts since Mar 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
1
 

i thjink C is moreovewr like a SEA ,
the more u read the more u learn and there is no ending for it,,,

I like C series by Yashwant Kanetwar

Member Avatar
TkTkorrovi
Junior Poster
170 posts since Mar 2005
Reputation Points: 69 [?]
Q&As Helped to Solve: 13 [?]
Skill Endorsements: 0 [?]
 
3
 

C wiki, with a lot of resources http://www.iso-9899.info/wiki

Member Avatar
xeto
Newbie Poster
17 posts since Nov 2007
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
1
 

This isn't exactly starting material and maybe a bit outdated (created before Win2K). But overall covers most of the questions a newbie, who is new to programming in C and is fedup with creating Hello World console applications, may ask.

Member Avatar
Beair.GQ
Newbie Poster
9 posts since Dec 2007
Reputation Points: 30 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
0
 
while(true)
{
printf("it's good idea,and all of those can help us to learn c program well!\n");
}
Member Avatar
rohoni
Newbie Poster
20 posts since Nov 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 0 [?]
Skill Endorsements: 0 [?]
 
1
 

for basic for c and c++ visit

www.cprogramc.blogspot.com

Member Avatar
~s.o.s~
Failure as a human
10,399 posts since Jun 2006
Reputation Points: 2,496 [?]
Q&As Helped to Solve: 992 [?]
Skill Endorsements: 72 [?]
Administrator
Featured
 
1
 
Member Avatar
NetByte
Newbie Poster
11 posts since Feb 2006
Reputation Points: 0 [?]
Q&As Helped to Solve: 2 [?]
Skill Endorsements: 0 [?]
 
1
 

Based on the request by Mr. Jamshid i thought why not just start the useful links and tutorials for novice C programmers so they dont have to do a lot of GOOGLE like the one present in Python Forums.

If the moderators like the concept here they can sticky this or delete this post if they dont like it.

If this thread manages to stay, anyone intrested can post any important links or resources they know of and can start a new thread if they have any doubts.

List of free compilers and IDE

1) Codeblocks IDE integrated with MINGW compiler can be downloaded at http://www.codeblocks.org/downloads.shtml

2) Bloodshed Dev C++ IDE with MINGW port of GCC as its compiler at http://www.bloodshed.net/devcpp.html

3) Visual Studio Express Edition


List of Tutorials

C programming tutorials 4th edition
http://www.iu.hio.no/~mark/CTutorial/CTutorial.html#Preface

C standard function reference
http://www.cppreference.com
http://www.utas.edu.au/infosys/info/documentation/C/CStdLib.html#Contents

Excellent site for free compilers, libraries, tutorials etc.
http://www.thefreecountry.com/documentation/onlinereferences.shtml

C programming Notes
http://www.eskimo.com/~scs/cclass/notes/sx1.html

Programmign in C
http://www.scit.wlv.ac.uk/~jphb/cbook/html/

Excellent site a must see for all newbies
http://www.cprogramming.com/tutorial.html
http://www.howstuffworks.com/c.htm
http://www.physics.drexel.edu/courses/Comp_Phys/General/C_basics/c_tutorial.html

Link to many programming tutorials
http://www.programmingtutorials.com/c.aspx
http://www.freeprogrammingresources.com/ctutor.html
http://www.tutorialized.com/tutorials/C-and-Cpp/1
http://www.techtutorials.info/cgen.html
http://www.intelligentedu.com/newly_researched_free_training/C.html
http://www.cyberdiem.com/vin/tutorials.html


Pointer and other topic specific resources
http://pweb.netcom.com/~tjensen/ptr/cpoint.htm
http://www.augustcouncil.com/~tgibson/tutorial/
http://www.newty.de/fpt/index.html

Advice and warnings for C
http://www.brainbell.com/tutors/c/Advice_and_Warnings_for_C/

Interfacing ODBC and C
http://www.physics.drexel.edu/courses/Comp_Phys/General/C_basics/c_tutorial.html


Waiting for the feedback of all the members and would be really happy if you would carry on adding more links to this thread so that a newbie would not have to search a lot on the net regarding how to start on C.

Regards
~s.o.s~

hey ~s.o.s.~

just want to add this to your list of "Free" C IDE and compilers List:

Pelles C IDE - http://www.smorgasbordet.com/pellesc/

for windows/windows mobile development in C(C99 standard) with support for 32-bit (X86), 64-bit (X64) Windows, and Windows Mobile (ARM).

other than that GCC is just fine with Vi/Vim for C programming in GNU/Linux :)

Member Avatar
shric
Newbie Poster
5 posts since Sep 2005
Reputation Points: 104 [?]
Q&As Helped to Solve: 1 [?]
Skill Endorsements: 0 [?]
 
5
 

Can you please remove the HowStuffWorks link from the original post or better yet point out that it's horrible. It is full of information that ranges from misleading to outright incorrect, which could be harmful to someone learning C. An except from the section on Using Pointers with Arrays for example:

#define MAX 10
/* snip */
int a[MAX];
int b[MAX];

Arrays in C are unusual in that variables a and b are not, technically, arrays themselves. Instead they are permanent pointers to arrays. a and b permanently point to the first elements of their respective arrays -- they hold the addresses of a[0] and b[0] respectively. Since they are permanent pointers you cannot change their addresses. The statement a=b; therefore does not work.

This of course is blatantly incorrect. The author of the article seems to be confused by the fact that a and b are converted to a pointer to their first elements when applied to an operator other than sizeof and unary &. This does not make them pointers or "permanent pointers" (ref. ISO/IEC 9899:1999 6.3.2.1#3)

There are many other examples, including but not limited to:

  • Variable Types :

    An int is a 4-byte integer value. A float is a 4-byte floating point value. A char is a 1-byte single character (like "a" or "3"). A string is declared as an array of characters.

    There are a number of derivative types:

    double (8-byte floating point value)
    short (2-byte integer)
    unsigned short or unsigned int (positive integers, no sign bit)

    Here, the author apparently thinks C is defined in terms of the sizes of types that happen to be on his implementation. To say "a string is declared as an array of characters" is to imply that any array of characters is a string, and of course the criteria for a string includes being null terminated. There are numerous other occurrences throughout the article of the author assuming certain implementation defined values and asserting they are always those values.

  • Mostly main will be correctly defined to return int, but sometimes the good old horrible "void main" pops up.
  • Uses gets() without explaining that it's harmful, let alone why. Uses fgets() later, but doesn't mention using it instead of gets().
  • casts the return value of malloc . This is a controversial issue .
  • Uses the term "pointer to array" when referring to an a pointer to the first element of the array. This example demonstrates the difference:
    int a[42];
    int *p = a; /* p is a pointer to a[0] */
    int (*q)[42] = &a; /* q is a pointer to the [entire] array */
  • For scanf, it says you "MUST put & in front of the variable used in scanf" but of course this would be wrong for %s, and it doesn't cover this or why.

If I'm accused of nitpicking, I certainly didn't have much trouble finding errors. Every page I looked at seems to have something dubious on it. You might also argue that the above issues are technicalities and beyond the scope of a beginner's C tutorial. This well may be the case, but then perhaps there should be some footnotes explaining this. It doesn't excuse it, and I'm sure I could produce another 10-20 examples if I had the time.

Member Avatar
Salem
Posting Sage
7,177 posts since Dec 2005
Reputation Points: 5,138 [?]
Q&As Helped to Solve: 970 [?]
Skill Endorsements: 41 [?]
Team Colleague
 
2
 

Agrees. The first half isn't too shabby.
But it looks for all the world like the 2nd half was written by someone else without a clue.

You
Post:
Start New Discussion
Tags Related to this Article