# IC221: Systems Programming 06-Week Written Exam [SOLUTIONS]

Save this PDF as:

Size: px
Start display at page:

## Transcription

1 IC221: Systems Programming 06-Week Written Exam [SOLUTIONS] February 12, 2014 Answer the questions in the spaces provided on the question sheets. If you run out of room for an answer, continue on the back of the page. Show all work, but please be legible. Microscopic writing will not be graded. You are allowed a single crib sheet for this exam on one-side of an 8.5 x11 sheet of paper, hand written. You must turn in your crib sheet with your exam. Name: Section: Alpha: Question Points Score Total: 100

2 1. Consider the following program: // array of integers described in hex int a [4] = {0 x , // ( hint : two hex digits 0x , // represents one byte ) 0x000007d3, 0 x000005d4 ; (a) [5 points] Complete the memory diagram below for the pointers p, q, and w. int * p = a +3; int * q = p -2; char * w = ( char *) &(a [1]); /* MARK */ // print output as hex values with leading 0x printf ("*p = 0x%x\n", *p); printf ("q [1] = 0x%x\n", q [1]); printf ("w [0] = 0x%x\n", w [0]); return 0; (b) [3 points] What is the output of the program for *p and q[1]: *p = 0 x000005d4 [+1 if right] q [1] = 0 x000007d3 [+1 if right (+3 for both right)] (c) [3 points] Assume the address of the array a is at 0x0bffff04 what is the address of the second integer in the array, i.e., &a[1] or a+1? Explain. 0x0bffff08 or 4 more than the address of a because a is an integer pointer, and adding 1 goes to the next integer, which is 4 bytes further. [+2 for answer, +1 for explanation] (d) [3 points] Explain why the pointer cast at the line MARK is valid with respect to the data size of a pointer type? While the underlying data being referenced does not change, what does change when using a different pointer type? Casting between pointers is valid because the pointer value does not change; however, it does change how we interpret the underlying data. Instead of treating the data is an integer, we now treat it as an array of characters. [+2 for casting pointer; +1 for interpretation] (e) [3 points] What is the output for the w[0] output? (Hint: it should be one byte or two hex digits.) w [0] = 0 x40 [+3 if right, +1 for 0x00] (f) [3 points] Which of the byte orderings, Big Endian or Little Endian, is used on most computers? Which has the most significant byte first, that is the byte most to the left, reading bytes left to right? Little Endian is used on most computers, but Big Endian has the most significant byte first. [+2 for part 1 and +1 for part 2] Page 2 of 6

4 3. (a) [3 points] Consider the program below: char str [12]; if( argc < 2) // require a command return 1; // line argument // copy the argument to str strcpy (str, argv [1]); // print it out printf (" arg [1]: %s\n",str ); return 0; What is the longest command line argument, in terms of the number of characters, that will not overflow the character array str during the strcpy? Explain briefly? The longest can be 11 characters long because the 12th must be NULL to be a string. [+2 for 11, +1 for explain] (b) [3 points] What string library function can you replace strcpy() with to ensure that str is not overflowed? Provide the function and its arguments below: strncpy(str,arg[1],11) [+1 for strncpy, +2 for 11 length, or +2 for 12 length] [+2 for strncpy with args in wrong order] (c) [4 points] What is the output of the program to the right? strlen(s1): 19 sizeof(s1): 20 strlen(p): 19 sizeof(p): 8 [+1 for each] char s1 [] = " Go Navy! Beat Army!"; char *p = s1; printf (" strlen (s1 ): %d\n",strlen (s1 )); printf (" sizeof (s1 ): %d\n",sizeof (s1 )); printf (" strlen (p): %d\n",strlen (p )); printf (" sizeof (p): %d\n",sizeof (p )); (d) [3 points] What is the difference between sizeof() and strlen()? sizeof() measures how much memory is required, strlen() measures the length of the string up to the null terminator [+1 for sizeof(), +1 for strlen(), +3 for both with good description] (e) [4 points] Complete the function below which should return the equivalent of the strlen() function: int my_strlen ( char * string ) { int len = 0; while ( * string ++) len ++; [+2 for recognize null termination, +1 for loop, +1 for increment len] return len ; (f) [3 points] What does the following code snippet print: char data []= " Don t\0 Panic!\0 And bring a towel!\0 "; printf ("%s\n",data +8); Panic because %s will format until the null [+1 for sizeof(), +1 for strlen()] Page 4 of 6

5 4. For this question, assume you have a comma separated file (database.csv) with the following fields: First Name, Last Name, Street Address, City, State, Phone Number The state is a two-character postal code (e.g. MD for Maryland and CA for California). The phone number is always formatted like The database.csv is not corrupted, and none of the fields may have a comma in it. (a) [3 points] Write a command line to count the number of unique states in database.csv. Your command should contain pipes and/or redirects. cut -d "," -f 5 database. csv sort uniq wc [+2 for having all cut, sort, uniq, and wc, +1 for right arguments to cut] (b) [5 points] What are the three guiding principles of the Unix design philosophy? Explain how the command above achieves these principles. (1) Write programs that do one thing and do that one thing well (2) Write program that work well together (3) Write programs to handle text streams [+1 for each principle] (c) [3 points] Write a single command line to save all the phone numbers to a file called phone.txt. Your command may contain pipes and/or redirects. cut -d "," -f 7 database. csv > phone. txt [+1 for cut, +2 for redirection] (d) [3 points] Suppose there is a second database file, moredata.csv, that has the same format. Write a command to append the phone numbers from moredata.csv to the end of the phone.txt file you created in the previous question. Your command may contain pipes and/or redirects. cut -d "," -f 7 moredata. csv >> phone. txt [+2 append redirection, +1 for cut] (e) [3 points] Suppose you have a whole directory of database files formatted like above with names from database.00.csv, database.01.csv, database.02.csv and up to database.99.csv. Write a single glob with wc to count the number of lines in the database files number in the 10 s, 30 s, and 70 s, but not database file 15, 35, or 75. wc -l database.[137][^5]. csv [+1 for using [ ], +1 for 137, +1 for not 5] (f) [3 points] Consider now that you are currently in a directory that contains five sub-directories full of database files numbered between 00 and 99, like above. Each the directories have the following naming scheme: data 2015, data 2016 data.2017, data Write a single glob with wc to count the number of lines in all the databases found in year 2015 and 2017 sub-directories? (Note: the separators and. are used in the sub-directory names) wc -l data?201[57]/* [+2 for? +1 for [57]] Page 5 of 6

6 5. The questions refers to the program below: typedef struct { int left ; int right ; pair_t ; int num, i; if ( argc < 2 ){ fprintf ( stderr, "%s: ERROR : require number of pairs \n", argv [0]); num = atoi ( argv [1]); /* MARK 1 */ pair_t * pairs [ num ]; printf (" Enter space separated pairs \n"); for ( i =0; i<num ; i++ ){ pairs [i] = malloc ( sizeof ( pair_t ); scanf ("%d %d", &( pairs [i]-> left )), &( pairs [i]-> right )); /* END MARK 1 */ for ( i =0; i<num ;i ++){ printf ("(%d,%d)\n", pairs [i]->left, pairs [i]->right ); /* MARK 2 */ return 0; (a) [3 points] In the program to the left, circle the command(s) that write to standard output, square the command(s) that read from standard input, and underline the command(s) that write to standard error. (b) [3 points] Suppose the program is compiled to pair-reader and executed like such, without any additional arguments, what is the output of the program?./ pair - reader./pair-reader: ERROR: Require number of pairs [+2 for ERROR line, +1 for./pair-reader] (c) [2 points] What is the output of the program when executed as follows: echo " "./ pair - reader 2 (1,8) (5,4) [+1 for each line] (d) [5 points] The program has a memory leak, describe the memory leak below, and provide the code to be inserted at MARK 2 that will properly deallocate all the memory: the malloc() d pairs are not free() ed for (i =0;i<num ;i ++){ free ( pairs [i ]); [+2 for explanation, +3 for code] (e) [3 points] Consider replacing the MARK 1 portion of the program with the following function call: pairs = get_pairs ( num ); where get pairs() is defined as follows pairs_t * get_pairs ( int num ){ pair_t * pairs [ num ]; /* MARK 3 */ printf (" Enter space separated pairs \n"); for ( i =0; i<num ; i++ ){ pairs [i] = malloc ( sizeof ( pair_t ); scanf ("%d %d", &( pairs [i]-> left )), &( pairs [i]-> right )); Describe what is wrong with this modification to the program with respect to the program memory layout? Be sure to mention stack and heap. The pairs array is allocated on the stack in the function, after the function returns it is deallocated, while data allocated on the heap persist. [+2 stack allocation, +1 heap description] return pairs ; (f) [4 points] Rewrite the line of code at MARK 3 to fix the error: pair t ** pairs = calloc(num, sizeof(pair t *)) [+2 for right type for pairs, +1 for calloc/malloc, +1 for sizeof a pointer to a pair] Page 6 of 6

### Common Errors in C. David Chisnall. February 15, 2011

Common Errors in C David Chisnall February 15, 2011 The C Preprocessor Runs before parsing Allows some metaprogramming Preprocessor Macros Are Not Functions The preprocessor performs token substitution

### Problem 2 Add the two 2 s complement signed 8-bit values given below, and express your answer in decimal.

Problem 1 Recall the definition of root in project 1. (The declaration of struct entrynode appears below.) struct entrynode * root; Give the type of each of the following expressions. The answer may be

### strsep exercises Introduction C strings Arrays of char

strsep exercises Introduction The standard library function strsep enables a C programmer to parse or decompose a string into substrings, each terminated by a specified character. The goals of this document

### Lecture 03 Bits, Bytes and Data Types

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

### 6.087 Lecture 5 January 15, 2010

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

### M3-R4: PROGRAMMING AND PROBLEM SOLVING THROUGH C LANGUAGE

M3-R4: PROGRAMMING AND PROBLEM SOLVING THROUGH C LANGUAGE NOTE: IMPORTANT INSTRUCTIONS: 1. Question Paper in English and Hindi and Candidate can choose any one language. 2. In case of discrepancies in

### Exam in EDAA25 C Programming

Exam in EDAA25 C Programming October 30, 2014, 14-19 Inga hjälpmedel! Examinator: Jonas Skeppstedt Grading instructions In general: assess if a function or program works as intended while ignoring syntax

### Example Solution to Exam in EDA150 C Programming

Example Solution to Exam in EDA150 C Programming Janurary 12, 2011, 14-19 Inga hjälpmedel! Examinator: Jonas Skeppstedt, tel 0767 888 124 30 out of 60p are needed to pass the exam. General Remarks A function

### A Rudimentary Intro to C programming

A Rudimentary Intro to C programming Wayne Goddard School of Computing, Clemson University, 2008 Part 4: Strings and Pointers 18 Strings.................................... D1 19 String Functions..............................

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

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

### an array of 10 characters would require 10 bytes of storage for data. On the other hand, would require 10*sizeof(int) amount of storage.

Lecture 05 C Arrays & pointers In this lecture Introduction to 1D arrays Array representation, access and updates Passing arrays to functions Array as a const pointer Dynamic arrays and resizing Introduction

### Standard printing function in C is printf Prints everything numbers, strings, etc. May be complex to use. Standard C library is called libc

Arrays and Structs and Pointers, Oh My! Programming in C Input and output Using printf Standard input and output Pointers Arrays Structures Combining these things together Arrays and Structs and Pointers,

### Illustration 1: Diagram of program function and data flow

The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline

### Strings in C++ and Java. Questions:

Strings in C++ and Java Questions: 1 1. What kind of access control is achieved by the access control modifier protected? 2 2. There is a slight difference between how protected works in C++ and how it

### Stacks. Linear data structures

Stacks Linear data structures Collection of components that can be arranged as a straight line Data structure grows or shrinks as we add or remove objects ADTs provide an abstract layer for various operations

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

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

### Format String Vulnerability. printf ( user input );

Lecture Notes (Syracuse University) Format String Vulnerability: 1 Format String Vulnerability printf ( user input ); The above statement is quite common in C programs. In the lecture, we will find out

### Molecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct

Dr. Martin O. Steinhauser University of Basel Graduate Lecture Spring Semester 2014 Molecular Dynamics Simulations with Applications in Soft Matter Handout 7 Memory Diagram of a Struct Friday, 7 th March

### COMP 321: Introduction to Computer Systems

Assigned: 1/21/16, Due: 2/4/16, 11:55 PM Important: This project must be done individually. Be sure to carefully read the course policies for assignments (including the honor code policy) on the assignments

### Arrays and Pointers (part 1)

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

### Introduction to C. Memory Model. Instructor: Yin Lou 02/04/2011. Introduction to C CS 2022, Spring 2011, Lecture 6

Introduction to C Memory Model Instructor: Yin Lou 02/04/2011 Recap: Pointers int *ptr; Pointers are variables that store memory address of other variables Type of variable pointed to depends on type of

### The char Data Type. Character and String Processing. Another Example /* Capitalize all lowercase letters */ while ((c = getchar())!

Character and String Processing CSE 130: Introduction to C Programming Spring 2005 The char Data Type A char value can be thought of as either a character or a small integer printf( %d, a ); /* prints

Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse

### 1 Problem Description

CSCE2014 Programming Foundations II Lab Two (week 9-9 to 9-13) By Wing Ning Li 1 Problem Description We have introduced and studied the concept of pointer variable and learned that the name of an array

### (a) Arrays. Definition

Part 3: Aggregate Data Types (a) Arrays Definition An array is a sequence of objects of a given type Therefore it is not a type of its own It is rather an organizational concept Array elements can be accessed

### Assignment 4: Symbol Table

Assignment 4: Symbol Table 1. Introduction In this assignment you will write a sixth implementation of the storage system used by the word frequency program shown in lecture. We provide a file containing

### File Handling. CS10001: Programming & Data Structures

File Handling CS10001: Programming & Data Structures Pallab Dasgupta Professor, Dept. of Computer Sc. & Engg., Indian Institute of Technology Kharagpur 1 What is a file? A named collection of data, stored

### Outline. Compiling, interpreting, and running. The C Programming Language. Java vs. C. Administrative trivia Goals of the class Introduction to C

Outline ompiling, interpreting, and running Administrative trivia Goals of the class Introduction to 1 2 The Programming Language Java vs. Systems programming language Originally used to write Unix and

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

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

### Going from Python to C

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

### COURSE CONTENTS. 3 -months 8:30 am - 3:30 pm Mon - Fri. [Admissions strictly through written test based on Basic C and Aptitude]

COURSE CONTENTS 3 -months 8:30 am - 3:30 pm Mon - Fri [Admissions strictly through written test based on Basic C and Aptitude] Subhash Programming Classes Revision: January, 2016 All rights reserved Call:

### 5 Arrays and Pointers

5 Arrays and Pointers 5.1 One-dimensional arrays Arrays offer a convenient way to store and access blocks of data. Think of arrays as a sequential list that offers indexed access. For example, a list of

### CPSC 213. C vs. Java. Introduction to Computer Systems. Reading. Java Hello World... C Hello World... C, Pointers, and Dynamic Allocation.

Reading CPSC 213 Textbook New to C, Understanding Pointers, The malloc and free Functions, Why Dynamic Memory Allocation 2ed: "New to C" sidebar of 34, 310, 991-992 1ed: "New to C" sidebar of 34, 311,1091-1092

### 1) String initialization can be carried out in the following ways, similar to that of an array :

Strings in C : Overview : String data type is not supported in C Programming. String is essentially a collection of characters to form particular word. String is useful whenever we accept name of the person,

### Linux/UNIX System Programming. POSIX Shared Memory. Michael Kerrisk, man7.org c 2015. February 2015

Linux/UNIX System Programming POSIX Shared Memory Michael Kerrisk, man7.org c 2015 February 2015 Outline 22 POSIX Shared Memory 22-1 22.1 Overview 22-3 22.2 Creating and opening shared memory objects 22-10

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

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

### Basic Common Unix commands: Change to directory d

Basic Common Unix commands: cd d Change to directory d mkdir d rmdir d mv f1 [f2...] d mv d1 d2 ls [d] [f...] ls -1 [f...] vi [f] emacs [f] more f cp f1 f2 mv f1 f2 rm f gcc [-o f1] f2 gnuplot Create new

### Memory management. Announcements. Safe user input. Function pointers. Uses of function pointers. Function pointer example

Announcements Memory management Assignment 2 posted, due Friday Do two of the three problems Assignment 1 graded see grades on CMS Lecture 7 CS 113 Spring 2008 2 Safe user input If you use scanf(), include

### Introduction to C Programming S Y STEMS

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

### Environnements et Outils de Développement Cours 6 Building with make

Environnements et Outils de Développement Cours 6 Building with make Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot URL http://upsilon.cc/zack/teaching/1314/ed6/

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

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

### Figure 1 Ring Structures

CS 460 Lab 10 The Token Ring I Tong Lai Yu ( The materials here are adopted from Practical Unix Programming: A Guide to Concurrency, Communication and Multithreading by Kay Robbins and Steven Robbins.

### 05 Case Study: C Programming Language

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

### The C Programming Language course syllabus associate level

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

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

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

### CIS 190: C/C++ Programming. Lecture 1 Introduction and Getting Started

CIS 190: C/C++ Programming Lecture 1 Introduction and Getting Started This course will teach you the basics of C and C++ give you more programming experience be appropriate for majors and non-majors not

### UNIT-1 PART-A UNIT-2 PART-A

UNIT-1 1. Define computer? 2. Discuss briefly about input and output devices? 3. What is a RAM? 4. What is arom? 5. What is a compiler? 6. Write about a linker? 7. List any 5 key wordsof c? 8. Illustrate

### Tutorial on C Language Programming

Tutorial on C Language Programming Teodor Rus rus@cs.uiowa.edu The University of Iowa, Department of Computer Science Introduction to System Software p.1/64 Tutorial on C programming C program structure:

### CS /18-243, Fall 2009 Exam 2

Andrew login ID: Full Name: Recitation Section: CS 15-213/18-243, Fall 2009 Exam 2 Thursday, October 29th, 2009 Instructions: Make sure that your exam is not missing any sheets, then write your full name,

### String Processing in C

String Processing in C C Programming and Software Tools N.C. State Department of Computer Science Standard Library: Many functions for checking whether a character is a digit, is upper case,

### File Handling. What is a file?

File Handling 1 What is a file? A named collection of data, stored in secondary storage (typically). Typical operations on files: Open Read Write Close How is a file stored? Stored as sequence of bytes,

### C Strings. Handout #06 January 23, CS106L Winter Introduction

CS106L Winter 2007-2008 Handout #06 January 23, 2008 C Strings Introduction C strings are very difficult to work with. Very difficult. In fact, they are so difficult to work with that C++ programmers invented

### C Programming 1. C Programming

C Programming 1 1 C Programming 1. Who developed the C language? Dennis M.Ritchie in 1972 2. What type of language is C? Semi-high level language 3. What is main()? The main() is a special function used

### YOU MUST TURN IN EVERY PAGE OF THIS EXAM including the ref card page

CSE2421 MIDTERM Spring 2013 NAME SCORE / 100 FYI: There are no compiler errors in the code presented on this exam. If you think there is, please bring it to my attention. NOTE: If there is not an answer

### 3) Some coders debug their programs by placing comment symbols on some codes instead of deleting it. How does this aid in debugging?

Freshers Club Important 100 C Interview Questions & Answers 1) How do you construct an increment statement or decrement statement in C? There are actually two ways you can do this. One is to use the increment

### C Programming Strings. Mrs. Hajah T. Sueno, MSIT instructor

C Programming Strings Mrs. Hajah T. Sueno, MSIT instructor String Basics 3 Characters Characters are small integers (0-255) Character constants are integers that represent corresponding characters. 0 48

### Heap Overflows and Double-Free Attacks

Heap Overflows and Double-Free Attacks Yan Huang Credits: Vitaly Shmatikov Format Strings Variable Arguments in C In C, can define a function with a variable number of arguments - Example: void printf(const

### Project 2: Bejeweled

Project 2: Bejeweled Project Objective: Post: Tuesday March 26, 2013. Due: 11:59PM, Monday April 15, 2013 1. master the process of completing a programming project in UNIX. 2. get familiar with command

### C programming: exercise sheet L2-STUE (2011-2012)

C programming: exercise sheet L2-STUE (2011-2012) Algorithms and Flowcharts Exercise 1: comparison Write the flowchart and associated algorithm that compare two numbers a and b. Exercise 2: 2 nd order

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

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

### System Calls Related to File Manipulation

KING FAHD UNIVERSITY OF PETROLEUM AND MINERALS Information and Computer Science Department ICS 431 Operating Systems Lab # 12 System Calls Related to File Manipulation Objective: In this lab we will be

### This exam is to be taken by yourself with closed books, closed notes, no calculators.

Student ID CSE 5A Name Final Signature Fall 2003 Page 1 (12) cs5a This exam is to be taken by yourself with closed books, closed notes, no calculators. Page 2 (33) Page 3 (33) Page 4 (27) Page 5 (40) Page

### Lab Assignment 1: Shell and System Calls

Alexandria University Faculty of Engineering Computer and Systems Engineering Fall 2016 Lab Assignment 1 CS333: Operating Systems Assigned: September 29, 2016 Due: October 15, 2016 Lab Assignment 1: Shell

### Programming in C. Characters and Strings

Programming in C Characters and Strings ASCII The American Standard Code for Information Interchange (ASCII) character set, has 128 characters designed to encode the Roman alphabet used in English and

### The Basics of C Programming. Marshall Brain

The Basics of C Programming Marshall Brain Last updated: October 30, 2013 Contents 1 C programming 1 What is C?................................. 2 The simplest C program, I........................ 2 Spacing

### EC312 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

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

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

### Dept. of CSE, IIT KGP

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

### C Programming, Chapter 1: C vs. Java, Types, Reading and Writing

C Programming, Chapter 1: C vs. Java, Types, Reading and Writing T. Karvi August 2013 T. Karvi C Programming, Chapter 1: C vs. Java, Types, Reading and Writing August 2013 1 / 1 C and Java I Although the

To extend understanding of pointers by using them to create dynamic data structures Understand when to use a Linked List Be able to create a Linked List in C understand internals be able to program them!

### Systems Development Basics: Debugging and Performance

Systems Development Basics: Debugging and Performance Tools CS165: Data Systems Fall 2015 September 15, 2015 This document provides a short introduction to tools commonly used for systems development.

### STRINGS. If you follow the rule of array initialization then you can write the above statement as follows:

STRINGS The string in C programming language is actually a one-dimensional array of characters which is terminated by a null character '\0'. Thus a null-terminated string contains the characters that comprise

### ASCII Encoding. The char Type. Manipulating Characters. Manipulating Characters

The char Type ASCII Encoding The C char type stores small integers. It is usually 8 bits. char variables guaranteed to be able to hold integers 0.. +127. char variables mostly used to store characters

### Model Viva Questions for Programming in C lab

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

### Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11

Dalhousie University CSCI 2132 Software Development Winter 2015 Lab 7, March 11 In this lab, you will first learn how to use pointers to print memory addresses of variables. After that, you will learn

### Variables. CS181: Programming Languages

Variables CS181: Programming Languages Topics: Static vs. dynamic typing Strong vs. weak typing Pointers vs. references Vladimir Vacic, Christos Koufogiannakis, University of California at Riverside 2

### Memory management in C: The heap and the stack

Memory management in C: The heap and the stack Leo Ferres Department of Computer Science Universidad de Concepción leo@inf.udec.cl October 7, 2010 1 Introduction When a program is loaded into memory, it

Reading and writing strings Reading and Writing String Reading Format conversion %s can be used in scanf for reading strings not containing white spaces: scanf("%s", str) & not required before str as it

### C A short introduction

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

### Unix Tutorial. By Joshua Lande SASS. January 21

Unix Tutorial By Joshua Lande SASS January 21 This is not a philosophy talk! Doug McIlroy, the inventor of Unix pipes and one of the founders of the Unix tradition, summarized the philosophy as follows:

### Filtering Tools. Filtering Tools and a Bit More About I/O Redirection

Filtering Tools Filtering Tools and a Bit More About I/O Redirection Copyright 2006 2009 Stewart Weiss Input redirection operator < The input redirection operator '

### As previously noted, a byte can contain a numeric value in the range 0-255. Computers don't understand Latin, Cyrillic, Hindi, Arabic character sets!

Encoding of alphanumeric and special characters As previously noted, a byte can contain a numeric value in the range 0-255. Computers don't understand Latin, Cyrillic, Hindi, Arabic character sets! Alphanumeric

### LESSON 7. ptr = &i; ptr = 0; ptr = NULL; /* equivalent to ptr == 0; */ ptr = (int *) 1999; /* an absolute address in memory */

LESSON 7 POINTERS AND CALL BY REFERENCE When an expression is passed as an argument to a function, a copy of the value of the expression is made, and it is this copy that is passed to the function. Suppose

### Pointer. Accessing address of a variable POINTER.

www.cppforschool.com Pointer Accessing address of a variable Computer s memory is organized as a linear collection of bytes. Every byte in the computer s memory has an address. Each variable in program

### C Programming Lab. 1DT032: Advanced Computer Science Studies in Sweden 1DT086: Introduction to Studies in Embedded Systems Uppsala University

C Programming Lab 1DT032: Advanced Computer Science Studies in Sweden 1DT086: Introduction to Studies in Embedded Systems Uppsala University September 3, 2015 Submitting Assignments, and Requirements for

### Programming for MSc Part I

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

### PHP Debugging. Draft: March 19, 2013 2013 Christopher Vickery

PHP Debugging Draft: March 19, 2013 2013 Christopher Vickery Introduction Debugging is the art of locating errors in your code. There are three types of errors to deal with: 1. Syntax errors: When code

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

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

### Pointers and dynamic memory management in C

Pointers and dynamic memory management in C Jakob Rieck Proseminar C - 2014 Contents 1 Introduction 2 2 Pointers 4 2.1 Declaration & Initialization................... 5 2.2 Using pointers..........................

### Fundamentals of Computer & Programming in C Short-answer type questions

Fundamentals of Computer & Programming in C Short-answer type questions Section- A i. What is a computer system? Draw the block diagram of computer. ii. Differentiate between Real Time Operating System

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

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

### Engineering Problem Solving with C++, Etter

Engineering Problem Solving with C++, Etter Chapter 7 Strings 12-11-13 1 Strings Character Strings The string Class. 2 C style strings functions defined in cstring CHARACTER STRINGS 3 C Style Character

### CS 246 Winter 2016 Assignment 3 Instructors: Peter Buhr and Rob Schluntz Due Date: Monday, March 7, 2016 at 22:00

CS 246 Winter 2016 Assignment 3 Instructors: Peter Buhr and Rob Schluntz Due Date: Monday, March 7, 2016 at 22:00 March 1, 2016 This assignment examines intermediate-level C++ and classes. Use it to become

### CS193D Handout 04 Winter 2005/2006 January 11, 2006 A Crash Course in C++

CS193D Handout 04 Winter 2005/2006 January 11, 2006 A Crash Course in C++ Most people taking CS193D will already have some experience with C++. This handout is a quick refresher in case it s been a while.

### Characters and Strings. Constants

Characters and Strings Constants Characters are the fundamental building blocks of source programs Character constants One character surrounded by single quotes A or? Actually an int value represented

### pobj objects that last Course Project, CS262a, Fall 04 Amir Kamil and Gilad Arnold

pobj objects that last Course Project, CS262a, Fall 04 Amir Kamil and Gilad Arnold overview Persistent dynamic memory management library memory manager independent support for garbage collector Implemented

### GTU Questions. Computer Programming & Utilization. Chief Course Coordinator Prof. Mitul K.Patel. (Head of Department & Assistant Professor)

GTU Questions Computer Programming & Utilization Chief Course Coordinator Prof. Mitul K.Patel (Head of Department & Assistant Professor) Course Coordinator Prof. Vrutti D. Shah (Assistant Professor) Lab