C programming Language and Data Structure For DIT Students Course Detail Theory 100 Piratical 100 Total 200 Introduction to C Programming Introduction Books “Turbo C Programming for PC”, Robert Lafore, SAMS “Data Structure” ,Schaum’s Series Language? Source of Communication between two persons. – Example: Human –To- Human OR Source of Communication between User and Computer is called programming language. – Example: Human –To- Machine Program Set of instructions which perform any specific task is called program. What is programming? Series of instructions to a computer to achieve a task Instructions must be written in a way the computer can understand Programming languages are used to write programs Once the code (language) of a program has been written, it must be executed (run, started). Some programming languages (like C, C++ or Java) require the code to be compiled (translated to binary) before it can be started. History of C language Year Language Developer 1960 ALGOL (Algorithmic Language) 1967 BCPL Martin Richards (Basic Combined Programming Language) 1970 B Ken Thompson 1972 C Dennis Ritchie Internal Committee What is C? C A language written by Dennis Ritchie in 1972 at AT&T Bell Labs USA. This was to be the language that UNIX was written in to become the first "portable" language. In recent years C has been used as a general-purpose language because of its popularity with programmers. AT&T-American Telephone and Telegraph UNIX-Uniplexed Information and Computing System or Service Why C Still Useful? C provides: Efficiency, high performance and high quality Provide functionality through rich set of function libraries Gateway for other professional languages like C C++ Java C is used: System software, Compilers, Editors Graphics and Geometry Databases, operating systems, device drivers Also used in application programs Software Development Method Requirement Specification – Problem Definition Analysis – Refine, Generalize the problem definition Design – Develop Algorithm: (A formula or set of steps for solving a particular problem) Implementation – Write Code Verification and Testing – Test and Debug the code How do you write a program? Decide what steps are needed to complete the task Write the steps (Algorithm) in pseudo code (written in English) or as a flowchart (graphic symbols) Translate into the programming language Try out the program and “debug”. Sample Pseudo code Task: add two numbers Pseudo code (Algorithm) : 1. 2. 3. 4. 5. Start Get two numbers Add them (a + b) Print the answer End What does a flowchart look like? Pseudo code (Algorithm) : 1. Start 2. Get two numbers 3. Add them (A + B) 4. Print the answer 5. End Start Get 2 numbers A+B Print answer End Flow Chart symbols START/END INPUT/OUTPUT PROCESS DECISION Integrated Development Environments An integrated development environment (IDE) is a software package that makes it possible to edit, compile, link, execute, and debug a program without leaving the environment. 16 Simple C Program /* A first C Program*/ #include <stdio.h> void main() { printf("Hello World"); } Simple C Program /* A first C Program*/ #include <stdio.h> Header File Preprocessor directive void main() { Opening bracket printf("Hello World"); } Main Function Statement Part Closing Bracket Simple C Program Line 1: #include <stdio.h> As part of compilation, the C compiler runs a program called the C preprocessor. The preprocessor is able to add and remove code from your source file. In this case, the directive #include tells the preprocessor to include code from the file stdio.h. This file contains declarations for functions that the program needs to use. A declaration for the printf function is in this file. Simple C Program Line 2: void main() This statement declares the main function. A C program can contain many functions but must always have one main function. A function is a self-contained module of code that can finish some task. The "void" specifies the return type of main. In this case, nothing is returned to the operating system. Simple C Program Line 3: { This opening bracket denotes the start of the program. Simple C Program Line 4: printf("Hello World "); Printf is a function from a standard C library that is used to print strings to the standard output, normally your screen. The compiler links code from these standard libraries to the code you have written to produce the final executable. If there were another printf in this program, its string would print on the next line. Simple C Program Line 5: } This closing bracket denotes the end of the program. Comment Comment should be enclosed between /* */ It is used to increase the readability of the program. Any number of comments can be given at any place in the program. Comment cannot be nested example: /* A first C Program*/ Getting started with C Steps in learning English language Alphabets Words Sentences Paragraph Steps in learning C Alphabets Digits Special-symbols Constants Variables Keywords Instruction Program The C character Set • A character denotes any alphabet, digit or special symbol used to represent information. Alphabets A,B, …. ,Y, Z a,b, ….. ,y, z Digits 0,1,2,3,4,5,6,7,8,9 Special Symbols ~‘!@#%^&*( )_-+= |\{}[] :;“‘< > , .? / Constants, Variable and keywords The alphabets, numbers and special symbol when properly combined form constants, variables and keywords A constant is a quantity that doesn’t change A variable is a name given to the location in memory where the constant is stored Example: 3x + y = 20 3 & 20 are constants, which cannot change x & y can vary or change hence are called variables Keywords • Keywords are the words whose meaning has already been explained to the C compiler • Sometimes called reserved words. • They cannot be used as variable names. • There are only 32 keywords available in c auto break case char const continue short double else enum extern float far void if int long near register return static struct switch typedef union unsigned do goto signed while default for Escape Sequence Certain non printing characters can be expressed in terms of escape sequences \n \t \a \\ \” \0 \b new line tab alert backslash double quote Null Backspace Data Types • C Supports several different types of data, each of which may be represented differently within the computers memory. • Basic data types are listed below: Data Type int char float Description integer quantity single character floating point number Typical Memory 2 bytes 1 bytes 4 bytes Escape Sequences in C Certain non printing characters can be expressed in terms of escape sequences Character Escape Sequence bell backspace horizontal tab vertical tab newline carriage return quotation mark (“) question mark(?) backslash (\) null \a \b \t \v \n \r \” \? \\ \0 Development with C Four stages Editing: Writing the source code by using some IDE or editor Preprocessing or libraries: Already available routines compiling: translates or converts source to object code for a specific platform source code -> object code – linking: The object code of a program is linked with libraries that are needed for execution of a program. The linker is used to link the program with libraries. It creates a file with '*.exe' extension. Program Development Editor Source File Preprocessor Modified Source Code in RAM Compiler Program Object Code File Linker Executable File Keywords Sometimes called reserved words. Are defined as a part of the C language. Can not be used for anything else! 32 keywords in C Examples: – Int – void – while – for