Imperative Programming
|
|
- Daniel Tyler
- 5 years ago
- Views:
Transcription
1 Imperative Programming Week 2 Exercises model answers 1. Write a program that copies its standard input to its standard output. Test the program by using it to display its own source code../copyio < copyio.c censored! int c= 0; while (EOF!= (c= getchar())) putchar(c); 2. Write a program to count the number of characters in a file. Test it on its own source code, or on a huge file..../count < /usr/share/dict/words chars int nchars= 0; while (EOF!= getchar()) ++nchars; printf("%d chars\n", nchars); 3. Extend your program to count the number of lines too../count < /usr/share/dict/words chars, lines
2 int nchars= 0, nlines= 0; int c= 0; while (EOF!= (c= getchar())) ++nchars; if ( \n == c) ++nlines; printf("%d chars, %d lines\n", nchars, nlines); 4. Just for fun, modify your program so that it also prints each letter or newline character that it reads from the input. All other characters should be printed as spaces../count < count.c include stdio h include ctype h int main...etc chars, 22 lines int nchars= 0, nlines= 0; int c= 0; while (EOF!= (c= getchar())) ++nchars; if (isalpha(c)) putchar(c); else if ( \n == c) ++nlines; putchar( \n ); else putchar( ); printf("%d chars, %d lines\n", nchars, nlines); 2
3 5. Modify your program so that it also counts the number of words that appear in the input. Consider a single word to be a sequence of one or more letters../count < count.c 512 chars, 59 words, 21 lines int nchars= 0, nlines= 0, nwords= 0; int inword= 0, c= 0; while (EOF!= (c= getchar())) ++nchars; if ( \n == c) ++nlines; if (isalpha(c)) if (!inword) // transition from outside to inside word inword= 1; ++nwords; else inword= 0; // definitely outside a word printf("%d chars, %d words, %d lines\n", nchars, nwords, nlines); 6. alternating CaPs go way back to the early days of cyberculture. They were sometimes seen on Usenet newsgroups (an early Internet discussion forum) and FidoNet (a dial-up telephone bulletin board system) in the 1980s and 90s. To avoid wearing out your shift key, write a program that automates the process of alternating the case of text../alternate < alternate.c #include <StDiO.h> #InClUdE <ctype.h> InT main()...etc... 3
4 int uppit= 0, c= 0; while (EOF!= (c= getchar())) if (isalpha(c)) if (uppit) c= toupper(c); else // downit c= tolower(c); uppit=!uppit; putchar(c); // only toggles when we have a letter 7. While the above is true, everyone from back then knows that the cool way to mix letter case is to KeeP only THe VoWeLS in LoWeRCaSe. THiS improves LeGiBiLiTy WHiLe STiLL GeTTiNG THe PoiNT across. Modify your program accordingly../downvowels < downvowels.c #include <STDio.H> #include <CTYPe.H> int MaiN()...etc... int isvowel(int c) c= tolower(c); return a == c e == c i == c o == c u == c; int c= 0; while (EOF!= (c= getchar())) if (isvowel(c)) putchar(tolower(c)); else putchar(toupper(c)); 4
5 8. Write a function that calculates the factorial of its argument. (For extra kudos, make it recursive.) Test it by writing a loop in main that prints the integers from 0 to 19 along with their factorials../factorials factorial 0 = 1 factorial 1 = 1 factorial 2 = 2 factorial 3 = 6 factorial 4 = 24 factorial 5 = etc... int factorial(int n) if (n < 2) return 1; return n * factorial(n - 1); int i= 0; while (i < 20) printf("factorial %d = %d\n", i, factorial(i)); ++i; 9. Figure out why the program in the last question went off the rails towards the end, and then fix it. long factorial(long n) if (n < 2) return 1; return n * factorial(n - 1); long i= 0; while (i < 20) printf("factorial %ld = %ld\n", i, factorial(i)); ++i; Programming project: checksums Checksums are vital for ensuring the integrity of data. One of the simplest ways to create a checksum is to add up the integer values of all the characters in a message and use the final sum as a checksum. 10. Write a program that computes the additive checksum of its input characters and then prints it 5
6 when the message ends. To allow the final checksum to be included with the message (and to avoid arithmetic overflow) the checksum should be restricted to 8 bits. Therefore, perform your addition operation modulo 255 so that the checksum cannot exceed 254. Test your program by typing hello checksum(enter)ˆd into it../checksum hello checksum 150 don t forget to press Control-D after ENTER int sum= 0, c= 0; while (EOF!= (c= getchar())) sum= (sum + c) % 255; printf("%d\n", sum); Fletcher-16 checksum Test your checksum program again using the input hell ochecksum (the space and the o have been transposed). Your checksum is not sensitive to the order of the characters. 11. Make your checksum program sensitive to the order of the characters in the message. You can do this by calculating two checksums at the same time: The first checksum (let s call it sum1) is exactly as above; it sums the sequence of characters (modulo 255) in the message. The second checksum (let s call it sum2) uses the exact same algorithm to calculate a checksum for the sequence of values of sum1 after each character in the message has been processed. In other words, each time around the loop you update sum1 to be the sum of the characters seen so far, and then update sum2 to be the sum of the sum1 checksums seen so far. This is called the Fletcher-16 checksum, after its inventor and the number of bits of checksum (two 8-bit sums) that you have computed. At the end of the message print sum2, a space, and then sum1. Test your new checksum program using the same two input messages as above../fletcher16 hello checksum /fletcher16 hell ochecksum
7 int s2= 0, s1= 0, c= 0; while (EOF!= (c= getchar())) s1= (s1 + c) % 255; s2= (s2 + s1) % 255; printf("%d %d\n", s2, s1); If you are very bored, try to find two (different, non-trivial) messages that have the same checksum. Adler checksum The probability of a communication error modifying a (long) message without modifying its Fletcher- 16 checksum is about 1/255 2, or 1 in 65025, or %. Not spectacular. If you were to send one (long) message per second over an unreliable connection, how much time (on average) would elapse before a corrupted message is not detected by the Fletcher-16 algorithm? 9 hours 1 minute and 52.5 seconds 12. Modify your program to calculate the Adler checksum of the message. The algorithm is the same as for Fletcher, except that it uses a modulus of 65,521 and the two checksum values are initialised with 1 instead of 0. Test the new version on the same input../adler hello checksum /adler hell ochecksum int s2= 1, s1= 1, c= 0; while (EOF!= (c= getchar())) s1= (s1 + c) % 65521; s2= (s2 + s1) % 65521; printf("%d %d\n", s2, s1); How many bits of checksum are being calculated by your program now? 32 7
8 What is the probability of a communication error modifying a (long) message without modifying its Adler checksum? 1/ , or 1 in , or % If you were to send one (long) message per second over an unreliable connection, how much time (on average) would elapse before a corrupted message is not detected by the Adler algorithm? 68 years If you are very bored, should you entertain yourself trying to find two (different, non-trivial) messages that have the same Adler checksum? probably not 8
LESSON 4. The DATA TYPE char
LESSON 4 This lesson introduces some of the basic ideas involved in character processing. The lesson discusses how characters are stored and manipulated by the C language, how characters can be treated
More informationStrings. Daily Puzzle
Lecture 20 Strings Daily Puzzle German mathematician Gauss (1777-1855) was nine when he was asked to add all the integers from 1 to 100 = (1+100)+(2+99)+... = 5050. Sum all the digits in the integers from
More informationprogram structure declarations and definitions expressions and statements more standard I/O
imperative week 2 and definitions expressions and more standard I/O Ritsumeikan University College of Information Science and Engineering Ian Piumarta 1 / 21 : typical #include ... // library,
More informationIteration. Side effects
Computer programming Iteration. Side effects Marius Minea marius@cs.upt.ro 17 October 2017 Assignment operators We ve used the simple assignment: lvalue = expression lvalue = what can be on the left of
More informationWelcome! COMP s1. Programming Fundamentals
Welcome! 0 COMP1511 18s1 Programming Fundamentals COMP1511 18s1 Lecture 7 1 Strings Andrew Bennett chars arrays of chars strings 2 Before we begin introduce yourself to the
More informationWelcome! COMP s1 Lecture 7. COMP s1. Before we begin. Strings. Programming Fundamentals. Overview. Andrew Bennett
Welcome! COMP1511 18s1 Programming Fundamentals 0 COMP1511 18s1 Lecture 7 Strings Andrew Bennett 1 chars arrays of chars strings Before we begin 2 Overview after this lecture,
More informationC-programming. Goal To give basic knowledge of the C language. Some previous experiences in programming are assumed. Litterature
C-programming Goal To give basic knowledge of the C language. Some previous experiences in programming are assumed. Litterature I Bilting, Skansholm: Vägen till C, in Swedish, I Kernighan, Ritchie: The
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 informationReminder. Sign up for ee209 mailing list. Precept. If you haven t received any from ee209 yet Follow the link from our class homepage
EE209: C Examples 1 Reminder Sign up for ee209 mailing list If you haven t received any email from ee209 yet Follow the link from our class homepage Precept 7:00-8:15pm, every Wednesday 창의학습관 (Creative
More informationo Echo the input directly to the output o Put all lower-case letters in upper case o Put the first letter of each word in upper case
Overview of Today s Lecture Lecture 2: Character Input/Output in C Prof. David August COS 217 http://www.cs.princeton.edu/courses/archive/fall07/cos217/ Goals of the lecture o Important C constructs Program
More informationupper and lower case English letters: A-Z and a-z digits: 0-9 common punctuation symbols special non-printing characters: e.g newline and space.
The char Type The C type char stores small integers. It is 8 bits (almost always). char guaranteed able to represent integers 0.. +127. char mostly used to store ASCII character codes. Don t use char for
More informationTHE FUNDAMENTAL DATA TYPES
THE FUNDAMENTAL DATA TYPES Declarations, Expressions, and Assignments Variables and constants are the objects that a prog. manipulates. All variables must be declared before they can be used. #include
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 informationTail recursion. Decision. Assignment. Iteration
Computer Programming Tail recursion. Decision. Assignment. Iteration Marius Minea marius@cs.upt.ro 7 October 2014 Two ways of writing recursion unsigned max(unsigned a, unsigned b) { return a > b? a :
More informationChapter 2. Section 2.5 while Loop. CS 50 Hathairat Rattanasook
Chapter 2 Section 2.5 while Loop CS 50 Hathairat Rattanasook Loop Iteration means executing a code segment more than once. A loop is an iterative construct. It executes a statement 0..n times while a condition
More informationC Examples. Goals of this Lecture. Overview of this Lecture
C Examples 1 Goals of this Lecture Help you learn about: The fundamentals of C Overall program structure, control statements, character I/O functions Deterministic finite state automata (DFA) Expectations
More informationGoals of this Lecture
A Taste of C C 1 Goals of this Lecture Help you learn about: The basics of C Deterministic finite state automata (DFA) Expectations for programming assignments Why? Help you get started with Assignment
More informationCOMP s1 Lecture 1
COMP1511 18s1 Lecture 1 1 Numbers In, Numbers Out Andrew Bennett more printf variables scanf 2 Before we begin introduce yourself to the person sitting next to you why did
More informationData Types. Data Types. Integer Types. Signed Integers
Data Types Data Types Dr. TGI Fernando 1 2 The fundamental building blocks of any programming language. What is a data type? A data type is a set of values and a set of operations define on these values.
More informationscanf erroneous input Computer Programming: Skills & Concepts (CP) Characters Last lecture scanf error-checking our input This lecture
scanf erroneous input Computer Programming: Skills & Concepts (CP) Characters Ajitha Rajan What if the user types a word, when an integer is required? As already noted in tutorials: Apart from the action
More informationPrinceton University Computer Science 217: Introduction to Programming Systems. A Taste of C
Princeton University Computer Science 217: Introduction to Programming Systems A Taste of C C 1 Goals of this Lecture Help you learn about: The basics of C Deterministic finite-state automata (DFA) Expectations
More informationCSC 270 Survey of Programming Languages. C-String Values
CSC 270 Survey of Programming Languages C Lecture 4 Strings C-String Values The most basic way to represent a string of characters in C++ is using an array of characters that ends with a null byte. Example
More informationSWEN-250 Personal SE. Introduction to C
SWEN-250 Personal SE Introduction to C A Bit of History Developed in the early to mid 70s Dennis Ritchie as a systems programming language. Adopted by Ken Thompson to write Unix on a the PDP-11. At the
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 07: Data Input and Output Readings: Chapter 4 Input /Output Operations A program needs
More informationComputer Programming: Skills & Concepts (CP) Files in C
CP 20 slide 1 Tuesday 21 November 2017 Computer Programming: Skills & Concepts (CP) Files in C Julian Bradfield Tuesday 21 November 2017 Today s lecture Character oriented I/O (revision) Files and streams
More informationHomework 2 Answers. Due Date: Monday, April 29, 2002, at 11:59PM Points: 100
Homework 2 Answers Due Date: Monday, April 29, 2002, at 11:59PM Points: 100 UNIX System 1. (10 points) What program is running as process #1? Type ps ax and look for the process with a PID of 1. Then look
More informationAlgorithms, Data Structures, and Problem Solving
Algorithms, Data Structures, and Problem Solving Masoumeh Taromirad Hamlstad University DT4002, Fall 2016 Course Objectives A course on algorithms, data structures, and problem solving Learn about algorithm
More informationSample Basic C Programs
Sample Basic C Programs Program #1: Fahrenheit and Celsius, Version 1 This prints a table with two columns, the left being Fahrenheit degrees, and the right the corrsponding Celsius temperatures. * print
More informationComputer Programming: Skills & Concepts (CP1) Files in C. 18th November, 2010
Computer Programming: Skills & Concepts (CP1) Files in C 18th November, 2010 CP1 26 slide 1 18th November, 2010 Today s lecture Character oriented I/O (revision) Files and streams Opening and closing files
More informationPrinceton University Computer Science 217: Introduction to Programming Systems. Goals of this Lecture. A Taste of C. Agenda.
Princeton University Computer Science 217: Introduction to Programming Systems Goals of this Lecture A Taste of C C Help you learn about: The basics of C Deterministic finite-state automata (DFA) Expectations
More informationEK131 E5 Introduction to Engineering
EK131 E5 Introduction to Engineering Lecture 5: Conditional, Functions, Recursions Prof. Michel A. Kinsy Conditional execution Conditional constructs provide the ability to control whether a statement
More informationStructured programming
Exercises 2 Version 1.0, 22 September, 2016 Table of Contents 1. Simple C program structure................................................... 1 2. C Functions..................................................................
More informationBerner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2
Control Structures for C CS Basics 10) C Control Structures Emmanuel Benoist Fall Term 2016-17 Data Input and Output Single character In and Output Writing output data Control Statements Branching Looping
More informationEC 413 Computer Organization
EC 413 Computer Organization C/C++ Language Review Prof. Michel A. Kinsy Programming Languages There are many programming languages available: Pascal, C, C++, Java, Ada, Perl and Python All of these languages
More informationC Input/Output. Before we discuss I/O in C, let's review how C++ I/O works. int i; double x;
C Input/Output Before we discuss I/O in C, let's review how C++ I/O works. int i; double x; cin >> i; cin >> x; cout
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 informationRepresenting and Manipulating Integers. Jo, Heeseung
Representing and Manipulating Integers Jo, Heeseung Unsigned Integers Encoding unsigned integers B [ bw 1, bw 2,..., b0 ] x = 0000 0111 1101 0011 2 D( B) w 1 b i i 0 2 i D(x) = 2 10 + 2 9 + 2 8 + 2 7 +
More informationCSC 1107: Structured Programming
CSC 1107: Structured Programming J. Kizito Makerere University e-mail: www: materials: e-learning environment: office: jkizito@cis.mak.ac.ug http://serval.ug/~jona http://serval.ug/~jona/materials/csc1107
More informationCSE 374 Midterm Exam 11/2/15. Name Id #
Name Id # There are 8 questions worth a total of 100 points. Please budget your time so you get to all of the questions. Keep your answers brief and to the point. The exam is closed book, closed notes,
More informationArithmetic Operators. Portability: Printing Numbers
Arithmetic Operators Normal binary arithmetic operators: + - * / Modulus or remainder operator: % x%y is the remainder when x is divided by y well defined only when x > 0 and y > 0 Unary operators: - +
More informationWhen you add a number to a pointer, that number is added, but first it is multiplied by the sizeof the type the pointer points to.
Refresher When you add a number to a pointer, that number is added, but first it is multiplied by the sizeof the type the pointer points to. i.e. char *ptr1 = malloc(1); ptr1 + 1; // adds 1 to pointer
More informationRECURSION 7. 1 Recursion COMPUTER SCIENCE 61A. October 15, 2012
RECURSION 7 COMPUTER SCIENCE 61A October 15, 2012 1 Recursion We say a procedure is recursive if it calls itself in its body. Below is an example of a recursive procedure to find the factorial of a positive
More informationLecture 02 C FUNDAMENTALS
Lecture 02 C FUNDAMENTALS 1 Keywords C Fundamentals auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void
More information8. Characters and Arrays
COMP1917 15s2 8. Characters and Arrays 1 COMP1917: Computing 1 8. Characters and Arrays Reading: Moffat, Section 7.1-7.5 ASCII The ASCII table gives a correspondence between characters and numbers behind
More informationCS113: Lecture 7. Topics: The C Preprocessor. I/O, Streams, Files
CS113: Lecture 7 Topics: The C Preprocessor I/O, Streams, Files 1 Remember the name: Pre-processor Most commonly used features: #include, #define. Think of the preprocessor as processing the file so as
More informationAnnouncements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop
Announcements Lab Friday, 1-2:30 and 3-4:30 in 26-152 Boot your laptop and start Forte, if you brought your laptop Create an empty file called Lecture4 and create an empty main() method in a class: 1.00
More informationValues (a.k.a. data) representation. Advanced Compiler Construction Michel Schinz
Values (a.k.a. data) representation Advanced Compiler Construction Michel Schinz 2016 03 10 The problem Values representation A compiler must have a way of representing the values of the source language
More informationValues (a.k.a. data) representation. The problem. Values representation. The problem. Advanced Compiler Construction Michel Schinz
Values (a.k.a. data) representation The problem Advanced Compiler Construction Michel Schinz 2016 03 10 1 2 Values representation The problem A compiler must have a way of representing the values of the
More informationDay14 A. Young W. Lim Tue. Young W. Lim Day14 A Tue 1 / 15
Day14 A Young W. Lim 2017-12-26 Tue Young W. Lim Day14 A 2017-12-26 Tue 1 / 15 Outline 1 Based on 2 C Strings (1) Characters and Strings Unformatted IO Young W. Lim Day14 A 2017-12-26 Tue 2 / 15 Based
More informationPointers cause EVERYBODY problems at some time or another. char x[10] or char y[8][10] or char z[9][9][9] etc.
Compound Statements So far, we ve mentioned statements or expressions, often we want to perform several in an selection or repetition. In those cases we group statements with braces: i.e. statement; statement;
More information1.7 Recursion. Department of CSE
1.7 Recursion 1 Department of CSE Objectives To learn the concept and usage of Recursion in C Examples of Recursion in C 2 Department of CSE What is recursion? Sometimes, the best way to solve a problem
More informationDiscussion 1H Notes (Week 4, April 22) TA: Brian Choi Section Webpage:
Discussion 1H Notes (Week 4, April 22) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs31 Passing Arguments By Value and By Reference So far, we have been passing in
More informationCSE 374 Midterm Exam Sample Solution 2/6/12
Question 1. (12 points) Suppose we have the following subdirectory structure inside the current directory: docs docs/friends docs/friends/birthdays.txt docs/friends/messages.txt docs/cse374 docs/cse374/notes.txt
More informationCSC 1107: Structured Programming
CSC 1107: Structured Programming J. Kizito Makerere University e-mail: www: materials: e-learning environment: office: alt. office: jkizito@cis.mak.ac.ug http://serval.ug/~jona http://serval.ug/~jona/materials/csc1107
More informationThe C Programming Language Part 2. (with material from Dr. Bin Ren, William & Mary Computer Science)
The C Programming Language Part 2 (with material from Dr. Bin Ren, William & Mary Computer Science) 1 Overview Input/Output Structures and Arrays 2 Basic I/O character-based putchar (c) output getchar
More informationStrings. Steven R. Bagley
Strings Steven R. Bagley Recap Programs are a series of statements Defined in functions Functions, loops and conditionals can alter program flow Data stored in variables or arrays Or pointed at by pointers
More informationFunctions. Chapter 5
Functions Chapter 5 Function Definition type function_name ( parameter list ) declarations statements For example int factorial(int n) int i, product = 1; for (i = 2; I
More information16.216: ECE Application Programming Fall 2013
16.216: ECE Application Programming Fall 2013 Exam 1 Solution 1. (20 points, 5 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling
More informationRECURSION, RECURSION, (TREE) RECURSION! 2
RECURSION, RECURSION, (TREE) RECURSION! 2 COMPUTER SCIENCE 61A February 5, 2015 A function is recursive if it calls itself. Below is a recursive factorial function. def factorial(n): if n == 0 or n ==
More informationFundamentals of Programming. Lecture 11: C Characters and Strings
1 Fundamentals of Programming Lecture 11: C Characters and Strings Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department The lectures of this
More informationC Functions. CS 2060 Week 4. Prof. Jonathan Ventura
CS 2060 Week 4 1 Modularizing Programs Modularizing programs in C Writing custom functions Header files 2 Function Call Stack The function call stack Stack frames 3 Pass-by-value Pass-by-value and pass-by-reference
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 informationI2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub
Lebanese University Faculty of Science Computer Science BS Degree I2204 ImperativeProgramming Semester: 1 Academic Year: 2018/2019 Credits: 5 Dr Antoun Yaacoub I2204- Imperative Programming Schedule 08h00-09h40
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 informationCSE 230 Intermediate Programming in C and C++ Recursion
CSE 230 Intermediate Programming in C and C++ Recursion Fall 2017 Stony Brook University Instructor: Shebuti Rayana What is recursion? Sometimes, the best way to solve a problem is by solving a smaller
More informationDay14 A. Young W. Lim Thr. Young W. Lim Day14 A Thr 1 / 14
Day14 A Young W. Lim 2017-11-02 Thr Young W. Lim Day14 A 2017-11-02 Thr 1 / 14 Outline 1 Based on 2 C Strings (1) Characters and Strings Unformatted IO Young W. Lim Day14 A 2017-11-02 Thr 2 / 14 Based
More informationFunction Calls. Tom Kelliher, CS 220. Oct. 24, SPIM programs due Wednesday. Refer to homework handout for what to turn in, and how.
Function Calls Tom Kelliher, CS 220 Oct. 24, 2011 1 Administrivia Announcements Assignment SPIM programs due Wednesday. Refer to homework handout for what to turn in, and how. From Last Time Outline 1.
More informationint main(void) { int a, b, c; /* declaration */
&KDSWHULQ$%& #include int main(void) { int a, b, c; /* declaration */ float x, y=3.3, z=-7.7; /* declaration with initialization */ printf("input two integers: "); /* function call */ scanf("%d%d",
More informationLearning C Language. For BEGINNERS. Remember! Practice will make you perfect!!! :D. The 6 th week / May 24 th, Su-Jin Oh
Remember! Practice will make you perfect!!! :D Learning C Language For BEGINNERS The 6 th week / May 24 th, 26 Su-Jin Oh sujinohkor@gmail.com 1 Index Basics Operator Precedence Table and ASCII Code Table
More informationPrograms in memory. The layout of memory is roughly:
Memory 1 Programs in memory 2 The layout of memory is roughly: Virtual memory means that memory is allocated in pages or segments, accessed as if adjacent - the platform looks after this, so your program
More informationSOFTWARE Ph.D. Qualifying Exam Spring Consider the following C program which consists of two function definitions including the main function.
(i) (5 pts.) SOFTWARE Ph.D. Qualifying Exam Spring 2018 Consider the following C program which consists of two function definitions including the main function. #include int g(int z) { int y
More informationFundamental Data Types. CSE 130: Introduction to Programming in C Stony Brook University
Fundamental Data Types CSE 130: Introduction to Programming in C Stony Brook University Program Organization in C The C System C consists of several parts: The C language The preprocessor The compiler
More informationLecture 10: Recursive Functions. Computer System and programming in C 1
Lecture 10: Recursive Functions Computer System and programming in C 1 Outline Introducing Recursive Functions Format of recursive Functions Tracing Recursive Functions Examples Tracing using Recursive
More informationFundamentals of Programming
Fundamentals of Programming Lecture 4 Input & Output Lecturer : Ebrahim Jahandar Borrowed from lecturer notes by Omid Jafarinezhad Outline printf scanf putchar getchar getch getche Input and Output in
More informationAssoc. Prof. Dr. Tansu FİLİK
Assoc. Prof. Dr. Tansu FİLİK Previously on Bil 200 Low-Level I/O getchar, putchar, getc, putc Control Structures if-else, switch-case, loops (while, dowhile, for loops) for loop (generic) A disturbingly
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 informationPDF created with pdffactory Pro trial version Recursion
Recursion Recursive procedures Recursion: A way of defining a concept where the text of the definition refers to the concept that is being defined. (Sounds like a buttery butter, but read on ) In programming:
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi CE 43 - Fall 97 Lecture 4 Input and Output Department of Computer Engineering Outline printf
More informationC Pointers. CS 2060 Week 6. Prof. Jonathan Ventura
CS 2060 Week 6 1 Pointer Variables 2 Pass-by-reference 3 const pointers 4 Pointer arithmetic 5 sizeof 6 Arrays of pointers 7 Next Time Pointers The pointer is one of C s most powerful and important features.
More informationCSc 372. Comparative Programming Languages. 4 : Haskell Basics. Department of Computer Science University of Arizona
1/40 CSc 372 Comparative Programming Languages 4 : Haskell Basics Department of Computer Science University of Arizona collberg@gmail.com Copyright c 2013 Christian Collberg 2/40 The Hugs Interpreter The
More informationRECURSION, RECURSION, (TREE) RECURSION! 3
RECURSION, RECURSION, (TREE) RECURSION! 3 COMPUTER SCIENCE 61A September 18, 2013 A function is recursive if it calls itself. Below is recursive factorial function. def factorial(n): if n == 0 or n ==
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 informationDiscussion 2C Notes (Week 5, February 4) TA: Brian Choi Section Webpage:
Discussion 2C Notes (Week 5, February 4) TA: Brian Choi (schoi@cs.ucla.edu) Section Webpage: http://www.cs.ucla.edu/~schoi/cs32 Recursion A recursion is a function-writing technique where the function
More informationSchool of Computer Science Introduction to Algorithms and Programming Winter Midterm Examination # 1 Wednesday, February 11, 2015
Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 1 Wednesday, February 11, 2015 Marking Exemplar Duration of examination: 75
More informationChapter 7 Functions. Now consider a more advanced example:
Chapter 7 Functions 7.1 Chapter Overview Functions are logical groupings of code, a series of steps, that are given a name. Functions are especially useful when these series of steps will need to be done
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 information2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B. 26 C. 31 D. 48
1. How can you make an infinite loop in C? A. while(1) { } B. loop:... goto loop; C. for(;;) { } D. All answers are right 2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B.
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 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. An important part of the solution to any problem is the presentation of the results. In this chapter, we discuss in depth the formatting features
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 informationDEPARTMENT OF MATHS, MJ COLLEGE
T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,
More informationRECURSION. Data Structures & SWU Rachel Cardell- Oliver
RECURSION Data Structures & Algorithms @ SWU Rachel Cardell- Oliver Hello. This is Rachel Cardell-Oliver from the University of Western Australia. In this lecture I will give a brief introduction to the
More informationSyntax Analysis Part VIII
Syntax Analysis Part VIII Exercises: Bison Text adapted from : Marinella Sciortino, Università di Palermo Exercise I Write an interpreter for hand calculator with the following operators +, - (binary)
More informationStructured programming
Exercises 8 Version 1.0, 1 December, 2016 Table of Contents 1. Recursion................................................................... 1 1.1. Problem 1...............................................................
More informationCS 223: Data Structures and Programming Techniques. Exam 2
CS 223: Data Structures and Programming Techniques. Exam 2 Instructor: Jim Aspnes Work alone. Do not use any notes or books. You have approximately 75 minutes to complete this exam. Please write your answers
More informationProgramming in C. Session 2. Seema Sirpal Delhi University Computer Centre
Programming in C Session 2 Seema Sirpal Delhi University Computer Centre Input & Output Input and Output form an important part of any program. To do anything useful your program needs to be able to accept
More informationVariables and literals
Demo lecture slides Although I will not usually give slides for demo lectures, the first two demo lectures involve practice with things which you should really know from G51PRG Since I covered much of
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationDepartment of Computer Science & Engineering Indian Institute of Technology Kharagpur. Practice Sheet #05
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Topic: Functions in C Practice Sheet #05 Date: 30-01-2017 Instructions: For the questions consisting code segments,
More informationGuide for The C Programming Language Chapter 1. Q1. Explain the structure of a C program Answer: Structure of the C program is shown below:
Q1. Explain the structure of a C program Structure of the C program is shown below: Preprocessor Directives Global Declarations Int main (void) Local Declarations Statements Other functions as required
More information