ECET 264 C Programming Language with Applications. Lecture 13. Structures and Unions
|
|
- Gilbert Bradford
- 6 years ago
- Views:
Transcription
1 ECET 264 C Programming Language with Applications Lecture 13 Structures and Unions Professor Paul I-Hai Lin lin@ipfw.edu Prof. Paul I. Lin 1 Lecture 13 Structures and Unions C Structures Structures and Functions Arrays of Structures Unions Bit-Field Structures Type Definitions Enumeration Type Prof. Paul I. Lin 2 1
2 Structures Definitions Structure is a user-defined type that can contains other types An aggregate data type for holding data of different types (int, char, float) under one name It can also also supports more complicate structures such as arrays of arrays, pointers, etc A fundamental building block for data structures Good candidates for structures: Time: year, month, day, hour, minutes, second Complex number: real part, imaginary part Point in a 2-dimensional plane: x axis, y axis Prof. Paul I. Lin 3 Structures (continued) Structure Declaration A structure must be declared before use Defining Structure Variables Simple structure or array of structures can be created from the template structure struct point // Define the point structure int x; // x axis int y; // y axis a, b; struct point c; // Create a point structure c void main() Prof. Paul I. Lin 4 2
3 Structures (continued) Accessing Data Members Member operator: dot. Operator; or pointer operator -> can be used to access the structure For Example void main() a.x = 0; a.y = 0; // Origin, left-top point b.x = 24; b.y = 79; // Last text position on a 25 by 80 points c.x = (a.x + b.x)/2; // calculate middle point c.y = (a.y + b.y)/2;.. Prof. Paul I. Lin 5 Example 13-1: A Point Structure /* ptstruc.c * A point structure example */ #include <stdio.h> #define PRINT(x,y) printf(#x " = %d, ", x);\ printf(#y " = %d\n", y) struct point int x; int y; a, b; struct point c; Output of ptstruc,c a.x = 0, a.y = 0 b.x = 24, b.y = 79 c.x = 12, c.y = 39 void main() a.x = 0; a.y = 0; // Origin, lefttop point b.x = 24; b.y = 79; // Last text position on a 25 by 80 points c.x = (a.x + b.x)/2; // calculate middle point c.y = (a.y + b.y)/2; PRINT(a.x, a.y); PRINT(b.x, b.y); PRINT(c.x, c.y); Prof. Paul I. Lin 6 3
4 Structures (continued) Memory allocation for a structure Member-by-member from left to right, from low to high memory address Accessing data members Member operator: dot. Operator; or pointer operator -> can be used to access the structure ANSI C standard defines structures may be copied, assigned to, passed functions and returned from functions Prof. Paul I. Lin 7 Example 13-2: Account and Address Structures /* account.h */ struct address char street[20]; char city[15]; char state[10]; unsigned zip; ; struct address *addr_ptr; // a structure pointer struct account unsigned acc_no; unsigned acc_type;/* coorporate = 0, individual = 1*/ char name[20]; struct address cust_addr; ; Prof. Paul I. Lin 8 4
5 Example 13-2: Account and Address Structures (cont.) /* struct2.c */ /* Using pointer operator -> to access structure */ #include <stdio.h> #include <stdlib.h> #include "account.h" void main() struct account COMPANY; struct account *aptr; /* define a structure pointer */ aptr = &COMPANY; /* get address for the structure pointer */ printf("enter acc_no: "); scanf("%u", &COMPANY.acc_no); printf("enter acc_type: ");scanf("%u", &COMPANY.acc_type); fflush(stdin); printf("enter customer name: "); gets(company.name); printf("enter Street: "); gets(company.cust_addr.street); Prof. Paul I. Lin 9 Example 13-2: Account and Address Structures (cont.) printf("enter State: "); gets(company.cust_addr.state); printf("enter Zip: "); scanf("%d", COMPANY.cust_addr.zip); printf("account no : %d\n", aptr ->acc_no); printf("account type: %d\n", aptr ->acc_type); printf("customer : %s\n", aptr ->name); printf("address : %s\n", aptr ->cust_addr.street); printf("city : %s\n", aptr ->cust_addr.city); printf("state : %s\n", aptr ->cust_addr.state); printf("zip code : %u\n", aptr ->cust_addr.zip); Prof. Paul I. Lin 10 5
6 Example 13-2: Account and Address Structures (cont.) Output: Enter acc_no: 1010 Enter acc_type: 0 Enter customer name: Lincoln Enter Street: 100 Calhoun St. Enter City: Fort Wayne Enter State: IN Enter Zip: Account no : 1010 Account type: 0 Customer : Lincoln Address : 100 Calhoun St. City : Fort Wayne State : IN ZIP code : Prof. Paul I. Lin 11 Passing Structures to Functions ANSI C Functions can accept structures as arguments and return a structure An example struct RGB int red; int green; int blue; int changecolor(struct RGB color); // Modify computer s monitor screen Prof. Paul I. Lin 12 6
7 Example 13-3: Passing a Structure to a Function The example program strucfun.c, with two functions is modified from the previous program struc2.c. The print() function accepts the argument of structure account type. The getinput() function returns the structure of the structure account type. Prof. Paul I. Lin 13 Example 13-3: Passing a Structure to a Function (cont.) /* strucfun.c */ /* Structure and Functions */ #include <stdio.h> #include <stdlib.h> #include "account.h" struct account getinput(void); /* get input return a account structure */ void print(struct account); /* print the whole structure */ void main() int i; struct account COMPANY; struct account *aptr; /* define a structure pointer */ aptr = &COMPANY; /* get address for a structure pointer */ COMPANY = getinput(); print(*aptr); Prof. Paul I. Lin 14 7
8 Example 13-3: Passing a Structure to a Function (cont.) struct account getinput(void) struct account data; printf("enter acc_no: "); scanf("%u", &data.acc_no); printf("enter acc_type: "); scanf("%u", &data.acc_type); fflush(stdin); printf("enter customer name: "); gets(data.name); printf("enter Street: "); gets(data.cust_addr.street); printf("enter City: "); gets(data.cust_addr.city); printf("enter State: "); gets(data.cust_addr.state); printf("enter Zip: "); scanf("%d", &data.cust_addr.zip); return (data); Prof. Paul I. Lin 15 Example 13-3: Passing a Structure to a Function (cont.) void print(struct account file) struct account *fptr; fptr = &file; printf("account no : %d\n", fptr ->acc_no); printf("account type: %d\n", fptr ->acc_type); printf("customer : %s\n", fptr ->name); printf("address : %s\n", fptr ->cust_addr.street); printf("city : %s\n", fptr ->cust_addr.city); printf("state : %s\n", fptr ->cust_addr.state); printf("zip code : %u\n", fptr ->cust_addr.zip); Prof. Paul I. Lin 16 8
9 Arrays of Structures Each element of the array is a structure Examples: Declaration an array of structure #define N 100 structure account COMPANIES [N]; Accessing members of this array COMPANIES[n].acc_no COMPANIES[n].acct_type COMPANIES[n].name Prof. Paul I. Lin 17 Example 13-4: Arrays of Structures // strucary.c // Array of Structure #include <stdio.h> #include <stdlib.h> #include "account.h" #define N 2 struct account getinput(void); // get input return a // account structure void print(struct account); // print the whole structure void main() int i; struct account COMPANY; struct account *aptr; // define a structure pointer struct account COMPANIES[N]; // an array of structures for // N customers aptr = COMPANIES; // get structure array's address // for the structure pointer for(i = 0; i < N; i++) COMPANIES[i] = getinput(); putchar('\n'); print(*aptr++); #include "account.c" // This file holds the codes of // functions: // getinput() and print() Prof. Paul I. Lin 18 9
10 Unions The same attributes as that of structures for holding data objects of different types Union members are set up and accessed in the same manner as that of the structure member It serves some what different purposes: Passing parameters to functions - All members shared the same memory space, the compiler will reserve enough space so that it can hold the largest variable in the union Memory saving: only one union member can be used at a given time Prof. Paul I. Lin 19 Example 13-5: A Union for CPU Register // union.c #include <stdio.h> #define PRINT(x,y) printf(#x " = %d,\t\t", x); printf(#y " = %d\n",y) union REGISTER // Define a union called REGISTER unsigned int x; // Data member x represents 16-bit register unsigned char h; // Data member h represents 8-bit high byte register unsigned char l; // Data member l represents 8-bit low byte register ax, bx, cpu[6]; // Make ax and bx as two working unions and // cpu[6] as an array of 6 unions of // union REGISTER type Prof. Paul I. Lin 20 10
11 void main() int n, i = 0; bx.x = 1000; ax.x = bx.x; member ax.h = 6; Example 13-5: A Union for CPU Register (cont.) // Assign number to union // Copy union member to another union // Reassign the union ax.h with a new number while(i < 6) // Copy bx.x into all cpu[6] union elements cpu[i++].x = bx.x; n = sizeof(bx); PRINT(bx, n); // Examine all the effects: size and value n = sizeof(ax.h); PRINT(ax.h, n); n = sizeof(cpu); PRINT(cpu, n); n = sizeof(cpu); PRINT(&cpu[2], n); Prof. Paul I. Lin 21 Example 13-5: A Union for CPU Register (cont.) Output of union.c bx = 1000, n = 4 ax.h = 6, n = 1 cpu = , n = 24 &cpu[2] = , n = 24 Prof. Paul I. Lin 22 11
12 Bit-Field Structures Optimize storage space by packing several data objects in a single machine word Define and access several objects in a single machine word May use bit-wise operating on the bit-field structures Applications interface to hardware devices TCP/IP Network protocol frame, accessing Prof. Paul I. Lin 23 Bit-Field Structures struct modem unsigned ready: 1; // reserve 1 bit for ready unsigned offhook: 2; // reserve 2 bits unsigned reserved: 13; // 13-bit reserved com1; Example of Accessing bit-field: com1.ready = 1; // assignment if(com1.offhook == 2) busy(); Prof. Paul I. Lin 24 12
13 Typedef Creating new data types from old or existing ones Hiding the actual data structure from a program and making synonyms The new types can be used in declarations, casts, etc Prof. Paul I. Lin 25 Examples Typedef typedef int INTEGER; typedef char CHAR; typedef float REAL; FILE... defined in <stdio.h> typedef struct char *buffer; // pointer to file buffer int mode; // read, write.. modes int bindex; // index into file buffer int filenum; // file number.... FILE; Prof. Paul I. Lin 26 13
14 Example 13-6: File Type and I/O // mycopy.c // This program works similar to DOS command "copy" and it must // be used under the DOS command line. // For example, after the program is compiled and built, run it // with the following command under the DOS: // c:\mycopy mycopy.c mycopy.bak #include <stdio.h> typedef char CHARACTER ; void main(int argc, char *argv[]) CHARACTER c; FILE *fptr, *fptrw; fptr = fopen(argv[1], "r"); // Open a disk file for reading fptrw = fopen(argv[2], "w"); // Open a disk file for writing Prof. Paul I. Lin 27 Example 13-6: File Type and I/O while((c = getc(fptr))!= EOF) // Copy file to file and // display it on screen until EOF marker is encountered putchar(c); fputc(c, fptrw); fclose(fptr); // Closes opened files fclose(fptrw); Prof. Paul I. Lin 28 14
15 Enumeration Create a subtype.. enumerated type Represented internally by integers Associate constant values with names Assign default values; 0, 1, 2 Access the members of enum.. using the names, and read only Examples: enum boolean NO, YES; // NO == 0, and YES == 1 enum days MON = 1, TUE, WED, THUR, FRI, SAT, SUN saledays; // MON = 1 is initialized and TUE will be 2, WED will be 3, etc. // saledays is an enum variable Prof. Paul I. Lin 29 Example 13-7: Enum Example // enum.c #include <stdio.h> enum days MON = 1, TUE, WED, THU, FRI, SAT, SUN sday; //Note that logic and sday are enum variables void main() float daysale[8], totalsale = 0.0; for(sday = MON; sday <= SUN; sday++) // Total sales for Monday // through Sunday printf("enter daysale[%d] = ",sday); scanf("%f", &daysale[sday]); totalsale += daysale[sday]; printf("total sale = %.2f\n ", totalsale); Prof. Paul I. Lin 30 15
16 Summary Structures Structures and Functions Arrays of Structures Unions Bit-Field Structures Type Definitions Enumeration Type Prof. Paul I. Lin 31 Question? Answers Prof. Paul I. Lin 32 16
12 CREATING NEW TYPES
Lecture 12 CREATING NEW TYPES of DATA Typedef declaration Enumeration Structure Bit fields Uninon Creating New Types Is difficult to solve complex problems by using programs written with only fundamental
More informationProgramming in C. What is C?... What is C?
C Programming in C UVic SEng 265 Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier, in 1969, Ritchie and Thompson developed the Unix operating system We will be focusing on a version
More informationProgramming in C UVic SEng 265
Programming in C UVic SEng 265 Daniel M. German Department of Computer Science University of Victoria 1 SEng 265 dmgerman@uvic.ca C Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier,
More informationby: Lizawati, Norhidayah & Muhammad Noorazlan Shah Computer Engineering, FKEKK, UTeM
by: Lizawati, Norhidayah & Muhammad Noorazlan Shah Computer Engineering, FKEKK, UTeM At the end of this chapter, the students should be able to: understand and apply typedef understand and apply structure
More informationTEXT FILE I/O. printf("this data will be written to the screen.\n"); printf("x = %d, y = %f\n", x, y);
Text File I/O TEXT FILE I/O Basic text file I/O is only slightly more difficult than the I/O done to date. Every I/O function seen so far has a sister function that will read/write to a file on disk. The
More informationProgramming in C. What is C?... What is C?
Programming in C UVic SEng 265 C Developed by Brian Kernighan and Dennis Ritchie of Bell Labs Earlier, in 1969, Ritchie and Thompson developed the Unix operating system We will be focusing on a version
More informationBLM2031 Structured Programming. Zeyneb KURT
BLM2031 Structured Programming Zeyneb KURT 1 Contact Contact info office : D-219 e-mail zeynebkurt@gmail.com, zeyneb@ce.yildiz.edu.tr When to contact e-mail first, take an appointment What to expect help
More informationC Programming Language: C ADTs, 2d Dynamic Allocation. Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008
C Programming Language: C ADTs, 2d Dynamic Allocation Math 230 Assembly Language Programming (Computer Organization) Thursday Jan 31, 2008 Overview Row major format 1 and 2-d dynamic allocation struct
More informationFor each of the following variables named x, specify whether they are static, stack-dynamic, or heapdynamic:
For each of the following variables named x, specify whether they are static, stack-dynamic, or heapdynamic: a) in C++: int* x = new(int); b) in Java: class book { protected string title; book(string x)
More informationIn this session we will cover the following sub-topics: 1.Identifiers 2.Variables 3.Keywords 4.Statements 5.Comments 6.Whitespaces 7.Syntax 8.
In this session we will cover the following sub-topics: 1.Identifiers 2.Variables 3.Keywords 4.Statements 5.Comments 6.Whitespaces 7.Syntax 8.Semantic www.tenouk.com, 1/16 C IDENTIFIERS 1. Is a unique
More informationLecture 02 Summary. C/Java Syntax 1/14/2009. Keywords Variable Declarations Data Types Operators Statements. Functions
Lecture 02 Summary C/Java Syntax Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 1 2 By the end of this lecture, you will be able to identify the
More informationC/Java Syntax. January 13, Slides by Mark Hancock (adapted from notes by Craig Schock)
C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 By the end of this lecture, you will be able to identify the
More informationC/Java Syntax. Lecture 02 Summary. Keywords Variable Declarations Data Types Operators Statements. Functions. if, switch, while, do-while, for
C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 1 By the end of this lecture, you will be able to identify
More informationArrays. Systems Programming Concepts
Arrays Systems Programming Concepts Arrays Arrays Defining and Initializing Arrays Array Example Subscript Out-of-Range Example Passing Arrays to Functions Call by Reference Multiple-Subscripted Arrays
More informationLecture 9 - C Functions
ECET 264 C Programming Language with Applications Lecture 9 C Functions Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture 9- Prof. Paul I. Lin
More informationFeatures of C. Portable Procedural / Modular Structured Language Statically typed Middle level language
1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC
More informationLecture10: Structures, Unions and Enumerations 11/26/2012
Lecture10: Structures, Unions and Enumerations 11/26/2012 Slides modified from Yin Lou, Cornell CS2022: Introduction to C 1 Administrative Items Assignment #10 on the course webpage r, long double, etc.
More informationProgramming. Structures, enums and unions
Programming Structures, enums and unions Summary } Structures } Declaration } Member access } Function arguments } Memory layout } Array of structures } Typedef } Enums } Unions 2 Idea! } I want to describe
More informationDarshan Institute of Engineering & Technology for Diploma Studies Unit 5
1 What is structure? How to declare a Structure? Explain with Example Structure is a collection of logically related data items of different data types grouped together under a single name. Structure is
More informationStructures and Union. Fall Jinkyu Jeong GEBD029: Basis and Practice in Programming Fall 2014 Jinkyu Jeong
Structures and Union Fall 2014 Jinkyu Jeong (jinkyu@skku.edu) 1 Review Bitwise operations You need them for performance in terms of space and time Shifts are equivalent to arithmetics Enumeration you can
More informationBasic Elements of C. Staff Incharge: S.Sasirekha
Basic Elements of C Staff Incharge: S.Sasirekha Basic Elements of C Character Set Identifiers & Keywords Constants Variables Data Types Declaration Expressions & Statements C Character Set Letters Uppercase
More informationBasic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Data Types Basic Types Enumerated types The type void Derived types
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 12: Structures Readings: Chapter 11 Structures (1/2) A structure is a collection of one
More informationIntroduction. Primitive Data Types: Integer. Primitive Data Types. ICOM 4036 Programming Languages
ICOM 4036 Programming Languages Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative Arrays Record Types Union Types Pointer and Reference Types Data Types This
More informationFrancesco Nidito. Programmazione Avanzata AA 2007/08
Francesco Nidito in the Programmazione Avanzata AA 2007/08 Outline 1 2 3 in the in the 4 Reference: Micheal L. Scott, Programming Languages Pragmatics, Chapter 7 What is a type? in the What is a type?
More informationData Type. structure. C Programming Lecture 11 : Structuret. struct union. typedef. A collection of one or more variables
Data Type C Programming Lecture 11 : Structuret struct union enum typedef structure t A collection of one or more variables possibly of different types, grouped together under a single name. ex) employee
More informationCS2141 Software Development using C/C++ C++ Basics
CS2141 Software Development using C/C++ C++ Basics Integers Basic Types Can be short, long, or just plain int C++ does not define the size of them other than short
More informationTutorial 1: Introduction to C Computer Architecture and Systems Programming ( )
Systems Group Department of Computer Science ETH Zürich Tutorial 1: Introduction to C Computer Architecture and Systems Programming (252-0061-00) Herbstsemester 2012 Goal Quick introduction to C Enough
More informationC Language Part 3. Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 3 Pointers (revisited) int i = 4, j = 6, *p = &i, *q = &j, *r; if (p == &i)...; if (p == (& i))...;... = **&p;... = *(*(& p));... = 9 * *p / *q + 8;... = (((9*(*p)))/(*q)) + 8; *(r = &i)
More informationLecture 12: Data Types (and Some Leftover ML)
Lecture 12: Data Types (and Some Leftover ML) COMP 524 Programming Language Concepts Stephen Olivier March 3, 2009 Based on slides by A. Block, notes by N. Fisher, F. Hernandez-Campos, and D. Stotts Goals
More informationA Fast Review of C Essentials Part I
A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types
More informationData Structures Unit 02
Data Structures Unit 02 Bucharest University of Economic Studies Memory classes, Bit structures and operators, User data types Memory classes Define specific types of variables in order to differentiate
More informationLanguage comparison. C has pointers. Java has references. C++ has pointers and references
Pointers CSE 2451 Language comparison C has pointers Java has references C++ has pointers and references Pointers Values of variables are stored in memory, at a particular location A location is identified
More informationVariables Data types Variable I/O. C introduction. Variables. Variables 1 / 14
C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition
More informationChapter 7: Structuring the Data. Lecture7 1
Chapter 7: Structuring the Data Lecture7 1 Topics Introduction to Structures Operations on Structures Using Structures with Arrays Using Structures with Pointers Passing Structures to and from Functions
More informationLow-Level Programming
Programming for Electrical and Computer Engineers Low-Level Programming Dr. D. J. Jackson Lecture 15-1 Introduction Previous chapters have described C s high-level, machine-independent features. However,
More informationECE264 Spring 2014 Exam 2, March 11, 2014
ECE264 Spring 2014 Exam 2, March 11, 2014 In signing this statement, I hereby certify that the work on this exam is my own and that I have not copied the work of any other student while completing it.
More informationModule Contact: Dr Anthony J. Bagnall, CMP Copyright of the University of East Anglia Version 2
UNIVERSITY OF EAST ANGLIA School of Computing Sciences Main Series UG Examination 2014/15 PROGRAMMING 2 CMP-5015Y Time allowed: 2 hours Answer four questions. All questions carry equal weight. Notes are
More informationRecap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam
Multimedia Programming 2004 Lecture 2 Erwin M. Bakker Joachim Rijsdam Recap Learning C++ by example No groups: everybody should experience developing and programming in C++! Assignments will determine
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 9 Pointer Department of Computer Engineering 1/46 Outline Defining and using Pointers
More informationUnited States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017
United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes
More informationECET 264 C Programming Language with Applications
ECET 264 C Programming Language with Applications Lecture 6 Control Structures and More Operators Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture
More informationLecture 3. The syntax for accessing a struct member is
Lecture 3 Structures: Structures are typically used to group several data items together to form a single entity. It is a collection of variables used to group variables into a single record. Thus a structure
More informationM.EC201 Programming language
Power Engineering School M.EC201 Programming language Lecture 13 Lecturer: Prof. Dr. T.Uranchimeg Agenda The union Keyword typedef and Structures What Is Scope? External Variables 2 The union Keyword The
More informationECE 264 Exam 2. 6:30-7:30PM, March 9, You must sign here. Otherwise you will receive a 1-point penalty.
ECE 264 Exam 2 6:30-7:30PM, March 9, 2011 I certify that I will not receive nor provide aid to any other student for this exam. Signature: You must sign here. Otherwise you will receive a 1-point penalty.
More information2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B. 26 C. 31 D. 48
1. How can you make an infinite loop in C? A. while(1) { } B. loop:... goto loop; C. for(;;) { } D. All answers are right 2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B.
More informationComputer Programming Unit 3
POINTERS INTRODUCTION Pointers are important in c-language. Some tasks are performed more easily with pointers such as dynamic memory allocation, cannot be performed without using pointers. So it s very
More informationECET 264 C Programming Language with Applications
ECET 264 C Programming Language with Applications Lecture 9 & 10 Control Structures and More Operators Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.ecet.ipfw.edu/~lin
More information#include <stdio.h> int main() { char s[] = Hsjodi, *p; for (p = s + 5; p >= s; p--) --*p; puts(s); return 0;
1. Short answer questions: (a) Compare the typical contents of a module s header file to the contents of a module s implementation file. Which of these files defines the interface between a module and
More informationKurt Schmidt. October 30, 2018
to Structs Dept. of Computer Science, Drexel University October 30, 2018 Array Objectives to Structs Intended audience: Student who has working knowledge of Python To gain some experience with a statically-typed
More informationECET 264 C Programming Language with Applications. C Program Control
ECET 264 C Programming Language with Applications Lecture 7 C Program Control Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture 7 - Paul I. Lin
More informationadvanced data types (2) typedef. today advanced data types (3) enum. mon 23 sep 2002 defining your own types using typedef
today advanced data types (1) typedef. mon 23 sep 2002 homework #1 due today homework #2 out today quiz #1 next class 30-45 minutes long one page of notes topics: C advanced data types dynamic memory allocation
More informationC# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh
C# Fundamentals Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 1 2018/19 H-W. Loidl (Heriot-Watt Univ) F20SC/F21SC 2018/19
More informationC BOOTCAMP DAY 2. CS3600, Northeastern University. Alan Mislove. Slides adapted from Anandha Gopalan s CS132 course at Univ.
C BOOTCAMP DAY 2 CS3600, Northeastern University Slides adapted from Anandha Gopalan s CS132 course at Univ. of Pittsburgh Pointers 2 Pointers Pointers are an address in memory Includes variable addresses,
More informationCOMP 2355 Introduction to Systems Programming
COMP 2355 Introduction to Systems Programming Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Functions Similar to (static) methods in Java without the class: int f(int a, int
More informationComputer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary
GATE- 2016-17 Postal Correspondence 1 C-Programming Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts, Analysis
More informationUNIT - V STRUCTURES AND UNIONS
UNIT - V STRUCTURES AND UNIONS STRUCTURE DEFINITION A structure definition creates a format that may be used to declare structure variables. Let us use an example to illustrate the process of structure
More informationEnumerated Types. Mr. Dave Clausen La Cañada High School
Enumerated Types Mr. Dave Clausen La Cañada High School Enumerated Types Enumerated Types This is a new simple type that is defined by listing (enumerating) the literal values to be used in this type.
More informationCSE 230 Intermediate Programming in C and C++
CSE 230 Intermediate Programming in C and C++ Bitwise Operators and Enumeration Types Fall 2017 Stony Brook University Instructor: Shebuti Rayana http://www3.cs.stonybrook.edu/~cse230/ Overview Bitwise
More informationCS349/SE382 A1 C Programming Tutorial
CS349/SE382 A1 C Programming Tutorial Erin Lester January 2005 Outline Comments Variable Declarations Objects Dynamic Memory Boolean Type structs, enums and unions Other Differences The Event Loop Comments
More informationUNIT-IV. Structure is a user-defined data type in C language which allows us to combine data of different types together.
UNIT-IV Unit 4 Command Argument line They are parameters/arguments supplied to the program when it is invoked. They are used to control program from outside instead of hard coding those values inside the
More informationProcedures, Parameters, Values and Variables. Steven R. Bagley
Procedures, Parameters, Values and Variables Steven R. Bagley Recap A Program is a sequence of statements (instructions) Statements executed one-by-one in order Unless it is changed by the programmer e.g.
More informationContents. Custom data type struct data type Fixed length memory Alias data type
Complex Data Type Contents Custom data type struct data type Fixed length memory Alias data type Custom data type Terminology primitive data type the data type that don't need to be defined; they are already
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 3 Constants, Variables, Data Types, And Operations Department of Computer Engineering
More informationFundamentals of Programming. Lecture 10 Hamed Rasifard
Fundamentals of Programming Lecture 10 Hamed Rasifard 1 Outline File Input/Output 2 Streams and Files The C I/O system supplies a consistent interface to the programmer independent of the actual device
More informationEngineering program development 6. Edited by Péter Vass
Engineering program development 6 Edited by Péter Vass Variables When we define a variable with its identifier (name) and type in the source code, it will result the reservation of some memory space for
More informationPROGRAMMAZIONE I A.A. 2018/2019
PROGRAMMAZIONE I A.A. 2018/2019 COMMENTS COMMENTS There are two ways to insert a comment in C: üblock comments begin with /* and end with */, and üline comments begin with // and end with the next new
More informationStructures and Unions in C
Structures and Unions in C Leo Ferres Department of Computer Science Universidad de Concepción leo@inf.udec.cl July 5, 2010 1 Introduction 2 Structures [W1] Structures in C are defined as data containers
More informationStructured programming. Exercises 3
Exercises 3 Table of Contents 1. Reminder from lectures...................................................... 1 1.1. Relational operators..................................................... 1 1.2. Logical
More informationPointers, Pointers, Pointers!
Pointers, Pointers, Pointers! Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers, Pointers! Colin Gordon csgordon@cs.washington.edu University
More informationjust a ((somewhat) safer) dialect.
Intro_to_C Page 1 Intro to C Tuesday, September 07, 2004 5:30 PM C was developed specifically for writing operating systems Low level of abstraction. "Just above machine language." Direct access to the
More informationC# Types. Industrial Programming. Value Types. Signed and Unsigned. Lecture 3: C# Fundamentals
C# Types Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:
More informationBIL 104E Introduction to Scientific and Engineering Computing. Lecture 12
BIL 104E Introduction to Scientific and Engineering Computing Lecture 12 Files v.s. Streams In C, a file can refer to a disk file, a terminal, a printer, or a tape drive. In other words, a file represents
More informationBinghamton University. CS-211 Fall Variable Scope
Variable Scope 1 Scope The places in your code that can read and/or write a variable. Scope starts at the location where you declare the variable There may be holes in the scope! Scope ends at the end
More informationIndustrial Programming
Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 C# Types Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:
More informationBinghamton University. CS-211 Fall Variable Scope
Variable Scope 1 Scope The places in your code that can read and/or write a variable. Scope starts at the location where you declare the variable There may be holes in the scope! Scope ends at the end
More informationPrinciples of C and Memory Management
COMP281 Lecture 9 Principles of C and Memory Management Dr Lei Shi Last Lecture Today Pointer to Array Pointer Arithmetic Pointer with Functions struct Storage classes typedef union String struct struct
More informationFUNCTIONS POINTERS. Pointers. Functions
Functions Pointers FUNCTIONS C allows a block of code to be separated from the rest of the program and named. These blocks of code or modules are called functions. Functions can be passed information thru
More informationANSI C Reserved Words
Multimedia Programming 2004 Lecture 3 Erwin M. Bakker Joachim Rijsdam ANSI C Reserved Words auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int,
More informationA3-R3: PROGRAMMING AND PROBLEM SOLVING THROUGH 'C' LANGUAGE
A3-R3: PROGRAMMING AND PROBLEM SOLVING THROUGH 'C' LANGUAGE NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions. 2. PART ONE is to be
More informationBit Manipulation in C
Bit Manipulation in C Bit Manipulation in C C provides six bitwise operators for bit manipulation. These operators act on integral operands (char, short, int and long) represented as a string of binary
More informationCS240: Programming in C
CS240: Programming in C Lecture 10: Review - Structures and Memory Allocation Unions Recap: Structures Holds multiple items as a unit Treated as scalar in C: can be returned from functions, passed to functions
More informationDynamic Memory Allocation and Command-line Arguments
Dynamic Memory Allocation and Command-line Arguments CSC209: Software Tools and Systems Programming Furkan Alaca & Paul Vrbik University of Toronto Mississauga https://mcs.utm.utoronto.ca/~209/ Week 3
More informationSubject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100
Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space
More informationCS270 Homework 5 (HW5)
Name: Date: CS270 Homework 5 (HW5) Due Thursday, Nov 21 (start of class) Homework and programming assignments are to be done individually. Goals To understand C pointers and structs, and functions and
More informationDS Assignment I. 1. Set a pointer by name first and last to point to the first element and last element of the list respectively.
DS Assignment I 1 Suppose an integer array by name list is declared of size N (ex: #define N 10 int list[n]; ) Write C statements to achieve the following: 1 Set a pointer by name first and last to point
More informationThe C Programming Language
The C Programming Language CS 025 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
More informationEL2310 Scientific Programming
Lecture 11: Memory, Files and Bitoperations (yaseminb@kth.se) Overview Overview Lecture 11: Memory, Files and Bit operations Main function; reading and writing Bitwise Operations Lecture 11: Memory, Files
More informationChapter 6 part 1. Data Types. (updated based on 11th edition) ISBN
Chapter 6 part 1 Data Types (updated based on 11th edition) ISBN 0-321 49362-1 Chapter 6 Topics Introduction Primitive Data Types Character String Types User-Defined Ordinal Types Array Types Associative
More informationALQUDS University Department of Computer Engineering
2013/2014 Programming Fundamentals for Engineers Lab Lab Session # 8 Structures, and Enumeration ALQUDS University Department of Computer Engineering Objective: After completing this lab, the students
More informationBSM540 Basics of C Language
BSM540 Basics of C Language Chapter 4: Character strings & formatted I/O Prof. Manar Mohaisen Department of EEC Engineering Review of the Precedent Lecture To explain the input/output functions printf()
More informationLecture 5: Multidimensional Arrays. Wednesday, 11 February 2009
Lecture 5: Multidimensional Arrays CS209 : Algorithms and Scientific Computing Wednesday, 11 February 2009 CS209 Lecture 5: Multidimensional Arrays 1/20 In today lecture... 1 Let s recall... 2 Multidimensional
More informationArrays and Pointers in C. Alan L. Cox
Arrays and Pointers in C Alan L. Cox alc@rice.edu Objectives Be able to use arrays, pointers, and strings in C programs Be able to explain the representation of these data types at the machine level, including
More informationC Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017
C Concepts - I/O Lecture 19 COP 3014 Fall 2017 November 29, 2017 C vs. C++: Some important differences C has been around since around 1970 (or before) C++ was based on the C language While C is not actually
More informationScientific Programming in C X. More features & Fortran interface
Scientific Programming in C X. More features & Fortran interface Susi Lehtola 20 November 2012 typedef typedefs are a way to make shorthand for data types, and possibly also make the code more general
More informationArrays. An array is a collection of several elements of the same type. An array variable is declared as array name[size]
(November 10, 2009 2.1 ) Arrays An array is a collection of several elements of the same type. An array variable is declared as type array name[size] I The elements are numbered as 0, 1, 2... size-1 I
More informationActually, C provides another type of variable which allows us to do just that. These are called dynamic variables.
When a program is run, memory space is immediately reserved for the variables defined in the program. This memory space is kept by the variables until the program terminates. These variables are called
More informationProgramming for Engineers Structures, Unions
Programming for Engineers Structures, Unions ICEN 200 Spring 2017 Prof. Dola Saha 1 Structure Ø Collections of related variables under one name. Ø Variables of may be of different data types. Ø struct
More informationC++: Const Function Overloading Constructors and Destructors Enumerations Assertions
C++: Const Function Overloading Constructors and Destructors Enumerations Assertions Const const float pi=3.14159; const int* pheight; // defines pointer to // constant int value cannot be changed // pointer
More informationType Checking. Prof. James L. Frankel Harvard University
Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type
More information