Example Solution to Exam in EDA150 C Programming

Save this PDF as:

Size: px
Start display at page:

Transcription

1 Example Solution to Exam in EDA150 C Programming Janurary 12, 2011, Inga hjälpmedel! Examinator: Jonas Skeppstedt, tel out of 60p are needed to pass the exam. General Remarks A function which may crash gets 2 points while normal minor errors get 1 point. For each question you receive at least zero points. Memory allocations from the heap should be checked but errors made by programmers using your code should not be checked unless requested. For example, if a list has a special head node which should always be non-null, then your code should not check that it is. 1. (20p) Write code to allocate and deallocate two-dimensional arrays of double precision floating point numbers, setting and getting matrix elements, and to add two such matrices. The number of rows and columns should be specified when a matrix is allocated. The type of the function to add two matrices should be as below and you decide the types of the other functions and the type matrix_t matrix_t* add(matrix_t* a, matrix_t* b); Answer: # include <stdio.h> # include < stdlib.h> typedef struct size_ t rows ; size_ t cols ; double ** a; matrix_t ; void error ( const char * msg ) fprintf ( stderr, " error : %s\n", msg ); exit (1); 1

2 matrix_ t * new_ matrix ( size_ t rows, size_ t cols ) matrix_t * a; a = malloc ( sizeof ( matrix_t )); if ( a == NULL ) a-> rows = rows ; a-> cols = cols ; a->a = malloc ( rows * sizeof ( double *)); if (a->a == NULL ) for (i = 0; i < rows ; ++i) a->a[i] = calloc (cols, sizeof ( double )); if (a->a[i] == NULL ) return a; void free_ matrix ( matrix_ t * a) for (i = 0; i < a-> rows ; ++i) free (a->a[i ]); free (a->a); free (a); 2

3 matrix_t * add ( matrix_t * a, matrix_t * b) matrix_t * c; size_t j; c = new_matrix (a->rows, a-> cols ); for (i = 0; i < c-> rows ; ++i) for (j = 0; j < c-> rows ; ++j) c->a[i][j] = a->a[i][j] + b->a[i][j]; return c; 2. (20p) Give brief descriptions of the following. (a) Bit-field (b) Compound literal (c) Static storage duration (d) Variable length arrays (e) ~ operator (f) continue statement (g) inline function specifier (h) _Bool type (i) char type Answer: it s either a signed or an unsigned integer type of size one byte, i.e. at least 8 bits wide (that is the definition of a byte in the ISO C Standard). Note that it s neither one of signed char nor unsigned char but a distinct type (which means pointer assignments mixing char* and for example signed char* are invalid). (j) a = *b++ expression Answer: Read the value pointed to by b, copy it to a and then increment b. 3. (5p) Suppose you wish to have an array allocated with malloc aligned on a 32-byte boundary. How can you achieve that in a portable way? Show code. 3

4 Answer: We cannot use pointer arithmetic to achieve alignment so we must cast the pointer to an integer type. With a too narrow type the function will not work correctly and with a too large type it will be slower than needed. The most suitable type is uintptr_t, see book. To be able to deallocate the original pointer we must keep the value, hence the last parameter. # include < stdlib.h> # include < stdint.h> void * malloc_ aligned ( size_ t n, size_ t a, void ** ptr ) uintptr_t b; void * p; n += a -1; * ptr = p = malloc (n); b = ( uintptr_t )p; b += a -1; b &= ~(a -1); p = ( void *)b; return p; int main ( void ) void * p; void * q; p = malloc_aligned (128, 32, & q); /... / free (q); return 0; 4. (5p) Array parameters are automatically converted to pointers in C. Why is it so and what can you do if you really want to pass an array to a function that should get its own copy of the array (just like an int-parameter is copied and modifiying the parameter does not affect the copied value). Answer: 4

5 Passing complete arrays can be inefficient and therefore only a pointer to the first array element is passed. To really pass an array, it can be put in a struct which is copied, or at least the compiler produces code which behaves as if it is. 5. (10p) What is a flexible array member and why can you not have an array of such structs? If you want to have such structs accessible from an array, how would you do? Answer: See the book for an explanation of flexible array members. Since their size is unknown they cannot be part of an array. The array should contain pointers to such structs instead. 5

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

SYSTEMS PROGRAMMING C++ INTRODUCTION

Faculty of Computer Science / Institute of Systems Architecture / Operating Systems SYSTEMS PROGRAMMING C++ INTRODUCTION Alexander Warg WHY C++? C++ is the language that allows to express ideas from the

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

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

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..........................

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

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

CS201- Introduction to Programming Latest Solved Mcqs from Final term Papers July 11,2011

CS201- Introduction to Programming Latest Solved Mcqs from Final term Papers July 11,2011 Mc100401285 moaaz.pk@gmail.com Moaaz Siddiq Bc100400662 bc100400662asad@gmail.com Asad Ali Latest Mcqs FINALTERM

Comp Arrays and Pointers. Class Notes. T h e G r o u p o f T h r e e

Comp 2401 Arrays and Pointers Class Notes 2013 T h e G r o u p o f T h r e e Introduction To Arrays: In C programming, one of the frequently problem is to handle similar types of data. For example: if

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

C++ Keywords. If/else Selection Structure. Looping Control Structures. Switch Statements. Example Program

C++ Keywords There are many keywords in C++ that are not used in other languages. bool, const_cast, delete, dynamic_cast, const, enum, extern, register, sizeof, typedef, explicit, friend, inline, mutable,

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

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

The C Programming Language

The C Programming Language CS 1025 Computer Science Fundamentals I Stephen M. Watt University of Western Ontario The C Programming Language A high-level language for writing low-level programs Allows machine-independent

1 Abstract Data Types Information Hiding

1 1 Abstract Data Types Information Hiding 1.1 Data Types Data types are an integral part of every programming language. ANSI-C has int, double and char to name just a few. Programmers are rarely content

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....................................

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

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

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

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

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

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

Object Oriented Software Design II

Object Oriented Software Design II Introduction to C++ Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 20, 2012 G. Lipari (Scuola Superiore Sant Anna) C++ Intro February

Programming languages C

INTERNATIONAL STANDARD ISO/IEC 9899:1999 TECHNICAL CORRIGENDUM 2 Published 2004-11-15 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION МЕЖДУНАРОДНАЯ ОРГАНИЗАЦИЯ ПО СТАНДАРТИЗАЦИИ ORGANISATION INTERNATIONALE

Sorting. Arranging records according to a specified sequence, such as alphabetically or numerically, from lowest to highest.

Sorting Arranging records according to a specified sequence, such as alphabetically or numerically, from lowest to highest. Array before sort [0] [] Array after sort [0] [] 2 [2] [2] [] [] [4] [4] [5]

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,

Quiz 3 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 3 S o l u t i o n s. Q1: C++ functions other than main are executed:

Quiz 3 Solutions Q1: C++ functions other than main are executed: a. Before main executes. b. After main completes execution. c. When they are explicitly called by another function. d. Never. ANS c. When

Primitive Data Types Summer 2010 Margaret Reid-Miller

Primitive Data Types 15-110 Summer 2010 Margaret Reid-Miller Data Types Data stored in memory is a string of bits (0 or 1). What does 1000010 mean? 66? 'B'? 9.2E-44? How the computer interprets the string

CSCE 206: Structured Programming in C++

CSCE 206: Structured Programming in C++ 2016 Fall Exam 3 Friday, November 18, 2016 Total - 100 Points B Instructions: Total of 11 pages, including this cover and the last page. Before starting the exam,

CSCE 206: Structured Programming in C++

CSCE 206: Structured Programming in C++ 2016 Fall Exam 3 Friday, November 18, 2016 Total - 100 Points A Instructions: Total of 11 pages, including this cover and the last page. Before starting the exam,

Object-Oriented Programming, Iouliia Skliarova

Object-Oriented Programming, Iouliia Skliarova Data types define the way you use the storage (memory) in the programs. By specifying a data type, you tell the sompiler how to create a particular piece

MAFS 5240 C++ Basics Arrays & Pointers

MAFS 5240 C++ Basics Arrays & Pointers Arrays Pointers 1 Arrays holds a collection of objects of some type arrays are fixed size; new elements cannot be added individual objects are not named; each one

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

1 (1x17 =17 points) 2 (21 points) 3 (5 points) 4 (3 points) 5 (4 points) Total ( 50points) Page 1

CS 1621 MIDTERM EXAM 1 Name: Problem 1 (1x17 =17 points) 2 (21 points) 3 (5 points) 4 (3 points) 5 (4 points) Total ( 50points) Score Page 1 1. (1 x 17 = 17 points) Determine if each of the following statements

C for Java Programmers

C for Java Programmers CS 414 / CS 415 Niranjan Nagarajan Department of Computer Science Cornell University niranjan@cs.cornell.edu Original Slides: Alin Dobra Why use C instead of Java Intermediate-level

C Tutorial Pointers, Dynamic Memory allocation, Makefile CS370

C Tutorial Pointers, Dynamic Memory allocation, Makefile CS370 Outline What is a pointer - & and * Pointers and arrays/strings Dynamic Memory Allocation malloc( ) and free( ) Makefile What is a Pointer?

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

UEE1303(1070) S 12 Object-Oriented Programming in C++

Computational Intelligence on Automation Lab @ NCTU UEE1303(1070) S 12 Object-Oriented Programming in C++ Lecture 02: Pointers, References, and Dynamic Memory Allocation Outlines You should be able to

7 Introduction to C++

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

Arrays, strings, and functions

Arrays, strings, and functions Goals of this Lecture Helps you learn about: Arrays and strings Functions Recursive functions Some pointer concept, but we will defer the details to next lecture Subset of

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

C++ Introduction to class and data abstraction

C++ Introduction to class and data abstraction 1 Data abstraction A data abstraction is a simplified view of an object by specifying what can be done with the object while hiding unnecessary details In

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

Arrays. In C++, all indexes start at zero. The first element of the array a is referred to as a[0], the second element as a[1], the third as a[?]..

Arrays Definition: An array is a collection of variables of the same type that are referenced by a common name. -In C++, all arrays consist of contiguous memory locations. -To refer to an element or particular

Dynamic Memory Allocation using a Custom Implemented Single-Linked List

Dynamic Memory Allocation using a Custom Implemented Single-Linked List Anders Eiler April 8, 2013 1 Introduction The objective of this paper is to describe how to dynamically allocate memory at runtime

Lecture 11 Array of Linked Lists

Lecture 11 Array of Linked Lists In this lecture Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for Sparse Matrix Exercises Solutions An Array of Linked

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..............................

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

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

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

Chapter 8. Arithmetic in C++

Christian Jacob Chapter 8 Arithmetic in C++ 8.1 The C++ Vocabulary 8.2 Variables and Types 8.2.1 Data Objects 8.2.2 Variables 8.2.3 Declaration of Variables 8.3 Elementary C++ Data Types 8.3.1 Integers

A pointer is a variable that stores the address of another variable, stored at an address in computer memory Hence, it points to another variable

Pointers 1 Pointers A pointer is a variable that stores the address of another variable, stored at an address in computer memory Hence, it points to another variable Purpose: Basis for implementing linked

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

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

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

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

The programming language C. sws1 1

The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan

Understanding Valgrind memory leak reports

Understanding Valgrind memory leak reports Aleksander Morgado aleksander@es.gnu.org Thanks to the development team of Azetti Networks not only for supplying so many example memory leaks, but also for their

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The

Review: arrays, pointers, structures (Chapter 1) Data Types. Review: Arrays. Data Types (C/C++) Data Type: CS 3358 Summer I 2012.

Review: arrays, pointers, structures (Chapter 1) Data Types Data Type: CS 3358 Summer I 2012 Jill Seaman set of values set of operations over those values example: Integer whole numbers, -32768 to 32767

C: How to Program. Week /June/11

C: How to Program Week 16 2007/June/11 1 Chapter 10 - C Structures, Unions, Bit Manipulations, and Enumerations Outline 10.1 Introduction 10.2 Structure Definitions 10.3 Initializing Structures 10.4 Accessing

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

Arrays. Arrays, Argument Passing, Promotion, Demotion

Arrays Arrays, Argument Passing, Promotion, Demotion Review Introduction to C C History Compiling C Identifiers Variables Declaration, Definition, Initialization Variable Types Logical Operators Control

STRUCTURES IN C PROGRAMMING

STRUCTURES IN C PROGRAMMING A structure can be considered as a template used for defining a collection of variables under a single name. Structures help programmers to group elements of different data

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

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays

A First Book of C++ Chapter 2 Data Types, Declarations, and Displays Objectives In this chapter, you will learn about: Data Types Arithmetic Operators Variables and Declarations Common Programming Errors

MISRA-Standard. Anwendung von MISRA-C ( 4) Gliederung. Die Regeln ( 5) MISRA Compliance Matrix. Environment. Language extensions

MISRA-Standard Verifikation von C-Programmen Vorlesung 4 vom..04: MISRA-C: 004 Guidelines for the use of the C language in critical systems Christoph Lüth Universität Bremen Wintersemester 04/5 Beispiel

VB.NET Programming Fundamentals

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

C Syntax and the GCC Compiler

C Syntax and the GCC Compiler (what does mean: void (*(*f[])())()?) Emmanuel Fleury LaBRI, Université de Bordeaux, France September 7, 2015 Emmanuel Fleury (LaBRI, France) C

Pointers. March 19, 2012

Pointers March 19, 2012 Outline 1 Pointers 2 Pointer Arithmetic 3 Arrays and Pointers 4 Passing Pointers to Functions Pointers Pointers are variables, which contain the address of some other variables.

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

String Representation in C

String Representation in C 1 There is no special type for (character) strings in C; rather, char arrays are used. char Word[7] = "foobar"; Word[6] Word[5] Word[4] Word[3] Word[2] Word[1] Word[0] 'f' 'o'

Using Arrays in C. Video 19. Daniel J. Bodony Department of Aerospace Engineering University of Illinois at Urbana-Champaign

Using Arrays in C Video 19 Daniel J. Bodony Department of Aerospace Engineering University of Illinois at Urbana-Champaign In this video you will learn... 1 About arrays in C 2 How to allocate memory D.

Borland C++ Compiler: Operators

Introduction Borland C++ Compiler: Operators An operator is a symbol that specifies which operation to perform in a statement or expression. An operand is one of the inputs of an operator. For example,

Exam objectives. Java Certification - Week 2. Operators and Assignments. Chris Harris. Overview. Exam objectives (continued)

Exam objectives Java Certification - Week 2 Operators and Assignments Chris Harris Determine the result of applying any operator,including assignment operators,instance of,and casts to operands of any

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

Introduction to Programming

Introduction to Programming SS 2012 Adrian Kacso, Univ. Siegen adriana.dkacsoa@duni-siegena.de Tel.: 0271/740-3966, Office: H-B 8406 Stand: April 25, 2012 Betriebssysteme / verteilte Systeme Introduction

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

CS 261 Data Structures. Introduction to C Programming

CS 261 Data Structures Introduction to C Programming Why C? C is a simple language, C makes it easier to focus on important concepts C is a lower level, imperative language Lays groundwork for many other

1. Relational database accesses data in a sequential form. (Figures 7.1, 7.2)

Chapter 7 Data Structures for Computer Graphics (This chapter was written for programmers - option in lecture course) Any computer model of an Object must comprise three different types of entities: 1.

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

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

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

Online C++ FAQ/Tutorial and Advanced Questions

Online C++ FAQ/Tutorial and Advanced Questions Alexis Angelidis January 11, 2005 1 Quick notes to C programmers instead of macros use const or enum to define constants inline to prevent function call overload

Exercises 1. Temperature in Fahrenheit: degrees Fahrenheit = 5 degrees Celsius. 1.2 Which of the following represent valid variable definitions?

Exercises 1 1.1 Write a program which inputs a temperature reading expressed in Fahrenheit and outputs its equivalent in Celsius, using the formula: 5 C = ( F 32) 9 Compile and run the program. Its behavior

Example 1/24. Example

Example CandC++. Misc. Library Features Gotchas Hints n Tips int **ppi int *pi int i char *pc char c Stephen Clark 5 University of Cambridge (heavily based on last year s notes (Andrew Moore) with thanks

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

Chapter 10. Programming in C

Chapter 10 Programming in C Lesson 02 Memory Constitution, constants, variables and Data Types 8051 Memory Constitution Several sections of internal and external memory When a data type declared the memory

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

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

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

Short Notes on Dynamic Memory Allocation, Pointer and Data Structure

Short Notes on Dynamic Memory Allocation, Pointer and Data Structure 1 Dynamic Memory Allocation in C/C++ Motivation /* a[100] vs. *b or *c */ Func(int array_size) double k, a[100], *b, *c; b = (double

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

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

Digital Image Basics. Chapter What is a Digital Image?

Chapter 1 Digital Image Basics 1.1 What is a Digital Image? To understand what a digital image is, we have to first realize that what we see when we look at a digital image is actually a physical image

FORMAT MEANING VARIABLE TYPE

Printf and Scanf Both formatted I/O Both sent to standard I/O location Printf Converts values to character form according to the format string Scanf Converts characters according to the format string,

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

Standard C Input/Output 1 Output: printf() 2 Table of Contents Output: printf( ) - syntax & sematics Output: printf( ) - examples Output: printf( ) - format control Screen / Printer Control Input: scanf(

C++ Dynamic Memory Management Techniques

C++ Dynamic Memory Management Techniques Douglas C. Schmidt Professor Department of EECS d.schmidt@vanderbilt.edu Vanderbilt University www.dre.vanderbilt.edu/schmidt/ (615) 343-8197 Dynamic Memory Management

C Functions for Directory Operation under Windows

C Functions for Directory Operation under Windows by Dr. Xiaowen Chu Department of Computer Science Hong Kong Baptist University Remark: This document aims to help you implement the COMP2330 course project.

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.