How To Build a C


We all want to build a compiler, at least once in our lifetime. I am here to tell you that it is not very hard to do so. All you need is a bit of time, some determination and the C

C: How to Program, 7/e introduces the fundamentals of C Programming for a beginner, yet is an invaluable reference for the experienced programmer. Whether an experienced programmer or a beginner, this text will emphasize the fundamental building blocks of great programming skills and introduce the latest ANSI C standards.

The Deitels’ groundbreaking How to Program series offers unparalleled breadth and depth of object-oriented programming concepts and intermediate-level topics for further study. Using the Deitels’ signature Live-Code(TM) Approach, this complete, authoritative introduction to C programming introduces fundamentals of structured program development, covering control statements, functions, arrays and pointers before objects and classes. The book is updated with new C11 features such as type-generic macros, anonymous structures and unions, improved Unicode support, restricted pointers, multi-threading support and bounds checking on arrays. The companion CD includes compilers for Windows (including Windows 8), Macintosh OS X Mavericks and Linux.

Now we’re ready to do something that’s more like an actual program. We’ll take our example of a function that takes an int and returns the string “hello,

this is the statement for defining a struct

// read a line of text

Console.Write(“Enter your name: “);

string name = Console.ReadLine();

// read another line of text

Console.Write(“Enter your age: “);

string age = Console.ReadLine();

// convert string to int

int iage = int.Parse(age);

// change integer to years left to live using arbitrary formula

int yearsLeft = 65 – iage;

// output result using semicolon to concatenate strings and ints into message for user

Console.WriteLine(“Hi ” + name + “. You have ” + yearsLeft + ” years left to live.”);


Leave a Reply

Your email address will not be published. Required fields are marked *