Special PRG Lecture No. 2. Professor David Brailsford Special PRG Lecture: Arrays
|
|
- Sybil Freeman
- 5 years ago
- Views:
Transcription
1 Special PRG Lecture No. 2 Professor David Brailsford (dfb@cs.nott.ac.uk) School of Computer Science University of Nottingham Special PRG Lecture: Arrays Page 1
2 The need for arrays Suppose we want to write a set of programs to analyse air temperatures in Nottingham, (in degrees Celsius rounded to the nearest integer) If there s only a handful of daily temperatures, not strongly related to one another, we might use separately-named integer variables e.g. int montemp = 14, tuetemp = 17, fritemp = 15; But if we need to hold a set of related temperatures e.g. for a whole week, or a whole year, it makes sense to use an array. We can declare an array to hold 7 temperatures as follows: int thisweek_temps[7]; We can declare an array in this way globally, or in main, or in a function Page 2
3 Initializing arrays If we want to set up initial values in the array at compile time then we can do it as follows: int thisweek_temps[7] = {9, 8, 13, 13, 11, 11, 6; Let s assume our week runs from Monday to Sunday. Monday s temperature can be selected via: thisweek_temps[0]; So we see that arrays can be indexed to select certain values but indexing starts at zero. To select Thursday s temperature do: thisweek_temps[3]; You can compile-time-intialize any array, declared locally or globally. But if your local array is of a large size then you may want to consider making it global, or possibly static (see later) Page 3
4 Indexing into arrays? So, thisweek_temps[3] is the fourth element of the array The C compiler knows that ints on a 32-bit machine (say) occupy 4 bytes each. So the fourth element starts at 4 3 = 12 bytes beyond start of array. We can have arrays of almost anything in C, e.g. doubles, chars, strings, functions etc. So long as the compiler knows the size of everything (characters, integers, addresses etc.) for the given machine, it can do array indexing calculations to find the address of the target array element.. The nth object in a one-dimensional array will be at (n 1) objectsize bytes beyond the array s start address Page 4
5 Example: average temperature using an array #include <stdio.h> int thisweek_temps[7] = {9, 8, 13, 13, 11, 11, 6; char mesg1[12] = { A, v, e, r, a, g, e,, i, s, :, \0 ; char mesg2[] = "Average is:"; /*declarations for mesg1 and mesg 2 both work OK!*/ /*But the mesg2 version is simpler */ int main(char argc, char *argv[]) { double avge; int i, total = 0; for (i=0; i < 7; i++) total = total + thisweek_temps[i]; avge = total / 7; printf("%s %2.2f\n", mesg1, avge); avge = total / 7.0; printf("%s %2.2f\n", mesg2, avge); /*different answer? */ Page 5
6 Analysis of last program Declaration for mesg1 as array of single chars is perfectly legal But to get it treated as a string, in printf, we must pack in a \0 at the end. A set of array initializers is enclosed in { braces The %2.2f in printf asks for two decimal places before and after the decimal point The value of total / 7 has two int arguments. Therefore C does the division in integer arithmetic and throws away the remainder It then converts the result, 10, to being to match the double type of the variable avge To force real number division make one argument be an obvious real number (e.g. 7.0) Page 6
7 Two dimensional arrays #define NO_WEEKS 4/* number of weeks*/ #define NO_DAYS 7/* number of days in a week*/ #include <stdio.h> int nov_temps [NO_WEEKS] [NO_DAYS] = {9, 8, 13, 13, 11, 11, 6, 10, 9, 10, 10, 9, 9, 9, 10, 11, 12, 8, 8, 8, 9, 7, 4, 9, 9, 9, 9, 8; /* Note declaration and how it specifies 4 rows by 7 columns */ char mesg2[] = "Average forecast temp for Nov. is:"; int main(char argc, char *argv[]) { double avge; int i,j, total = 0; for (i = 0; i < 4 ; i++) for (j = 0; j < 7; j++) total = total + nov_temps[i][j]; avge = (double) total / (NO_WEEKS * NO_DAYS); printf("%s %2.2f\n", mesg2, avge); Page 7
8 Analysis of 2D array slide You can now envisage how a full year of temperatures could be kept in a 52 7 array e.g. int year_temps[52][7]; Note that subscripts of a two-dimensional array a are written, in C, in the form a[i][j] The format a[i,j], as used in mathematics, is WRONG in C The format A(I,J) as used in Basic is also WRONG Notice how nested for loops are a natural way to access array elements in turn The construct (double) total delivers a real number copy of the integer in total. The contents of total are unaffected This is our first encounter with a cast, as a way of forcing a type conversion Page 8
9 Input / output to and from arrays (1) So far we have pre-initialized the values in our global arrays But more commonly we will want to assign values to array elements or even to read in the array values as data Examples: price[5] = 10.65; scanf("%d %2.2f", &grades[0], &price[2]); scanf("%c", &code[0]); /* code is an array of chars */ scanf("%d %d %d", &grades[0], &grades[1], &grades[2]); /* However a more usual way to fill in successive array elements would be: */ for (i = 0; i <= 3 ; i++) /* reads in 4 values */ { printf("enter a grade: "); scanf ("%d", &grades[i]); Page 9
10 Page 10 Input/output to and from arrays (2) We can output individual array elements using printf But more commonly we will want to output successive array values using a for loop. Examples: printf ("%2.2f", price[6]); printf("the value of element %d is %d", i, grades[i]); for (n = 5; n <= 20; n++) printf("%d %2.2f\n", n, price[n]); Note that C does not check whether your array subscripts are within the declared array bounds. If you get the array indexing wrong the program will (probably) crash at run time However the compiler will do its best to issue warnings if it feels your array-accessing code is suspect in any way
11 Outputting arrays of chars Let s revisit our old friends mesg1 and mesg2 Page 11 #include <stdio.h> #define MSIZE 12 char mesg1[msize] = { A, v, e, r, a, g, e,, i, s, :, \0 ; char mesg2[] = "Average is:"; /*declarations for mesg1 and mesg 2 both work OK!*/ /*But the mesg2 version is simpler */ int main(char argc, char *argv[]) { int i; for (i = 0; i < MSIZE - 1; i++)/* Why MSIZE -1?*/ printf("%c", mesg1[i]); printf("\n"); /*Much more efficient way but still step-by-step is */ char *p = mesg1;/* p is of type "pointer to char" */ while (*p!= \0 ) { putchar(*p); p++; /* *p means "get me the contents of byte address p" */ /* The p++ increments the byte address,as we ve just covered in G51CSA */ printf("%s", mesg1); /* automates the above while loop! */
12 Analysis of last slide Indexing arrays of chars in a printf inside a for loop works just fine! You need to know the array size in order to stop the loop from printing out characters beyond the end of the array The compiler has to work out each indexed byte address from first principles. This involves (slow) multiplies and adds (see slide 4) But if we know the characters are stored next to each other then we can just increment the byte address every time around the loop. The while-loop-plus-pointer method is the one we ve used in G51CSA Note how helpful C is when handling strings. The %s formatter in printf automates string printouts. You ll learn much more about pointers later in the module Page 12
13 Page 13 More about initialization Once C knows the overall size of an array then initialization can be done with a one-dimensional list of values This is true even for a multi-dimensional array! Examples: /* All three of the declarations below are equivalent */ /*declaration 1 */ int val[3][4] = {8, 16, 9, 52, 3, 15, 27, 6, 14, 25, 2, 10; /*declaration 2 */ int val[3][4] = {8, 16, 9, 52, 3, 15, 27, 6, 14, 25, 2, 10; /*declaration 3. Note CAREFULLY where the commas and braces are placed */ int val[3][4] = { {8, 16, 9, 52, {3, 15, 27, 6, {14, 25, 2, 10 ; To preserve the sanity of the maintenance programmer who comes after you, adopt style 2, or style 3, for 2D arrays.
14 Passing array parameters to procedures An array parameter to a procedure passes over the array s start address Technical phraseology is: Array names are passed by reference Contrast this with an int parameter, where a copy is made (i.e. it is passed by value) It is not feasible to pass arrays by value would need to make a copy of a (potentially huge) array! The formal parameter in the function definition must specify the array bounds so that the compiler can check your usage Be careful that because the actual array parameter is a start address (a reference) then any alteration to array elements inside the function affects the values in the original array. Page 14
15 Maximum November temperature Function to find a maximum temperature in a 2D array Page 15 #include <stdio.h> #define NO_WEEKS 4 /* number of weeks*/ #define NO_DAYS 7 /* number of days in a week*/ int nov_temps [NO_WEEKS] [NO_DAYS] = {9, 8, 13, 13, 11, 11, 6, 10, 9, 10, 10, 9, 9, 9, 10, 11, 12, 8, 8, 8, 9, 7, 4, 9, 9, 9, 9, 8; char mesg2[] = "Maximum forecast temp. for Nov. is:"; int maxval(int vals[no_weeks][no_days]) { int i, j, temp, max = 0; for (i = 0; i < NO_WEEKS; i++) for (j = 0; j < NO_DAYS; j++) { temp = vals[i][j]; if (temp > max) max = temp; return (max); int main(char argc, char *argv[]) { printf("%s %d\n", mesg2, maxval(nov_temps));
16 Analysis of max November temp. The function maxval delivers the maximum temperature from an array transmitted to it with (formal) parameter name vals The actual parameter on this occasion is the global array nov_temps So why not dispense with the function parameter and let the maxval function operate directly on the globally visible name nov_temps? But if you do that you would limit maxval to working only with nov_temps! Parameterised version of the function can take, as input, any suitable local or global array Notice the formal parameter declaration for vals where you tell the compiler to expect an incoming 2D array Page 16
17 Page 17 Maximum October temperature using scanf #include <stdio.h> #define NO_WEEKS 4 /* number of weeks*/ #define NO_DAYS 7 /* number of days in a week*/ char octmess[] = "Maximum October temp. was :"; int maxval(int vals[no_weeks][no_days]) { int i, j, temp, max = 0; for (i = 0; i < NO_WEEKS; i++) for (j = 0; j < NO_DAYS; j++) { temp = vals[i][j]; if (temp > max) max = temp; return (max); int main(char argc, char *argv[]) { int i=0, j=0; int oct_temps [NO_WEEKS] [NO_DAYS]; for (i = 0; i< NO_WEEKS; i++) for (j = 0; j< NO_DAYS; j++) scanf("%d,", &oct_temps[i][j]); printf("%s %d\n", octmess, maxval(oct_temps));
18 Analysis of max October temp. This time the actual parameter to maxval is an array oct_temps declared locally to main Filling the oct_temps array is done with input data, via scanf Note that scanf ignores all spaces, newlines, vertical tabs etc. (collectively known as whitespace) So you can spread your input data over several lines if you want However the particular scanf format used here does expect that every single input value will be followed by a comma. Don t forget the & in &oct_temps[i][j] If you do forget, then you will get a Segmentation Violation at run time i.e. a bad address. (I speak as one who knows ) Page 18
19 Initializations global, local and static Original K&R C in the 1970s allowed only global arrays to be initialized This restriction was for efficiency reasons. Local array initializations have to be recreated every time you enter and re-enter a function ANSI C (1983) lifted the restriction but we need to understand the issues Consider the following fragment: #include <stdio.h> int hugearray[10000] = { /* massive initialization here */; int myfunc (double d) { int i,j; char message[] = "This is a fairly long but not too extensive string"; int thisweek_temps[7] = {9, 8, 13, 13, 11, 11, 6; static int bigarray[1000] = {/* 1000 initialization values here */; Page 19
20 Initializations more analysis The initialized contents of message and thisweek_temps are no big deal (approx. 50 bytes and 30 bytes respectively) So setting them up afresh, in calls of myfunc, is no big deal either But bigarray is different. If you miss off the static keyword then all 4Kbytes of it (on a 32-bit m/c) will be re-initialized each time The effect of static is to store it globally but to restrict where you can access it (via the identifier bigarray) to the function in which you declared it (myfunc) So changes to bigarray will persist between function calls By contrast hugearray is global and visible everywhere (Dangerous?!) You ll be amused to know that there is a paper entitled: Global Variable Considered Harmful by Bill Wulf Page 20
A First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays Objectives One-Dimensional Arrays Array Initialization Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More informationArrays and Pointers. CSE 2031 Fall November 11, 2013
Arrays and Pointers CSE 2031 Fall 2013 November 11, 2013 1 Arrays l Grouping of data of the same type. l Loops commonly used for manipulation. l Programmers set array sizes explicitly. 2 Arrays: Example
More informationA First Book of ANSI C Fourth Edition. Chapter 8 Arrays
A First Book of ANSI C Fourth Edition Chapter 8 Arrays One-Dimensional Arrays Array Initialization Objectives Arrays as Function Arguments Case Study: Computing Averages and Standard Deviations Two-Dimensional
More informationArrays and Pointers. Arrays. Arrays: Example. Arrays: Definition and Access. Arrays Stored in Memory. Initialization. EECS 2031 Fall 2014.
Arrays Arrays and Pointers l Grouping of data of the same type. l Loops commonly used for manipulation. l Programmers set array sizes explicitly. EECS 2031 Fall 2014 November 11, 2013 1 2 Arrays: Example
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 informationPhysics 2660: Fundamentals of Scientific Computing. Lecture 3 Instructor: Prof. Chris Neu
Physics 2660: Fundamentals of Scientific Computing Lecture 3 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Announcements Weekly readings will be assigned and available through the class wiki home
More informationCPE 101, reusing/mod slides from a UW course (used by permission) Lecture 5: Input and Output (I/O)
CPE 101, reusing/mod slides from a UW course (used by permission) Lecture 5: Input and Output (I/O) Overview (5) Topics Output: printf Input: scanf Basic format codes More on initializing variables 2000
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 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 informationAnnotation Annotation or block comments Provide high-level description and documentation of section of code More detail than simple comments
Variables, Data Types, and More Introduction In this lesson will introduce and study C annotation and comments C variables Identifiers C data types First thoughts on good coding style Declarations vs.
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 10: Arrays Readings: Chapter 9 Introduction Group of same type of variables that have same
More informationProgramming for Engineers Introduction to C
Programming for Engineers Introduction to C ICEN 200 Spring 2018 Prof. Dola Saha 1 Simple Program 2 Comments // Fig. 2.1: fig02_01.c // A first program in C begin with //, indicating that these two lines
More information2/29/2016. Definition: Computer Program. A simple model of the computer. Example: Computer Program. Data types, variables, constants
Data types, variables, constants Outline.1 Introduction. Text.3 Memory Concepts.4 Naming Convention of Variables.5 Arithmetic in C.6 Type Conversion Definition: Computer Program A Computer program is a
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 information9/5/2018. Overview. The C Programming Language. Transitioning to C from Python. Why C? Hello, world! Programming in C
Overview The C Programming Language (with material from Dr. Bin Ren, William & Mary Computer Science) Motivation Hello, world! Basic Data Types Variables Arithmetic Operators Relational Operators Assignments
More informationC Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017
C Concepts - I/O Lecture 19 COP 3014 Fall 2017 November 29, 2017 C vs. C++: Some important differences C has been around since around 1970 (or before) C++ was based on the C language While C is not actually
More informationProgramming for Electrical and Computer Engineers. Pointers and Arrays
Programming for Electrical and Computer Engineers Pointers and Arrays Dr. D. J. Jackson Lecture 12-1 Introduction C allows us to perform arithmetic addition and subtraction on pointers to array elements.
More informationThe C Programming Language. (with material from Dr. Bin Ren, William & Mary Computer Science)
The C Programming Language (with material from Dr. Bin Ren, William & Mary Computer Science) 1 Overview Motivation Hello, world! Basic Data Types Variables Arithmetic Operators Relational Operators Assignments
More informationDECISION CONTROL AND LOOPING STATEMENTS
DECISION CONTROL AND LOOPING STATEMENTS DECISION CONTROL STATEMENTS Decision control statements are used to alter the flow of a sequence of instructions. These statements help to jump from one part of
More informationLecture 05 I/O statements Printf, Scanf Simple statements, Compound statements
Programming, Data Structures and Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Lecture 05 I/O statements Printf, Scanf Simple
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 informationComputer Programming. C Array is a collection of data belongings to the same data type. data_type array_name[array_size];
Arrays An array is a collection of two or more adjacent memory cells, called array elements. Array is derived data type that is used to represent collection of data items. C Array is a collection of data
More informationWelcome to... CS113: Introduction to C
Welcome to... CS113: Introduction to C Instructor: Erik Sherwood E-mail: wes28@cs.cornell.edu Course Website: http://www.cs.cornell.edu/courses/cs113/2005fa/ The website is linked to from the courses page
More information1/25/2018. ECE 220: Computer Systems & Programming. Write Output Using printf. Use Backslash to Include Special ASCII Characters
University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Review: Basic I/O in C Allowing Input from the Keyboard, Output to the Monitor
More informationBasic Assignment and Arithmetic Operators
C Programming 1 Basic Assignment and Arithmetic Operators C Programming 2 Assignment Operator = int count ; count = 10 ; The first line declares the variable count. In the second line an assignment operator
More informationStructured programming
Exercises 2 Version 1.0, 22 September, 2016 Table of Contents 1. Simple C program structure................................................... 1 2. C Functions..................................................................
More informationWeek 3 More Formatted Input/Output; Arithmetic and Assignment Operators
Week 3 More Formatted Input/Output; Arithmetic and Assignment Operators Formatted Input and Output The printf function The scanf function Arithmetic and Assignment Operators Simple Assignment Side Effect
More informationIntro to Computer Programming (ICP) Rab Nawaz Jadoon
Intro to Computer Programming (ICP) Rab Nawaz Jadoon DCS COMSATS Institute of Information Technology Assistant Professor COMSATS IIT, Abbottabad Pakistan Introduction to Computer Programming (ICP) What
More informationc) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.
2.1 Introduction (No questions.) 2.2 A Simple Program: Printing a Line of Text 2.1 Which of the following must every C program have? (a) main (b) #include (c) /* (d) 2.2 Every statement in C
More informationInteger Representation. Variables. Real Representation. Integer Overflow/Underflow
Variables Integer Representation Variables are used to store a value. The value a variable holds may change over its lifetime. At any point in time a variable stores one value (except quantum computers!)
More informationFeatures of C. Portable Procedural / Modular Structured Language Statically typed Middle level language
1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC
More informationBasic Types and Formatted I/O
Basic Types and Formatted I/O C Variables Names (1) Variable Names Names may contain letters, digits and underscores The first character must be a letter or an underscore. the underscore can be used but
More informationC OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed
C Overview C OVERVIEW Goals speed portability allow access to features of the architecture speed C fast executables allows high-level structure without losing access to machine features many popular languages
More informationDisplay Input and Output (I/O)
2000 UW CSE CSE / ENGR 142 Programming I isplay Input and Output (I/O) -1 Writing Useful Programs It s hard to write useful programs using only variables and assignment statements Even our Fahrenheit to
More informationOverview of C, Part 2. CSE 130: Introduction to Programming in C Stony Brook University
Overview of C, Part 2 CSE 130: Introduction to Programming in C Stony Brook University Integer Arithmetic in C Addition, subtraction, and multiplication work as you would expect Division (/) returns the
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 informationGoals of this Lecture
C Pointers Goals of this Lecture Help you learn about: Pointers and application Pointer variables Operators & relation to arrays 2 Pointer Variables The first step in understanding pointers is visualizing
More informationComputer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont)
CP Lect 5 slide 1 Monday 2 October 2017 Computer Programming: Skills & Concepts (CP) arithmetic, if and booleans (cont) Cristina Alexandru Monday 2 October 2017 Last Lecture Arithmetic Quadratic equation
More informationC How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.
C How to Program, 6/e 1992-2010 by Pearson Education, Inc. 1992-2010 by Pearson Education, Inc. 1992-2010 by Pearson Education, Inc. This chapter serves as an introduction to the important topic of data
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 informationUNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING
UNIVERSITY OF CALIFORNIA, SANTA CRUZ BOARD OF STUDIES IN COMPUTER ENGINEERING CMPE13/L: INTRODUCTION TO PROGRAMMING IN C SPRING 2012 Lab 3 Matrix Math Introduction Reading In this lab you will write a
More information2. Numbers In, Numbers Out
COMP1917: Computing 1 2. Numbers In, Numbers Out Reading: Moffat, Chapter 2. COMP1917 15s2 2. Numbers In, Numbers Out 1 The Art of Programming Think about the problem Write down a proposed solution Break
More informationWeek 8: Arrays and File I/O. BJ Furman 21OCT2009
Week 8: Arrays and File I/O BJ Furman 21OCT2009 The Plan for Today Arrays What is an array? How do you declare and initialize an array? How can you use an array? Array Examples Array Practice File I/O
More informationBil 104 Intiroduction To Scientific And Engineering Computing. Lecture 7
Strings and Clases BIL104E: Introduction to Scientific and Engineering Computing Lecture 7 Manipulating Strings Scope and Storage Classes in C Strings Declaring a string The length of a string Copying
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 informationChapter 3: Arrays and More C Functionality
Chapter 3: Arrays and More C Functionality Objectives: (a) Describe how an array is stored in memory. (b) Define a string, and describe how strings are stored. (c) Describe the implications of reading
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 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 informationCSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018
CSE 1001 Fundamentals of Software Development 1 Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 Identifiers, Variables and Data Types Reserved Words Identifiers in C Variables and Values
More informationComputer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary
GATE- 2016-17 Postal Correspondence 1 C-Programming Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts, Analysis
More informationLectures 4 and 5 (Julian) Computer Programming: Skills & Concepts (INF-1-CP1) double; float; quadratic equations. Practical 1.
Lectures 4 and 5 (Julian) Computer Programming: Skills & Concepts (INF-1-CP1) double; float; quadratic equations 4th October, 2010 Integer arithmetic in C. Converting pre-decimal money to decimal. The
More informationBasics of Programming
Unit 2 Basics of Programming Problem Analysis When we are going to develop any solution to the problem, we must fully understand the nature of the problem and what we want the program to do. Without the
More informationUNIT - I. Introduction to C Programming. BY A. Vijay Bharath
UNIT - I Introduction to C Programming Introduction to C C was originally developed in the year 1970s by Dennis Ritchie at Bell Laboratories, Inc. C is a general-purpose programming language. It has been
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 informationHW1 due Monday by 9:30am Assignment online, submission details to come
inst.eecs.berkeley.edu/~cs61c CS61CL : Machine Structures Lecture #2 - C Pointers and Arrays Administrivia Buggy Start Lab schedule, lab machines, HW0 due tomorrow in lab 2009-06-24 HW1 due Monday by 9:30am
More informationTo declare an array in C, a programmer specifies the type of the elements and the number of elements required by an array as follows
Unti 4: C Arrays Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type An array is used to store a collection of data, but it is often more useful
More informationData Types and Computer Storage Arrays and Pointers. K&R, chapter 5
Data Types and Computer Storage Arrays and Pointers K&R, chapter 5 Fundamental Data Types Most fundamental types are numeric (integer): - char - signed or unsigned - short int - signed or unsigned - int
More informationLESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are:
LESSON 1 FUNDAMENTALS OF C The purpose of this lesson is to explain the fundamental elements of the C programming language. C like other languages has all alphabet and rules for putting together words
More information2. Numbers In, Numbers Out
REGZ9280: Global Education Short Course - Engineering 2. Numbers In, Numbers Out Reading: Moffat, Chapter 2. REGZ9280 14s2 2. Numbers In, Numbers Out 1 The Art of Programming Think about the problem Write
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 informationLecture 12 CSE July Today we ll cover the things that you still don t know that you need to know in order to do the assignment.
Lecture 12 CSE 110 20 July 1992 Today we ll cover the things that you still don t know that you need to know in order to do the assignment. 1 The NULL Pointer For each pointer type, there is one special
More informationEC312 Chapter 4: Arrays and Strings
Objectives: (a) Describe how an array is stored in memory. (b) Define a string, and describe how strings are stored. EC312 Chapter 4: Arrays and Strings (c) Describe the implications of reading or writing
More informationC OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure
C Overview Basic C Program Structure C OVERVIEW BASIC C PROGRAM STRUCTURE Goals The function main( )is found in every C program and is where every C program begins speed execution portability C uses braces
More informationArrays and Pointers in C. Alan L. Cox
Arrays and Pointers in C Alan L. Cox alc@rice.edu Objectives Be able to use arrays, pointers, and strings in C programs Be able to explain the representation of these data types at the machine level, including
More informationC Programming
204216 -- C Programming Chapter 3 Processing and Interactive Input Adapted/Assembled for 204216 by Areerat Trongratsameethong A First Book of ANSI C, Fourth Edition Objectives Assignment Mathematical Library
More informationProgramming Language A
Programming Language A Takako Nemoto (JAIST) 22 October Takako Nemoto (JAIST) 22 October 1 / 28 From Homework 2 Homework 2 1 Write a program calculate something with at least two integer-valued inputs,
More informationCS102: Standard I/O. %<flag(s)><width><precision><size>conversion-code
CS102: Standard I/O Our next topic is standard input and standard output in C. The adjective "standard" when applied to "input" or "output" could be interpreted to mean "default". Typically, standard output
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 informationArrays, Strings, & Pointers
Arrays, Strings, & Pointers Alexander Nelson August 31, 2018 University of Arkansas - Department of Computer Science and Computer Engineering Arrays, Strings, & Pointers Arrays, Strings, & Pointers are
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 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 informationSlide Set 3. for ENCM 339 Fall Steve Norman, PhD, PEng. Electrical & Computer Engineering Schulich School of Engineering University of Calgary
Slide Set 3 for ENCM 339 Fall 2016 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2016 ENCM 339 Fall 2016 Slide Set 3 slide 2/46
More informationPointer Basics. Lecture 13 COP 3014 Spring March 28, 2018
Pointer Basics Lecture 13 COP 3014 Spring 2018 March 28, 2018 What is a Pointer? A pointer is a variable that stores a memory address. Pointers are used to store the addresses of other variables or memory
More informationAt the end of this module, the student should be able to:
INTRODUCTION One feature of the C language which can t be found in some other languages is the ability to manipulate pointers. Simply stated, pointers are variables that store memory addresses. This is
More informationAN OVERVIEW OF C. CSE 130: Introduction to Programming in C Stony Brook University
AN OVERVIEW OF C CSE 130: Introduction to Programming in C Stony Brook University WHY C? C is a programming lingua franca Millions of lines of C code exist Many other languages use C-like syntax C is portable
More informationReview of the C Programming Language for Principles of Operating Systems
Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights
More informationCSE / ENGR 142 Programming I
CSE / ENGR 142 Programming I Variables, Values, and Types Chapter 2 Overview Chapter 2: Read Sections 2.1-2.6, 2.8. Long chapter, short snippets on many topics Later chapters fill in detail Specifically:
More informationDept. of CSE, IIT KGP
Control Flow: Looping CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Types of Repeated Execution Loop: Group of
More informationSummary of Lecture 4. Computer Programming: Skills & Concepts (INF-1-CP1) Variables; scanf; Conditional Execution. Tutorials.
Summary of Lecture 4 Computer Programming: Skills & Concepts (INF-1-CP1) Variables; scanf; Conditional Execution Integer arithmetic in C. Converting pre-decimal money to decimal. The int type and its operators.
More informationWork relative to other classes
Work relative to other classes 1 Hours/week on projects 2 C BOOTCAMP DAY 1 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh Overview C: A language
More informationProcedural Programming
Universität Duisburg-Essen PRACTICAL TRAINING TO THE LECTURE Procedural Programming Session Five: Arrays Name: First Name: Tutor: Matriculation-Number: Group-Number: Date: Prof. Dr.Ing. Axel Hunger Dipl.-Ing.
More informationUIC. C Programming Primer. Bharathidasan University
C Programming Primer UIC C Programming Primer Bharathidasan University Contents Getting Started 02 Basic Concepts. 02 Variables, Data types and Constants...03 Control Statements and Loops 05 Expressions
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 informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationLecture 02 Summary. C/Java Syntax 1/14/2009. Keywords Variable Declarations Data Types Operators Statements. Functions
Lecture 02 Summary C/Java Syntax Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 1 2 By the end of this lecture, you will be able to identify the
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 informationLecture 16 CSE July 1992
Lecture 16 CSE 110 28 July 1992 1 Dynamic Memory Allocation We are finally going to learn how to allocate memory on the fly, getting more when we need it, a subject not usually covered in introductory
More informationCS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation
CS113: Lecture 3 Topics: Variables Data types Arithmetic and Bitwise Operators Order of Evaluation 1 Variables Names of variables: Composed of letters, digits, and the underscore ( ) character. (NO spaces;
More informationCpSc 1111 Lab 4 Part a Flow Control, Branching, and Formatting
CpSc 1111 Lab 4 Part a Flow Control, Branching, and Formatting Your factors.c and multtable.c files are due by Wednesday, 11:59 pm, to be submitted on the SoC handin page at http://handin.cs.clemson.edu.
More informationC/Java Syntax. January 13, Slides by Mark Hancock (adapted from notes by Craig Schock)
C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 By the end of this lecture, you will be able to identify the
More informationC/Java Syntax. Lecture 02 Summary. Keywords Variable Declarations Data Types Operators Statements. Functions. if, switch, while, do-while, for
C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 1 By the end of this lecture, you will be able to identify
More informationNumber Review. Lecture #3 More C intro, C Strings, Arrays, & Malloc Variables. Clarification about counting down
CS61C L3 C Pointers (1) inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture #3 More C intro, C Strings, Arrays, & Malloc Albert Chae Instructor 2008-06-25 Number Review Sign and magnitude
More informationOutline. Computer programming. Debugging. What is it. Debugging. Hints. Debugging
Outline Computer programming Debugging Hints Gathering evidence Common C errors "Education is a progressive discovery of our own ignorance." Will Durant T.U. Cluj-Napoca - Computer Programming - lecture
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 informationCpSc 1111 Lab 4 Formatting and Flow Control
CpSc 1111 Lab 4 Formatting and Flow Control Overview By the end of the lab, you will be able to: use fscanf() to accept a character input from the user and print out the ASCII decimal, octal, and hexadecimal
More informationChapter 1 & 2 Introduction to C Language
1 Chapter 1 & 2 Introduction to C Language Copyright 2007 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 1 & 2 - Introduction to C Language 2 Outline 1.1 The History
More informationArrays. CS10001: Programming & Data Structures. Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur
Arrays CS10001: Programming & Data Structures Pallab Dasgupta Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur Array Many applications require multiple data items that have common
More informationFundamentals of Programming Session 4
Fundamentals of Programming Session 4 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2011 These slides are created using Deitel s slides, ( 1992-2010 by Pearson Education, Inc).
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 information