Computer Programming for Engineering Applica4ons. Intro to Programming 10/2/13 ECE 175. Limita4ons of Reference by Value. The Concept of Pointers
|
|
- Ferdinand Jennings
- 5 years ago
- Views:
Transcription
1 Computer Programming for Engineering Applica4ons ECE 175 Intro to Programming Limita4ons of Reference by Value Write a C func4on that does the following Argument: the radius of a circle r Output: circumference c and area a #include <stdio.h> #define PI 3.14 void circle(float r, float a, float c); int main(void) { float r, a=0, c=0; printf("enter the radius of the circle:"); scanf("%f",&r); circle(r, a, c); // arguments passed by value printf("area:%.1f Circumference:%.1f\n", a, c); return(0); } void circle(float r, float a, float c) { "a = PI*r*r; // computation of area "c = 2*PI*r; // computation of circumference } Reference by value does not allow the manipula4on of variables external to the func4on ECE The Concept of Pointers Pointer: A variable containing the address of another variable A label used to refer (point) to memory space Very frequently found in real life 138 Page numbers in a book, or powerpoint slides Page numbers are pointers to the contents of the par4cular page ECE
2 The Concept of Pointers Mail boxes at the post office Numbers are used to label each mailbox. The contents (levers) of a par4cular mailbox can be retrieved by referring to the mail box number. ECE Pointers in C Labels for referencing memory addresses Address a Contents ECE Why do we need pointers? Faster memory access and usage via memory referencing Cri4cal when C was developed S4ll required for programming resource- constrained devices such as microcontrollers Saving memory space No need to hold local copies of variables inside func4ons Can pass values to a func4on by reference Downside Pointers usually make program tracking/reading more complicated ECE
3 Declara4on of pointers Basic syntax Syntax: data type *name; Examples: FILE *inp; // pointer to a file " int *p; // pointer to an integer variable float *p; // pointer to a float variable We use the special character * to denote that a variable is a pointer Though pointers point to different data types, they are nothing more than memory addresses Compiler needs to know the data type for manipula4ng its contents ECE Pointers cont. There are two parts associated with a pointer: the address to the memory and the contents of the memory P var We can change both parts, that is, to which memory cell the pointer points (address), and the contents of the memory cell (value) ECE Changing the Address of a Pointer Use the address operator & Syntax: pointer = &var; Examples: int *p; // pointer to an integer int i; // an integer variable p = &i; // p points to variable i The type of pointer and type of the variable must match Example: if i is an integer variable, pointer p has to be of type integer ECE
4 Changing the contents of the memory Use the contents operator * Syntax: *pointer = value; variable = *pointer; Examples: int *p; // pointer to an integer *p = 10; // memory cell pointed by p is " " " assigned the value 10 var1 = *p; // variable var1 is assigned " " " the contents of memory cell " " " pointed by p Again, the pointer type and the value or variable must match ECE So Far we have silently used pointers To access files To scan for keyboard and file input FILE *inp; // declaration of a pointer of type FILE inp = fopen( filename, r ); // returns the address to the memory where the file is stored scanf( %d, &i); // scanf receives as input the address of variable i, and stores input in i ECE A Simple Example Using Pointers #include<stdio.h> int main(void) { int var1, var2; int *p; // declaration of a pointer of type integer p= &var1; // initialization of pointer to address of var1 *p=10; // initialization of var1 via pointer p var2 = *p+10; // var2 = var printf("%d %d %d\n", var1, var2, *p); printf("%p %p %p\n", p, &var1, &var2); // printing addresses return (0); } ECE
5 At Declara4on int var1, var2; int *p; // declaration of a pointer of type integer p: 0xffbfe5cc var1 556 var ECE Changing the address of point p= &var1; // initialization of pointer to address of var1 p: 0xffbff6cc var1 556 var2 345 Point is now poin4ng to the address of var1 The value of var1 has not changed ECE Changing the value pointed by point *p=10; // initialization of var1 via pointer p p: 0xffbff6cc var1 10 var2 345 The value of var1 is changed to 10 Equivalent to var1 = 10; May seem redundant, but we will see it is actually very useful ECE
6 Ini4aliza4on of a variable via p var2 = *p+10; // var2 = var p: 0xffbff6cc var1 10 var2 20 var2 becomes equal to the value pointed by point Equivalent to the assignment var2 = var ECE Prin4ng the contents printf("%d %d %d\n", var1, var2, *p); *p prints the value pointed by point Outcome 10, 20, 10 ECE Prin4ng the addresses printf("%p %p %p\n", p, &var1, &var2); // printing addresses Prints the address of the variable pointed by point And the address where point is stored point: &point: Integer variables reserve 4 bytes (32- bit addressing). var1 starts at var2 starts at , point starts at ECE
7 Looking at the memory ECE Common Programming Errors with Pointers Segmenta4on Faults #include <stdio.h> int main(void) { int *p; // pointer to an integer variable printf( %d, *p); // printing the contents of p return(0); } Pointer p is unini4alized and may point to a forbidden segment of the memory ECE Common Programming Errors with Pointers Other case of unini4alized pointer #include <stdio.h> int main(void) { int *p; // pointer to an integer variable *p = 10 // pointer p is uninitialized return(0); } Pointer p is unini4alized and may point to a forbidden segment of the memory ECE
8 Common Programming Errors with Pointers Mismatch between pointer type and variable type #include <stdio.h> int main(void) { float *p; // pointer to a float variable int i = 18; p = &i *p = 10.5 // pointer mismatch return(0); } i will store a value different than 10.5 ECE Mul4ple Pointers on the Same Address Three pointers p1, p2, p3, one variable c #include <stdio.h> int main(void) { char *p1, *p2, *p3; // three pointers of type char char c; // a char variable p1=&c; // p1 now points to c *p1='a'; // value of c changed to 'a' p2=p1; // p2 is assigned the arithmetic value of p1 p3=p2; // p3 is assigned the arithmetic value of p2 printf("%c %c %c\n",*p1, *p2, *p3); printf("%p %p %p\n", p1, p2, p3); printf( %p %p %p\n", &p1, &p2, &p3); return(0); } ECE Mul4ple Pointers on the Same Address All three pointers point to the same variable p1 p2 p3 c a ECE
9 Pointer Assignment The assignment p1 = p2 is valid if both are pointers of the same type Example inp = fopen( filename, r ) It is valid because fopen returns a pointer of type FILE. ECE Re- visi4ng the circle func4on #include<stdio.h> #define PI 3.14 void circle(float r, float *p_a, float *p_c); int main(void) { float r, a=0, c=0; printf("enter the radius of the circle:"); scanf("%f",&r); circle(r, &a, &c); // arguments passed by value printf("area:%.1f Circumference:%.1f\n", a, c); return(0); } void circle(float r, float *p_a, float *p_c) { "*p_a = PI*r*r; // computation of area "*p_c = 2*PI*r; // computation of circumference } ECE Create a Common Frac4on Calculator Problem Inputs: Frac4on 1: n1, d1 Operator: +, -, *,/ Frac4on 2: n2, d2 Problem Outputs: n, d in reduced form Algorithms: Addi4on: n = n1 * d2 + n2* d1, d = d1*d2 Subtrac4on: n = n1 * d2 - n2* d1, d = d1*d2 Mul4plica4on: n = n1 * n2, d = d1*d2 Division: n = n1 * d2, d_ans = d1*n2 Reduc4on: n = n /gcd(n, d), d = d/gcd(n, d) ECE
10 Addi4on Func4on n1 d1 n2 d2 Addi4on Func4on n d Func4on Prototype void add_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d); Subtrac4on func4on use the addi4on func4on ECE Mul4plica4on Func4on n1 d1 n2 d2 Mul4plica4on Func4on n d Func4on Prototype void multiply_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d); Division func4on use the mul4plica4on func4on ECE Reduc4on Func4on Func4on n d Reduc4on Func4on n d Func4on Prototype void reduce_fraction(int *p_n, int *p_d); int gcd(int x, int y); ECE
11 Func4ons Declara4ons #include<stdio.h> void scan_frac(int *p_n, int *p_d); char scan_op(void); int gcd(int x,int y); void add_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d); void multiply_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d); void reduce_fraction(int *p_n, int *p_d); void print_fractions(int n1, int d1, int n2, int d2, int n, int d, int op); ECE Main func4on int main(void) { int n1, d1, n2,d2, n, d; char op; scan_frac(&n1, &d1); // read the first fraction op=scan_op(); // read the operator scan_frac(&n2, &d2); // read the second fraction switch(op) { case '+': add_fractions(n1, d1, n2, d2, &n, &d); break; case '-': add_fractions(n1, d1, -n2, d2, &n, &d); break; case '/': multiply_fractions(n1, d1, n2, d2, &n, &d); break; case '*': multiply_fractions(n1, d1, d2, n2, &n, &d); break; default: printf("this is not a valid operator"); } reduce_fraction(&n, &d); // reduce the fraction print_fractions(n1,d1,n2,d2, n, d, op); // print result return(0); } ECE Scan Frac4on and Operator Func4ons void scan_frac(int *p_num, int *p_den) { printf("enter the nominator and the denominator of the fraction:"); scanf("%d%d", p_num, p_den); } char scan_op(void) { char c; printf("enter the operator:"); fflush(stdin); scanf("%c", &c); return c; } ECE
12 Greatest Common Denominator Func4on int gcd(int x,int y) { int rem = 1, gcd; while (rem=0) // when rem = 0, the loop terminates { " "if (y == 0) // if y is zero " "{ " " "gcd = x; // gcd becomes x " " "rem = 0; " "} " "else // if y is non-zero " "{ " " "gcd = y; // gcd becomes equal to y " " "rem = x%y; // remainder computation " " "x = y; // x becomes y " " "y = rem; // y becomes the remainder " "} "} return gcd; } ECE Frac4on Addi4on, Mul4plica4on, and Reduc4on void add_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d) { *p_n = (n1 * d2) + (n2 * d1); *p_d = d1 * d2; } void multiply_fractions(int n1, int d1, int n2, int d2, int *p_n, int *p_d) { *p_n = n1 * n2; *p_d = d1 * d2; } void reduce_fraction(int *p_n, int *p_d) { int gd = gcd(*p_n, *p_d); *p_n = (*p_n) / gd; *p_d = (*p_d) / gd; } ECE Frac4on Prin4ng void print_fractions(int n1, int d1, int n2, int d2, int n, int d, int op) { printf("%d/%d",n1, d1); printf(" %c ", op); printf("%d/%d = ",n2, d2); printf("%d/%d",n, d); } ECE
Computer Programming for Engineering Applica4ons. Intro to Programming 10/10/13 ECE 175. Mo4va4on for Array data Types. LeEer Occurrence Frequency
Computer Programming for Engineering Applica4ons ECE 175 Intro to Programming ECE 175 1 Mo4va4on for Array data Types Write a program that counts the occurrence frequency of various leeers in a text file
More informationC programming basics T3-1 -
C programming basics T3-1 - Outline 1. Introduction 2. Basic concepts 3. Functions 4. Data types 5. Control structures 6. Arrays and pointers 7. File management T3-2 - 3.1: Introduction T3-3 - Review of
More informationPointers. Pointer Variables. Chapter 11. Pointer Variables. Pointer Variables. Pointer Variables. Declaring Pointer Variables
Chapter 11 Pointers The first step in understanding pointers is visualizing what they represent at the machine level. In most modern computers, main memory is divided into bytes, with each byte capable
More informationBBM 101 Introduc/on to Programming I Fall 2014, Lecture 3. Aykut Erdem, Erkut Erdem, Fuat Akal
BBM 101 Introduc/on to Programming I Fall 2014, Lecture 3 Aykut Erdem, Erkut Erdem, Fuat Akal 1 Today Introduc/on to Programming Basic Concepts Developing Algorithms Crea
More informationLanguage comparison. C has pointers. Java has references. C++ has pointers and references
Pointers CSE 2451 Language comparison C has pointers Java has references C++ has pointers and references Pointers Values of variables are stored in memory, at a particular location A location is identified
More informationWhy Pointers. Pointers. Pointer Declaration. Two Pointer Operators. What Are Pointers? Memory address POINTERVariable Contents ...
Why Pointers Pointers They provide the means by which functions can modify arguments in the calling function. They support dynamic memory allocation. They provide support for dynamic data structures, such
More informationComputer Programming for Engineering Applica4ons. Intro to Programming 10/22/13 1 ECE 175. Mul4- dimensional Arrays
Computer Programming for Engineering Applica4ons ECE 75 Intro to Programming Mul4- dimensional Arrays Declara4on of arrays with more than one dimension Syntax: data type array_name[size][size] Example:
More informationET156 Introduction to C Programming
ET156 Introduction to C Programming Unit 1 INTRODUCTION TO C PROGRAMMING: THE C COMPILER, VARIABLES, MEMORY, INPUT, AND OUTPUT Instructor : Stan Kong Email : skong@itt tech.edutech.edu Figure 1.3 Components
More informationC Language Part 2 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 2 (Minor modifications by the instructor) 1 Scope Rules A variable declared inside a function is a local variable Each local variable in a function comes into existence when the function
More informationStructured programming
Exercises 2 Version 1.0, 22 September, 2016 Table of Contents 1. Simple C program structure................................................... 1 2. C Functions..................................................................
More informationC-Programming. CSC209: Software Tools and Systems Programming. Paul Vrbik. University of Toronto Mississauga
C-Programming CSC209: Software Tools and Systems Programming Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Adapted from Dan Zingaro s 2015 slides. Week 2.0 1 / 19 What
More informationC Programming Primer 8/31/15 1
C Programming Primer 8/31/15 1 Objec5ves Develop a func5onal knowledge of C programming concepts Understand basic variables, constructs, and control flow statements 8/31/15 2 Special Notes Copying and
More informationPractice Sheet #07 with Solutions
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Practice Sheet #07 with Solutions Topic: Pointer in C Date: 23-02-2017 1 Assume the following C variable declaration
More informationLecture 2: C Programming Basic
ECE342 Introduction to Embedded Systems Lecture 2: C Programming Basic Ying Tang Electrical and Computer Engineering Rowan University 1 Facts about C C was developed in 1972 in order to write the UNIX
More informationSchool of Science and Technology
INTRODUCTION Pointers Unit 9 In the previous unit 8 we have studied about C structure and their declarations, definitions, initializations. Also we have taught importance of C structures and their applications.
More information3. EXPRESSIONS. It is a sequence of operands and operators that reduce to a single value.
3. EXPRESSIONS It is a sequence of operands and operators that reduce to a single value. Operator : It is a symbolic token that represents an action to be taken. Ex: * is an multiplication operator. Operand:
More informationLecture 16. Daily Puzzle. Functions II they re back and they re not happy. If it is raining at midnight - will we have sunny weather in 72 hours?
Lecture 16 Functions II they re back and they re not happy Daily Puzzle If it is raining at midnight - will we have sunny weather in 72 hours? function prototypes For the sake of logical clarity, the main()
More informationSEQUENTIAL STRUCTURE. Erkut ERDEM Hacettepe University October 2010
SEQUENTIAL STRUCTURE Erkut ERDEM Hacettepe University October 2010 History of C C Developed by by Denis M. Ritchie at AT&T Bell Labs from two previous programming languages, BCPL and B Used to develop
More informationC Programming Language
C Programming Language Arrays & Pointers I Dr. Manar Mohaisen Office: F208 Email: manar.subhi@kut.ac.kr Department of EECE Review of Precedent Class Explain How to Create Simple Functions Department of
More informationBSM540 Basics of C Language
BSM540 Basics of C Language Chapter 4: Character strings & formatted I/O Prof. Manar Mohaisen Department of EEC Engineering Review of the Precedent Lecture To explain the input/output functions printf()
More informationET156 Introduction to C Programming
ET156 Introduction to C Programming g Unit 22 C Language Elements, Input/output functions, ARITHMETIC EXPRESSIONS AND LIBRARY FUNCTIONS Instructor : Stan Kong Email : skong@itt tech.edutech.edu General
More informationMIDTERM TEST EESC 2031 Software Tools June 13, Last Name: First Name: Student ID: EECS user name: TIME LIMIT: 110 minutes
MIDTERM TEST EESC 2031 Software Tools June 13, 2017 Last Name: First Name: Student ID: EECS user name: TIME LIMIT: 110 minutes This is a closed-book test. No books and notes are allowed. Extra space for
More informationCourse Outline Introduction to C-Programming
ECE3411 Fall 2015 Lecture 1a. Course Outline Introduction to C-Programming Marten van Dijk, Syed Kamran Haider Department of Electrical & Computer Engineering University of Connecticut Email: {vandijk,
More informationC: How to Program. Week /Mar/05
1 C: How to Program Week 2 2007/Mar/05 Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers
More informationTechnical Questions. Q 1) What are the key features in C programming language?
Technical Questions Q 1) What are the key features in C programming language? Portability Platform independent language. Modularity Possibility to break down large programs into small modules. Flexibility
More informationVariables Data types Variable I/O. C introduction. Variables. Variables 1 / 14
C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 9 Pointer Department of Computer Engineering 1/46 Outline Defining and using Pointers
More informationComputer System and programming in C
1 Basic Data Types Integral Types Integers are stored in various sizes. They can be signed or unsigned. Example Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign bit. If the sign
More informationLecture 3. More About C
Copyright 1996 David R. Hanson Computer Science 126, Fall 1996 3-1 Lecture 3. More About C Programming languages have their lingo Programming language Types are categories of values int, float, char Constants
More information'C' Programming Language
F.Y. Diploma : Sem. II [DE/EJ/ET/EN/EX] 'C' Programming Language Time: 3 Hrs.] Prelim Question Paper Solution [Marks : 70 Q.1 Attempt any FIVE of the following : [10] Q.1(a) Define pointer. Write syntax
More informationPOINTERS, STRUCTURES AND INTRODUCTION TO DATA STRUCTURES
1 POINTERS, STRUCTURES AND INTRODUCTION TO DATA STRUCTURES 2.1 POINTERS Pointer is a variable that holds the address of another variable. Pointers are used for the indirect manipulation of the variable.
More informationFunctions. Arash Rafiey. September 26, 2017
September 26, 2017 are the basic building blocks of a C program. are the basic building blocks of a C program. A function can be defined as a set of instructions to perform a specific task. are the basic
More informationSubject: Fundamental of Computer Programming 2068
Subject: Fundamental of Computer Programming 2068 1 Write an algorithm and flowchart to determine whether a given integer is odd or even and explain it. Algorithm Step 1: Start Step 2: Read a Step 3: Find
More informationESC101N Fundamentals of Computing
ESC101N Fundamentals of Computing Arnab Bhattacharya arnabb@iitk.ac.in Indian Institute of Technology, Kanpur http://www.iitk.ac.in/esc101/ 1 st semester, 2010-11 Tue, Wed, Fri 0800-0900 at L7 Arnab Bhattacharya
More informationBasic memory model Using functions Writing functions. Basics Prototypes Parameters Return types Functions and memory Names and namespaces
Basic memory model Using functions Writing functions Basics Prototypes Parameters Return types Functions and memory Names and namespaces When a program runs it requires main memory (RAM) space for Program
More informationPROGRAMMAZIONE I A.A. 2017/2018
PROGRAMMAZIONE I A.A. 2017/2018 A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. DECLARING POINTERS POINTERS A pointer represents both
More informationC Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 1 (Minor modifications by the instructor) References C for Python Programmers, by Carl Burch, 2011. http://www.toves.org/books/cpy/ The C Programming Language. 2nd ed., Kernighan, Brian,
More informationLaboratory 2: Programming Basics and Variables. Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information
Laboratory 2: Programming Basics and Variables Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information 3. Comment: a. name your program with extension.c b. use o option to specify
More informationApplied Programming and Computer Science, DD2325/appcs15 PODF, Programmering och datalogi för fysiker, DA7011
Applied Programming and Computer Science, DD2325/appcs15 PODF, Programmering och datalogi för fysiker, DA7011 Autumn 2015 Lecture 3, Simple C programming M. Eriksson (with contributions from A. Maki and
More informationProgramming and Data Structures
Programming and Data Structures Teacher: Sudeshna Sarkar sudeshna@cse.iitkgp.ernet.in Department of Computer Science and Engineering Indian Institute of Technology Kharagpur #include int main()
More informationb. array s first element address c. base address of an array d. all elements of an array e. both b and c 9. An array elements are always stored in a.
UNIT IV 1. Appropriately comment on the following declaration int a[20]; a. Array declaration b. array initialization c. pointer array declaration d. integer array of size 20 2. Appropriately comment on
More informationChapter 2 - Introduction to C Programming
Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic
More informationDepartment of Computer Science & Engineering Indian Institute of Technology Kharagpur. Practice Sheet #07. Topic: Pointer in C Date:
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Practice Sheet #07 Topic: Pointer in C Date: 23-02-2017 1. Assume the following C variable declaration int *A [10],
More informationIntroduction to Scientific Computing and Problem Solving
Introduction to Scientific Computing and Problem Solving Lecture #22 Pointers CS4 - Introduction to Scientific Computing and Problem Solving 2010-22.0 Announcements HW8 due tomorrow at 2:30pm What s left:
More informationCSCI 2132 Software Development. Lecture 18: Functions
CSCI 2132 Software Development Lecture 18: Functions Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 18-Oct-2017 (18) CSCI 2132 1 Previous Lecture Example: binary search Multidimensional
More informationC introduction: part 1
What is C? C is a compiled language that gives the programmer maximum control and efficiency 1. 1 https://computer.howstuffworks.com/c1.htm 2 / 26 3 / 26 Outline Basic file structure Main function Compilation
More informationScheme G. Sample Test Paper-I. Course Name : Computer Engineering Group Course Code : CO/CD/CM/CW/IF Semester : Second Subject Tile : Programming in C
Sample Test Paper-I Marks : 25 Time:1 Hrs. Q1. Attempt any THREE 09 Marks a) State four relational operators with meaning. b) State the use of break statement. c) What is constant? Give any two examples.
More informationIntroduction to Programming
Introduction to Programming Lecture 5: Interaction Interaction Produce output Get input values 2 Interaction Produce output Get input values 3 Printing Printing messages printf("this is message \n"); Printing
More informationChapter 2: Overview of C. Problem Solving & Program Design in C
Chapter 2: Overview of C Problem Solving & Program Design in C Addison Wesley is an imprint of Why Learn C? Compact, fast, and powerful High-level Language Standard for program development (wide acceptance)
More information2.2 Pointers. Department of CSE
2.2 Pointers 1 Department of CSE Objectives To understand the need and application of pointers To learn how to declare a pointer and how it is represented in memory To learn the relation between arrays
More informationBasic and Practice in Programming Lab7
Basic and Practice in Programming Lab7 Variable and Its Address (1/2) What is the variable? Abstracted representation of allocated memory Having address & value Memory address 10 0x00000010 a int a = 10;
More informationUse of scanf. scanf("%d", &number);
Use of scanf We have now discussed how to print out formatted information to the screen, but this isn't nearly as useful unless we can read in information from the user. (This is one way we can make a
More informationQuestion 2. [5 points] Given the following symbolic constant definition
CS 101, Spring 2012 Mar 20th Exam 2 Name: Question 1. [5 points] Determine which of the following function calls are valid for a function with the prototype: void drawrect(int width, int height); Assume
More informationThis exam is to be taken by yourself with closed books, closed notes, no calculators.
Student ID CSE 5A Name Final Signature Fall 2004 Page 1 (12) cs5a This exam is to be taken by yourself with closed books, closed notes, no calculators. Page 2 (33) Page 3 (32) Page 4 (27) Page 5 (40) Page
More informationFunctions Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay
Functions 60-141 Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay Motivation A complex program Approximate Ellipse Demo Ellipse2DDouble.java
More informationProcedural programming with C
Procedural programming with C Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 77 Functions Similarly to its mathematical
More informationfor (i=0 ; i<100 ; i++){ do_sum_stuff(); i = i-1; } i=2; while (i>1) { do_something(); }
for (i=0 ; i1) { do_something(); for (i=0 ; i
More informationThese are reserved words of the C language. For example int, float, if, else, for, while etc.
Tokens in C Keywords These are reserved words of the C language. For example int, float, if, else, for, while etc. Identifiers An Identifier is a sequence of letters and digits, but must start with a letter.
More informationIntroduction to Functions in C. Dr. Ahmed Telba King Saud University College of Engineering Electrical Engineering Department
Introduction to Functions in C Dr. Ahmed Telba King Saud University College of Engineering Electrical Engineering Department Function definition For example Pythagoras(x,y,z) double x,y,z; { double d;
More informationLecture 2. Examples of Software. Programming and Data Structure. Programming Languages. Operating Systems. Sudeshna Sarkar
Examples of Software Programming and Data Structure Lecture 2 Sudeshna Sarkar Read an integer and determine if it is a prime number. A Palindrome recognizer Read in airline route information as a matrix
More informationLectures 5-6: Introduction to C
Lectures 5-6: Introduction to C Motivation: C is both a high and a low-level language Very useful for systems programming Faster than Java This intro assumes knowledge of Java Focus is on differences Most
More informationMaterials covered in this lecture are: A. Completing Ch. 2 Objectives: Example of 6 steps (RCMACT) for solving a problem.
60-140-1 Lecture for Thursday, Sept. 18, 2014. *** Dear 60-140-1 class, I am posting this lecture I would have given tomorrow, Thursday, Sept. 18, 2014 so you can read and continue with learning the course
More informationME 172. Sourav Saha. Md. Mahamudul Hossain Kazi Fazle Rabbi Saddam Hossain Joy Kamruzzaman Lecturer,Dept. of ME,BUET
ME 172 Introduction to C Programming Language Sourav Saha Md. Mahamudul Hossain Kazi Fazle Rabbi Saddam Hossain Joy Kamruzzaman Lecturer,Dept. of ME,BUET Courtesy: Dr. Noor Al-Quddus Cyrus Ashok Arupratan
More informationMA 511: Computer Programming Lecture 2: Partha Sarathi Mandal
MA 511: Computer Programming Lecture 2: http://www.iitg.ernet.in/psm/indexing_ma511/y10/index.html Partha Sarathi Mandal psm@iitg.ernet.ac.in Dept. of Mathematics, IIT Guwahati Semester 1, 2010-11 Largest
More informationData types, variables, constants
Data types, variables, constants Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers 2.4 Memory Concepts 2.5 Arithmetic in C 2.6 Decision
More informationCS Introduction to Programming Midterm Exam #2 - Prof. Reed Fall 2015
CS 141 - Introduction to Programming Midterm Exam #2 - Prof. Reed Fall 2015 You may take this test with you after the test, but you must turn in your answer sheet. This test has the following sections:
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University C: A High-Level Language! Gives
More informationECE 15 Fall 15 Midterm Solutions
ECE 15 Fall 15 Midterm Solutions This is a closed-book exam: no notes, books, calculators, cellphones, or friends are allowed. In problems 2 4, you can assume that the uers s input is correct. If you need
More informationExample: Pointer Basics
Example: Pointer Basics #include int (void) { float a1, a2; /* Simple variables */ float *p1, *p2, *w; /* Pointers to variables of type float */ a1 = 10.0, a2 = 20.0; printf("after a1 = 10.0;
More informationCOMP26120: Pointers in C (2018/19) Lucas Cordeiro
COMP26120: Pointers in C (2018/19) Lucas Cordeiro lucas.cordeiro@manchester.ac.uk Organisation Lucas Cordeiro (Senior Lecturer, FM Group) lucas.cordeiro@manchester.ac.uk Office: 2.44 Office hours: 10-11
More informationChapter 5 C Functions
Chapter 5 C Functions Objectives of this chapter: To construct programs from small pieces called functions. Common math functions in math.h the C Standard Library. sin( ), cos( ), tan( ), atan( ), sqrt(
More informationIntroduction to C programming. By Avani M. Sakhapara Asst Professor, IT Dept, KJSCE
Introduction to C programming By Avani M. Sakhapara Asst Professor, IT Dept, KJSCE Classification of Software Computer Software System Software Application Software Growth of Programming Languages History
More informationComputers Programming Course 7. Iulian Năstac
Computers Programming Course 7 Iulian Năstac Recap from previous course Operators in C Programming languages typically support a set of operators, which differ in the calling of syntax and/or the argument
More informationB.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University
Unit 1 Programming Language and Overview of C 1. State whether the following statements are true or false. a. Every line in a C program should end with a semicolon. b. In C language lowercase letters are
More informationFunctions in C. Lecture Topics. Lecture materials. Homework. Machine problem. Announcements. ECE 190 Lecture 16 March 9, 2011
Functions in C Lecture Topics Introduction to using functions in C Syntax Examples Memory allocation for variables Lecture materials Textbook 14.1-14.2, 12.5 Homework Machine problem MP3.2 due March 18,
More informationQuestion 1. Part (a) [2 marks] error: assignment of read-only variable x ( x = 20 tries to modify a constant) Part (b) [1 mark]
Note to Students: This file contains sample solutions to the term test together with the marking scheme and comments for each question. Please read the solutions and the marking schemes and comments carefully.
More informationFunc%ons. CS449 Fall 2017
Func%ons CS449 Fall 2017 1 Func%ons in C A group of statements performing a task Statements inside func%on is executed by calling it using the () operator Uses: Readability (through code modulariza%on)
More informationCS2351 Data Structures. Lecture 7: A Brief Review of Pointers in C
CS2351 Data Structures Lecture 7: A Brief Review of Pointers in C 1 About this lecture Pointer is a useful object that allows us to access different places in our memory We will review the basic use of
More informationCSC 270 Survey of Programming Languages. What is a Pointer?
CSC 270 Survey of Programming Languages C Lecture 6 Pointers and Dynamic Arrays What is a Pointer? A pointer is the address in memory of a variable. We call it a pointer because we envision the address
More informationH192 Midterm 1 Review. Tom Zajdel
H192 Midterm 1 Review Tom Zajdel Declaring variables Need to specify a type when declaring a variable. Can declare multiple variables in one line. int x, y, z; float a, b, c; Can also initialize in same
More informationLesson 3 Introduction to Programming in C
jgromero@inf.uc3m.es Lesson 3 Introduction to Programming in C Programming Grade in Industrial Technology Engineering This work is licensed under a Creative Commons Reconocimiento-NoComercial-CompartirIgual
More informationFlow Chart. The diagrammatic representation shows a solution to a given problem.
low Charts low Chart A flowchart is a type of diagram that represents an algorithm or process, showing the steps as various symbols, and their order by connecting them with arrows. he diagrammatic representation
More informationFunctions. Systems Programming Concepts
Functions Systems Programming Concepts Functions Simple Function Example Function Prototype and Declaration Math Library Functions Function Definition Header Files Random Number Generator Call by Value
More informationprintf("%c\n", character); printf("%s\n", "This is a string"); printf("%s\n", string); printf("%s\n",stringptr); return 0;
Chapter 9: Formatted Input/Output ================================= * All input and output is performed with streams - sequences of characters organized into lines. * Each line consists of zero or more
More informationChapter 11 Introduction to Programming in C
Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified by Chris Wilcox, Yashwant Malaiya Colorado State University C: A High-Level Language
More informationUNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING
UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING APS 105 Computer Fundamentals Midterm Examination October 28, 2008 12:20 p.m. 1:50 p.m. Examiners: Jason Anderson, Tom Fairgrieve, Baochun
More informationProgramming and Data Structure Tutorial sheet: 1 Topics: Data Handling, Operators and Expressions, Input and Output Operations.
Programming and Data Structure Tutorial sheet: 1 Topics: Data Handling, Operators and Expressions, Input and Output Operations. Q1. (a) Which one of the following is a valid name of a C variable: 2ab_c,
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 3 Constants, Variables, Data Types, And Operations Department of Computer Engineering
More informationAlgorithms & Data Structures
GATE- 2016-17 Postal Correspondence 1 Algorithms & Data Structures Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key
More informationArithmetic Expressions in C
Arithmetic Expressions in C Arithmetic Expressions consist of numeric literals, arithmetic operators, and numeric variables. They simplify to a single value, when evaluated. Here is an example of an arithmetic
More informationOutline. Pointers arithme.c and others Func.ons & pointers
Pointers II 1 Outline Pointers arithme.c and others Func.ons & pointers 2 Pointer Arithme/c When you add to or subtract from a pointer, the amount by which you do that is mul/plied by the size of the type
More informationCC112 Structured Programming
Arab Academy for Science and Technology and Maritime Transport College of Engineering and Technology Computer Engineering Department CC112 Structured Programming Lecture 3 1 LECTURE 3 Input / output operations
More informationLab Session # 1 Introduction to C Language. ALQUDS University Department of Computer Engineering
2013/2014 Programming Fundamentals for Engineers Lab Lab Session # 1 Introduction to C Language ALQUDS University Department of Computer Engineering Objective: Our objective for today s lab session is
More informationCS11001/CS11002 Programming and Data Structures (PDS) (Theory: 3-1-0) Introduction to arrays
CS11001/CS11002 Programming and Data Structures (PDS) (Theory: 3-1-0) Introduction to arrays 1 What are Arrays? Arrays are our first example of structured data. Think of a book with pages numbered 1,2,...,400.
More informationChapter 11 Introduction to Programming in C
C: A High-Level Language Chapter 11 Introduction to Programming in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University! Gives
More informationSlide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng
Slide Set 2 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2018 ENCM 335 Fall 2018 Slide Set 2 slide
More informationBLM2031 Structured Programming. Zeyneb KURT
BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help
More informationCSCI 171 Chapter Outlines
Contents CSCI 171 Chapter 1 Overview... 2 CSCI 171 Chapter 2 Programming Components... 3 CSCI 171 Chapter 3 (Sections 1 4) Selection Structures... 5 CSCI 171 Chapter 3 (Sections 5 & 6) Iteration Structures
More informationExpressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators
Expressions 1 Expressions n Variables and constants linked with operators Arithmetic expressions n Uses arithmetic operators n Can evaluate to any value Logical expressions n Uses relational and logical
More informationOutline. Computer Memory Structure Addressing Concept Introduction to Pointer Pointer Manipulation Summary
Pointers 1 2 Outline Computer Memory Structure Addressing Concept Introduction to Pointer Pointer Manipulation Summary 3 Computer Memory Revisited Computers store data in memory slots Each slot has an
More information