Sie sind auf Seite 1von 13

Search for questions, people, and topics Ask New Question Sign In

Computer Programming Advice C (programming language) Learning to Program Related Questions

Computer Programming
What is the way to start learning C programming?
How and where do I start learning C programming?
Why should I start learning programming with C?
Promoted by MIT Sloan Executive Education
How do I learn C programming effectively?
3-month advanced online course by MIT Sloan. Enroll now.
Which are the best books to learn C?
Learn the design thinking approach & increase your success rate for innovation
How do we learn to start programming in C?
substantially. Enroll now.
Which one should I learn first: C or C++?
Learn more at eim.mit.edu
Which book should I purchase to study C
language?
100+ Answers
Is it ever too late for someone to learn how to
Kartik Ayyar, Spent many years writing C code. program?
Updated Dec 29 2017 · Upvoted by Toby Thain, C coder since late 1980s on Macintosh,
How can I start learning C programming and
UNIX, and very occasionally Win32. Recent open source person… · Author has 999
Java?
answers and 5.8m answer views
Originally Answered: What are the best resources for learning C for absolute beginners to the language How can I learn C and C++?
and programming in general?

The C Programming Language is still by far the best book you can use to learn C.  Ask New Question

In other languages
Other than just teaching you how to program in C, there isn't any source
material that teaches you the spirit and philosophy of the language well. En español: ¿Cómo puedo aprender a programar en
el lenguaje C?
En français : Comment puis-je apprendre le langage
http://www.amazon.com/Programmin... C?
In italiano: Come si inizia a programmare in linguaggio
54.4k Views · View Upvoters
C?

Related Questions More Answers Below

What is the way to start learning C programming?

Why should I start learning programming with C?

How do I learn C programming effectively?

Which are the best books to learn C?

How do we learn to start programming in C?

 Ask New Question

Dhruv Aggarwal, Coding enthusiast.


Answered Sep 29 2015 · Author has 98 answers and 352.3k answer views
Originally Answered: What is the best way to learn C?

Let's unfold the mystery


There are two ways:
 
1. Worst way
2. Best way
 
1. Worst way
Simply reading books (even substandard books ) and not touching the keyboard.
 Still have a question? Ask your own!
 
What
2. Best is your question?
Way Ask
STATUTORY WARNING: Upcoming answer is going to be really long.
Search for questions, people, and topics Ask New Question Sign In
 
Now, let me spill the beans
 
Getting C and C++ correctly with basics, is said to be the foundation stone in
programming. So
 
1.1  Standard Books for C
Reference Style - All Levels
The C Programming Language (Second edition) - Brian W. Kernighan
and Dennis M. Ritchie

C: A Reference Manual - Samuel P. Harbison and Guy R. Steele

C Pocket Reference (O'Reilly) - Peter Prinz, Ulla Kirch-Prinz

C - Traps and Pitfalls - Andrew R. Koenig (Bell Labs)

The comp.lang.c FAQ - Steve Summit

Beginner
Programming in C (3rd Edition) - Stephen Kochan

C Primer Plus - Stephen Prata

C Programming: A Modern Approach - K. N. King

A Book on C - Al Kelley/Ira Pohl

The C book - Mike Banahan, Declan Brady and Mark Doran

Practical C Programming, 3rd Edition - Steve Oualline

C: How to Program (6th Edition) - Paul Deitel & Harvey M. Deitel

Head First C - David & Dawn Griffiths

Intermediate
Object-oriented Programming with ANSI-C - Axel-Tobias Schreiner

C Interfaces and Implementations - David R. Hanson

The C Puzzle Book - Alan R. Feuer

The Standard C Library - P.J. Plauger

21st Century C - Ben Klemens

Algorithms in C - Robert Sedgewick

Pointers on C - Kenneth Reek

Above Intermediate
Expert C Programming: Deep C Secrets - Peter van der Linden

Advanced C Programming by Example - John W. Perry

Free C Programming Books


The C book
 Still have a question? Ask your own!
Essential C
What is your question? Ask
The new C standard - an annotated reference
Object Oriented Programming in C (PDF)
Search for questions, people, and topics Ask New Question Sign In

Once you start with any of these, immediately start programming by


punching the keys.

Where should I code ??


An IDE, or "Integrated Development Environment" will turn you stupid. They
are the worst tools if you want to be a good programmer because they hide
what's going on from you, and your job is to know what's going on. They are
useful if you're trying to get something done and the platform is designed
around a particular IDE, but for learning to code C (and many other languages)
they are pointless.
 
Some text editors to try out are:
 
·        Gedit on Linux and OSX.
·        TextWrangler on OSX.
·        Nano which runs in Terminal and works nearly everywhere.
·        Emacs and Emacs for OSX. Be prepared to do some learning though.
·        Vim and MacVim
 
There is probably a different editor for every person out there, but these are just
a few of the free ones that I know work. Try a few out, and maybe some
commercial ones until you find one that you like.

But if simply typing on the keyboard doesn’t seems cool enough and you
need some fun part to stick to it, there’s a lot for you.

** Below is a list of websites that offer interactive online coding interface and
practice problems.

Learn Coding (Interactively) Online


Alvaris Falcon

Coding

Codecademy Codecademy is indisputably the most famous website to


teach you to code interactively, thanks to its helpful interface and well-
structured courses. Upon visiting the main page, you can already start
tasting the programming right away, with its motivating on-screen
console. Pick a course that Codecademy offers from Web Fundamentals,
PHP, JavaScript, jQuery, Python, Ruby and APIs.

Inside each lesson is a panel that explains necessary code and


instruction. Another panel allows you to get your hands dirty by
writing acceptable code, then checking if you are doing the right thing.
Don’t worry about making mistakes, as both instruction and code
 Still
panelshavewill
a question?
warn youAskof
your own! and provide hints. It is as if there’s a
errors,
kind teacher
What is yourright beside you.
question? Ask
Code Avengers Code Avengers is designed to make you love
Search for questions, people, and topics Ask New Question Sign In
programming. Though it only offers HTML5, CSS3 and JavaScript
course for now, each of the courses is carefully designed to truly
entertain you while leveling your programming skills painlessly. At the
end of each lesson you also get to play a mini game to release your
cumulated stress, and keep you going for longer.

Code Avengers has a gradual approach to interactive learning. It does


not explain too much knowledge that isn’t essential for beginners,
just a bit of code and playful instruction, making things very easy to
digest. You also get to play with the code, then see the impact of the
changes immediately. It is carefully crafted with the beginner’s
comfort in mind.

Code School
After you finished courses in Codecademy or Code Avengers, and you
are ready to further expand your capabilities, Code School is the next
quality website you should land on. Unlike most interactive learning
sites, Code School offers morein-depth courses to train and turn you
into an expert with the industry’s best practices.
Overall, the courses are categorized into 4 main paths, and they
are:Ruby, JavaScript, HTML/CSS and iOS

Almost all courses are aggressively polished with impressive design and
informative screencasts, though the challenges after the screencast
might bit a bit hard for amateurs. Luckily, there are hints and answers
to refer to. Whilemost of the offered courses are free, certain ones will
require you to spend$25/month to access the entire course including
all screencasts and challenges, and also all other courses in Code
School.

Treehouse Treehouse courses are more project-oriented than


language-oriented, so they are perfect for novice programmer with a
planned purpose, such as building a website, or an application. For
example, the Websites course is all about building a responsive website,
interactive website or even WordPress theme – a very practical and
efficient way to master related languages. Nonetheless, they have
released a plethora of foundation courses with a video-then-quiz
approach.

For Treehouse, every course is divided into different stages or modules,


and beyond every first stage the learner will be invited to pay a
monthly subscription fee of $25 to access all courses with 650+
videos, and an exclusive Treehouse Members Forum as a bonus. If you
are serious about your programming future, you could subscribe the
$49 monthly plan to obtain in-depth interviews with leading
industry
 Still have a pros andAsk
question? cutting-edge
your own! workshops.

What is your question? Ask


LearnStreet If you are that kind of personnel who do not fancy playful
Search for questions, people, and topics Ask New Question Sign In
design and prefer to deal with cold hard codes, LearnStreet is probably
your thing. It currently offers JavaScript, Python and Ruby courses at
beginner level. With a click on the ‘Start Course’ button you will start
the lesson with an exercise, a code interpreter and a glossary panel (for
new programming terms).

LearnStreet adopts command prompt-styled code interpreters with


human language to explain function and encourage you whenever
possible, the kind of command prompt you want for your own local
machine. However, the code interpreter could be as rude as standard
command prompt, as most of the times it requires you to type in the
absolute same code and content it asks for.
Other than that, it’s truly friendly and enjoyable, and most importantly,
free.

Udacity Udacity is the unification of insightful video lectures and


improved quizzes to achieve the interactive feel for students, so it’s
ideal for those who don’t like to read but rather get explanations from
industry professionals such as Google employees.

You will be given a screencast from pros discussing the topics and
instructions, then you will take either logic or programming quizzes to
strengthen your understanding or forge it into a skill. The good thing
about Udacity is it provides more videos than any other site, and the
instructors are either real-life professors or industry veterans.
The only pitfall here is most courses are not much related to each other,
so Udacity is probably not your starting point, but a virtual university to
further your study.

CodeHS At this point all websites you read here are mainly dedicated
to web development and computer science, but CodeHS is one with
simple and fun game programming lessons that involve problem
solving, JavaScript, animation, data structures, game design and puzzle
challenges.

The advantage of CodeHS is it teaches you to think, and solve a problem


like a programmer with its first course, Programming with Karel. The
lessons are fun as you will learn how to use the code to move the dog,
Karel to complete given tasks and puzzles like picking up ball and
building a towel. It plants a solid concept of programming and the way
it solves the problem systematically in your mind.
Other than the course mentioned above, you must sign up first with
$25 per month to continue your learning journey, but it’s a perfect
site to learn basic game programming effectively.

Khan Academy Although Khan Academy’s courses are not as


structured
 Still as CodeHS,
have a question? Ask it serves
your own!as an open playground for both novice

and amateurs particularly interested in learning drawing, animation


What is your question? Ask
and user interaction with code. It does not preach any specific
programming language, but the code pattern it adopts can be applied
Search for questions, people, and topics Ask New Question Sign In
anywhere, as a majority of languages share the similar programming
pattern.

You can first join the Programming Basics course to watch and learn
basic concepts, then explore the given code after the video tutorial to
validate your doubts. With Khan Academy, you can save your
modification as a Spin-Off for everyone to enjoy and customize. There
have been hundreds of spin-offs just from one lesson in one course, so
imagine the community size, and the lesson’s effectiveness.

Scratch 2.0 Think CodeHS and Khan Academy are still too hardcore
for your child, who has no comprehension beyond basic English? No
worries, there is something even easier for your aspiring next-gen
programmer, and it’s called Scratch. Previously an offline software that
allow kids to create, upload and share their projects proudly, Scratch is
now fully online with its 2.0 successor.

It’s not about programming though, but a combination of visual


blocks of commands that tell assigned objects how to behave, such
as telling the cat to move 10 steps, or yell ‘meow’ when it touches the
owner’s leg. By using this visual programming method, the young
programmers will form a habit of breaking a problem into smaller
blocks, and solve them one by one logically.

SQLZOO Structured Query Language (SQL) is just a language purely


designed to store and retrieve data from a database, so imagine the
boredom you will experience when programming a warehouse. Yet
SQLZOO wants you to learn SQL happily with its interactive interface
and smileys.

Since there is really nothing too deep to explain for a straightforward


language like SQL, the site will only ask you to replace the variables like
city names or population number, and raise the difficulty from that
level. One huge let-down will be the shortage of hints, answers and
forum, so you are probably doomed if you fail to solve any one of the
quizzes, just like old times.

**Most important part: Programming Exercises & Competitive Coding


(Competitive Coding is optional, but still i'd like to mention it here: Practice it
and you might get placed at one of the tech Giants.)
Originally answered: Dhruv Aggarwal's answer to I want to crack top tech
companies like Facebook, Google, Microsoft, amazon. I have one year left
for preparation. what should I focus on - competitive programming or
interview preparation?
 Still have a question? Ask your own!
What is your question? Ask
If you don't happen to be good at self-learning with books and websites and require
Search for questions, people, and topics Ask New Question Sign In
a mentor (there's nothing to be ashamed of everyone needs that, that's why there
are schools and colleges)

Here's a jackpot for you- Introduction to Computer Science :Harvard


University's introduction to the intellectual enterprises of computer science and
the art of programming for majors and non-majors alike, with or without prior
programming experience. An entry-level course taught by David J. Malan, CS50
teaches students how to think algorithmically and solve problems efficiently.
[https://www.edx.org/ course/introduction-computer-science-harvardx-cs50x]
These are some good platforms for the same
1. https://www.coursera.org
2. http://www.lynda.com
3. https://www.edx.org/
4. http://www.tutorialspoint.com/
5. https://www.mooc-list.com/

You came all the way reading this, here's some motivation for you

After all this, all I want to say is Good Luck !!! :)

Sources: Quora, StackOverflow, Google, YouTube, PCMag.com


2.5k Views · View Upvoters

Your response is private.

Is this answer still relevant and up to date? Yes No

Promoted by DigitalOcean
Starting a new project? Get started for free.
Scale your deployments with a flexible and predictable pricing model. Free for
60 days.

Learn
 Stillmore
haveatatry.digitalocean.com
question? Ask your own!

What is your question? Ask


Chandan Sharma, Computer Programmer, Programming Lover
Updated Dec 31 2017
Search
Originally Answered: Howfor
do questions, people,
I start learning C from and topics
basics to an expert level?
Ask New Question Sign In

If you are beginner and want to learn computer programming language so C is


the best programming language and it is easy to learn. I would suggest some of
the book you preferred in order to learn basic,

The C Programming Language by Brian Kernighan and Dennis Ritchie

ANSI C by Balaguruswamy

LET US C by Yashwant Kanetkar

C The Complete Reference by Herbert Schildt

All the PDF Version of these books are easy available by simply google search.

Some of the best website i preferred,

C programming.com - Learn C and C++ Programming -


Cprogramming.com Best site for beginner to learn C/C++
programming.

Tutorialspoint website - C Programming Tutorial

GeeksforGeeks | A computer science portal for geeks Best site for


learning C/C++ and also high quality content for beginner to expert.

After getting the basic knowledge of the programming language now you have to
start solving some real world problem in order to get expert in any of the
programming language.

I believe programming is best learnt by doing. You cannot become a Expert or


Pro by going through concepts and learning from a website. In order to become
an expert in any thing you have to put lots of efforts. There are some of the best
sites available which provide the real world and algorithmic problem from
beginner to expert level here all are,

Programming Competition,Programming Contest,Online Computer


Programming it is one of the best site to learn computer programming
by solving real world problem . In this website the problems are
categorize into different category like easy medium and hard.

HackerRank It is best website to learn programming by solving real


word problems.

GeeksfoeGeeks Quiz It provide best real world problem first you try to
solve easy problem and then go for expert problem.

Do participating in Competitive Programming challenge and at last but not


least solve the Project Euler Problem a series of computational problems
intended to be solved with computer programs.

Hope this can help you :)


9.9k Views · View Upvoters

 StillAbhineet
have a question? AskEmbedded
Shrivastava, your own!Engineer
Answered Nov 12 2016 · Author has 185 answers and 102k answer views
What is your question? Ask
Originally Answered: How can we learn c programming?
Why to learn C Programming?
Search for questions, people, and topics Ask New Question Sign In

Before discussing how to learn C, let us find out, why to learn C. If you want
become a good programmer, having a good command over C language is
essential. C language is the mother of so many modern languages and scripts.
Knowledge in C acts as fundamental to learn these modern languages and
scripts.

Also C is the language of system programming. C is becoming a fast replacement


for assembly language. It is essential for the aspiring system and embedded
programming professionals to learn C. System and embedded programming is
the most fascinating field of programming.

Also note that C programming is the most fascinating and creative job. It is a fine
art first and technology later. C Programming is also highly satisfying and
rewarding job for the people who like it. Software industry is always short of
good quality programmers and always in search of them. So why don't you
become such quality programmer.

How to learn C Programming?

The best way to learn C is to have access to Linux machine. Linux (or Unix) is the
best platform to learn C. Learning C with any other operating system is a
compromise.

If you really want to become a good programmer, the best investment you can
do is,buying some computer and loading Linux OS on it. Netbook (small laptops)
are enough as they cost less. Even if you do not have any computer, no problem.
Put Linux OS on your pen-drive. Carry it with you. Boot your friend's computer
with this pen-drive. Again you got Linux OS infront of you. Now what ever
programs you have written will get saved in your pen-drive. Shutdown the Linux
OS, take your pen-drive, leaving your friend's comptuer unchanged. So you are
carrying Linux OS and your C programs on your pen-drive.

Learning C by using Linux system

Here is another way to learn and practice C programming on a Linux system. If


you have a PC (running Windows OS) and Internet connection, you can log into
Linux system. It is the most easiest way to get Linux system, provided you have
the Internet connection.

On Linux system, we are keeping C tutorials, sample programs and assignments.


One may learn C programming on their own by using this material. If your
programs are not working, engineers can check your programs and can suggest
corrections.

Levels in Learning C

C language can be learned at various levels. At higher levels one can attempt
more complex programs.

Level 1
 Still have a question? Ask your own!
At this level one should learn writing simple C programs that contain only one
What is your question? Ask
function that is main function.
The main function can contain following types of statements in the following
Search for questions, people, and topics Ask New Question Sign In
sequence.

Variable declaration statements

Input statements to accept values from the user

Processing statements to compute the output

Output statements to display the computed output.

In the main function, practice the usage of following statements:

If

If-else

If-else,If-else if-else if else

Switch

For loop

While loop

Do while loop

Break and continue statements

Use the following types of variables in the main function:

Char,short,int and float

Arrays of above types

Structure variables

Also practice the usage of all arithmetic operators, logical operators, conditional
operators and bit wise operators.

Level 2

Writing function to do the processing. And call the function from main function
to do processing. So main function contains following statements:

Variable declaration statements

Input statements to accept variable values from the user

Calling the function by passing input arguments and getting output

Output statements to display the output returned by the function

Level 3

Write programs that contain multiple functions.

Understand the difference between local variables and global variables


and use both types of variables.

Understand the use of pointer variable and use them

 Still have a question?


Understand Ask yourbetween
the difference own! static allocation of memory and
dynamic
What memory
is your allocation and use both of them
question? Ask
Understand the role of pointers in dynamic memory allocation
Search for questions, people, and topics Ask New Question Sign In

Use various standard I/O library functions

Level 4

Write programs that contain multiple functions distributed in multiple


C files

Practice linked lists (both single and double linked lists)

Practice various search and sort algorithms


2.5k Views · View Upvoters

Promoted by honeypot.io
The Netherlands faces a shortage of developers.
The developer exclusive job platform. Companies must approach you with clear
salary expectations.

Sign up at honeypot.io

Andy Murdoch, Internet Weirdo


Answered Dec 31 2011 · Upvoted by Raghavan Santhanam, Passionate C programmer
since 2000. and Toby Thain, C coder since late 1980s on Macintosh, UNIX, and very
occasionally Win32. Recent open source person… · Author has 83 answers and 198.8k
answer views
Originally Answered: Where should I start to learn C?

Get the Kernighan & Ritchie book, it really is the C programmers' bible. Then
write a program that prints your name. Make it print your name 20 times. Make
it ask your name before printing it.

When you've done all that - congratulations, you've started on an amazing


journey.
14.8k Views · View Upvoters

Ayush Singh, 10+ years of 'C'ing


Answered Mar 9 2016
Originally Answered: How should I start learning C programming?

1. Depending on the OS that you are using get a C compiler with IDE. If
you are using Windows you can use Dev-CPP to begin with. You can
also use Visual Studio Community (this one is my personal favourite).
Visual Studio is a good IDE with support for many other programming
languages.

2. Start with a tutorial. You can pick on on line courses or choose a book.
You will find solved examples and some do it yourself exercise. Re write
the solved examples yourself again. You can not learn to code by reading
the examples - write them yourself. Even though you will just be
following the instructions in the tutorial you will get familiar with the
functions variables and other relevant things related to programming.

3. Try out the Do it yourself exercises. Do not google for the solutions right
away. Try to solve them yourself.

4. Still
After have a question?
finishing Ask yourand
the tutorial own!the exercises, write something on your

own.is
What It can
yourme anything from reading data from one file and writingAsk
question? it
to another or a new implementation of Depth First Search.
Search for questions, people, and topics Ask New Question Sign In
5. Understand the algorithms, start implementing them in code yourself.
Most algorithms will already be implemented if you Google them but
this will defeat the purpose. Try yourself. You may fail to get the
desired output at the first go or may get an output which works only a
small set of input. Start making small changes to the code that you have
just written, did it make it better?  or worse? how would you know? what
would you measure? is it giving the desired output for all valid inputs ?
and invalid inputs being handled ? can it run faster ? is there another
logic that will solve the same problem ? and so on.

6. Work on harder problems, start simple, make it work, slowly complicate


it with more difficult variations. Google some common problems in
math and physics, try coding them. The intention here is evolve from
simple to complex algorithms.

7. You can join an institute if you are the kind of person who needs to be
FORCED to progress on tasks. I learn well on my own just by
experimenting and reading, but thats just me.

8. To fare reasonably well in any programming language, you will have to


practice and keep doing it.

Some of the sites that maybe helpful are:

C programming.com - Learn C and C++ Programming - Cprogramming.com

Learn C++
6.8k Views · View Upvoters

Related Questions

Which one should I learn first: C or C++?

Which book should I purchase to study C language?

Is it ever too late for someone to learn how to program?

How can I start learning C programming and Java?

How can I learn C and C++?

How do I start learning C programming from the basics?

Should I use Swift or Objective-C to learn iOS development?

How do I learn to program in C++?

What is the best way to start learning R? I would spend money on a course, but would
obviously prefer a free resource. I’m familiar with Java.

What is the best way to learn embedded C?

 Ask New Question

 Still have a question? Ask your own!


What is your question? Ask
Sitemap:
Search for questions, people, # A B
and topics C D E F G H I J K L M N O P Q R S T U V W X Y Z Ask New Question Sign In
About · Careers · Privacy · Terms · Contact

 Still have a question? Ask your own!


What is your question? Ask

Das könnte Ihnen auch gefallen