# Lab on Pointers in C

Size: px
Start display at page:

## Transcription

1 Lab on Pointers in C This lab involves playing with a number of C programs to solve some problems involving pointers. There are 4 different problems, work on as many as you can. If you are a pointer guru, try your hand at the segvhunt (exercise 5). Exercise 5 goes beyond what we expect you to know at the moment The exercises here should help make sure you understand all about pointers. It's important to make sure you understand things (get help if you are stuck!). Exercise 1 /* p1.c Write a short C program that declares and initializes (to any value you like) a double, an int, and a char. Next declare and initialize a pointer to each of the three variables. Your program should then print the address of, and value stored in, and the memory size (in bytes) of each of the six variables. Use the 0x%x formatting specifier to print addresses in hexadecimal. You should see addresses that look something like this: "0xbfe55918". The initial characters "0x" tell you that hexadecimal notation is being used; the remainder of the digits give the address itself. Use the sizeof operator to determine the memory size allocated for each variable.

2 Exercise 2 /* p2.c Find out (add code to print out) the address of the variable x in foo1, and the variable y in foo2. What do you notice? Can you explain this? void foo1(int xval) int x; x = xval; /* print the address and value of x here void foo2(int dummy) int y; /* print the address and value of y here int main() foo1(7); foo2(11); return 0;

3 Exercise 3 /* p3.c The program below uses pointer arithmetic to determine the size of a 'char' variable. By using pointer arithmetic we can find out the value of 'cp' and the value of 'cp+1'. Since cp is a pointer, this addition involves pointer arithmetic: adding one to a pointer makes the pointer point to the next element of the same type. For a pointer to a char, adding 1 really just means adding 1 to the address, but this is only because each char is 1 byte. 1. Compile and run the program and see what it does. 2. Write some code that does pointer arithmetic with a pointer to an int and determine how big an int is. 3. Same idea figure out how big a double is, by using pointer arithmetic and printing out the value of the pointer before and after adding What should happen if you added 2 to the pointers from exercises 1 through 3, instead of 1? Use your program to verify your answer. int main( ) char c = Z ; char *cp = &c; printf("cp is 0x%08x\n", cp); printf("the character at cp is %c\n", *cp); /* Pointer arithmetic - see what cp+1 is cp = cp+1; printf("cp is 0x%08x\n", cp); /* Do not print *cp, because it points to memory not allocated to your program return 0;

4 Exercise 4 /* p4.c swap_nums seems to work, but not swap_pointers. Fix it. void swap_nums(int *x, int *y) int tmp; tmp = *x; *x = *y; *y = tmp; void swap_pointers(char *x, char *y) char *tmp; tmp = x; x = y; y = tmp; int main() int a,b; char *s1,*s2; a = 3; b=4; swap_nums(&a,&b); printf("a is %d\n", a); printf("b is %d\n", b); s1 = "I should print second"; s2 = "I should print first"; swap_pointers(s1,s2); printf("s1 is %s\n", s1); printf("s2 is %s\n", s2); return 0;

5 Exercise 5 For those who want more! /* segvhunt.c Find and eliminate all code that generates Segmentation Fault int main() char **s; char foo[] = "Hello World"; *s = foo; printf("s is %s\n",s); s[0] = foo; printf("s[0] is %s\n",s[0]); return(0); Hints: If you are still not comfortable with pointers, you might try the suggestions below to work through things. Draw a table as a representation of the memory of the computer that is used by your process. Something like this:

6 Assume each cell in your picture can hold a word (32 bit int or a pointer). Make up some addresses and label the cells with the addresses. Something like this: For each variable in the C function you are working with, assign the variable to some memory location. For example, we could say that the variable char *s is stored in memory location 104 and the variable int i is stored in memory location 112: value of s 112 value of i Suppose we also have a string literal in the C function, for example from something like this: s = "Hi Fred"; This means that the string "Hi Fred" is also somewhere in memory, and that the value of s is the address of the first byte in the string. We could pretend that the compiler puts the string in memory starting at address 116. Note that the value of s is now set to 116, which means that the memory location 104 holds the number 116. We could also assign a value to i, for example: i=22;. The picture below now represents that state of the effected memory locations: value of s: value of i: Hi F 120 red\0

### CS Programming In C

CS 24000 - Programming In C Week Three: Arrays, Strings, Pointers Zhiyuan Li Department of Computer Science Purdue University, USA Lab requirement on the main() function Announce: In order to get the autograder

### Pointers and Arrays 1

Pointers and Arrays 1 Pointers and Arrays When an array is declared, The compiler allocates sufficient amount of storage to contain all the elements of the array in contiguous memory locations The base

### Example: Passing a 1-D Array to a Function

Sample Program Example: Passing a 1-D Array to a Function #include #define SIZE 3 void myfun (int a, int P[]); int (void) { int a = 2; int M[SIZE] = {3, 6, 9}; /* M is an array variable */ printf("1

### The floating-point representation is as supported on the Intel X86 architecture. Note that the exponent is base 2, so that the limits given are

The floating-point representation is as supported on the Intel X86 architecture. Note that the exponent is base 2, so that the limits given are approximate. We will discuss the representation of the basic

### Arrays and Pointers in C. Alan L. Cox

Arrays and Pointers in C Alan L. Cox alc@rice.edu Objectives Be able to use arrays, pointers, and strings in C programs Be able to explain the representation of these data types at the machine level, including

### Izmir Institute of Technology CE Lecture 8. References: - C: A software Engineering Approach 1

Izmir Institute of Technology CE - 104 Lecture 8 References: - C: A software Engineering Approach 1 In this course you will learn Array assignment Pointer Arithmetic Passing Pointers as Function Arguments

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

### Pointer Arithmetic B T W. *(array_ptr++) 1 vs (*array_ptr)++

Pointer Arithmetic When you add to or subtract from a pointer, the amount by which you do that is multiplied by the size of the type the pointer points to. In the case of our three increments, each 1 that

### The programming language C (part 2) alignment, arrays, and pointers

The programming language C (part 2) alignment, arrays, and pointers hic 1 allocation of multiple variables Consider the program main(){ } char x; int i; short s; char y;... What will the layout of this

### Pointers and arrays. Lecture 03.01

Pointers and arrays Lecture 03.01 Pointers Pointer is an address of a piece of data in memory Why pointers? Avoid copies Share data 3 things to remember int x = 9; 1. Get the address of x and store it

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

### Pointers Introduction. Spring 2012 Programming and Data Structure 1

Pointers Introduction Spring 2012 Programming and Data Structure 1 What is a pointer? Simple variables: An int / float variable is like a box which can store a single int value such as 42. num 42 A pointer

### A heap, a stack, a bottle and a rack. Johan Montelius VT2016

Introduction A heap, a stack, a bottle and a rack. Johan Montelius VT2016 In this assignment you re going to investigate the layout of a process; where are the different areas located and which data structures

### // This program checks whether a user-input value // is between 0 and 1, non-inclusive. #include

CS1010 Programming Methodology Week 5: Selection Statements and Repetition Statements Learn as much as you can while you are young, since life becomes too busy later. ~ Dana Stewart Scott To students:

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

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

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

### Programming in C. Sample C program #1

Programming in C Spring Semester 2016 Programming and Data Structure 55 Sample C program #1 printf ( \n Our first look at a C program \n ); Spring Semester 2016 Programming and Data Structure 56 1 Sample

### Bitwise and Logical Operators. (Common to C and Java)" Brief Detour: Input and Output in C printf and scanf "

Bitwise and Logical Operators (Common to C and Java) 1 Brief Detour: Input and Output in C printf and scanf 2 1 Input and Output (section 4.3) printf() scanf() Conversion Specifiers %c %d %u %f %s %o %x

### First of all, it is a variable, just like other variables you studied

Pointers: Basics What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the address (rather than the value)

### CS C Primer. Tyler Szepesi. May 9, 2013

May 9, 2013 Topics 1 Why C? 2 Data Types 3 Memory 4 Files 5 Endianness 6 Resources Why C? C is exteremely flexible and gives control to the programmer Allows users to break rigid rules, which are enforced

### Chapter 3 Review. /* Program 3.2, Page 31 with additional code to practice arithmetic operations */ #include int main (void) {

Chapter 3 Review Data Types, Variables, Arithmetic Operators, Precedence Next to each print statement in the program below, write what will be printed. /* Program 3.2, Page 31 with additional code to practice

### C Programming Part 2. Digital Design and Computer Architecture. David Money Harris and Sarah L. Harris. Copyright 2011 S. Harris and D.

C Programming Part 2 Digital Design and Computer Architecture David Money Harris and Sarah L. Harris C C Chapter :: Topics Function Calls Global vs. Local Variables More Data Types Pointers Arrays Characters

### Computer Architecture

Outline Data representation Computer Architecture Data types S. Coudert and R. Pacalet December 1, 2016 Programming languages Representation of common data types Addresses, pointers and programming language

### Variables and literals

Variables and literals #include int main( int argc, char* argv[] ) int j = 0; A literal A literal/actual value do something spectacular } return 0; // Success A variable declaration/definition

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

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

### CpSc 111 Lab 4 Formatting and Flow Control

CpSc 111 Lab 4 Formatting and Flow Control Overview By the end of the lab, you will be able to: use fscanf() to accept a character input from the user and print out the ASCII decimal, octal, and hexadecimal

### CS61C: Fall 2016 Guerrilla Section 1: Pointers and Memory

CS61C: Fall 2016 Guerrilla Section 1: Pointers and Memory 1a. Warmup! Convert the following numbers from hex to decimal. Assume two s complement 0x61 Two s complement: 0110 0001 Decimal: 97 An easy way

### Format String Vulnerability Lab

Laboratory for Computer Security Education 1 Format String Vulnerability Lab Copyright c 2006-2013 Wenliang Du, Syracuse University. The development of this document is/was funded by three grants from

### Lecture 3: Functions. Wednesday, 28 January 2009

Lecture 3: Functions CS209 : Algorithms and Scientific Computing Lecturer: Niall Madden Wednesday, 28 January 2009 CS204/209 Lecture 3: Functions 1/24 Today... 1 Input: scanf() Note: 2 Input Checking if

### C Crash Course. UC Berkeley CS61C

C Crash Course UC Berkeley CS61C helloworld.c #include int main(int argc, char *argv[]) { printf( hello world!\n ); return 0; hello world! include #include Use the #include statement

### Topic 4: C Data Structures

Topic 4: C Data Structures CSE 30: Computer Organization and Systems Programming Winter 2011 Prof. Ryan Kastner Dept. of Computer Science and Engineering University of California, San Diego Arrays Declaration:

### Pointers. Better than sliced bread! Similar to Java references Java code example: myx = new X(); myx

1 Better than sliced bread! Similar to Java references Java code example: myx = new X(); Pointers myx 2 Assume the X object instance fits in the box myx 3 19 20 20 42060 (myx) 4 Java code: myx.dosomething(13);

### Reference slides! Garcia, Fall 2011 UCB! CS61C L04 Introduction to C (pt 2) (1)!

Reference slides! You ARE responsible for the material on these slides (they re just taken from the reading anyway). These were the slides that generated the fewest questions in years past (i.e., those

### Introduction to Scientific Programming

Introduction to Scientific Programming The C Language More Pointers Arrays An array in C is a group of elements of the same type. Arrays use square brackets like so: int some_nums[200]; char bunch_o_chars[45];

### Declaring Pointers. Declaration of pointers *variable *variable = initial-value Examples:

1 Programming in C Pointer Variable A variable that stores a memory address Allows C programs to simulate call-by-reference Allows a programmer to create and manipulate dynamic data structures Must be

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

### Chapter 4 Variables and Data Types

PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 4 1 Topics Variables Constants Data types Declaration 2 Variables A symbol or name that stands for a value. A variable is a value that can change. Variables

### MORE ON DATA TYPES IN C

KOM2741 Computer Programming Dr Muharrem Mercimek 1 MORE ON DATA TYPES IN C KOM2741 Computer Programming KOM2741 Computer Programming Dr Muharrem Mercimek 2 Objectives In this presentation you will learn:

### Java How to Program, 9/e

Java How to Program, 9/e Education, Inc. All Rights Reserved. 1 Integers Whole numbers; like 7, 0 and 22 Programs remember numbers and other data in the computer s memory and access that data through program

### PROGRAMMAZIONE I A.A. 2016/2017

PROGRAMMAZIONE I A.A. 2016/2017 FUNCTIONS INTRODUCTION AND MAIN All the instructions of a C program are contained in functions. üeach function performs a certain task. A special function name is main(

### C Bitwise Operators and Pointers. A review?

C Bitwise Operators and Pointers A review? Outline Bitwise Logical Operators Other Useful Operators Pointers Bitwise Operators C Operator Function Uses (single pipe) Bitwise OR To mask bits high & Bitwise

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

### CpSc 101 Lab 4 Formatting and Flow Control

CpSc 101 Lab 4 Formatting and Flow Control Overview By the end of the lab, you will be able to: use fscanf() to accept a character input from the user and print out the ASCII decimal, octal, and hexadecimal

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

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

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

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

### CS 11 C track: lecture 1

CS 11 C track: lecture 1 Preliminaries Need a CMS cluster account http://acctreq.cms.caltech.edu/cgi-bin/request.cgi Need to know UNIX IMSS tutorial linked from track home page Track home page: http://courses.cms.caltech.edu/courses/cs11/material

### CS 61C: Great Ideas in Computer Architecture C Arrays, Strings and Memory Management

CS 61C: Great Ideas in Computer Architecture C Arrays, Strings and Memory Management Instructors: Nicholas Weaver & Vladimir Stojanovic http://inst.eecs.berkeley.edu/~cs61c/sp16 1 Reminder! C Arrays are

### CS240: Programming in C. Lecture 3: More on Types

CS240: Programming in C Lecture 3: More on Types Type representation and enforcement #include int main () { short s = 9; long l = 32768; short can store -32768 to 32767 printf("%d\n", s); s =

### Review Topics. Midterm Exam Review Slides. Number Representation What can a binary number mean? Number Representation Hexadecimal to Binary Conversion

Review Topics Midterm Exam Review Slides Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University Base Conversion Floating-Point Math

### CS Programming In C

CS 24000 - Programming In C Week 16: Review (cont d) Zhiyuan Li Department of Computer Science Purdue University, USA Scope of the Final Exam We have covered issues related to the address space and the

### CS 61c: Great Ideas in Computer Architecture

Memory Management in C June 26, 2014 Review Arrays Can traverse using pointer or array syntax Use null-terminated char[] for strings Pointer arithmetic moves the pointer by the size of the thing it s pointing

### CMPS 11 Intermediate Programming Lab Assignment 7

CMPS 11 Intermediate Programming Lab Assignment 7 The purpose of this assignment is to introduce the C programming language, including standard inputoutput functions. Begin by reading the first six chapters

### Lecture 6: The basics of C programming

Handout 7 13/03/03 1 Lecture 6: The basics of C programming Basic structure of a C program As we saw in the hello.c example in the last lecture, Every C program must contain a main function, since the

### Chapter 18 I/O in C. Copyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.

Chapter 18 I/O in C Standard C Library I/O commands are not included as part of the C language. Instead, they are part of the Standard C Library. A collection of functions and macros that must be implemented

### Pointers and Arrays Reference: Russell Chapter 2 CPE Real Time Embedded Kernels - Spring 12 Nuno Alves Col ege of Engineering

Pointers and Arrays Reference: Russell Chapter 2 Why do we need to learn this (again)? Pointers and Arrays are a bit tricky and we need to understand them if we want to implement queues and more advanced

### I/O in C. Chapter 18 CMPE13. Cyrus Bazeghi

I/O in C Chapter 18 CMPE13 Cyrus Bazeghi Standard C Library I/O commands are not included as part of the C language. Instead, they are part of the Standard C Library. A collection of functions and macros

### A whirlwind tour of C. Echtzeitsysteme WS 2014/2015

A whirlwind tour of C Echtzeitsysteme WS 2014/2015 heise@in.tum.de What you should already know The basic datatypes (e.g. int, float) Basic control flow (e.g. if/else, for, while) What functions are What

### MPATE-GE 2618: C Programming for Music Technology. Unit 1.2

MPATE-GE 2618: C Programming for Music Technology Unit 1.2 Binary = base 2 Decimal = base 10 Octal = base 8 Hexadecimal = base 16 Examples Base 10 357 = (10 2 * 3) + (10 1 * 5) + (10 0 * 7) Binary notation

### Topics. Introduction to pointers Pointers and function parameters Pointers Arithmetic

Pointers Topics Introduction to pointers Pointers and function parameters Pointers Arithmetic Memory Address of a Variable char ch = A ; ch: 0x000 A The memory address of the variable ch The value of the

### PIC 10A Pointers, Arrays, and Dynamic Memory Allocation

PIC 10A Pointers, Arrays, and Dynamic Memory Allocation Ernest Ryu UCLA Mathematics Last edited: February 10, 2017 Pointers A variable is stored somewhere in memory. The address-of operator & returns the

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

### what s a string? Strings are how we store and manipulate text in C Strings are not a unique data type in C

what s a string? Strings are how we store and manipulate text in C they re made up of characters they re basically arrays of char Strings are not a unique data type in C but C does have some special stuff

### So far, system calls have had easy syntax. Integer, character string, and structure arguments.

Pointers Page 1 So far, system calls have had easy syntax Wednesday, September 30, 2015 10:45 AM Integer, character string, and structure arguments. But this is not always true. Today, we begin to explore

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

### Fisk University. Introduction to Computer Science II, Spring 2009 Homework on Quiz #2 (Due Friday, Feb 20 th, 2009)

Fisk University Introduction to Computer Science II, Spring 2009 Homework on Quiz #2 (Due Friday, Feb 20 th, 2009) If your answer to a question on the quiz is incorrect, type the program given in the box

### C++ Objects. C++ Objects. Code and Data. Code and Data (cont d)

C++ Objects CS 342: Object-Oriented Software Development Lab C++ Objects David L. Levine Christopher D. Gill Department of Computer Science Washington University, St. Louis levine,cdgill@cs.wustl.edu Code

### ECE 222 System Programming Concepts Lecture 2 Bits, Bytes, and Data Types

ECE 222 System Programming Concepts Lecture 2 Bits, Bytes, and Data Types There are a few basic data types in C: int, float, double, char. We can qualify them as unsigned, and change their ranges using

### Introduction to C. Complex Types. Instructor: Yin Lou 02/02/2011. Introduction to C CS 2022, Spring 2011, Lecture 5

Introduction to C Complex Types Instructor: Yin Lou 02/02/2011 Recap: Numerical Types Data Types int: machine-dependent float: 32-bit (4 bytes) double: 64-bit (8 bytes) char: 8-bit (1 byte) Recap: Numerical

### 3/13/2012. ESc101: Variable Types. Types of Variables. Variables

ESc101: Variable Types Instructor: Krithika Venkataramani Semester 2, 2011-2012 The content of these slides are taken from the lecture slides of Prof. Arnab Bhattacharya, Prof. R.K. Ghosh, Prof. Dheeraj

### Topics. Getting Started pointers character arrays and string functions structs I/O dynamic memory (malloc and free)

C What you Know* Objective: To introduce some of the features of C. This assumes that you are familiar with C++ or java and concentrates on the features that are not used in C++. C does not have the OOP

Pointers 9/27/16 Addresses in memory float values[100]; 4(%ebp) read_int(&x); int* unsigned_output; Pointers in C Like any other variable, must be declared: Using the format: type *name; Example: int *myptr;

### Standard C Library. Chapter 18 I/O in C. Text Streams. Basic I/O Functions

Standard C Library Chapter 18 I/O in C Original slides from Gregory Byrd, North Carolina State University Modified slides by Chris Wilcox, Colorado State University I/O commands are not included as part

### Introduction to C. Systems Programming Concepts

Introduction to C Systems Programming Concepts Introduction to C A simple C Program Variable Declarations printf ( ) Compiling and Running a C Program Sizeof Program #include What is True in C? if example

### 8.5 Arrays of pointers to string

8.5 Arrays of pointers to string 211 8.5 Arrays of pointers to string In Chapter 7 we learned that an initialized string can be declared, for example, in the following way: char some_string[] = "Some initialization

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

### 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 Types and Formatted I/O

Basic Types and Formatted I/O C Variables Names (1) Variable Names Names may contain letters, digits and underscores The first character must be a letter or an underscore. the underscore can be used but

### C Programming Language with Applications. Lecture 2: Introduction to C Programming Language

C Programming Language with Applications Lecture Note 2 Intro to C Programming Language Professor Paul I. Lin, lin@ipfw.edu http://www.etcs.ipfw.edu/~lin P I. Lin - Lect 2. Intro to C Language 1 Lecture

### 2. Data Types. 1. Why doesn t the following code give the desired result? int x = 3000, y = 2000 ; long int z = x * y ;

2. Data Types Week : 2 Duration : 60 mins 1. Why doesn t the following code give the desired result? int x = 3000, y = 2000 ; long int z = x * y ; 2. What is the Output of the code? int i; printf( %d,

### C review. CIS 2520 Data Structure (S08) TA : El Sayed Mahmoud

C review CIS 2520 Data Structure (S08) TA : El Sayed Mahmoud This presentation is created by many TAs of previous years and edited to satisfy the requirements of the course in this semester. Outlines Part

### C-Programming More C. Kai Huang, Sebastian Klose, Gang Chen, Hardik Shah,Biao Hu,Long Cheng

C-Programming More C Kai Huang, Sebastian Klose, Gang Chen, Hardik Shah,Biao Hu,Long Cheng Constants A constant number may be used many times in a programm, for example, 3.1415 defines: #define MY_CONSTANT

### Sample Examination. COMP1917 Higher Computing 1

Family Name:... Other Names:... Signature:... Student Number:... THE UNIVERSITY OF NEW SOUTH WALES SCHOOL OF COMPUTER SCIENCE AND ENGINEERING Sample Examination COMP1917 Higher Computing 1 Exam Duration:

### Primitive Types in C++ and Java and Their Input/Output

Primitive Types in C++ and Java and Their Input/Output 1 1. What is the recommended alternative to a Vector in Java 2 SDK? 2 2. A recommended programming style for constructing a container object in Java

### z = x + y * z / 4 % 2-1

1.Which of the following statements should be used to obtain a remainder after dividing 3.14 by 2.1? A. rem = 3.14 % 2.1; B. rem = modf(3.14, 2.1); C. rem = fmod(3.14, 2.1); D. Remainder cannot be obtain

### C Variables and Operators. University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell

C Variables and Operators University of Texas at Austin CS310 - Computer Organization Spring 2009 Don Fussell Basic C Elements Variables named, typed data items Operators predefined actions performed on

### Comments. Two kinds of comments may be used: Block Comment /* This is a comment */ Single Line Comment // This is also a comment.

Comments Definition Comments are used to document a program's functionality and to explain what a particular block or line of code does. Comments are ignored by the compiler, so you can type anything you

### Quiz on Ch.9. int a[40]; Rewrite the following using pointer notation instead of array notation: a[0] a[1] a[2] a[39] a[40]

Quiz on Ch.9 int a[40]; Rewrite the following using pointer notation instead of array notation: a[0] a[1] a[2] a[39] a[40] int a[40]; Quiz on Ch.9 Rewrite the following using pointer notation instead of

### LAB A Translating Data to Binary

LAB A Translating Data to Binary Create a directory for this lab and perform in it the following groups of tasks: LabA1.java 1. Write the Java app LabA1 that takes an int via a command-line argument args[0]

### Reference slides! C Strings! A string in C is just an array of characters.!!!char string[] = "abc";! How do you tell how long a string is?!

CS61C L04 Introduction to C (pt 2) (1)! Reference slides! C Strings! You ARE responsible for the material on these slides (they re just taken from the reading anyway). These were the slides that generated

### Functions. Functions. Design and Abstraction. Design and Abstraction

Functions Functions Here is a simple program with two functions: Have you seen C functions before? Yes! We ve been working with the main function from the very beginning, as well as, printf, scanf, etc.,

### A frame contains the parameters and local variables defined by the function.

When a program runs it has a view of RAM memory. For C programs this memory is broken up into four segments: stack, data, heap, and code. The stack segment is the part of memory that handles function calls.

### Chapter 1 Writing an ANSI C Program. CSCE 206 Structured Programming in C. Basic Terms. Basic Terms. First Program hello.c. Dissection of hello.

CSCE 206 Structured Programming in C Chapter 1 Writing an ANSI C Program Ki Hwan Yum Basic Terms Programs: instruct machines to carry out specific tasks or to solve specific problems. Algorithm: a step-by-step