# 6.087 Lecture 3 January 13, 2010

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 1

2 Review: Definitions Variable - name/reference to a stored value (usually in memory) Data type - determines the size of a variable in memory, what values it can take on, what operations are allowed Operator - an operation performed using 1-3 variables Expression - combination of literal values/variables and operators/functions 1

3 Review: Data types Various sizes (char, short, long, float, double) Numeric types - signed/unsigned Implementation - little or big endian Careful mixing and converting (casting) types 2

4 Review: Operators Unary, binary, ternary (1-3 arguments) Arithmetic operators, relational operators, binary (bitwise and logical) operators, assignment operators, etc. Conditional expressions Order of evaluation (precedence, direction) 3

5 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 4

6 Blocks and compound statements A simple statement ends in a semicolon: z = foo(x+y); Consider the multiple statements: temp = x+y ; z = foo ( temp ) ; Curly braces combine into compound statement/block 4

7 Blocks Block can substitute for simple statement Compiled as a single unit Variables can be declared inside { } i n t temp = x+y ; z = foo ( temp ) ; Block can be empty {} No semicolon at end 5

8 Nested blocks Blocks nested inside each other { } i n t temp = x+y ; z = foo ( temp ) ; { f l o a t temp2 = x y ; z += bar ( temp2 ) ; } 6

9 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 7

10 Control conditions Unlike C++ or Java, no boolean type (in C89/C90) in C99, bool type available (use stdbool.h) Condition is an expression (or series of expressions) e.g. n < 3 or x < y z < y Expression is non-zero condition true Expression must be numeric (or a pointer) const char s t r [ ] = "some text" ; i f ( s t r ) / s t r i n g i s not n u l l / return 0; 7

11 Conditional statements The if statement The switch statement 8

12 The if statement i f ( x % 2) y += x / 2 ; Evaluate condition if (x % 2 == 0) If true, evaluate inner statement y += x/2; Otherwise, do nothing 9

13 The else keyword i f ( x % 2 == 0) y += x / 2 ; else y += ( x + 1 ) / 2 ; Optional Execute statement if condition is false y += (x+1)/2; Either inner statement may be block 10

14 The else if keyword i f ( x % 2 == 0) y += x / 2 ; else i f ( x % 4 == 1) y += 2 ( ( x + 3 ) / 4 ) ; else y += ( x + 1 ) / 2 ; Additional alternative control paths Conditions evaluated in order until one is met; inner statement then executed If multiple conditions true, only first executed Equivalent to nested if statements 11

15 Nesting if statements i f ( x % 4 == 0) i f ( x % 2 == 0) y = 2; else y = 1; To which if statement does the else keyword belong? 12

16 Nesting if statements To associate else with outer if statement: use braces i f ( x % 4 == 0) { i f ( x % 2 == 0) y = 2; } else y = 1; 13

17 The switch statement Alternative conditional statement Integer (or character) variable as input Considers cases for value of variable switch ( ch ) { case Y : / ch == Y / / do something / break ; case N : / ch == N / / do something else / break ; default : / otherwise / / do a t h i r d t h i n g / break ; } 14

18 Multiple cases Compares variable to each case in order When match found, starts executing inner code until break; reached Execution falls through if break; not included switch ( ch ) { switch ( ch ) { case Y : case Y : / do something i f case y : ch == Y / / do something i f case N : ch == Y or / do something i f ch == y / ch == Y or break ; ch == N / } break ; } 15

19 The switch statement Contents of switch statement a block Case labels: different entry points into block Similar to labels used with goto keyword (next lecture... ) 16

20 Loop statements The while loop The for loop The do-while loop The break and continue keywords 17

21 The while loop while ( / c o n d i t i o n / ) / loop body / Simplest loop structure evaluate body as long as condition is true Condition evaluated first, so body may never be executed 18

22 The for loop i n t f a c t o r i a l ( i n t n ) { i n t i, j = 1; for ( i = 1; i <= n ; i ++) j = i ; return j ; } The counting loop Inside parentheses, three expressions, separated by semicolons: Initialization: i = 1 Condition: i <= n Increment: i++ Expressions can be empty (condition assumed to be true ) 19

23 The for loop Equivalent to while loop: i n t f a c t o r i a l ( i n t n ) { i n t j = 1; i n t i = 1; / i n i t i a l i z a t i o n / while ( i <= n / c o n d i t i o n / ) { j = i ; i ++; / increment / } return j ; } 20

24 The for loop Compound expressions separated by commas i n t f a c t o r i a l ( i n t n ) { i n t i, j ; for ( i = 1, j = 1; i <= n ; j = i, i ++) ; return j ; } Comma: operator with lowest precedence, evaluated left-to-right; not same as between function arguments 21

25 The do-while loop char c ; do { / loop body / puts ( "Keep going? (y/n) " ) ; c = getchar ( ) ; / other processing / } while ( c == y && / other c o n d i t i o n s / ) ; Differs from while loop condition evaluated after each iteration Body executed at least once Note semicolon at end 22

26 The break keyword Sometimes want to terminate a loop early break; exits innermost loop or switch statement to exit early Consider the modification of the do-while example: char c ; do { / loop body / puts ( "Keep going? (y/n) " ) ; c = getchar ( ) ; i f ( c!= y ) break ; / other processing / } while ( / other c o n d i t i o n s / ) ; 23

27 The continue keyword Use to skip an iteration continue; skips rest of innermost loop body, jumping to loop condition Example: #define min ( a, b ) ( ( a ) < ( b )? ( a ) : ( b ) ) i n t gcd ( i n t a, i n t b ) { i n t i, r e t = 1, minval = min ( a, b ) ; for ( i = 2; i <= minval ; i ++) { i f ( a % i ) / i not d i v i s o r of a / continue ; i f ( b % i == 0) / i i s d i v i s o r of both a and b / r e t = i ; } return r e t ; } 24

28 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 25

29 Functions Already seen some functions, including main(): i n t main ( void ) { / do s t u f f / return 0; / success / } Basic syntax of functions explained in Lecture 1 How to write a program using functions? 25

30 Divide and conquer Conceptualize how a program can be broken into smaller parts Let s design a program to solve linear Diophantine equation (ax + by = c,x, y: integers): get a, b, c from command line compute g = gcd(a,b) if (c is not a multiple of the gcd) no solutions exist; exit run Extended Euclidean algorithm on a, b rescale x and y output by (c/g) print solution Extended Euclidean algorithm: finds integers x, y s.t. ax + by = gcd(a, b). 26

31 Computing the gcd Compute the gcd using the Euclidean algorithm: i n t gcd ( i n t a, i n t b ) { while ( b ) { / i f a < b, performs swap / i n t temp = b ; b = a % b ; a = temp ; } return a ; } Algorithm relies on gcd(a, b) = gcd(b, a mod b), for natural numbers a > b. [Knuth, D. E. The Art of Computer Programming, Volume 1: Fundamental Algorithms. 3rd ed. Addison-Wesley, 1997.] Addison Wesley. All rights reserved. This content is excluded from our Creative Commons license. For more information, see 27

32 Extended Euclidean algorithm Pseudocode for Extended Euclidean algorithm: Initialize state variables (x,y) if (a < b) swap(a,b) while (b > 0) { compute quotient, remainder update state variables (x,y) } return gcd and state variables (x,y) [Menezes, A. J., et al. Handbook of Applied Cryptography. CRC Press, 1996.] CRC Press. All rights reserved. This content is excluded from our Creative Commons license. For more information, see 28

33 Returning multiple values Extended Euclidean algorithm returns gcd, and two other state variables, x and y Functions only return (up to) one value Solution: use global variables Declare variables for other outputs outside the function variables declared outside of a function block are globals persist throughout life of program can be accessed/modified in any function 29

34 Divide and conquer Break down problem into simpler sub-problems Consider iteration and recursion How can we implement gcd(a,b) recursively? Minimize transfer of state between functions Writing pseudocode first can help 30

35 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 31

36 Programming modules in C C programs do not need to be monolithic Module: interface and implementation interface: header files implementation: auxilliary source/object files Same concept carries over to external libraries (next week... ) 31

37 The Euclid module Euclid s algorithms useful in many contexts Would like to include functionality in many programs Solution: make a module for Euclid s algorithms Need to write header file (.h) and source file (.c) 32

38 The source: euclid.c Implement gcd() in euclid.c: / The gcd ( ) f u n c t i o n / i n t gcd ( i n t a, i n t b ) { while ( b ) { / i f a < b, performs swap / i n t temp = b ; b = a % b ; a = temp ; } return a ; } Extended Euclidean algorithm implemented as ext_euclid(), also in euclid.c 33

39 The extern keyword Need to inform other source files about functions/global variables in euclid.c For functions: put function prototypes in a header file For variables: re-declare the global variable using the extern keyword in header file extern informs compiler that variable defined somewhere else Enables access/modifying of global variable from other source files 34

40 The header: euclid.h Header contains prototypes for gcd() and ext_euclid(): / ensure included only once / # i f n d e f EUCLID_H #define EUCLID_H / g l o b a l v a r i a b l e s ( declared i n e u c l i d. c ) / extern i n t x, y ; / compute gcd / i n t gcd ( i n t a, i n t b ) ; / compute g = gcd ( a, b ) and solve ax+by=g / i n t e x t _ e u c l i d ( i n t a, i n t b ) ; #endif 35

41 Using the Euclid module Want to be able to call gcd() or ext_euclid() from the main file diophant.c Need to include the header file euclid.h: #include "euclid.h" (file in., not search path) Then, can call as any other function: / compute g = gcd ( a, b ) / g = gcd ( a, b ) ; / compute x and y using Extended Euclidean alg. / g = e x t _ e u c l i d ( a, b ) ; Results in global variables x and y / rescale so ax+by = c / grow = c / g ; x = grow ; y = grow ; 36

42 Compiling with the Euclid module Just compiling diophant.c is insufficient The functions gcd() and ext_euclid() are defined in euclid.c; this source file needs to be compiled, too When compiling the source files, the outputs need to be linked together into a single output One call to gcc can accomplish all this: 1 athena% gcc -g -O0 -Wall diophant.c euclid.c -o diophant.o diophant.o can be run as usual 1 Athena is MIT's UNIX-based computing environment. OCW does not provide access to it. 37

43 6.087 Lecture 3 January 13, 2010 Review Blocks and Compound Statements Control Flow Conditional Statements Loops Functions Modular Programming Variable Scope Static Variables Register Variables 38

44 Variable scope scope the region in which a variable is valid Many cases, corresponds to block with variable s declaration Variables declared outside of a function have global scope Function definitions also have scope 38

45 An example What is the scope of each variable in this example? i n t nmax = 20; / The main ( ) f u n c t i o n / i n t main ( i n t argc, char argv ) / e n t r y p o i n t / { i n t a = 0, b = 1, c, n ; p r i n t f ( "%3d: %d\n",1, a ) ; p r i n t f ( "%3d: %d\n",2, b ) ; for ( n = 3; n <= nmax ; n++) { c = a + b ; a = b ; b = c ; p r i n t f ( "%3d: %d\n",n, c ) ; } return 0; / success / } 39

46 Scope and nested declarations How many lines are printed now? i n t nmax = 20; / The main ( ) f u n c t i o n / i n t main ( i n t argc, char argv ) / e n t r y p o i n t / { i n t a = 0, b = 1, c, n, nmax = 25; p r i n t f ( "%3d: %d\n",1, a ) ; p r i n t f ( "%3d: %d\n",2, b ) ; for ( n = 3; n <= nmax ; n++) { c = a + b ; a = b ; b = c ; p r i n t f ( "%3d: %d\n",n, c ) ; } return 0; / success / } 40

47 Static variables static keyword has two meanings, depending on where the static variable is declared Outside a function, static variables/functions only visible within that file, not globally (cannot be extern ed) Inside a function, static variables: are still local to that function are initialized only during program initialization do not get reinitialized with each function call s t a t i c i n t somepersistentvar = 0; 41

48 Register variables During execution, data processed in registers Explicitly store commonly used data in registers minimize load/store overhead Can explicitly declare certain variables as registers using register keyword must be a simple type (implementation-dependent) only local variables and function arguments eligible excess/unallowed register declarations ignored, compiled as regular variables Registers do not reside in addressed memory; pointer of a register variable illegal 42

49 Example Variable scope example, revisited, with register variables: / The main ( ) f u n c t i o n / i n t main ( r e g i s t e r i n t argc, r e g i s t e r char argv ) { r e g i s t e r i n t a = 0, b = 1, c, n, nmax = 20; p r i n t f ( "%3d: %d\n",1, a ) ; p r i n t f ( "%3d: %d\n",2, b ) ; for ( n = 3; n <= nmax ; n++) { c = a + b ; a = b ; b = c ; p r i n t f ( "%3d: %d\n",n, c ) ; } return 0; / success / } 43

50 Summary Topics covered: Controlling program flow using conditional statements and loops Dividing a complex program into many simpler sub-programs using functions and modular programming techniques Variable scope rules and extern, static, and register variables 44

### 6.096 Lab 1. Due: 7 January 12:30:00. September 20, 2011

6.096 Lab 1 Due: 7 January 1:30:00 September 0, 011 1 Additional Material 1.1 Constants A constant is an expressions with a fixed value. Kinds of constants: Literals: used to express particular values

### 6.087 Lecture 1 January 11, 2010

6.087 Lecture 1 January 11, 2010 Introduction to C Writing C Programs Our First C Program 1 What is C? Dennis Ritchie AT&T Bell Laboratories 1972 16-bit DEC PDP-11 computer (right) Widely used today extends

### Indicates the end of data when the number of data is not known in advance Must be distinct from the data but be of the same type

Program Control Essentials of repetition Loop control variable Counts the number of repetitions in the counter-controlled loop Controls the execution of loop Sentinel value Indicates the end of data when

### Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

### Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

### Programming for MSc Part I

Herbert Martin Dietze University of Buckingham herbert@the-little-red-haired-girl.org July 24, 2001 Abstract The course introduces the C programming language and fundamental software development techniques.

### C Programming Dr. Hasan Demirel

C How to Program, H. M. Deitel and P. J. Deitel, Prentice Hall, 5 th edition (3 rd edition or above is also OK). Introduction to C Programming Dr. Hasan Demirel Programming Languages There are three types

### Object Oriented Software Design

Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction

### 14 MAKING DECISIONS IN C

14 MAKING DECISIONS IN C 14.1 INTRODUCTION So far we have seen that in C programs the instructions are executed in the same order in which they appear in the program. Each instruction is executed once

### Which of the following is the correct operator to compare two variables? A. := B. = C. equal D. ==

Group 1 Question 1. What is the correct value to return to the operating system upon the successful completion of a program? A. -1 B. 1 C. 0 D. Programs do not return a value. Question 2. What is the only

### Object Oriented Software Design

Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction

### Java Review (Essentials of Java for Hadoop)

Java Review (Essentials of Java for Hadoop) Have You Joined Our LinkedIn Group? What is Java? Java JRE - Java is not just a programming language but it is a complete platform for object oriented programming.

### Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

### Lecture 2 Notes: Flow of Control

6.096 Introduction to C++ January, 2011 Massachusetts Institute of Technology John Marrero Lecture 2 Notes: Flow of Control 1 Motivation Normally, a program executes statements from first to last. The

### Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void

1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of

### Sources: On the Web: Slides will be available on:

C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

### Punctuation in C. Identifiers and Expressions. Identifiers. Variables. Keywords. Identifier Examples

Identifiers and Expressions CSE 130: Introduction to C Programming Spring 2005 Punctuation in C Statements are terminated with a ; Groups of statements are enclosed by curly braces: { and } Commas separate

### Going from Python to C

Going from Python to C Darin Brezeale December 8, 2011 Python is a high-level, interpreted language. C has many of the same types of programming constructs as in Python: arrays, loops, conditionals, functions,

### Chapter 2: Problem Solving Using C++

Chapter 2: Problem Solving Using C++ 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements Common

### BHARATHIAR UNIVERSITY: COIMBATORE CENTRE FOR COLLABORATION OF INDUSTRY AND INSTITUTIONS(CCII) CERTIFICATE IN ADVANCED PROGRAMMING C++ LANGUAGE

Certificate in Advanced Programming - C++ Language Page 1 of 7 BHARATHIAR UNIVERSITY: COIMBATORE 641046 CENTRE FOR COLLABORATION OF INDUSTRY AND INSTITUTIONS(CCII) CERTIFICATE IN ADVANCED PROGRAMMING C++

### Introduction to C Programming S Y STEMS

Introduction to C Programming CS 40: INTRODUCTION TO U NIX A ND L I NUX O P E R AT ING S Y STEMS Objectives Introduce C programming, including what it is and what it contains, which includes: Command line

### MIT Aurangabad FE Computer Engineering

MIT Aurangabad FE Computer Engineering Unit 1: Introduction to C 1. The symbol # is called a. Header file c. include b. Preprocessor d. semicolon 2. The size of integer number is limited to a. -32768 to

### C++ Programming: From Problem Analysis to Program Design, Fifth Edition. Chapter 2: Basic Elements of C++

C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with the basic components of a C++ program,

### Programming Language: Syntax. Introduction to C Language Overview, variables, Operators, Statements

Programming Language: Syntax Introduction to C Language Overview, variables, Operators, Statements Based on slides McGraw-Hill Additional material 2004/2005 Lewis/Martin Modified by Diana Palsetia Syntax

### C Primer. Fall Introduction C vs. Java... 1

CS 33 Intro Computer Systems Doeppner C Primer Fall 2016 Contents 1 Introduction 1 1.1 C vs. Java.......................................... 1 2 Functions 1 2.1 The main() Function....................................

### 6.087 Lecture 5 January 15, 2010

6.087 Lecture 5 January 15, 2010 Review Pointers and Memory Addresses Physical and Virtual Memory Addressing and Indirection Functions with Multiple Outputs Arrays and Pointer Arithmetic Strings String

### Reading. C Programming Language. Basic syntax Whitespaces. Whitespaces (cont d) #include. Basic syntax Comments

Reading C Programming Language Types, operators, expressions Control flow, functions Basic IO K&R Chapter 2 Types, Operators, and Expressions K&R Chapter 3 Control Flow K&R Chapter 7 Basic I/O NEWS Assignment

### Basic C Syntax. Comp-206 : Introduction to Software Systems Lecture 10. Alexandre Denault Computer Science McGill University Fall 2006

Basic C Syntax Comp-206 : Introduction to Software Systems Lecture 10 Alexandre Denault Computer Science McGill University Fall 2006 Next Week I'm away for the week. I'll still check my mails though. No

### Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++

Adjusted/Modified by Nicole Tobias Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types

### 7 Introduction to C++

7 Introduction to C++ 7.1 Introduction C++ is an extension to C Programming language. It was developed at AT&T Bell Laboratories in the early 1980s by Bjarne Stroustrup. It is a deviation from traditional

### Example of a Java program

Example of a Java program class SomeNumbers static int square (int x) return x*x; public static void main (String[] args) int n=20; if (args.length > 0) // change default n = Integer.parseInt(args[0]);

### CSI 333 Lecture 2 Introduction to C: Part I 2 1 / 16

CSI 333 Lecture 2 Introduction to C: Part I 2 1 / 16 Basics of C Remark: Skim Chapters 1 through 6 of Deitel & Deitel. You will notice the following: C is (more or less) a subset of Java. (So, you are

### Control Structure. Pseudocode: Input number If number is even Then Print even Else print odd. Flowchart: Begin. End. Print Odd. number even?

Control Structure Normally, a program is executed in a sequential manner.however, in many cases, a program has to choose among alternative statements C++ provides constructs that enable the programmer

### Two-way selection. Branching and Looping

Control Structures: are those statements that decide the order in which individual statements or instructions of a program are executed or evaluated. Control Structures are broadly classified into: 1.

### VB.NET Programming Fundamentals

Chapter 3 Objectives Programming Fundamentals In this chapter, you will: Learn about the programming language Write a module definition Use variables and data types Compute with Write decision-making statements

### Storage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas

CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage

### Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

### 1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d.

Chapter Four MULTIPLE CHOICE 1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d. iteration 2. The decision structure

### C AND C++ PROGRAMMING

C AND C++ PROGRAMMING Bharathidasan University A Courseware prepared by University Informatics Centre Part I - Programming in C Getting Started This courseware is intended to be an introduction to C programming

### C A short introduction

About these lectures C A short introduction Stefan Johansson Department of Computing Science Umeå University Objectives Give a short introduction to C and the C programming environment in Linux/Unix Go

### SANKALCHAND PATEL COLLEGE OF ENGINEERING, VISNAGAR ODD/EVEN ACADEMICSEMESTER (2014-15) ASSIGNMENT / QUESTION BANK (2110003) [F.Y.B.E.

SANKALCHAND PATEL COLLEGE OF ENGINEERING, VISNAGAR ODD/EVEN ACADEMICSEMESTER (2014-15) ASSIGNMENT / QUESTION BANK Subject: Computer Programming and Utilization (2110003) [F.Y.B.E.: ALL BRANCHES] Unit 1

### Common C Errors. Compiled by: Leela Kamalesh Yadlapalli

Common C Errors Compiled by: Leela Kamalesh Yadlapalli This document shows some of the common errors and warnings that you may encounter during this class. Always remember to use the Wall option if you

### The if-statement. Simple and compound statements. The if-statement comes in two forms: Simple statements:

1 2 Simple and compound s The if- Simple s: E.g.: expression; Various jumps : break, goto, continue, return. k = a * p + 3; printf("k = %d\n", k); 1 + 2; ; The if- comes in two forms: or E.g.: if (expression)

### Model Viva Questions for Programming in C lab

Model Viva Questions for Programming in C lab Common to: CSE 2 nd sem IT 2 nd sem Title of the Practical: Assignment to prepare general algorithms and flow chart. Q1: What is a flowchart? A1: A flowchart

### I PUC - Computer Science. Practical s Syllabus. Contents

I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations

### OUTCOMES BASED LEARNING MATRIX

Course: CTIM371 Programming in C++ OUTCOMES BASED LEARNING MATRIX Department: Computer Technology and Information Management Course Description: This is the first course in the C++ programming language.

### Programming Fundamental. Instructor Name: Lecture-2

Programming Fundamental Instructor Name: Lecture-2 Today s Lecture What is Programming? First C++ Program Programming Errors Variables in C++ Primitive Data Types in C++ Operators in C++ Operators Precedence

### AFF 826. Sub. Code 4BSO1C1. Sp2. B.Sc. DEGREE EXAMINATION, NOVEMBER First Semester. Software FUNDAMENTALS OF COMPUTERS AND C PROGRAMMING

Sp2 AFF 826 Sub. Code 4BSO1C1 B.Sc. DEGREE EXAMINATION, NOVEMBER 2015 First Semester Software FUNDAMENTALS OF COMPUTERS AND C PROGRAMMING (CBCS 2014 onwards) Time : 3 Hours Maximum : 75 Marks Part A (10

### 9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements

9 Control Statements 9.1 Introduction The normal flow of execution in a high level language is sequential, i.e., each statement is executed in the order of its appearance in the program. However, depending

### Intermediate Math Circles March 7, 2012 Linear Diophantine Equations II

Intermediate Math Circles March 7, 2012 Linear Diophantine Equations II Last week: How to find one solution to a linear Diophantine equation This week: How to find all solutions to a linear Diophantine

### GETTING STARTED WITH C++ C++ BASICS - 1 -

- 1 - GETTING STARTED WITH C++ Programming is a core activity in the process of performing tasks or solving problems with the aid of a computer. An idealised picture is: PROBLEM COMPUTER SOLUTION Unfortunately

### Final Exam Review. CS 1428 Fall Jill Seaman. Final Exam

Final Exam Review CS 1428 Fall 2011 Jill Seaman 1 Final Exam Friday, December 9, 11:00am to 1:30pm Derr 241 (here) Closed book, closed notes, clean desk Comprehensive (covers entire course) 25% of your

### The PCAT Programming Language Reference Manual

The PCAT Programming Language Reference Manual Andrew Tolmach and Jingke Li Dept. of Computer Science Portland State University (revised October 8, 2004) 1 Introduction The PCAT language (Pascal Clone

### Overview of a C Program

Overview of a C Program Programming with C CSCI 112, Spring 2015 Patrick Donnelly Montana State University Programming with C (CSCI 112) Spring 2015 2 / 42 C Language Components Preprocessor Directives

### Chapter 2. Values, Variables, and Types. 2.1 Java Values in DrJava s Interaction Pane

14 Chapter 2 Values, Variables, and Types In this chapter we explore the primitive building blocks that are used to develop Java programs. We experiment with the following concepts within DrJava s interactive

### KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

### INTRODUCTION TO FLOWCHARTING

CHAPTER 1 INTRODUCTION TO FLOWCHARTING 1.0 Objectives 1.1 Introduction 1.2 Flowcharts 1.3 Types of Flowcharts 1.3.1 Types of flowchart 1.3.2 System flowcharts 1.4 Flowchart Symbols 1.5 Advantages of Flowcharts

### Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

### Figure 1.12 Entering, Translating, and Running a High-Level Language Program Pearson Education, Inc. All rights reserved.

Figure 1.12 Entering, Translating, and Running a High-Level Language Program 1 2007 Pearson Education, Inc. All rights reserved. 2 Figure 2.7 General Form of a C Program 2007 Pearson Education, Inc. All

### El Dorado Union High School District Educational Services

El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming II (#495) Rationale: A continuum of courses, including advanced classes in technology is needed.

### INDEX. C programming Page 1 of 10. 5) Function. 1) Introduction to C Programming

INDEX 1) Introduction to C Programming a. What is C? b. Getting started with C 2) Data Types, Variables, Constants a. Constants, Variables and Keywords b. Types of Variables c. C Keyword d. Types of C

### Lecture 03 Bits, Bytes and Data Types

Lecture 03 Bits, Bytes and Data Types In this lecture Computer Languages Assembly Language The compiler Operating system Data and program instructions Bits, Bytes and Data Types ASCII table Data Types

### Chapter 2: Basic Elements of C++

Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates

### Python to C/C++ Fall 2011

Python to C/C++ Fall 2011 1. Main Program Python: Program code is indented after colon : def main(): body of program C/C++: Have more setup overhead. C: Both require #include directives to access libraries

### UNIT-1. C Programming & Data Structures. Introduction to Computers: Computing Environment: Types of Computing Environments:

Introduction to Computers: C Programming & Data Structures UNIT-1 A computer system consists of hardware and software. Computer hardware is the collection of physical elements that comprise a computer

### 6. Control Structures

- 35 - Control Structures: 6. Control Structures A program is usually not limited to a linear sequence of instructions. During its process it may bifurcate, repeat code or take decisions. For that purpose,

### Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)

Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the

### Bhakta Kavi Narsinh Mehta University, Junagadh

Bhakta Kavi Narsinh Mehta University, Junagadh Draft Syllabus for B.Sc. (Computer Science) Bachelor of Science (Computer Science) (Semester - 1) Effective From June - 2016 B.Sc. (C.S.) (Semester - 1) CS-101:

### 1. Constants. 2. Variables. 3. Reserved words or key words. 4. Constants. Character set in C

Character set in C We should use only the following characters in writing a C program. These characters can be combined to create C words. Alphabet: A, B, C, D.. Z, a, b, c, d..z Numeric digits: 0, 1,

### Course: Introduction to Java Using Eclipse Training

Course: Introduction to Java Using Eclipse Training Course Length: Duration: 5 days Course Code: WA1278 DESCRIPTION: This course introduces the Java programming language and how to develop Java applications

### COMP 356 Programming Language Structures Notes for Chapter 5 of Concepts of Programming Languages Names, Types and Scopes

Some definitions: COMP 356 Programming Language Structures Notes for Chapter 5 of Concepts of Programming Languages Names, Types and Scopes a name is a string of characters (a word) that represents a program

### Organization of Programming Languages CS3200 / 5200N. Lecture 07

Organization of Programming Languages CS3200 / 5200N Razvan C. Bunescu School of Electrical Engineering and Computer Science bunescu@ohio.edu Control Flow Control flow = the flow of control, or execution

### MGM s JNEC Question Bank Subject: Computer Engineering

MGM s JNEC Question Bank Subject: Computer Engineering 1. All of the following are examples of computer input units EXCEPT: a) Scanner b) Speaker c) Bar code reader d) Keyboard Answer: b 2. Which of the

### Arrays and Pointers (part 1)

Arrays and Pointers (part 1) EECS 2031 25 September 2016 1 Arrays l Grouping of data of the same type. l Loops commonly used for manipulation. l Programmers set array sizes explicitly. 2 1 Arrays: Example

### Your first C program. Which one is best?

Your first C program #include void main(void) { printf( Hello, world!\n ); } #include void main(void) { printf( Hello, ); printf( world! ); printf( \n ); } Which one is best? #include

### Statement-Level Control Structures

Statement-Level Control Structures Introduction Selection Statements Iterative Statements Unconditional Branching Levels of Control Flow Within expressions Among program units Among program statements

### Introduction to C Programming

Introduction to C Programming C HOW TO PROGRAM, 6/E 1992-2010 by Pearson Education, Inc. All Rights Reserved. 2.1 Introduction The C language facilitates a structured and disciplined approach to computer

### NRI Institute of Technology Principles of Programming Languages III B.Tech I Sem (R09)-CSE

Unit-4 Expressions and Assignment Statements Introduction Expressions are the fundamental means of specifying computations in a programming language. To understand expression evaluation, need to be familiar

http://www.tutorialspoint.com/java/java_quick_guide.htm JAVA - QUICK GUIDE Copyright tutorialspoint.com What is Java? Java is: Object Oriented Platform independent: Simple Secure Architectural- neutral

### switch Multiple-Selection Statement

switch Multiple-Selection Statement (This feature is rarely useful, although it s perfect for programming the iterative song The Twelve Days of Christmas!) If no match occurs, the default case is executed,

### We will learn the Python programming language. Why? Because it is easy to learn and many people write programs in Python so we can share.

LING115 Lecture Note Session #4 Python (1) 1. Introduction As we have seen in previous sessions, we can use Linux shell commands to do simple text processing. We now know, for example, how to count words.

### Introduction to C++ Programming Vahid Kazemi

Introduction to C++ Programming Vahid Kazemi Overview An overview of C/C++ - Basic types, Pointers, Arrays, Program control, Functions, Arguments, Structures, Operator overloading, Namespaces, Classes,

### C programming. Intro to syntax & basic operations

C programming Intro to syntax & basic operations Example 1: simple calculation with I/O Program, line by line Line 1: preprocessor directive; used to incorporate code from existing library not actually

### Flow of Control. Conditional Statements. Boolean Expressions. CMPT 125: Lecture 4 Conditionals and Loops

Flow of Control CMPT 125: Lecture 4 Conditionals and Loops Tamara Smyth, tamaras@cs.sfu.ca School of Computing Science, Simon Fraser University January 17, 2009 The order in which statements are executed

### 4.2 The while Loop. ***Same as Fig 3.6 in intro5e p91

Chapter 4 Loops Objectives To use while, do-while, and for loop statements to control the repetition of statements ( 4.2-4.4). To understand the flow of control in loop statements ( 4.2-4.4). To use Boolean

### PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

### The C Programming Language course syllabus associate level

TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

### Dept. of CSE, IIT KGP

Programming in C: Basics CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of variable We must declare the

### An Incomplete C++ Primer. University of Wyoming MA 5310

An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages

### 05 Case Study: C Programming Language

CS 2SC3 and SE 2S03 Fall 2009 05 Case Study: C Programming Language William M. Farmer Department of Computing and Software McMaster University 18 November 2009 The C Programming Language Developed by Dennis

### Introduction to C++ Programming

Introduction to C++ Programming 1 Outline Introduction to C++ Programming A Simple Program: Printing a Line of Text Another Simple Program: Adding Two Integers Memory Concepts Arithmetic Decision Making:

### PE1 Worksheet. 3) What are the three control structures for writing an algorithm in pseudocode?

PE1 Worksheet Problem solving 1) What are the four stages of problem solving by programming? What shall be done in each stage? Stage 1: Stage 2: Stage 3: Stage 4: 2) What is the top-down design strategy

### MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question.

Exam Name MULTIPLE CHOICE. Choose the one alternative that best completes the statement or answers the question. 1) The JDK command to compile a class in the file Test.java is A) java Test.java B) java

### C++ Programming Language

C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

### WEB MANAGEMENT CT211. Fall 2012 PACKET II

Fall 2012 CT211 WEB MANAGEMENT PACKET II This packet includes the mandatory assignments for each Chapter that is covered in the required course textbooks. All assignments must be completed on the date

### A Quick and Dirty Overview of Java and. Java Programming

Department of Computer Science New Mexico State University. CS 272 Fall 2004 A Quick and Dirty Overview of Java and.......... Java Programming Enrico Pontelli and Karen Villaverde . Introduction Objectives