Introduction to C Programming

Slides:



Advertisements
Similar presentations
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1
Advertisements

EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Chapter 3: Beginning Problem Solving Concepts for the Computer Programming Computer Programming Skills /1436 Department of Computer Science.
Introduction Kingdom of Saudi Arabia Shaqra University
INTRODUCTION T.Najah Al_Subaie Kingdom of Saudi Arabia Prince Norah bint Abdul Rahman University College of Computer Since and Information System CS240.
Three types of computer languages
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
1 Key Concepts:  Why C?  Life Cycle Of a C program,  What is a computer program?  A program statement?  Basic parts of a C program,  Printf() function?
Introduction to C Programming Overview of C Hello World program Unix environment C programming basics.
 2003 Prentice Hall, Inc. All rights reserved. 1 Machine Languages, Assembly Languages, and High-level Languages Three types of computer languages 1.Machine.
1 ICS103 Programming in C Lecture 2: Introduction to C (1)
Introduction to C Programming
C programming Language and Data Structure For DIT Students.
CHAPTER 1: INTORDUCTION TO C LANGUAGE
Chapter 3: Introduction to C Programming Language C development environment A simple program example Characters and tokens Structure of a C program –comment.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
COMPUTER SCIENCE I C++ INTRODUCTION
© The McGraw-Hill Companies, 2006 Chapter 1 The first step.
“C” Programming Language What is language ? Language is medium of communication. If two persons want to communicate with each other, they have to use.
Programming Design Ku-Yaw Chang Assistant Professor, Department of Computer Science and Information Engineering Da-Yeh University.
Basics of “C” Programming
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
History of C and C++ C++ evolved from C ANSI C C++ “spruces up” C
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
Programming With C.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Introduction to Computers Outline 1.1Introduction.
 2008 Pearson Education, Inc. All rights reserved. 1 CISC 1600 – Computer Science I Fall 2010 Introduction to C++ Programming Chapters 1 and 2 (Deitel.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 1 February 8, 2005.
INTRODUCTION Kingdom of Saudi Arabia Princess Nora bint Abdul Rahman University College of Computer Since and Information System CS240.
1 Programming Fundamentals How to Program in C++ How to Program in C++
CHAPTER 1: INTRODUCTION C++ Programming. CS 241 Course URL: Text Book: C++ How to Program, DETITEL & DEITEL, eighth Edition.
Chapter 1 Introduction to Computers, the Internet and the Web.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 1 – Introduction to C.
Introduction to C Programming Language. History of C  C was evolved by Dennis Ritchie at AT&T Bell Laboratories in early of 1970s  Successor of: ALGOL.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
An overview of C Language. Overview of C C language is a general purpose and structured programming language developed by 'Dennis Ritchie' at AT &T's.
 2003 Prentice Hall, Inc. All rights reserved Basics of a Typical C++ Environment C++ systems –Program-development environment –Language –C++
Introduction to C Programming
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
INTRODUCTION TO PROGRAMING System Development Mansoura October 2015.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
From Algorithms to Programs Both are sets of instructions on how to do a task Algorithm: –talking to humans, easy to understand –in plain (English) language.
Chapter 1 Introduction 2nd Semester H
Chapter 1: Introduction to computers and C++ Programming
CSC201: Computer Programming
1.2 What is a Computer? Computer Computer programs Hardware Software
CSCI-235 Micro-Computer Applications
Computer Programming (CS-161)
C Programming Hardik H. Maheta.
Instructor: Chien-Ho Ko
Chapter 1 – Introduction to Computers and C++ Programming
Intro to Programming Week # 1 Hardware / Software Lecture # 2
Overview of C.
Getting Started with C.
1.6 Machine Languages, Assembly Languages, and High-level Languages
Introduction to C Programming Language
' C ' PROGRAMMING SRM-MCA.
Welcome In The World Of ‘C’.  TEXT BOOK: Programming in ANSI ‘C By: E Balagurusamy. TMH  Reference Books: 1) The ‘C Programming Language By: Kernighan.
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Introduction C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell.
Programming Fundamentals Lecture #3 Overview of Computer Programming
King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1 Done By: Asmal Alosaimi Edited By: Fatimah Alakeel.
Introduction to Computer Programming
Chapter 1 – Introduction to Computers and C++ Programming
C programming Language
Introduction to Computer Programming
Programs written in C and C++ can run on many different computers
Capitolo 1 – Introduction C++ Programming
Introduction to C Programming
Chapter 1 – Introduction to Computers and C++ Programming
Presentation transcript:

Introduction to C Programming

Books “The Waite Group’s Turbo C Programming for PC”, Robert Lafore, SAMS “C How to Program”, H.M. Deitel, P.J. Deitel, Prentice Hall

Programming languages Various programming languages Some understandable directly by computers Others require “translation” steps Machine language Natural language of a particular computer Consists of strings of numbers(1s, 0s) Instruct computer to perform elementary operations one at a time Machine dependant

Programming languages Assembly Language English like abbreviations Translators programs called “Assemblers” to convert assembly language programs to machine language. E.g. add overtime to base pay and store result in gross pay LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

Programming languages High-level languages To speed up programming even further Single statements for accomplishing substantial tasks Translator programs called “Compilers” to convert high-level programs into machine language E.g. add overtime to base pay and store result in gross pay grossPay = basePay + overtimePay

History 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.

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 datatypes. Every data item occupied 1 word in memory. ** Typeless – no datatypes. Every data item occupied 1 word in memory.

Characters of C Hardware independent Programs portable to most computers Dialects of C Common C ANSI C ANSI/ ISO 9899: 1990 Called American National Standards Institute ANSI C Case-sensitive

What is C? C A language written by Brian Kernighan and Dennis Ritchie. 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.

Why use C? Mainly because it produces code that runs nearly as fast as code written in assembly language. Some examples of the use of C might be: Operating Systems Language Compilers Assemblers Text Editors Print Spoolers Network Drivers Modern Programs Data Bases Language Interpreters Utilities Mainly because of the portability that writing standard C programs can offer

Why C Still Useful? C provides: C is used: Efficiency, high performance and high quality s/ws 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 C is used: System software Compilers, Editors, embedded systems data compression, graphics and computational geometry, utility programs databases, operating systems, device drivers, system level routines there are zillions of lines of C legacy code Also used in application programs

Software Development Method Requirement Specification Problem Definition Analysis Refine, Generalize, Decompose the problem definition Design Develop Algorithm Implementation Write Code Verification and Testing Test and Debug the code

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: resolves external references and produces the executable module Portable programs will run on any machine but….. Note! Program correctness and robustness are most important than program efficiency

C Standard Library Two parts to learning the “C” world Learn C itself Take advantage of rich collection of existing functions called C Standard Library Avoid reinventing the wheel SW reusability

Basics of C Environment C systems consist of 3 parts Environment Language C Standard Library Development environment has 6 phases Edit Pre-processor Compile Link Load Execute

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

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

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

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 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.

Simple C Program Line 3: { This opening bracket denotes the start of the program.

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.

Simple C Program Line 5: } This closing bracket denotes the end of the program.

Escape Sequence \n new line \t tab \r carriage return \a alert \\ backslash \” double quote

Memory concepts Every variable has a name, type and value Variable names correspond to locations in computer memory New value over-writes the previous value– “Destructive read-in” Value reading called “Non-destructive read-out”

Variables and data types 1. Data type determines how much storage space is allocated to variables. 2. Data type determines the permissible operations on variables. 3. The variables should be declared by specifying the data type. 4. There is a family of integer data types and floating-point data types. 5. Characters are stored internally as integers. 6. Characters are interpreted according to the character set. 7. The most commonly used character set is ASCII. 8. In the ASCII character set, A is represented by the number 65.

A single character stored in one byte. char c; c is a char variable you canstore the letter A c='A‘

/* elementary data types */ char 1 byte int 2 bytes Short 2 bytes long 4 bytes double 4 bytes float 4 bytes /* non-elementary or customized data types */ struct not defined Enum 2 bytes /* considered as int */

Arithmetic in C C operation Algebraic C Addition(+) f+7 f+7 Subtraction (-) p-c p-c Multiplication(*) bm b*m Division(/) x/y, x , x y x/y Modulus(%) r mod s r%s

Precedence order Highest to lowest () *, /, % +, -

Example Algebra: z = pr%q+w/x-y C: z = p * r % q + w / x – y ; Precedence: 1 2 4 3 5

Example Algebra: a(b+c)+ c(d+e) C: a * ( b + c ) + c * ( d + e ) ; Precedence: 3 1 5 4 2

Decision Making Checking falsity or truth of a statement Equality operators have lower precedence than relational operators Relational operators have same precedence Both associate from left to right

Decision Making Equality operators == != Relational operators < > <= >=

Summary of precedence order Operator Associativity () left to right * / % left to right + - left to right < <= > >= left to right == != left to right = left to right

Assignment operators = += -= *= /= %=

Increment/ decrement operators

Increment/ decrement operators main() { int c; c = 5; printf(“%d\n”, c); printf(“%d\n”, c++); printf(“%d\n\n”, c); printf(“%d\n”, ++c); return 0; } 5 6

Thank You Thank You