1 / 16

Overview of C Language Lecture-3

King Fahd University of Petroleum and Minerals Affiliated Colleges at Hafr Al-Batin (ACHB / HBCC )  Computer Science & Engineering Technology Unit (CSET). CSET101: Computer programming. Overview of C Language Lecture-3. What is C?.

rob
Download Presentation

Overview of C Language Lecture-3

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. King Fahd University of Petroleum and Minerals Affiliated Colleges at Hafr Al-Batin (ACHB / HBCC )  Computer Science & Engineering Technology Unit (CSET) CSET101: Computer programming Overview of C Language Lecture-3

  2. What is C? • A programming language written by Brian Kernighan and Dennis Ritchiein 1070’s. • It was the language for writing UNIX. • It became the first "portable" language • In recent years C has been used as a general-purpose language because of its popularity with programmers.

  3. History of C • In 1972 Dennis Ritchie at Bell Labs writes C and in 1978 the publication of The C Programming Language by Kernighan & Ritchie caused a revolution in the computing world • In 1983, the American National Standards Institute (ANSI) established a committee to provide a modern, comprehensive definition of C. The resulting definition, the ANSI standard, or "ANSI C", was completed late 1988. • Dialects of C • Common C • ANSI C • ANSI/ ISO 9899: 1990 • Called American National Standards Institute ANSI C

  4. History of C • Evolved from two previous languages: BCPL , B • BCPL (Basic Combined Programming Language) used for writing OS & compilers • B used for creating early versions of UNIX OS • Both were “typeless” languages ** • C language evolved from B (Dennis Ritchie – Bell labs) ** Typeless – no data types. Every data item occupied 1 word in memory.

  5. Why use C? • Mainly because it produces code that runs nearly as fast as code written in assembly language. Also, it is portable to different computer architectures. • Some examples of the use of C : • Operating Systems • Embedded Systems • Assemblers, Compilers and Interpreters • Device Drivers (e.g., network driver, printer driver) • Utilities (e.g., antiviruses, disk compressors) • Application programs (e.g., text editors, games, graphics, databases) • etc…

  6. Why C is Still Useful? • Because C provides: • Speed and portability • Efficiency, high performance and high quality software • flexibility and power • Many high-level and low-level operations  middle level • Stability and small size code • Provide functionality through rich set of function libraries • Gateway for other professional languages like C  C++  Java Note: • There are billions of lines of C code available on the Internet. • Portable programs will run on any machine but….. You may have to re-compile. • Program correctness and robustness are most important than program efficiency.

  7. Development with C Writing program in C goes through 6 phases: • Editor or IDE is used to write the source code of program (.c file). • Preprocessor includes the available routines to source code. • Compiler translates or converts the source code into object code (.obj file). • Linker resolves external references and produces executable code (.exe file). • Loader loads this executable code into memory. • CPU executes or runs the .exe code.

  8. Development with C Figure: Compilation Process in C

  9. Basics of C Environment • C systems consist of 3 parts • Environment • Language • C Standard Library (a rich collection of existing functions ) • Avoid reinventing the wheel • Software reusability • Development environment has 6 phases: • Edit • Pre-processor • Compile • Link • Load • Execute

  10. Preprocessor program processes the code Creates object code and stores on disk Program edited in Editor and stored on disk Links object code with libraries and stores on disk Disk Disk Disk Disk Linker Editor Preprocessor Compiler Phase 1 Phase 2 Phase 4 Phase 3 Basics of C Environment

  11. Primary memory Puts program in memory Loader Phase 5 Primary memory Takes each instruction and executes it storing new data values CPU Phase 6 Basics of C Environment

  12. Simple C Program 1. 2. 3. 4. 5. /* A first C Program*/ #include <stdio.h> void main() { printf("Hello World \n"); }

  13. 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 printffunction is in this file.

  14. 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 accomplish some task. • Functions are examined later. • The "void" specifies the return type of main. In this case, nothing is returned to the operating system. • Line 3: { • This opening bracket denotes the start of the program.

  15. Simple C Program • Line 4: printf("Hello World From About\n"); • 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. • The "\n" is a special format modifier that tells the printf to put a line feed at the end of the line. • If there were another printf in this program, its string would print on the next line. • Line 5: } • This closing bracket denotes the end of the program.

  16. Escape Sequence • \n new line • \t tab • \r carriage return • \a alert • \\ backslash • \” double quote The combination of a backslash (\) and some character are called escape sequences because the backslash causes an "escape" or change from the normal meaning of the characters which follow it, i.e., the characters are taken as commands rather than as data.

More Related