CSI 121 Structured Programming Language Lecture 5: C Primitives 2

Slides:



Advertisements
Similar presentations
Etter/Ingber Engineering Problem Solving with C Fundamental Concepts Chapter 2 Simple C Programs.
Advertisements

Computer Programming w/ Eng. Applications
1 C Fundamentals - I Math 130 Lecture # 2 B Smith: Sp05: With discussion on labs, this took 53 minutes. Score 3. Many caveats. B Smith: Sp05: With discussion.
Types and Arithmetic Operators
1 CSE1301 Computer Programming Lecture 5 C Primitives 2.
CSE1301 Computer Programming Lecture 4: C Primitives I.
Lab 5 rC language Elements rVariables Declarations and Data Types rGeneral Form of a C Program rArithmetic Expressions rFormatting Numbers rExercises Note:
1 CSE1301 Computer Programming Lecture 5: Components of a C Program (Part 1)
1  Ex: Declare a variable to store user’s age: int age; Prompt the user to enter his/her age: printf (“ How old are you? “); Read / scan the entered value.
The C Programming Lecture 24.
Chapter 4: Operators Department of Computer Science Foundation Year Program Umm Alqura University, Makkah Computer Programming Skills /1436.
Chapter 2 : Overview of C By Suraya Alias. /*The classic HelloWorld */ #include int main(void) { printf(“Hello World!!"); return 0; }
 Input and Output Functions Input and Output Functions  OperatorsOperators Arithmetic Operators Assignment Operators Relational Operators Logical Operators.
Chapter 2 Basic Elements of Java. Chapter Objectives Become familiar with the basic components of a Java program, including methods, special symbols,
CSE1301 Computer Programming Lecture 5: C Primitives 2 Corrections.
1 CSE1301 Computer Programming Lecture 5: Components of a C Program (Part 1) Linda M c Iver.
CP104 Introduction to Programming Overview of C Lecture 4__ 1 Assignment Statements An assignment statement is to store a value in a variable variable.
CHAPTER 2 COMPONENTS OF A PROGRAMMING LANGUAGE I NTRODUCTION T O C OMPUTER P ROGRAMMING (CSC425)
Khalid Rasheed Shaikh Computer Programming Theory 1.
Arithmetic Expressions in C++. CSCE 1062 Outline Data declaration {section 2.3} Arithmetic operators in C++ {section 2.6} Mixed data type arithmetic in.
Recap……Last Time [Variables, Data Types and Constants]
Doing math In java.
Department of Electronic & Electrical Engineering Lecture 3 IO reading and writing variables scanf printf format strings "%d %c %f" Expressions operators.
Chapter INTRODUCTION Data Types and Arithmetic Calculations.
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 3 Math Operations. Objectives Use the assignment and arithmetic operators. Use operators in output statements. Explain the problem with division.
Lecture2.
Arithmetic Expressions
Operators & Expressions
CSE1301 Sem Selection Lecture 25 Lecture 9: Selection.
INSPIRING CREATIVE AND INNOVATIVE MINDS
TMF1414 Introduction to Programming
Relational Operations
Revision Lecture
INC 161 , CPE 100 Computer Programming
Computer Programming: C language
Java Programming: From Problem Analysis to Program Design, 4e
Introduction to C Programming
Operators and Expressions
Arithmetic Operator Operation Example + addition x + y
2008/10/27: Lecture 13 CMSC 104, Section 0101 John Y. Park
Structure of a C Program
CSI-121 Structured Programming Language Lecture 14 Functions (Part 2)
Chapter 2 - Introduction to C Programming
Expressions Chapter 4 Copyright © 2008 W. W. Norton & Company.
Chapter 2: Basic Elements of Java
Chapter 2 - Introduction to C Programming
Chapter 4 - Program Control
Introduction to C Programming
C Operators, Operands, Expressions & Statements
Chapter 2 - Introduction to C Programming
CSI 121 Structure Programming Language Lecture 9 Selection
Lecture3.
2008/10/27: Lecture 13 CMSC 104, Section 0101 John Y. Park
CS150 Introduction to Computer Science 1
Assignment Operators Topics Increment and Decrement Operators
Data Types and Expressions
Engineering Problem Solving with C++ An Object Based Approach
Engineering Problem Solving with C++ An Object Based Approach
EECE.2160 ECE Application Programming
Chapter 4: Expression and Operator
Arithmetic Operators Topics Arithmetic Operators Operator Precedence
Assignment Operators Topics Increment and Decrement Operators
Assignment Operators Topics Increment and Decrement Operators
EECE.2160 ECE Application Programming
Arithmetic Expressions Lesson #1 Outline
Data Types and Expressions
Assignment Operators Topics Increment and Decrement Operators
Chapter 3 The New Math.
Data Types and Expressions
Presentation transcript:

CSI 121 Structured Programming Language Lecture 5: C Primitives 2 CSE1301 Sem 1-2001 11/27/2018 CSI 121 Structured Programming Language Lecture 5: C Primitives 2 Lecture 2: Intro to C

printf(“Hello World”); Topics Expressions Precedence Function calls Comments printf(“Hello World”);

Expressions Combine values using operators and function calls Return a value of a known type

Arithmetic Expressions take arithmetic (numerical) values and return an arithmetic (numerical) value Are composed using the following operators: + (unary plus) - (unary minus) + (addition) - (subtraction) * (multiplication) / (division or quotient) % (modulus or remainder)

Precedence in Expressions Defines the order in which an expression is evaluated

Precedence in Expressions -- Example 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) B.O.D.M.A.S. B stands for brackets, O for Order (exponents), D for division, M for multiplication, A for addition, and S for subtraction.

More on precedence +, - are at the same level of precedence For operators at the same “level”, left-to-right ordering is applied. 2 + 3 – 1 = (2 + 3) – 1 = 4 2 – 3 + 1 = (2 – 3) + 1 = 0 2 * 3 / 4 = (2 * 3) / 4 = 6 / 4 2 / 3 * 4 = (2 / 3) * 4 = 0 * 4

Precedence in Expressions – Example (cont) 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) 6.2

Precedence in Expressions –Example (cont) 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) 6.2

Precedence in Expressions – Example (cont) 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) Integer division results in integer quotient

Precedence in Expressions – Example (cont) 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) D’oh = 0

Precedence in Expressions – Example (cont) 1 + 2 * 3 - 4 / 5 = 1 + (2 * 3) - (4 / 5) 7

int-s and float-s float is a “communicable” type Example: CSE1301 Sem 1-2001 11/27/2018 int-s and float-s float is a “communicable” type Example: 1 + 2 * 3 - 4.0 / 5 = 1 + (2 * 3) - (4.0 / 5) = 1 + 6 - 0.8 = 6.2 Lecture 2: Intro to C

int-s and float-s – Example 2 (1 + 2) * (3 - 4) / 5 = ((1 + 2) * (3 - 4)) / 5 = (3 * -1) / 5 = -3 / 5 = 0

int-s and float-s – Example 2 (cont) (1 + 2.0) * (3 - 4) / 5 = ((1 + 2.0) * (3 - 4)) / 5 = (3.0 * -1) / 5 = -3.0 / 5 = -0.6

int-s and float-s – Example 3 (1 + 2.0) * ((3 - 4) / 5) = (1 + 2.0) * (-1 / 5) = 3.0 * 0 = 0.0

Unary operators Called unary because they require one operand. Example i = +1; /* + used as a unary operator */ j = -i; /* - used as a unary operator */ The unary + operator does nothing – just emphasis that a numeric constant is positive. The unary – operator produces the negative of its operand.

Increment and decrement operators ++ is the increment operator i++; is equivalent to i = i + 1; -- is the decrement operator j--; j = j - 1; (King, pp53-54)

Example -- Simple Expressions Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h>

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h> /* Evaluate an expression */

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h> /* Evaluate an expression */ int main() { return 0; }

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h> /* Evaluate an expression */ int main() { float result; return 0; }

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h> /* Evaluate an expression */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; return 0; }

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result #include <stdio.h> /* Evaluate an expression */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; printf(“%f\n”, result); return 0; }

Example -- Simple Expressions (cont) Evaluate an expression set result to 1 + 2 * 3 - 4 / 5 output result Output: 7.000000 #include <stdio.h> /* Evaluate an expression */ int main() { float result; result = 1 + 2 * 3 - 4 / 5; printf(“%f\n”, result); return 0; }

Topics Expressions Precedence Function calls Comments

Function Calls Tell the computer to execute a series of C commands and (maybe) return a value In algorithm-speak: An invocation of a named sequence of instructions Example: printf, scanf, sqrt

Example --Find the square root Find the square root of x output ”Enter a number: " input x set myResult to result of squareRoot(x) output myResult

Example -- Find the square root (cont) #include <stdio.h> #include <math.h> /* Find square root */ int main() { /* declare variables */ float x,myResult; /* output ”Enter a number: " */ printf(“Enter a number\n”); /* input x */ scanf(“%f”,&x); /* set myResult to result of squareRoot(x) */ myResult=sqrt(x); /* output myResult */ printf(“Result is %f\n”,myResult); return 0; }

Topics History of C Structure of a C program Values and variables Expressions Function calls Comments

Comments Essential for documenting programs Run from a /* to the next */ Examples: /* THIS IS A COMMENT */ /* So is this */ /* ** ...and this. ** */

Comments (cont) Comments do not “nest” /* Comments start with a “/*” and end with a “*/” but they don’t nest! */

Topics Expressions Precedence Function calls Comments

Reading King D&D: Kernighan & Ritchie Chapter 2, 2.1 – 2.3 Chapter 2, Sections 2.1 to 2.5 Kernighan & Ritchie Chapter 1, 1.2 Chapter 2, 2.1 – 2.3, 2.5 – 2.7, 2.12