Programming in C 1. Bharat Kinariwala Tep Dobry. 1 Copyright c1993 by B.Kinariwala and T. Dobry. All rights reserved.

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Programming in C 1. Bharat Kinariwala Tep Dobry. 1 Copyright c1993 by B.Kinariwala and T. Dobry. All rights reserved."

Transcription

1 Programming in C 1 Bharat Kinariwala University ofhawai`i Tep Dobry University ofhawai`i January 5, Copyright c1993 by B.Kinariwala and T. Dobry. All rights reserved.

2 Contents Table of Contents i List of Figures vii List of Tables xiii Preface xvii 1 Introduction Computer System Organization : : : : : : : : : : : : : : : : : : : : : : : : : : : : Computer Hardware : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Computer Software { The Operating System : : : : : : : : : : : : : : : : : Utility Programs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : User Programs and Applications : : : : : : : : : : : : : : : : : : : : : : : : Representing Data and Program Internally : : : : : : : : : : : : : : : : : : : : : : Representing Data : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Main Memory : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Representing Programs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Designing Programs and the C Language : : : : : : : : : : : : : : : : : : : : : : : Designing The Algorithm : : : : : : : : : : : : : : : : : : : : : : : : : : : : The C Language : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24 i

3 ii CONTENTS 1.5 References : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28 2 Basic Concepts A Simple C Program : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Developing the Algorithm : : : : : : : : : : : : : : : : : : : : : : : : : : : Translating the Algorithm to C : : : : : : : : : : : : : : : : : : : : : : : : Running the Program : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Organization of C Programs Simple Statements : : : : : : : : : : : : : : : : : : Comment Statements : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Dening a Function main() : : : : : : : : : : : : : : : : : : : : : : : : : Variable Declarations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The Assignment Statement : : : : : : : : : : : : : : : : : : : : : : : : : : Generating Output : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Testing the Program : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Debugging the Program : : : : : : : : : : : : : : : : : : : : : : : : : : : : Documenting the Code : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Input: Reading Data : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : More C Statements : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Making Decisions with Branches : : : : : : : : : : : : : : : : : : : : : : : : Simple Compiler Directives : : : : : : : : : : : : : : : : : : : : : : : : : : More on Expressions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A Simple Loop while : : : : : : : : : : : : : : : : : : : : : : : : : : : : Controlling Loop Termination : : : : : : : : : : : : : : : : : : : : : : : : : More Complex Loop Constructs Nested Loops : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

4 CONTENTS iii 2.7 Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 86 3 Designing Programs Top Down Designing the Algorithm with Functions : : : : : : : : : : : : : : : : : : : : : : : Implementing the Program with Functions : : : : : : : : : : : : : : : : : : Dening Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Passing Data to and from Functions : : : : : : : : : : : : : : : : : : : : : : Call by Value and Local Variables : : : : : : : : : : : : : : : : : : : : : : : Coding Programs for Readability : : : : : : : : : : : : : : : : : : : : : : : : : : : The C Preprocessor : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Macros : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Including Header Files : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Conditional Compilation : : : : : : : : : : : : : : : : : : : : : : : : : : : : Interacting with the Operating System : : : : : : : : : : : : : : : : : : : : : : : : Standard Files and EOF : : : : : : : : : : : : : : : : : : : : : : : : : : : : Standard Files and Redirection : : : : : : : : : : : : : : : : : : : : : : : : Debugging Guidelines : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Processing Character Data A New Data Type: char : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The ASCII Character Set : : : : : : : : : : : : : : : : : : : : : : : : : : : 138

5 iv CONTENTS Operations on Characters : : : : : : : : : : : : : : : : : : : : : : : : : : : Character I/O Using getchar() and putchar() : : : : : : : : : : : : : : : Strings vs Characters : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Sample Character Processing Functions : : : : : : : : : : : : : : : : : : : : : : : : Converting Letter Characters : : : : : : : : : : : : : : : : : : : : : : : : : Converting Digit Characters to Numbers : : : : : : : : : : : : : : : : : : : Counting Words : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Extracting Words : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : New Control Constructs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The switch Statement : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The break Statement : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The continue Statement : : : : : : : : : : : : : : : : : : : : : : : : : : : : Mixing Character and Numeric Input : : : : : : : : : : : : : : : : : : : : : : : : : Menu Driven Programs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Numeric Data Types and Expression Evaluation Representing Numbers : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Signed and Unsigned Integer Types : : : : : : : : : : : : : : : : : : : : : : Single and Double Precision Floating Point Numbers : : : : : : : : : : : : New Control Constructs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The for Statement : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : The do...while Statement : : : : : : : : : : : : : : : : : : : : : : : : : : Scalar Data Types : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 224

6 CONTENTS v Data Type void : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Enumeration : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Dening User Types: typedef : : : : : : : : : : : : : : : : : : : : : : : : : Operators and Expression Evaluation : : : : : : : : : : : : : : : : : : : : : : : : : Precedence and Associativity : : : : : : : : : : : : : : : : : : : : : : : : : TheDataType of the Result : : : : : : : : : : : : : : : : : : : : : : : : : Some New Operators : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Pointers What is a Pointer? : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Data vs Address : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Indirect Access of Values : : : : : : : : : : : : : : : : : : : : : : : : : : : : Passing Pointers to Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Indirectly Incrementing a Variable : : : : : : : : : : : : : : : : : : : : : : : Computing the Square and Cube : : : : : : : : : : : : : : : : : : : : : : : A function to Swap Values : : : : : : : : : : : : : : : : : : : : : : : : : : : Returning to the Payroll Task with Pointers : : : : : : : : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Arrays 293

7 vi CONTENTS 7.1 A Compound Data Type array : : : : : : : : : : : : : : : : : : : : : : : : : : : Declaring Arrays : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Character Strings as Arrays : : : : : : : : : : : : : : : : : : : : : : : : : : Passing Arrays to Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Arrays, Pointers, Pointer Arithmetic : : : : : : : : : : : : : : : : : : : : : : : : : Pointers: Increment and Decrement : : : : : : : : : : : : : : : : : : : : : : Array Names vs Pointer Variables : : : : : : : : : : : : : : : : : : : : : : : String Assignment and I/O : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Array Initializers : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Arrays for Databases : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Common Errors : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Summary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Exercises : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Problems : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Functions and Files Sorting and Searching String Processing Two Dimensional Arrays Structures and Unions File Input/Output Storage Class and Scope Engineering Programming Examples 353

8 CONTENTS vii A C Language Reference 355 B ANSI C vs Old C 357 C The C Standard Library 359

9 viii CONTENTS

10 List of Figures 1.1 Computer System Block Diagram : : : : : : : : : : : : : : : : : : : : : : : : : : : Memory and Addresses : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : CPU and Memory Conguration : : : : : : : : : : : : : : : : : : : : : : : : : : : Machine and Assembly Language Program Fragment : : : : : : : : : : : : : : : : Structural Diagram for Payroll Task : : : : : : : : : : : : : : : : : : : : : : : : : : Flow Chart for Payroll Task : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay0.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Allocation of Memory Cells or Objects : : : : : : : : : : : : : : : : : : : : : : : : AssignmentofValues : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Computation of pay : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Program Trace for pay0.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Keyboard Buer : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay1.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : If statement control ow : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay2.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Control Flow for while statement : : : : : : : : : : : : : : : : : : : : : : : : : : : Coding a While Loop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay3.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay4.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for prime.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 77 ix

11 x LIST OF FIGURES 3.1 Structural Diagram for Payroll Task : : : : : : : : : : : : : : : : : : : : : : : : : : Code for pay5.c driver : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Function Call to calc pay() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for calc pay() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Function Call Trace : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for calc pay() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Call by value variable allocation : : : : : : : : : : : : : : : : : : : : : : : : : : : : Local Variables in Blocks : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Driver for niceday.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Functions for niceday.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Using Directives in niceday.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : End of File Marker : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for maxabs.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for copy0.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for ASCII Attributes : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Printing character representations : : : : : : : : : : : : : : : : : : : : : : : : : : : Alternate code for attributes program : : : : : : : : : : : : : : : : : : : : : : : : : Using getchar() and putchar() : : : : : : : : : : : : : : : : : : : : : : : : : : : Strings : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for upper case : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Character Utilities : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Header le for Character Utilities : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for getint() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Revised Character Utility Header File : : : : : : : : : : : : : : : : : : : : : : : : : Revised Character Utility Code : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Count Words Driver : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 166

12 LIST OF FIGURES xi 4.14 Header Files for Word Count : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Word Count Utility Functions : : : : : : : : : : : : : : : : : : : : : : : : Code fore extracting words : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Control Flow for switch statement : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for vowelp() Using a switch Statement : : : : : : : : : : : : : : : : : : : : Code for encrypt.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Implementing print next() Using a switch Statement : : : : : : : : : : : : : : : New Implementation of print category using switch : : : : : : : : : : : : : : : Extracting Words Using break : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Revised encrypt.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Testing scanf() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Revised Code for Reading Integers : : : : : : : : : : : : : : : : : : : : : : : : : : Mixing Numeric and Character Data : : : : : : : : : : : : : : : : : : : : : : : : : Revised Code for Mixing Data : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A Better Revision for Mixing Data : : : : : : : : : : : : : : : : : : : : : : : : : : Code for menu driven program : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Menu Driven Functions : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Control Flow offor Loop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for factorial : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Control Flow ofdo...while Loop : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Square Root : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Math Utilities : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Modied Square Root Driver : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Modied Square Root Utilities : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Simple Postx Calculator : : : : : : : : : : : : : : : : : : : : : : : : : : Code for get operator() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 231

13 xii LIST OF FIGURES 5.10 Factorial Function Using Composite Operators : : : : : : : : : : : : : : : : : : : : Function maxdbl Using a Conditional Expression : : : : : : : : : : : : : : : : : : Revised Fibonacci : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Testing sizeof Operator : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Declaring Pointer Variables : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Declaration of Pointer Variables : : : : : : : : : : : : : : : : : : : : : : : : : : : : Assignments of pointers : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Eect of Pointer to Pointer Assignment : : : : : : : : : : : : : : : : : : : : : : : : Eect of Pointer Reassignment : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Eect of Indirect Pointer Access and Assignment : : : : : : : : : : : : : : : : : : Eect of Indirect Assignment : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Eect of Indirect Pointer Access and Assignment : : : : : : : : : : : : : : : : : : Example Code with Direct and Indirect Access : : : : : : : : : : : : : : : : : : : : Trace for Direct and Indirect Access : : : : : : : : : : : : : : : : : : : : : : : : : : Code for Indirect Access by afunction : : : : : : : : : : : : : : : : : : : : : : : : Trace for Indirect Access by afunction : : : : : : : : : : : : : : : : : : : : : : : : Code for Indirectly Returned Values : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for sqcube : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for sqcube : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for sqcube : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for sqcube : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for a Function, swap() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for swap() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for swap() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for swap() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Trace for swap() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 281

14 LIST OF FIGURES xiii 6.23 Header le payutil.h : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for the Driver for pay6.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for print data() and print pay() : : : : : : : : : : : : : : : : : : : : : : : Code for calc pay() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for get data() : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for scores.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : An Array of size MAX : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : A String Stored in Memory : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for string.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code fore scores.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for string2.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Pointer Arithmetic : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Array Pointers as Function Parameters : : : : : : : : : : : : : : : : : : : : : : : : Pointer to a Sub-array : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Pointer Variables and Arrays : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Pointer Variables and Strings : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Data Record Spread Over Several Arrays : : : : : : : : : : : : : : : : : : : : : : : Code for paytab.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Code for payutil.c : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 325

15 xiv LIST OF FIGURES

16 List of Tables 1.1 Number Representations : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Arithmetic Operators : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Relational Operators : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Precedence and Associativity of Operators : : : : : : : : : : : : : : : : : : : : : : Logical Operator Symbols in C : : : : : : : : : : : : : : : : : : : : : : : : : : : : Truth Table for Logical Combinations : : : : : : : : : : : : : : : : : : : : : : : : : Escape Sequences : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ASCII Table : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Escape sequences with Octal & Hexadecimal values : : : : : : : : : : : : : : : : : Precedence and Associativity Table : : : : : : : : : : : : : : : : : : : : : : : : : : Composite Assignment Operators and Their Equivalents : : : : : : : : : : : : : : Space allocation in Bytes for data types : : : : : : : : : : : : : : : : : : : : : : : Pointer Arithmetic and Indirect Access : : : : : : : : : : : : : : : : : : : : : : : : 307 xv

17 xvi LIST OF TABLES

18 Preface The C language has boomed in popularity andavailability since its creation in the 70's. It has largely become the language of choice for systems programming as well as general purpose programming in both the numeric and symbolic realms. As a result, all programmers today should have some working knowledge of C, particularly in engineering. This book is intended to be a rst text in programming in general with emphasis on the C language. It is meant for students with little or no previous programming experience and as such, a primary focus is on the top down design of programs, beginning with the development ofan algorithm, proceeding to the translation of the algorithm into a programming language (C), and the subsequent testing and debugging of the resulting code. Throughout the text, emphasis is placed on organization and readability ofcodeaswell as debugging aids in program development. In addition, understandable and functional user interfaces are described. As an introductory text on programming, our approach is to motivate the introduction of features of the language through example problems. We start with meaningful but simple tasks, develop an algorithm to solve the task and then introduce the necessary language constructs to implement the algorithm. We then rene the task, adding complexity or desirable features to motivate introduction of new language constructs. As such, the text is not meant to be a C reference manual, but a text on program design utilizing the available language features to implement the design. However, for student's reference, the key constructs introduced are summarized at the end of each chapter. The intent is for the student to be able to design and code programs from the very beginning. The book is organized as follows: Chapter 1 is an introduction to computers and some of the terminology used throughout the text. Chapter 2 begins the development of a simple C program and the introduction to the organization and basic statements of the language. Chapter 3 stresses the top down approach to design and introduces functions at an early stage to emphasize their relation to algorithms. Chapter 4 introduces the character data type and algorithms for processing characters. xvii

19 xviii PREFACE Chapter 5 presents numeric data types and their limitations and discusses the details of C expression evaluation. Chapter 6 addresses the important concept of pointers and their use in C in functions. Chapter 7 introduces compound data types with arrays and discusses their relation with pointers. Chapter 8 describes some of the standard library functions provided in C for character and math processing as well as giving a detailed description of the standard I/O functions printf() and scanf() and their variations for le I/O. Chapter 9 presents some standard sorting and searching techniques. Chapter 10 describes the powerful string processing utilities in C and the concept of libraries of functions. Chapter 11 returns to arrays presenting two dimensional arrays. Chapter 12 discusses the remaining compound data type structures and unions. Chapter 13 presents advanced le Input/Output features of the language. Chapter 14 describes the memory organization of C programs and discusses the details of storage classes and scope. Finally, Chapter 15 provides several examples of algorithms useful in Engineering computation. It makes use of the concepts presented in earlier Chapters and these examples may be discussed with the appropriate Chapter. In addition, three Appendices are provided as follows: Appendix A provides a summary of the C language constructs discussed in the text. Appendix B contrasts the language features of ANSI C as presented in this text to \old" C which is still available on many Unix systems. Appendix C summarizes the standard library functions available in C.

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

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,

More information

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

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

More information

So far we have considered only numeric processing, i.e. processing of numeric data represented

So far we have considered only numeric processing, i.e. processing of numeric data represented Chapter 4 Processing Character Data So far we have considered only numeric processing, i.e. processing of numeric data represented as integer and oating point types. Humans also use computers to manipulate

More information

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

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

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

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands

C Programming. for Embedded Microcontrollers. Warwick A. Smith. Postbus 11. Elektor International Media BV. 6114ZG Susteren The Netherlands C Programming for Embedded Microcontrollers Warwick A. Smith Elektor International Media BV Postbus 11 6114ZG Susteren The Netherlands 3 the Table of Contents Introduction 11 Target Audience 11 What is

More information

The C Programming Language course syllabus associate level

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

More information

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY

VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY ACADEMIC YEAR: 0 7 VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 0 0 SEMESTER: ODD BRANCH: MCA YEAR: I SEMESTER: I SUBJECT CODE AND NAME: MC70 Problem Solving and Programming NAME OF THE FACULTY

More information

The programming language C. sws1 1

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

More information

INTRODUCTION TO FLOWCHARTING

INTRODUCTION TO FLOWCHARTING CHAPTER 1 INTRODUCTION TO FLOWCHARTING 1.0 Objectives 1.1 Introduction 1.2 Flowcharts 1.3 Types of Flowcharts 1.3.1 Types of flowchart 1.3.2 System flowcharts 1.4 Flowchart Symbols 1.5 Advantages of Flowcharts

More information

Writing Portable Programs COS 217

Writing Portable Programs COS 217 Writing Portable Programs COS 217 1 Goals of Today s Class Writing portable programs in C Sources of heterogeneity Data types, evaluation order, byte order, char set, Reading period and final exam Important

More information

Sources: On the Web: Slides will be available on:

Sources: On the Web: Slides will be available on: C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

More information

C Programming Dr. Hasan Demirel

C Programming Dr. Hasan Demirel C How to Program, H. M. Deitel and P. J. Deitel, Prentice Hall, 5 th edition (3 rd edition or above is also OK). Introduction to C Programming Dr. Hasan Demirel Programming Languages There are three types

More information

Lecture 03 Bits, Bytes and Data Types

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

More information

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

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

More information

I PUC - Computer Science. Practical s Syllabus. Contents

I PUC - Computer Science. Practical s Syllabus. Contents I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations

More information

B.Sc.(Computer Science) and. B.Sc.(IT) Effective From July 2011

B.Sc.(Computer Science) and. B.Sc.(IT) Effective From July 2011 NEW Detailed Syllabus of B.Sc.(Computer Science) and B.Sc.(IT) Effective From July 2011 SEMESTER SYSTEM Scheme & Syllabus for B.Sc. (CS) Pass and Hons. Course Effective from July 2011 and onwards CLASS

More information

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11 EMC Publishing Ontario Curriculum Computer and Information Science Grade 11 Correlations for: An Introduction to Programming Using Microsoft Visual Basic 2005 Theory and Foundation Overall Expectations

More information

C++ Programming Language

C++ Programming Language C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract

More information

C What Happens INTRODUCTION PIC MICROCONTROLLER PRODUCT OVERVIEW SELECTING A DEVICE FOR EXPERIMENTS PIC16F818

C What Happens INTRODUCTION PIC MICROCONTROLLER PRODUCT OVERVIEW SELECTING A DEVICE FOR EXPERIMENTS PIC16F818 C What Happens INTRODUCTION PIC MICROCONTROLLER PRODUCT OVERVIEW SELECTING A DEVICE FOR EXPERIMENTS PIC16F818 Pins and functions Package Clock oscillator Reset Ports Special Features PIC microcontroller

More information

El Dorado Union High School District Educational Services

El Dorado Union High School District Educational Services El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming II (#495) Rationale: A continuum of courses, including advanced classes in technology is needed.

More information

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013

CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 Oct 4, 2013, p 1 Name: CS 141: Introduction to (Java) Programming: Exam 1 Jenny Orr Willamette University Fall 2013 1. (max 18) 4. (max 16) 2. (max 12) 5. (max 12) 3. (max 24) 6. (max 18) Total: (max 100)

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

198:211 Computer Architecture

198:211 Computer Architecture 198:211 Computer Architecture Topics: Lecture 8 (W5) Fall 2012 Data representation 2.1 and 2.2 of the book Floating point 2.4 of the book 1 Computer Architecture What do computers do? Manipulate stored

More information

Basic Common Unix commands: Change to directory d

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

More information

Objective Type Questions

Objective Type Questions Objective Type Questions Unit- Introduction to computer and programming: Sr.No. Multiple Choice Question Paper Marks Which of the following is a part of primary memory of computer a) PROM b) CD-ROM c)

More information

Embedded C Programming, Linux, and Vxworks. Synopsis

Embedded C Programming, Linux, and Vxworks. Synopsis Embedded C Programming, Linux, and Vxworks. Synopsis This course is extensive and contains many advanced concepts. The range of modules covers a full introduction to C, real-time and embedded systems concepts

More information

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

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,

More information

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement?

PART-A Questions. 2. How does an enumerated statement differ from a typedef statement? 1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members

More information

Course learning outcomes

Course learning outcomes UCS130C/UCS230C COMPUTER CONCEPTS & C PROGRAMMING 4 CREDITS Hrs/Week :04 Total Hrs:48 CIE Marks:50 SEE Marks:50 Course learning outcomes At the end of the course student will be able to: 1. Identify the

More information

TN203. Porting a Program to Dynamic C. Introduction

TN203. Porting a Program to Dynamic C. Introduction TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions

More information

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

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,

More information

CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

More information

Informatica e Sistemi in Tempo Reale

Informatica e Sistemi in Tempo Reale Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)

More information

The Basics of C Programming. Marshall Brain

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

More information

Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++

Adjusted/Modified by Nicole Tobias. Chapter 2: Basic Elements of C++ Adjusted/Modified by Nicole Tobias Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types

More information

/* File: blkcopy.c. size_t n

/* File: blkcopy.c. size_t n 13.1. BLOCK INPUT/OUTPUT 505 /* File: blkcopy.c The program uses block I/O to copy a file. */ #include main() { signed char buf[100] const void *ptr = (void *) buf FILE *input, *output size_t

More information

Chapter 1. 1.1Reasons for Studying Concepts of Programming Languages

Chapter 1. 1.1Reasons for Studying Concepts of Programming Languages Chapter 1 1.1Reasons for Studying Concepts of Programming Languages a) Increased ability to express ideas. It is widely believed that the depth at which we think is influenced by the expressive power of

More information

Fundamentals of Programming and Software Development Lesson Objectives

Fundamentals of Programming and Software Development Lesson Objectives Lesson Unit 1: INTRODUCTION TO COMPUTERS Computer History Create a timeline illustrating the most significant contributions to computing technology Describe the history and evolution of the computer Identify

More information

Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, 7th ed., 2012, Addison- Wesley. (Required)

Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, 7th ed., 2012, Addison- Wesley. (Required) University of Macau Faculty of Science and Technology Department of Computer and Information Science CISB110 Programming Science Syllabus 1 st Semester 2014/2015 Part A Course Outline Compulsory course

More information

The Elective Part of the NSS ICT Curriculum D. Software Development

The Elective Part of the NSS ICT Curriculum D. Software Development of the NSS ICT Curriculum D. Software Development Mr. CHEUNG Wah-sang / Mr. WONG Wing-hong, Robert Member of CDC HKEAA Committee on ICT (Senior Secondary) 1 D. Software Development The concepts / skills

More information

Introduction to Programming

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

More information

Course Title: Software Development

Course Title: Software Development Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.

More information

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T) Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating

More information

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

Tutorial on C Language Programming

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

More information

Primitive Data Types Summer 2010 Margaret Reid-Miller

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

More information

PROGRAMMING IN C PROGRAMMING IN C CONTENT AT A GLANCE

PROGRAMMING IN C PROGRAMMING IN C CONTENT AT A GLANCE PROGRAMMING IN C CONTENT AT A GLANCE 1 MODULE 1 Unit 1 : Basics of Programming Unit 2 : Fundamentals Unit 3 : C Operators MODULE 2 unit 1 : Input Output Statements unit 2 : Control Structures unit 3 :

More information

El Dorado Union High School District Educational Services

El Dorado Union High School District Educational Services El Dorado Union High School District Course of Study Information Page Course Title: ACE Computer Programming I (#494) Rationale: A continuum of courses, including advanced classes in technology is needed.

More information

Bhakta Kavi Narsinh Mehta University, Junagadh

Bhakta Kavi Narsinh Mehta University, Junagadh Bhakta Kavi Narsinh Mehta University, Junagadh Draft Syllabus for B.Sc. (Computer Science) Bachelor of Science (Computer Science) (Semester - 1) Effective From June - 2016 B.Sc. (C.S.) (Semester - 1) CS-101:

More information

C Syntax and Semantics

C Syntax and Semantics C Syntax and Semantics 1 C Program Structure C Language Elements Preprocessor directives Function Header, and Function body Executable statements Reserved word, Standard identifiers, user defined identifiers

More information

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

Chapter One Introduction to Programming

Chapter One Introduction to Programming Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of

More information

10CS35: Data Structures Using C

10CS35: Data Structures Using C CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions - a conventional tool for handling a

More information

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science I. Basic Course Information RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 105 Foundations of Computer Science A. Course Number and Title: CISY-105, Foundations of Computer Science B. New

More information

4 Completing the Inventory Application 67 Introducing Programming

4 Completing the Inventory Application 67 Introducing Programming CO N T E N T S Preface Before You Begin xvii xxvi 1 Moving Shapes Application 1 Introducing Computers, the Internet and Java Programming 1.1 What Is a Computer? 1 1.2 Computer Organization 2 1.3 Machine

More information

2013 Five years Integrated M.Sc.(IT) Semester 1 060010101 - Fundamentals of Programming

2013 Five years Integrated M.Sc.(IT) Semester 1 060010101 - Fundamentals of Programming 03 Five years Integrated M.Sc.(IT) Semester 00000 - Fundamentals Programming File should contain. Problem Statement. Algorithm 3. Flowchart. Program in C language(code) 5. Output and sample calculation

More information

Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void

Keywords are identifiers having predefined meanings in C programming language. The list of keywords used in standard C are : unsigned void 1. Explain C tokens Tokens are basic building blocks of a C program. A token is the smallest element of a C program that is meaningful to the compiler. The C compiler recognizes the following kinds of

More information

#820 Computer Programming 1A

#820 Computer Programming 1A Computer Programming I Levels: 10-12 Units of Credit: 1.0 CIP Code: 11.0201 Core Code: 35-02-00-00-030 Prerequisites: Secondary Math I, Keyboarding Proficiency, Computer Literacy requirement Semester 1

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

MLR Institute of Technology

MLR Institute of Technology MLR Institute of Technology DUNDIGAL 500 043, HYDERABAD COMPUTER SCIENCE AND ENGINEERING Computer Programming Lab List of Experiments S.No. Program Category List of Programs 1 Operators a) Write a C program

More information

1 Abstract Data Types Information Hiding

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

More information

Birla Institute of Technology &Science, Pilani Computer Programming (CS F111) Second Semester Lab-3 (Introduction to C Programming Language)

Birla Institute of Technology &Science, Pilani Computer Programming (CS F111) Second Semester Lab-3 (Introduction to C Programming Language) Topics to be covered: 1. C Program structure and execution 2. Data type 3. Reading input and printing output 4. Expression 5. Operator precedency 6. Typecasting Birla Institute of Technology &Science,

More information

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER

ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 pvonk@skidmore.edu ABSTRACT This paper

More information

Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013

Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013 Thomas Jefferson High School for Science and Technology Program of Studies Accelerated Foundations of Computer Science as of April 2013 Unit of Study / Accelerated Foundations of Computer Science is offered

More information

Lecture 22: C Programming 4 Embedded Systems

Lecture 22: C Programming 4 Embedded Systems Lecture 22: C Programming 4 Embedded Systems Today s Goals Basic C programming process Variables and constants in C Pointers to access addresses Using a High Level Language High-level languages More human

More information

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

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

More information

An Introduction to Programming and Computer Science

An Introduction to Programming and Computer Science An Introduction to Programming and Computer Science Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts Copyright 1998 by

More information

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm

More information

VB.NET Programming Fundamentals

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

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

Introduction to C Language

Introduction to C Language Introduction to C Language A look at C We are going to learn a language called C. C is a very flexible and powerful programming language originally designed in the early 1970s. It is famous as the language

More information

C++ INTERVIEW QUESTIONS

C++ INTERVIEW QUESTIONS C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get

More information

Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C

Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C Embedded Programming in C/C++: Lesson-1: Programming Elements and Programming in C 1 An essential part of any embedded system design Programming 2 Programming in Assembly or HLL Processor and memory-sensitive

More information

THE OPEN UNIVERSITY OF TANZANIA

THE OPEN UNIVERSITY OF TANZANIA THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE, TECHNOLOGY AND ENVIRONMENTAL STUDIES ODM 103: INTRODUCTION TO COMPUTER PROGRAMMING LANGUAGES Said Ally i ODM 103 INTRODUCTION TO COMPUTER PROGRAMMING

More information

Computer Programming I

Computer Programming I Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,

More information

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms

PROG0101 Fundamentals of Programming PROG0101 FUNDAMENTALS OF PROGRAMMING. Chapter 3 Algorithms PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 3 1 Introduction to A sequence of instructions. A procedure or formula for solving a problem. It was created mathematician, Mohammed ibn-musa al-khwarizmi.

More information

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

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

More information

9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements

9 Control Statements. 9.1 Introduction. 9.2 Objectives. 9.3 Statements 9 Control Statements 9.1 Introduction The normal flow of execution in a high level language is sequential, i.e., each statement is executed in the order of its appearance in the program. However, depending

More information

Domains and Competencies

Domains and Competencies Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the

More information

First Bytes Programming Lab 2

First Bytes Programming Lab 2 First Bytes Programming Lab 2 This lab is available online at www.cs.utexas.edu/users/scottm/firstbytes. Introduction: In this lab you will investigate the properties of colors and how they are displayed

More information

5 Arrays and Pointers

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

More information

From The Little SAS Book, Fifth Edition. Full book available for purchase here.

From The Little SAS Book, Fifth Edition. Full book available for purchase here. From The Little SAS Book, Fifth Edition. Full book available for purchase here. Acknowledgments ix Introducing SAS Software About This Book xi What s New xiv x Chapter 1 Getting Started Using SAS Software

More information

2. Compressing data to reduce the amount of transmitted data (e.g., to save money).

2. Compressing data to reduce the amount of transmitted data (e.g., to save money). Presentation Layer The presentation layer is concerned with preserving the meaning of information sent across a network. The presentation layer may represent (encode) the data in various ways (e.g., data

More information

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

About The Tutorial. Audience. Prerequisites. Copyright & Disclaimer

About The Tutorial. Audience. Prerequisites. Copyright & Disclaimer About The Tutorial C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX operating system.

More information

Microsoft' Excel & Access Integration

Microsoft' Excel & Access Integration Microsoft' Excel & Access Integration with Office 2007 Michael Alexander and Geoffrey Clark J1807 ; pwiueyb Wiley Publishing, Inc. Contents About the Authors Acknowledgments Introduction Part I: Basic

More information

1 - FANUC MACROS BASIC PROGRAM CODES 11

1 - FANUC MACROS BASIC PROGRAM CODES 11 TABLE OF CONTENTS 1 - FANUC MACROS 1 General Introduction........................ 1 Review of G-codes, M-codes and Subprograms............ 2 System Parameters.................... 2 Data Setting......................

More information

PES Institute of Technology-BSC QUESTION BANK

PES Institute of Technology-BSC QUESTION BANK PES Institute of Technology-BSC Faculty: Mrs. R.Bharathi CS35: Data Structures Using C QUESTION BANK UNIT I -BASIC CONCEPTS 1. What is an ADT? Briefly explain the categories that classify the functions

More information

AP Computer Science Java Subset

AP Computer Science Java Subset APPENDIX A AP Computer Science Java Subset The AP Java subset is intended to outline the features of Java that may appear on the AP Computer Science A Exam. The AP Java subset is NOT intended as an overall

More information

Engineering Problem Solving with C++, Etter/Ingber

Engineering Problem Solving with C++, Etter/Ingber Engineering Problem Solving with C++, Etter/Ingber Chapter 3 Control Structures 1 Control structures Algorithm Development Conditional Expressions Selection Statements Repetition Statements Structuring

More information

Lecture 7: Programming for the Arduino

Lecture 7: Programming for the Arduino Lecture 7: Programming for the Arduino - The hardware - The programming environment - Binary world, from Assembler to C - - Programming C for the Arduino: more - Programming style Lect7-Page1 The hardware

More information

Python to C/C++ Fall 2011

Python to C/C++ Fall 2011 Python to C/C++ Fall 2011 1. Main Program Python: Program code is indented after colon : def main(): body of program C/C++: Have more setup overhead. C: Both require #include directives to access libraries

More information

SD Card Projects Using the PIC Microcontroller

SD Card Projects Using the PIC Microcontroller SD Card Projects Using the PIC Microcontroller Dogan Ibrahim AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO Newnes is an imprint of Elsevier Newnes

More information

Beginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition

Beginning C# 5.0. Databases. Vidya Vrat Agarwal. Second Edition Beginning C# 5.0 Databases Second Edition Vidya Vrat Agarwal Contents J About the Author About the Technical Reviewer Acknowledgments Introduction xviii xix xx xxi Part I: Understanding Tools and Fundamentals

More information

In this lecture you will learn:

In this lecture you will learn: Data Types and Variables Imed Hammouda Department of Software Systems Tampere University of Technology Objectives In this lecture you will learn: What is a data type and how types are represented in C++.

More information

arrays C Programming Language - Arrays

arrays C Programming Language - Arrays arrays So far, we have been using only scalar variables scalar meaning a variable with a single value But many things require a set of related values coordinates or vectors require 3 (or 2, or 4, or more)

More information