ELE118 Introduction to Programming

Slides:



Advertisements
Similar presentations
Lecture 2 Introduction to C Programming
Advertisements

Introduction to C Programming
 2005 Pearson Education, Inc. All rights reserved Introduction.
1 Chapter 2 Introduction to Java Applications Introduction Java application programming Display ____________________ Obtain information from the.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line.
Introduction to C Programming
Chapter 2 Introduction to C Programming
TDBA66, VT-03 Lecture - Ch. 21 A complete C-program Display Fig. 2.1 and comment on different things such as Preprocessor directives Header files Identifiers.
1 CS 201 Introduction to C (1) Debzani Deb. 2 Outline Overview of C General form of a C program C Language Elements.
Software Development Method & C Language Elements H&K Chapter 1-2
1 ICS103 Programming in C Lecture 3: Introduction to C (2)
Structure of a C program
C Programming Language 4 Developed in 1972 by Dennis Ritchie at AT&T Bell Laboratories 4 Used to rewrite the UNIX operating system 4 Widely used on UNIX.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
Introduction to C Programming Overview of C Hello World program Unix environment C programming basics.
1 ICS103 Programming in C Lecture 2: Introduction to C (1)
Introduction to C Programming
Basic Input/Output and Variables Ethan Cerami New York
Chapter 3: Introduction to C Programming Language C development environment A simple program example Characters and tokens Structure of a C program –comment.
COMPUTER SCIENCE I C++ INTRODUCTION
 2003 Prentice Hall, Inc. All rights reserved. 1 Introduction to C++ Programming Outline Introduction to C++ Programming A Simple Program: Printing a.
Chapter 2 : Overview of C By Suraya Alias. /*The classic HelloWorld */ #include int main(void) { printf(“Hello World!!"); return 0; }
Goals of Course Introduction to the programming language C Learn how to program Learn ‘good’ programming practices.
Chapter 2 Overview of C Part I J. H. Wang ( 王正豪 ), Ph. D. Assistant Professor Dept. Computer Science and Information Engineering National Taipei University.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Input, Output, and Processing
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 2 Chapter 2 - Introduction to C Programming.
Introduction to C Programming Angela Chih-Wei Tang ( 唐 之 瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan 2010 Fall.
Week 1 Algorithmization and Programming Languages.
 Pearson Education, Inc. All rights reserved Introduction to Java Applications.
Lecture 2: Introduction to C Programming. OBJECTIVES In this lecture you will learn:  To use simple input and output statements.  The fundamental data.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 2 Input, Processing, and Output.
CC112 Structured Programming Lecture 2 1 Arab Academy for Science and Technology and Maritime Transport College of Engineering and Technology Computer.
CSCI 3133 Programming with C Instructor: Bindra Shrestha University of Houston – Clear Lake.
Overview of C. C—a high-level programming language developed in 1972 by Dennis Ritchie at AT&T Bell Laboratories. We will discuss: –the elements of a.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 2 - Introduction to C Programming Outline.
CISC105 – General Computer Science Class 2 – 6/7/2006.
Introduction to Java Applications Part II. In this chapter you will learn:  Different data types( Primitive data types).  How to declare variables?
Operating System Discussion Section. The Basics of C Reference: Lecture note 2 and 3 notes.html.
 2007 Pearson Education, Inc. All rights reserved. A Simple C Program 1 /* ************************************************* *** Program: hello_world.
A.Abhari CPS1251 Topic 2: C Overview C Language Elements Variable Declaration and Data Types Statement Execution C Program Layout Formatting Output Interactive.
Principles of Programming CSEB134 : BS/ CHAPTER Fundamentals of the C Programming Language.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Introduction to Algorithmic Processes CMPSC 201C Fall 2000.
1 C Syntax and Semantics Dr. Sherif Mohamed Tawfik Lecture Two.
1 Lecture 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple C Program: Adding.
© Copyright by Deitel 1 Chapter 2 - Introduction to C Programming Outline 2.1Introduction 2.2A Simple C Program: Printing a Line of Text 2.3Another Simple.
 2007 Pearson Education, Inc. All rights reserved Introduction to C Programming.
Lecture2.
Introduction to C Programming
CSC201: Computer Programming
Chapter 2 - Introduction to C Programming
ICS103 Programming in C Lecture 3: Introduction to C (2)
Chapter 2 - Introduction to C Programming
Lecture2.
Introduction to C Programming
Introduction to C Programming
Variables In programming, we often need to have places to store data. These receptacles are called variables. They are called that because they can change.
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Introduction to CS Your First C Programs
Introduction to C++ Programming
Chapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming
Lecture3.
Chapter 2 - Introduction to C Programming
Introduction to C Programming
Introduction to C Programming
Presentation transcript:

ELE118 Introduction to Programming Dr. Mehmet Demirer Dr. Seniha Esen Yuksel

Outline Overview of C General form of a C program C Language Elements

History & Philosophy C is developed in 1972 by Dennis Ritchie at the AT&T Bell Laboratories for use with the Unix. C is a minimalistic programming language. The most commonly used programming language for writing system software. Machine independent: by minimal change in source code, can be compiled in a wide variety of platform and operating system.

Why C? Many, many companies/research projects do all their programming in C. Small, compact code. Produces optimized programs that run faster. Low-level access to computer memory via machine addresses and pointers. Low level (BitWise) programming readily available. Can be compiled on a variety of computers.

What’s Missing? No Objects. Poor error detection which can make it difficult to use for the beginner No automatic garbage collection. No bounds checking of arrays and allocated memory segments. No exception handling. No native support for multithreading and networking, though these facilities are provided by popular libraries No standard libraries for graphics and several other application programming needs

A Simple, Example C Program /* helloworld.c */ #include <stdio.h> int main(void) { printf("Hello World!\n"); return(0); } Every C program has a main function. It is very much the same as the main method in a Java class. printf is also the name of a function. It can do much the same as Java's System.out.print. This program can use the printf function, because of the line #include <stdio.h> in the source code. This line is similar to Java's import java.io.*

General Form of a C program Preprocessor directives are instructions to C Preprocessor to modify The text of a C program before compilation. Every variable has to be declared first. Executable statements are translated into machine language and eventually executed. Executable statements perform computations on the declared variables or input/output operations.

Miles to Kilometers conversion

C Language Elements Preprocessor Directives Comments The “main” function Variable Declarations and Data Types Executable Statements Reserved Words Identifiers

Preprocessor Directives /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Preprocessor Directives Preprocessor directives are commands that give instructions to the C preprocessor. Preprocessor is a system program that modifies a C program prior to its compilation. Preprocessor directives begins with a # Example. #include or #define

#include #include is used to include other source files into your source file. The #include directive gives a program access to a library. Libraries are useful functions and symbols that are predefined by the C language (standard libraries). Example: You must include stdio.h if you want to use the printf and scanf library functions. # include<stdio.h> insert their definitions to your program before compilation.

#define The #define directive instructs the preprocessor to replace each occurrence of a text by a particular constant value before compilation. #define replaces all occurrences of the text you specify with value you specify Example: #define KMS_PER_MILES 1.60 #define PI 3.14159

Comments /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Comments Comments provide supplementary information making it easier for us to understand the program, but are ignored by the C compiler. Two forms of comments: /* */ - anything between them with be considered a comment, even if they span multiple lines. // - anything after this and before the end of the line is considered a comment. Comments are used to create Program Documentation Information that help others read and understand the program. The start of the program should consist of a comment that includes programmer’s name, date of the current version, and a brief description of what the program does. Always Comment your Code!

The “main” Function //Get the distance in miles /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

The “main” Function The heading int main(void) marks the beginning of the main function where program execution begins. Every C program has a main function. Braces ({..,..}) mark the beginning and end of the body of function main. A function body has to parts: declarations - tell the compiler what memory cells are needed in the function executable statements - (derived from the algorithm) are translated into machine language and later executed by the compiler.

Variables and Data Types /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Variable Declarations Variable – The memory cell used for storing a program’s data and its computational results Variable’s value can change. Example: miles, kms Variable declarations –Statements that communicates to the compiler the names of variables in the program and the kind of information they can store. Example: double miles Tells the compiler to create space for a variable of type double in memory with the name miles. C requires you to declare every variable used in the program.

Data Types Data Types: a set of values and a set of operations that can be performed on those values int: Stores integer values – whole numbers 65, -12345 double: Stores real numbers – numbers that use a decimal point. 3.14159 or 1.23e5 (which equals 123000.0) char: An individual character value. Each char value is enclosed in single quotes. E.g. ‘A’, ‘*’. Can be a letter, a digit, or a special symbol Arithmetic operations (+, -, *, /) and compare can be performed in case of int and double. Compare can be performed in char data.

Executable Statements /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Executable Statements Executable Statements: C statements used to write or code the algorithm. C compiler translates the executable statements to machine code. Input/Output Operations and Functions printf Function scanf Function Assignment Statements return Statement

Input/Output Operations and Functions Input operation - data transfer from the outside world into computer memory Output operation - program results can be displayed to the program user Input/output functions - special program units that do all input/output operations printf = output function scanf = input function Function call - in C a function call is used to call or activate a function Calling a function means asking another piece of code to do some work for you

The printf Function printf(“That equals %f kilometers.\n”, kms); function name printf(“That equals %f kilometers.\n”, kms); function arguments format string print list place holder

Placeholders Placeholder always begins with the symbol % It marks the place in a format string where a value will be printed out or will be inputed (in this case, kms) Format strings can have multiple placeholders, if you are printing multiple values Placeholder Variable Type Function Use %c char printf/scanf %d int %f double printf %lf scanf newline escape sequence – ‘\n’ terminates the current line

Displaying Prompts When input data is needed in an interactive program, you should use the printf function to display a prompting message, or prompt, that tells the user what data to enter. Printf(“Enter the distance in miles> “);

The scanf Function scanf(“%1f”, &miles); function name function arguments format string variable list place holder When user inputs a value, it is stored in variable miles. The placeholder type tells the function what kind of data to store into variable miles. The & is the C address of operator. The & operator in front of variable miles tells the scanf function the location of variable miles in memory.

Fig 2.6: Scanning data line Bob char letter_1, letter_2, letter_3; …. Scanf(“%c%c%c”, &letter_1, &letter_2, &letter_3);

Assignment Statements Assignment statement - Stores a value or a computational result in a variable kms = KMS_PER_MILE * miles; The assignment statement above assigns a value to the variable kms. The value assigned is the result of the multiplication of the constant KMS_PER_MILE by the variable miles.

Figure 2.3 Effect of kms = KMS_PER_MILE * miles;

Figure 2.2 Memory(a) Before and (b) After Execution of a Program

More on Assignments In C the symbol = is the assignment operator Read it as ”becomes”, ”gets”, or ”takes the value of” rather than ”equals” because it is not equivalent to the equal sign of mathematics. In C, == tests equality. In C you can write assignment statements of the form: sum = sum + item; where the variable sum appears on both sides of the assignment operator. This is obviously not an algebraic equation, but it illustrates a common programming practice. This statement instructs the computer to add the current value of sum to the value of item; the result is then stored back into sum.

return Statement return (0); Transfers control from your program to the operating system. return (0) returns a 0 to the Operating System and indicates that the program executed without error. It does not mean the program did what it was supposed to do. It only means there were no syntax errors. There still may have been logical errors. Once you start writing your own functions, you’ll use the return statement to return information to the caller of the function.

Reserved Words //Get the distance in miles /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Reserved words A word that has special meaning to C and can not be used for other purposes. These are words that C reserves for its own uses (declaring variables, control flow, etc.) For example, you couldn’t have a variable named return Always lower case Appendix E has a list of them all (ex: double, int, if , else, ...)

Identifiers //Get the distance in miles /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Standard Identifiers Identifier - A name given to a variable or an operation In other words, Function names and Variable names Standard Identifier - An identifier that is defined in the standard C libraries and has special meaning in C. Example: printf, scanf Standard identifiers are not like reserved words; you could redefine them if you want to. But it is not recommended. For example, if you create your own function called printf, then you may not be able to access the library version of printf.

User Defined Identifiers We choose our own identifiers to name memory cells that will hold data and program results and to name operations that we define (more on this in Chapter 3). Rules for Naming Identifiers: An identifier must consist only of letters, digits, and underscores. An identifier cannot begin with a digit. A C reserved word cannot be used as an identifier. A standard identifier should not be redefined. Valid identifiers: letter1, inches, KM_PER_MILE Invalid identifiers: 1letter, Happy*trout, return

Few Guidelines for Naming Identifiers Some compliers will only see the first 31 characters of the identifier name, so avoid longer identifiers Uppercase and lowercase are different LETTER != Letter != letter Avoid names that only differ by case; they can lead to hard to find bugs Choose meaningful identifiers that are easy to understand. Example: distance = rate * time means a lot more than x=y*z All uppercase is usually used for constant macros (#define) KMS_PER_MILE is a defined constant As a variable, we would probably name it KmsPerMile or Kms_Per_Mile

Punctuation and Special Symbols /* Converts distances from miles to kilometers */ #include <stdio.h> /* printf, scanf definitions */ #define KMS_PER_MILE 1.609 /* conversion constant */ int main(void) { double miles, //distance in miles kms; //equivalent distance in kilometers //Get the distance in miles printf("Enter the distance in miles> "); scanf("%lf", &miles); //Convert the distance to kilometers kms = KMS_PER_MILE * miles; //Display the distance in kilometers printf("That equals %f kilometers.\n", kms); return (0); }

Punctuation and Special Symbols Semicolons (;) – Mark the end of a statement Curly Braces ({,}) – Mark the beginning and end of the main function Mathematical Symbols (*,=) – Are used to assign and compute values

printf statement starts printing from where the last statement ended, so the text is printed on one line.

Outline Newline characters move the cursor to the next line fig02_04.c

Outline Definitions of variables fig02_05.c Definitions of variables scanf obtains a value from the user and assigns it to integer1 scanf obtains a value from the user and assigns it to integer2 Assigns a value to sum

Arithmetic Arithmetic calculations Operator precedence Use * for multiplication and / for division Integer division truncates remainder 7 / 5 evaluates to 1 Modulus operator(%) returns the remainder 7 % 5 evaluates to 2 Operator precedence Some arithmetic operators act before others (i.e., multiplication before addition) Use parenthesis when needed Example: Find the average of three variables a, b and c Do not use: a + b + c / 3 Use: (a + b + c ) / 3

Fig. 2.9 | Arithmetic operators.

Common Programming Error 2.15 An attempt to divide by zero is normally undefined on computer systems and generally results in a fatal error, i.e., an error that causes the program to terminate immediately without having successfully performed its job. Nonfatal errors allow programs to run to completion, often producing incorrect results.

Fig. 2.10 | Precedence of arithmetic operators.

Order in which a second-degree polynomial is evaluated.

Exercise Write a program That takes the midterm and final grades from the user Performs the following operation: midterm*0.4 + final*0.6 Then prints out the result