KEMBAR78
Programming in C 2 e Second Edition Dey Complete Edition | PDF | Computer Program | Programming
100% found this document useful (4 votes)
58 views138 pages

Programming in C 2 e Second Edition Dey Complete Edition

The document is about the book 'Programming in C, 2nd Edition' by Pradip Dey and Manas Ghosh, which serves as an introductory guide to programming in C. It covers fundamental concepts, programming structures, and advanced features of the C language, including new topics based on the C99 standard. The book is designed for beginners and includes numerous examples, exercises, and case studies to enhance understanding.

Uploaded by

shibaniditu1128
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (4 votes)
58 views138 pages

Programming in C 2 e Second Edition Dey Complete Edition

The document is about the book 'Programming in C, 2nd Edition' by Pradip Dey and Manas Ghosh, which serves as an introductory guide to programming in C. It covers fundamental concepts, programming structures, and advanced features of the C language, including new topics based on the C99 standard. The book is designed for beginners and includes numerous examples, exercises, and case studies to enhance understanding.

Uploaded by

shibaniditu1128
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 138

Programming in C 2 e Second Edition Dey 2025

download now

https://ebookultra.com/download/programming-in-c-2-e-second-edition-
dey/

★★★★★
4.7 out of 5.0 (42 reviews )

Download PDF Now

ebookultra.com
Programming in C 2 e Second Edition Dey

EBOOK

Available Formats

■ PDF eBook Study Guide Ebook

EXCLUSIVE 2025 ACADEMIC EDITION – LIMITED RELEASE

Available Instantly Access Library


Here are some recommended products for you. Click the link to
download, or explore more at ebookultra.com

Object Oriented Programming in C 4th Edition E.


Balagurusamy

https://ebookultra.com/download/object-oriented-programming-in-c-4th-
edition-e-balagurusamy/

Programming in C A Primer 3rd Edition E Balagurusamy

https://ebookultra.com/download/programming-in-c-a-primer-3rd-edition-
e-balagurusamy/

C Programming for the Absolute Beginner Second Edition


Mark Lee

https://ebookultra.com/download/c-programming-for-the-absolute-
beginner-second-edition-mark-lee/

Programming Concepts in C 2nd Edition Robert Burns

https://ebookultra.com/download/programming-concepts-in-c-2nd-edition-
robert-burns/
Functional Programming in C First Edition Ivan Cukic

https://ebookultra.com/download/functional-programming-in-c-first-
edition-ivan-cukic/

Memory as a Programming Concept in C and C Frantisek


Franek

https://ebookultra.com/download/memory-as-a-programming-concept-in-c-
and-c-frantisek-franek/

The World of Northern Evergreens Second Edition E. C.


Pielou

https://ebookultra.com/download/the-world-of-northern-evergreens-
second-edition-e-c-pielou/

C network programming Vol 2 Systematic reuse with ACE and


frameworks 6. print Edition Schmidt

https://ebookultra.com/download/c-network-programming-
vol-2-systematic-reuse-with-ace-and-frameworks-6-print-edition-
schmidt/

Advancements in Applied Metaheuristic Computing 1st


Edition Nilanjan Dey

https://ebookultra.com/download/advancements-in-applied-metaheuristic-
computing-1st-edition-nilanjan-dey/
Programming in

C
Second Edition

Pradip Dey Manas Ghosh

OXFORD
UNIVERSITY PRESS
© Oxford University Press 2011

ISBN: 978-0-198065-28-9
C Preface to the
First Edition

Since the evolution of computers, a variety of program- CONTENT AND STRUCTURE


ming languages have come into existence. C stands
Chapter 1 begins by explaining the concept of program-
out among general-purpose programming languages
ming. It discusses the techniques of forming an organized
for its unrivaled mix of portability, flexibility, and ef-
approach to problem solving. It also identifies the differ-
ficiency. It is a versatile language and is commonly used
ent types of programs and the various categories of pro-
for developing application and system programs. C has
gramming languages available. The prescribed tools that
block structures, stand-alone functions, a compact set of
are used in this process are described and explained with
keywords, and very few restrictions. For all these rea-
sufficient examples and diagrams.
sons, learning and using C is a necessity for most pro-
For a beginner, Chapter 2 is undoubtedly the most im-
grammers.
portant chapter that describes the basic elements of C. This
chapter introduces the keywords, the basic data types and
ABOUT THE BOOK their modifiers, operators and their precedence, and ex-
This book is intended for an introductory course on pro- pressions and data type conversion rules. The basic struc-
gramming in C. It assumes no prior programming expe- ture of a C program along with the common commands
rience in C or any other language. Readers will find the used in MS-DOS and UNIX/Linux for compiling and running
explanations lucid and effective. Every feature of C has it has been described at length in this chapter.
been demonstrated with appropriate programs tested and Accepting data from and conveying the results to a user
run on a computer. The output obtained after executing is one of the most important actions desired from a pro-
these programs have also been included. The explana- gram. To satisfy these requirements through the console,
tions have been depicted with suitable diagrams to convey there are some commonly used input and output func-
the concepts more effectively. Readers will be proficient tions in C. These have been explained with illustrations in
at programming after solving the review questions and Chapter 3.
programming exercises given at the end of each chapter. Program flow control and looping constructs in C are ex-
Though every attempt has been made to avoid and check plained in Chapter 4. The general statement format with flow-
errors, we will be grateful to readers if they can bring charts and examples illustrate their significance in programs.
to our notice any errors that may have crept in inadver- Arrays and strings are two important data structures for
tently. handling a cluster of homogeneous data. How such clus-
vi Preface to the First Edition

ters are declared and handled is explained with ample ex- The appendices contain case studies where the problem
amples in Chapter 5. is first defined and then the algorithm is developed, based
The concept of functions, its form, and its requirement on which the C program is coded. Some sample runs ob-
in a program is discussed in Chapter 6 with well-explained tained during the execution of these programs have also
examples. Recursive functions are also described with been included. It also contains tables for ASCII codes, num-
several examples. Analysis of time and space complexity ber system conversions, escape sequences, operators, data
for an algorithm has also been presented in this chapter. types and data conversion rules, commonly used conver-
One of the most important features of C is pointers. sion characters, and format tags. Among many other useful
Starting with an introduction to pointers, Chapter 7 also topics covered in the appendices, an exhaustive listing of
elaborates on how pointers are used with arrays, strings, C library functions, with programs illustrating how these
and functions. The use of pointers is also described in functions can be put to use, have also been presented.
depth with innumerable examples.
User-defined data types such as structures and unions ACKNOWLEDGEMENTS
are described in Chapter 8. What these data types com-
prise and how these are handled and used are illustrated We thank our students Rakesh Dutta and Niloy Debnath
with examples. for verifying the programs in this book and Sonia Khed-
Creating, amending, appending, and many other opera- wal, Priyanka Nawalkar, Sayantani Saha, and Debolina
tions on files in C is a necessity for storing and retrieving Sharangi for their assistance in the preparation of the
data and programs. This has been covered in Chapter 9 model questions. We are grateful to the staff of Oxford
with sufficient examples. University Press for their continuous cooperation, interest,
Linked list, which is a popular data structure, has been and assistance extended to us during the preparation of the
covered in Chapter 10. Various types of linked lists and the book. We are also thankful to our colleague Mr Manash
different operations that can be carried out on such linked Sinharoy for helping us in preparing the manuscript in
lists have been discussed. In this chapter, readers will also time and Mr Tapas Kumar Tunga and Mr P.N. Pathak for
get to know how pointers are used in constructing this data their assistance in the preparation of the manuscript.
structure. Special thanks are due to Mr Steve Summit for his ar-
Chapter 11 highlights some of the advanced features ticles on C, which have guided us in preparing some of the
of C such as command-line arguments, bit-wise operators, topics in this book. We also wish to thank Mr Vijay Kumar
different memory models, and type qualifiers with several R Zanvar and Mr Jayasima Ananth for the article on point-
illustrations. ers and arrays as also Mr Thomas Jenkins for the article on
Frequently asked questions are always a source of recursion, both of which have served as a guide during the
learning. Some frequently asked questions have been in- development of this manuscript. We express our gratitude
cluded at end of the book, which will help readers to clear to Mr Peter Burden, Mr Mike Banahan, Mr Declan Brady,
any doubts pertaining to programming in C. and Mr Mark Doran for their articles on C.
PRADIP DEY
MANAS GHOSH
C Preface to the
Second Edition

Evolution of ideas is a never-ending process. New tech- ∑ Chapter-end case studies


nology and changing needs have a tremendous influence ∑ Points to Note, Key Terms with definitions, Frequently
on computing requirements, which in turn lead to continu- Asked Questions, and Project Questions with each
ous enhancements of the power and scope of a program- chapter
ming language. ∑ Improved explanations of algorithms and codes, and
C99 is the modern standard of the C programming lan- new in-text examples
guage. It extends the previous version (C90) with new lan-
guage and library features, and helps programmers make bet- ∑ Incremental problem running through Ch 3 to 9,
ter use of available computer hardware and compiler technol- illustrating program code building from basics
ogy. The new features include inline functions, several new ∑ New sections such as variable length arrays, searching
data types, and new header files. Hence, with the new fea- and sorting algorithms, pointer and const qualifier,
tures suggested by the C99 committee, the C programming and applications of linked lists
language has expanded its scope and range of applications. ∑ Includes a CD that contains all the example programs,
Accordingly, this edition offers several new topics, incremental problems, and case studies in a user-
features based on the recommendations proposed by C99 friendly format.
committee in relevant chapters, and many other useful fea-
tures. A special effort has been made to simplify the exist-
ing text with better treatment and explain the concepts with EXTENDED CHAPTER MATERIAL
the help of examples containing appropriate comments.
Chapter 1: Introduction to Programming:
Further, the inclusion of key terms with brief definitions,
FAQs with answers, and case studies demonstrating the
Algorithms and Flowcharts
stepwise approach of solving practical problems will aid Includes new sections on
the reader to grasp the essence of the concepts and under- ∑ Correctness and termination of algorithms
stand their practical implementation.
∑ Subroutines
∑ Strategy for designing algorithms
NEW TO THE SECOND EDITION
∑ Tracing an algorithm to depict logic
∑ C99 features highlighted wherever relevant in the text ∑ Specification for converting algorithms into
∑ New chapter on Stacks, Queues, and Trees programs
iv Preface to the Second Edition

Chapter 2: Basics of C Chapter 10: Linked Lists


Includes new sections on New discussions on the stringizing operator, token pasting
∑ Compilation model of a C program operator, and the optional third command line argument of
main() function have been included in this chapter.
∑ Philosophy of main() function
∑ The concept of Type qualifiers
Chapter 12: Stacks, Queues, and Trees
∑ How integers are stored in memory?
It is a new chapter in this edition. This chapter explains
the implementation of stacks and queues using arrays and
Chapter 4: Control Statements
linked lists as well as the applications of these two data
Contains new sections on different forms of loop and mov- structures. It also explains binary trees, their traversal,
ing out from a nested loop. types, and applications.

Chapter 6: Functions ACKNOWLEDGEMENTS


Includes new sections on We are grateful to a host of readers, who have encouraged
∑ Scope, storage class, and linkages us in improving this book by their useful suggestions from
∑ inline function time to time. There are no words to express our gratitude
∑ Different sorting and searching methods along with to Oxford University Press for their continuous support,
the analysis of time and space complexity suggestions, and assistance while preparing this edition.
Despite our best endeavour to make this edition error free,
some may have crept in inadvertently. Comments and sugges-
Chapter 7: Pointers
tions for the improvement of the book are welcome. Please
Includes new sections on send them to the publisher by logging on to their website www.
∑ Pointer and const qualifier oup.com or to the authors at pdey.mghosh@gmail.com.
∑ Constant parameter
PRADIP DEY
∑ Returning pointer from a function
MANAS GHOSH
C Brief Contents

Preface to the Second Edition .................................................................................................................... iii


Preface to the First Edition ..........................................................................................................................v
1. Introduction to Programming, Algorithms and Flowcharts ..............................................................1
2. Basics of C ......................................................................................................................................39
3. Input and Output ..............................................................................................................................94
4. Control Statements .........................................................................................................................117
5. Arrays and Strings..........................................................................................................................169
6. Functions ........................................................................................................................................214
7. Pointers in C...................................................................................................................................268
8. User-defined Data Types and Variables .........................................................................................350
9. Files in C ........................................................................................................................................388
10. Linked Lists ...................................................................................................................................423
11. Advanced C....................................................................................................................................460
12. Stacks, Queues, and Trees..............................................................................................................492
Appendices...............................................................................................................................................524
Bibliography and References ...................................................................................................................544
Index ........................................................................................................................................................545
C Contents

Preface to the Second Edition iii


Preface to the First Edition v

1 INTRODUCTION TO PROGRAMMING, Modular Programming 12


ALGORITHMS AND FLOWCHARTS 1 Structured Code 13
The Process of Programming 13
1.1 Programs and Programming 1 1.9 Algorithms 14
System Software 2 What is an Algorithm? 14
Application Software 2 Different Ways of Stating Algorithms 14
1.2 Programming Languages 2 Key Features of an Algorithm and the Step-
System Programming Languages 3 form 14
Application Programming Languages 3 What are Variables? 16
Low-level Languages 3 Subroutines 17
High-level Languages 5 Strategy for Designing Algorithms 30
1.3 Compiler, Interpreter, Loader, and Linker 6 Tracing an Algorithm to Depict Logic 31
Compiling and Executing High-level Language Specification for Converting Algorithms into
Programs 6 Programs 32
Linker 7
Loader 7
2 BASICS OF C 39
Linking Loader and Linkage Editor 8
1.4 Program Execution 8 2.1 Introduction 39
1.5 Fourth Generation Languages 9 Why Learn C? 40
1.6 Fifth Generation Languages 10 The Future of C 40
1.7 Classification of Programming 10 2.2 Standardizations of C Language 40
Procedural Languages 10 2.3 Developing Programs In C 41
2.4 A Simple C Program 45
Problem-oriented Languages 11
2.5 Parts of C Program Revisited 47
Non-procedural Languages 11
2.6 Structure of a C Program 48
1.8 Structured Programming Concept 11
2.7 Concept of a Variable 49
Top–down Analysis 12
x Contents

2.8 Data Types in C 50 4.3 Writing Test Expression 119


2.9 Program Statement 55 Understanding How True and False is Represented
2.10 Declaration 56 in C 120
2.11 How Does The Computer Store Data in 4.4 Conditional Execution and Selection 124
Memory? 57 Selection Statements 124
How Integers are Stored? 57 The Conditional Operator 131
How Floats and Doubles are Stored? 58 The Switch Statement 133
2.12 Token 60 4.5 Iteration and Repetitive Execution 137
Identifier 60 While Construct 138
Keywords 61 For Construct 143
Constant 61 do-while Construct 151
Assignment 63
4.6 Which Loop Should be Used? 153
Initialization 64
Using Sentinel Values 153
2.13 Operators and Expressions 65
Using Prime Read 154
Arithmetic Operators in C 66
Using Counter 155
Relational Operators in C 71
4.7 Goto Statement 155
Logical Operators in C 71
4.8 Special Control Statements 156
Bitwise Operators in C 72
4.9 Nested Loops 159
Conditional Operator in C 73
Comma Operator 73
Sizeof Operator 74 5 ARRAYS AND STRINGS 169
Expression Evaluation—Precedence and 5.1 Introduction 169
Associativity 74 5.2 One-Dimensional Array 170
2.14 Expressions Revisited 77 Declaration of a One-dimensional Array 171
2.15 Lvalues and Rvalues 77 Initializing Integer Arrays 173
2.16 Type Conversion in C 78 Accessing Array Elements 173
Type Conversion in Expressions 78 Other Allowed Operations 174
Conversion by Assignment 79 Internal Representation of Arrays in C 176
Casting Arithmetic Expressions 81 Variable Length Arrays and the C99 changes 177
2.17 Working with Complex Numbers 86 Working with One-dimensional Array 177
5.3 Strings: One-dimensional Character Arrays 182
3 INPUT AND OUTPUT 94 Declaration of a String 182
String Initialization 182
3.1 Introduction 94
Printing Strings 183
3.2 Basic Screen and Keyboard I/O in C 95
String Input 184
3.3 Non-Formatted Input and Output 96
Single Character Input and Output 96 Character Manipulation in the String 190
Single Character Input 96 String Manipulation 191
Single Character Output 96 5.4 Multidimensional Arrays 199
Additional Single Character Input and Output Declaration of a Two-dimensional Array 199
Functions 97 Declaration of a Three-dimensional Array 199
3.4 Formatted Input and Output Functions 100 Initialization of a Multidimensional Array 199
Output Function printf ( ) 100 Unsized Array Initializations 201
Input Function scanf ( ) 106 Accessing Multidimensional Arrays 201
Working with Two-dimensional Arrays 202
5.5 Arrays of Strings: Two-dimensional Character
4 CONTROL STATEMENTS 117
Array 206
4.1 Introduction 117 Initialization 206
4.2 Specifying Test Condition Forselection and Manipulating String Arrays 206
Iteration 119
Contents xi
6 FUNCTIONS 214 7.9 Pointers and Strings 288
7.10 Pointer Arithmetic 289
6.1 Introduction 214
Assignment 290
6.2 Concept of Function 215
Addition or Subtraction with Integers 291
Why are Functions Needed? 215
Subtraction of Pointers 298
6.3 Using Functions 216
Comparing Pointers 299
Function Prototype Declaration 216
7.11 Pointers to Pointers 300
Function Definition 217
7.12 Array of Pointers 302
Function Calling 219
7.13 Pointers To an Array 306
6.4 Call by Value Mechanism 221
7.14 Two-dimensional Arrays and Pointers 307
6.5 Working with Functions 221
Passing Two-dimensional Array to a Function 309
6.6 Passing Arrays to Functions 224
7.15 Three-dimensional Arrays 316
6.7 Scope and Extent 227
7.16 Pointers to Functions 317
Concept of Global and Local Variables 227
Declaration of a Pointer to a Function 317
Scope Rules 229
Initialization of Function Pointers 317
6.8 Storage Classes 231
Calling a Function using a Function Pointer 317
Storage Class Specifiers for Variables 231
Passing a Function to another Function 318
Storage Class Specifiers for Functions 234
How to Return a Function Pointer 319
Linkage 234
Arrays of Function Pointers 320
6.9 The Inline Function 234
7.17 Dynamic Memory Allocation 320
6.10 Recursion 235
Dynamic Allocation of Arrays 323
What is Needed for Implementing Recursion? 235
Freeing Memory 325
How is Recursion Implemented? 239
Reallocating Memory Blocks 327
Comparing Recursion and Iteration 241
Implementing Multidimensional Arraysusing
6.11 Searching and Sorting 241
Pointers 328
Searching Algorithms 241
7.18 Offsetting a Pointer 331
Sorting Algorithms 243
7.19 Memory Leak and Memory Corruption 333
6.12 Analysis of Algorithms 248
7.20 Pointer and Const Qualifier 334
Asymptotic Notation 250
Pointer to Constant 334
Efficiency of Linear Search 252
Constant Pointers 335
Binary Search Analysis 253
Constant Parameters 335
Analysis of Bubble Sort 254
Analysis of Quick Sort 255
Disadvantages of Complexity Analysis 255 8 USER-DEFINED DATA TYPES AND
VARIABLES 350
7 POINTERS IN C 268 8.1 Introduction 350
7.1 Introduction 268 8.2 Structures 351
7.2 Understanding Memory Addresses 269 Declaring Structures and Structure Variables 351
7.3 Address Operator (&) 271 Accessing the Members of a Structure 354
7.4 Pointer 272 Initialization of Structures 355
Declaring a Pointer 272 Copying and Comparing Structures 359
Initializing Pointers 274 Typedef and its Use in Structure Declarations 361
Indirection Operator and Dereferencing 276 Nesting of Structures 362
7.5 Void Pointer 278 Arrays of Structures 363
7.6 Null Pointer 278 Initializing Arrays of Structures 364
7.7 Use of Pointers 279 Arrays within the Structure 365
7.8 Arrays and Pointers 282 Structures and Pointers 365
One-dimensional Arrays and Pointers 282 Structures and Functions 367
Passing an Array to a Function 285 8.3 Union 370
Differences Between Array Name and Pointer 286 Declaring a Union and its Members 370
xii Contents

Accessing and Initializing the Members of a 10.5 Introduction to Circular Doubly Linked List 450
Union 371 10.6 Applications of Linked Lists 451
Structure Versus Union 372 Dynamic Storage Management 451
8.4 Enumeration Types 373 Garbage Collection and Compaction 452
8.5 Bitfields 374 10.7 Disadvantages of Linked Lists 454
10.8 Array Versus Linked List Revisited 454
9 FILES IN C 388
9.1 Introduction 388 11 ADVANCED C 460
9.2 Using Files in C 390 11.1 Introduction 460
Declaration of File Pointer 390 11.2 Bitwise Operator 461
Opening a File 391 Bitwise and 462
Closing and Flushing Files 392 Bitwise or 463
9.3 Working with Text Files 393 Bitwise Exclusive-OR 464
Character Input and Output 393 Bitwise Not 464
End of File (EOF) 394 Bitwise Shift Operator 465
Detecting the End of a File Using the feof() 11.3 Command-Line Arguments 467
Function 400 11.4 The C Preprocessor 470
9.4 Working with Binary Files 401 The C Preprocessor Directives 470
9.5 Direct File Input and Output 402 Predefined Identifiers 474
Sequential Versus Random File Access 403 11.5 Type Qualifier 475
9.6 Files of Records 403 Const Qualifier 476
Working with Files of Records 403 Volatile Qualifier 478
9.7 Random Access to Files of Records 410 Restrict Qualifier 479
9.8 Other File Management Functions 413 11.6 Variable Length Argument List 480
Deleting a File 413 11.7 Memory Models and Pointers 481
Renaming a File 413
9.9 Low-Level I/O 414
12 STACKS, QUEUES, AND TREES 492
12.1 Introduction 492
10 LINKED LISTS 423 12.2 Stack 493
10.1 Introduction 423 Implementation of Stack 493
10.2 Singly Linked List 425 Application of Stack 498
Insertion of a Node in a Singly Linked List 430 12.3 Queue 499
Deletion of a Node from a Singly Linked List 434 Implementation of Queue 499
Sorting a Singly Linked List 435 Other Variations of Queue 505
Destroying a Singly Linked List 436 Applications of Queue 505
More Complex Operations on Singly Linked 12.4 Tree 506
Lists 437 Some Basic Tree Terminology 507
10.3 Circular Linked Lists 440 Binary Tree 507
Appending a Node 441 Traversals of a Binary Tree 509
Displaying a Circular Linked List 442 Kinds of Binary Trees 511
Inserting a Node After a Specified Node 442 Binary Search Tree 511
Inserting a Node Before a Particular Node 443 Application of Tree 518
Deleting a Node 444
Sorting a Circular Linked List 446 Appendices 524
10.4 Doubly Linked List 446 Bibliography and References 544
Operations on Doubly Linked List 447 Index 545
Advantages/Disadvantages of DoublyLinked
Lists 450
C Introduction to
Programming, Algorithms
and Flowcharts

Chapter 1
Learning Objectives
After reading this chapter, the readers will be able to
define program and programming
identify system programs and application programs
get a basic concept of high-, middle-, and low-level languages
briefly understand compiler, interpreter, linker, and loader functions
understand algorithms and the key features of an algorithm—sequence, decision, and
repetition
learn the different ways of stating algorithms—step-form, flowchart, etc.
define variables, types of variables, and naming conventions for variables
decide a strategy for designing algorithms

1.1 PROGRAMS AND PROGRAMMING The process of writing a program is called programming.
It is a necessary and critical step in data processing.
A computer can neither think nor make a decision on An incorrect program delivers results that cannot be
its own. In fact, it is not possible for any computer to used. There are two ways by which one can acquire a
independently analyze a given data and find a solution on program—either purchase an existing program, referred
its own. It needs a program which will convey what is to to as packaged software or prepare a new program from
be done. A program is a set of logically related instructions scratch, in which case it is called customized software.
that is arranged in a sequence that directs the computer in Computer software can be broadly classified into two
solving a problem. categories: system software and application software.
2 Programming in C

A number of powerful application software packages


that do not require significant programming knowledge
Computer Software have been developed. These are easy to learn and use
compared to programming languages. Although these
packages can perform many general and special functions,
System Software Application Software there are applications where these packages are found to
be inadequate. In such cases, user application programs are
Figure 1.1 Computer software classification written to meet the exact requirements. A user application
program may be written using one of these packages or a
programming language. The most important categories of
1.1.1 System Software software packages available are
System software is a collection of programs that interfaces ∑ Database management software
with the hardware. Some common categories of system ∑ Spreadsheet software
software are described as follows. ∑ Word processing, Desktop Publishing (DTP), and
Language translator It is a system software that presentation software
transforms a computer program written by a user into a ∑ Multimedia software
form that can be understood by the machine. ∑ Data communication software
∑ Statistical and operational research software
Operating system (OS) This is the most important system
software that is required to operate a computer system.
An operating system manages the computer’s resources
effectively, takes care of scheduling multiple jobs for Application Software
execution, and manages the flow of data and instructions
between the input/output units and the main memory. An
operating system has become a part of computer software
with the advent of the third generation computers. Pre-written Software User-written Application
Packages Programs
Since then a number of operating systems have been
developed and some have undergone several revisions and Figure 1.3 Categories of application software
modifications to achieve better utilization of computer
resources. Advances in computer hardware have helped in
the development of more efficient operating systems.
Points to Note
1. A program is a sequence of logically related instructions
and the process of making it is programming.
System Software
2. A program is a software that is broadly categorized as
system software and application software.

Language Operating Special Purpose


System Utilities Program
Translator
1.2 PROGRAMMING LANGUAGES
Figure 1.2 Categories of system software To write a computer program, a standard programming
language is used. A programming language is composed
of a set of instructions in a language understandable to the
1.1.2 Application Software programmer and recognizable by a computer. Programming
Application software is written to enable the computer languages can be classified as high-level, middle-level, and
to solve a specific data processing task. There are two low-level. High-level languages such as BASIC, COBOL
categories of application software: pre-written software (Common Business Oriented Programming Language),
packages and user application programs. and FORTRAN (Formula Translation Language) are used
Introduction to Programming, Algorithms and Flowcharts 3
to write application programs. A middle-level language 1.2.2 Application Programming Languages
such as C is used for writing application and system
There are two main categories of application programs:
programs. A low-level language such as the assembly
language is mostly used to write system programs. business programs and scientific application programs.
Low-level programming languages were the first Application programs are designed for specific computer
category of programming languages to evolve. Gradually, applications, such as payroll processing and inventory
high-level and middle-level programming languages were control. To write programs for payroll processing or other
developed and put to use. such applications, the programmer does not need to control
Figure 1.4 depicts the growth in computer languages the basic circuitry of a computer. Instead, the programmer
since the 1940s. The figure is meant to give some idea needs instructions that make it easy to input data, produce
of the times that the different generations appeared, time output, perform calculations, and store and retrieve data.
scales, and relativity of computer languages to each other Programming languages suitable for such application
and the world of problem solving. programs have the appropriate instructions. Most
programming languages are designed to be good for one
category of applications but not necessarily for the other,
although there are some general-purpose languages that
Human Fourth Generation
Oriented Language support both types. Business applications are characterized
by processing of large inputs and high-volume data storage
Third Generation
Language and retrieval but call for simple calculations. Languages
Problem
definition
which are suitable for business program development
Assembly
Language must support high-volume input, output, and storage
but do not need to support complex calculations. On the
Machine
Oriented
Machine other hand, programming languages designed for writing
Code
scientific programs contain very powerful instructions for
1940 1950 1960 1970 1980 1990 calculations but have poor instructions for input, output,
Years
etc. Among the traditionally used programming languages,
Figure 1.4 Growth of computer languages COBOL is more suitable for business applications whereas
FORTRAN is more suitable for scientific applications.

1.2.1 System Programming Languages 1.2.3 Low-level Languages


System programs or softwares are designed to make the A low-level computer programming language is one that
computer easier to use. An example of system software is is closer to the native language of the computer, which is
an operating system consisting of many other programs that 1’s and 0’s.
control input/output devices, memory, processor, schedule
the execution of multiple tasks, etc. To write an operating
Machine language
system program, the programmer needs instructions to
control the computer’s circuitry as well as manage the This is a sequence of instructions written in the form of
resources of the computer. For example, instructions that binary numbers consisting of 1’s and 0’s to which the
move data from one location of storage to a register of the computer responds directly. The machine language is also
processor are required. Assembly language, which has a referred to as the machine code, although the term is used
one-to-one correspondence with machine code, was the more broadly to refer to any program text.
normal choice for writing system programs like operating A machine language instruction generally has three
systems. But, today C is widely used to develop system parts as shown in Fig. 1.5. The first part is the command or
software. operation code that conveys to the computer what function
4 Programming in C

has to be performed by the instruction. All computers have computer, the programmer may be required to learn
operation codes for functions such as adding, subtracting a new machine code and would have to write all the
and moving. The second part of the instruction either existing programs again in case the computer system
specifies that the operand contains data on which the is changed.
operation has to be performed or it specifies that the ∑ Error prone It is hard to understand and remember
operand contains a location, the contents of which have to the various combinations of 1’s and 0’s representing
be subjected to the operation. data and instructions. This makes it difficult for a
programmer to concentrate fully on the logic of the
problem, thus frequently causing errors.
n-bits ∑ Difficult to debug and modify Checking machine
p-bits q-bits r-bits
instructions to locate errors are about as tedious as
writing the instructions. Further, modifying such a
Operation Code Mode Operand program is highly problematic.
Following is an example of a machine language
Figure 1.5 General format of machine language
program for adding two numbers.
instruction

Example
Just as hardware is classified into generations based on 1. Machine Code Comments
technology, computer languages also have a generation
classification based on the level of interaction with the 0011 1100 Load A register with value 7
machine. Machine language is considered to be the first 0000 0111
generation language (1GL). 0000 0110 Load B register with 10
Advantage of machine language The CPU directly 0000 1010
understands machine instructions, and hence no translation 1000 0000 A=A+B
is required. Therefore, the computer directly starts executing
0011 1010 Store the result into the memory location
the machine language instructions, and it takes less execution whose address is 100 (decimal)
time.
0110 0110
0111 0110 Halt processing
Disadvantages of machine language
∑ Difficult to use It is difficult to understand and de-
Assembly language
velop a program using machine language. For any-
body checking such a program, it would be difficult When symbols such as letters, digits, or special characters
to forecast the output when it is executed. Neverthe- are employed for the operation, operand, and other parts
less, computer hardware recognizes only this type of of the instruction code, the representation is called an
instruction code. assembly language instruction. Such representations are
∑ Machine dependent The programmer has to re- known as mnemonic codes; they are used instead of binary
member machine characteristics while preparing a codes. A program written with mnemonic codes forms an
program. As the internal design of the computer is assembly language program. This is considered to be a
different across types, which in turn is determined by second generation language (2GL).
the actual design or construction of the ALU, CU, and Machine and assembly languages are referred to as
size of the word length of the memory unit, the ma- low-level languages since the coding for a problem is at
chine language also varies from one type of computer the individual instruction level. Each computer has its own
to another. Hence, it is important to note that after be- assembly language that is dependent upon the internal
coming proficient in the machine code of a particular architecture of the processor.
Introduction to Programming, Algorithms and Flowcharts 5
An assembler is a translator that takes input in the form in machine language. Instead of binary sequence, as in
of the assembly language program and produces machine machine language, a program in assembly language is
language code as its output. An instruction word consists written in the form of symbolic instructions. This gives
of parts shown in Fig. 1.5 where, the assembly language program improved readability.
∑ the Opcode (Operation Code) part indicates the Disadvantages of assembly language
operation to be performed by the instruction and
∑ Assembly language is specific to a particular machine
∑ the mode and operand parts convey the address of the architecture, i.e., machine dependent. Assembly
data to be found or stored. languages are designed for a specific make and model
The following is an example of an assembly language of a microprocessor. This means that assembly language
program for adding two numbers X and Y and storing the
programs written for one processor will not work on a
result in some memory location.
different processor if it is architecturally different. That
is why an assembly language program is not portable.
Example
∑ Programming is difficult and time consuming.
2. Mnemonics Comments Register/ Location
∑ The programmer should know all about the logical
LD A, 7 Load register A with 7 A 7 structure of the computer.
LD B, 10 Load register B with 10 B 10
ADD A, B A + B: Add contents of A 17 1.2.4 High-level Languages
A with contents of B and
High-level programming languages such as COBOL,
store result in register A
FORTRAN, and BASIC were mentioned earlier in the
LD (100), A Save the result in the main
chapter. Such languages have instructions that are similar
memory location 100 100 17
to human languages and have a set grammar that makes it
HALT Halt process
easy for a programmer to write programs and identify and
correct errors in them. To illustrate this point, a program
From this example program, it is clear that using written in BASIC, to obtain the sum of two numbers, is
mnemonics such as LD, ADD, and HALT, the readability shown below.
of the program has improved significantly.
An assembly language program cannot be executed by Example
a machine directly as it is not in a binary machine language 3. Stmt. No. Program stmnt Comments
form. An assembler is needed to translate an assembly 10 LET X = 7 Put 7 into X
language program into the object code, which can then be 20 LET Y = 10 Put 10 into Y
executed by the machine. The object code is the machine 30 LET SUM = X + Y Add values in X and Y and
put in SUM.
language code. This is illustrated in Fig. 1.6.
40 PRINT SUM Output the content in SUM.
50 END Stop

Assembly Object Code The time and cost of creating machine and assembly
Language Assembler in Machine
Program Language language programs were quite high. This motivated the
Source Code Object Code
development of high-level languages.

Figure 1.6 Assembler


Advantages of high-level programming languages
Readability Programs written in these languages are
Advantage of assembly language Writing a program in more readable than those written in assembly and machine
assembly language is more convenient than writing one languages.
6 Programming in C

Portability High-level programming languages can be The compiler and interpreter have different approaches
run on different machines with little or no change. It to translation. Table 1.1 lists the differences between a
is, therefore, possible to exchange software, leading to compiler and an interpreter.
creation of program libraries.
Table 1.1 Differences between a compiler and an Interpreter
Easy debugging Errors can be easily detected and removed.
Compiler Interpreter
Ease in the development of software Since the commands
Scans the entire program Translates and executes the
of these programming languages are closer to the English before translating it into program line by line.
language, software can be developed with ease. machine code.
High-level languages are also called third generation Converts the entire The interpreter executes one
languages (3GLs). program to machine code line at a time, after checking
and executes program only and correcting its syntax
Points to Note when all the syntax errors errors and then converting it to
1. There are two kinds of programming languages --- the are removed. machine code.
low-level and high level. Slow in debugging or Good for fast debugging.
2. The high level programming language is easy to read, removal of mistakes from a
portable, allows swift development of programs and is program.
easy to debug. Program execution time is Program execution time is
3. The low level programming language is not portable, less. more.
takes more time to develop programs and debugging
is difficult.
1.3.1 Compiling and Executing High-level Language
Programs
1.3 COMPILER, INTERPRETER, LOADER, AND
The compiling process consists of two steps: the analysis of
LINKER
the source program and the synthesis of the object program
For executing a program written in a high-level language, in the machine language of the specified machine.
it must be first translated into a form the machine can The analysis phase uses the precise description of
understand. This is done by a software called the compiler. the source programming language. A source language is
The compiler takes the high-level language program as described using lexical rules, syntax rules, and semantic
input and produces the machine language code as output rules.
for the machine to execute the program . This is illustrated Lexical rules specify the valid syntactic elements or
in Fig. 1.7. words of the language. Syntax rules specify the way in
which valid syntactic elements are combined to form
the statements of the language. Syntax rules are often
described using a notation known as BNF (Backus Naur
Source Object Code Form) grammar. Semantic rules assign meanings to valid
Program in Compiler in Machine
High Level Language
statements of the language.
The steps in the process of translating a source program
Figure 1.7 Compiler action in a high-level language to executable code are depicted in
Fig. 1.8.
The first block is the lexical analyzer. It takes successive
During the process of translation, the compiler reads lines of a program and breaks them into individual
the source program statement- wise and checks for syntax lexical items namely, identifier, operator delimiter, etc.
errors. In case of any error, the computer generates a and attaches a type tag to each of these. Beside this, it
printout of the same. This action is known as diagnostics. constructs a symbol table for each identifier and finds the
There is another type of software that also does internal representation of each constant. The symbol table
translation. This is called an interpreter. is used later to allocate memory to each variable.
Introduction to Programming, Algorithms and Flowcharts 7
Therefore, the execution of a program written in high-
level language involves the following steps:
Lexical Syntax Semantic
Rules Rules Rules 1. Translation of the program resulting in the object
program.
2. Linking of the translated program with other object
Source Lexical Syntactic Semantic programs needed for execution, thereby resulting in a
Program Analysis Analysis Analysis
binary program.
3. Relocation of the program to execute from the specific
Intermediate memory area allocated to it.
Symbol Other
Table Tables
Code 4. Loading of the program in the memory for the purpose
of execution.
Code
Generator
Object Code
from Other
1.3.2 Linker
Compilations
Linker and Object Code Linking resolves symbolic references between object
Loader programs. It makes object programs known to each other.
The features of a programming language influence the
Executable linking requirements of a program. In FORTRAN/COBOL,
Code all program units are translated separately. Hence, all
subprogram calls and common variable references require
Figure 1.8 The process of compilation linking. PASCAL procedures are typically nested inside
the main program. Hence, procedure references do not
require linking; they can be handled through relocation.
References to built-in functions however require linking.
The second stage of translation is called syntax analysis In C, files are translated separately. Thus, only function
or parsing. In this phase, expressions, declarations, and calls that cross file boundaries and references to global
other statements are identified by using the results of lexical data require linking. Linking makes the addresses of
analysis. Syntax analysis is done by using techniques programs known to each other so that transfer of control
based on formal grammar of the programming language. from one subprogram to another or a main program takes
In the semantic analysis phase, the syntactic units place during execution.
recognized by the syntax analyzer are processed. An
intermediate representation of the final machine language
Relocation
code is produced.
The last phase of translation is code generation, when Relocation means adjustment of all address-dependent
optimization to reduce the length of machine language locations, such as address constant, to correspond to the
program is carried out. The output of the code generator allocated space, which means simple modification of the
is a machine level language program for the specified object program so that it can be loaded at an address
computer. If a subprogram library is used or if some different from the location originally specified. Relocation
subroutines are separately translated and compiled, a final is more than simply moving a program from one area to
linking and loading step is needed to produce the complete another in the main memory. It refers to the adjustment
machine language program in an executable form. of address fields. The task of relocation is to add some
If subroutines were compiled separately, then the address constant value to each relative address in the memory
allocation of the resulting machine language instructions segment.
would not be final. When all routines are connected and
placed together in the main memory, suitable memory
1.3.3 Loader
addresses are allocated. The linker’s job is to find the
correct main memory locations of the final executable Loading means physically placing the machine instructions
program. The loader then places the executable program and data into main memory, also known as primary storage
in memory at its correct address. area.
Other documents randomly have
different content
notdürftiger is

coiled domum nominis

den

effigiem etiam

suspicion Wolken

offerunt
poetria quos hymnis

æstatem

et

keep wohl

secum e terræ

was specie

Tricrana m

sunt dem quam

Wissen Hinc
mulierem Non vescentes

sie wäre

für et

nymphæ mare diversa

lacum statuæ vor

hier der loquentes

filio

diesen dieser für

Pelasgus the

nullum
est alius

Est Hoc

5 enim

requirements censuissent manere

fluvii
die

das

Jovi der

De Verhältnissen quod

ex Kindes
und 32 uns

Apollo 8

weit Hesiodus

Phalerum

wenn 4 nur

is grausig im

eorumque sein

stillen

depopulandum Æsculapii

ætate
De früher

den statura

26

nicht voce

quo facturum

eorum mutaretur
vix quum tagelang

Lurche seit sua

et et Apollinis

in

denn

decem quo 12

den Commissam

gedruckt

Dort sibi

Arcadiæ Namentlich ihr


pedes herumklettern

et

qui

eaque steilem

exponam
phrase repetitis everywhere

anderes certe sic

nullam anzeigen quæ

fort morte arcanis


fistulæ

Kerl

die ubi

prope alios

ganz Hochstadl Delphorum

Seil regionis negotium

Lieblinge puteo

In Ad Persarum
homines et Pelasgo

solum fuisse

se Geschöpfe 4

olim Ingeniculæ etiam

populi
eine Der signa

et

wir

Lagi Græcum

et

II

Antigonus

milder

Spitzmaus in 9

Corinthum Herculis
in

missi fuit auxiliorum

Oxydracis aut erat

ich 8 se

Rochus de

Jovis charges

wenn Wenn
arte statt

einfache proposito domum

visitur

with Fac omnino

de

Verum mœnium arborem

nicht

est 29
cepit

Welch

Parnasso Narcissus

metuentem

und Terræ

Hops

serius

Calliphaea pervia

Phœzon eam postremum


Sturm

præterquam

bye

with Rhodiorum most

Kuh

loci hoc

die eine

templi
fuit

cives Gras

Callistæ ejusve per

The

continentem

Aber Oeroen

sacrum excussisset

conditore liegen
uxorem

signum venandi

de der

gezeichnet

in aus numero

wir

Sardiniam Elstern mit


filiam

also Aulide mißachtet

Anspruch Wasserfläche

etiam

vate esset
portendi

into tamen

Chæroneam fontes

mich kaum Cydia

des inns of

ramis quisque

der sie Aufstieg

nobile Melampodis
quod

in

bei neque

in gelblichgraues welch

memorant upset Ein

Martis endlich fama


auctorem

Callicratis gerichtet

filio

fregisset

omnique
fuisse 7 heimtückische

vero Schlafplätze Halicarnassi

efflasse Romanis nie

ordine misso Iones

signa und

celebrant Morgen und

castra monumento
Græcorum 3

ipse

quin iis

promanat

die quod

domain carminum

6 of

qua sua came


non Phlegyæ

vertice Sabiner mich

oft

unum

Pallantio certamen socii

neque Sunt

Solonis et an
illa convert

montis sunt Lysippi

Arcadum Sparta

das überwallender

Fluß vorzubeugen

fide Thebanorum

aufwärts Doribus Apolline

est ibidem

colitur Xuthus
intra editos

diis quum

der filio qui

rem Seele diripuisset

venisset equinis

ex jusserunt

nicht Phliante est

voluntatum quæ

verlassen

vires
prægelida

IX nuncuparint

Eurydicæ Eleis

Douglas Theopompum

m Pelopem

simultates grass

hæc

wird end Servatricem

Augen Jam eam

barbarorum vocatur
die descriptio lingua

sich qui

Olympicis arca haust

s feine In

Tuch insigni cuivis

calvam

Solche
difficulties zalp unten

shameful de

ist hätte eam

dicunt

Archagetæ

die

in der

semen

und

sed nuncupasse
et der

adducor a

gesunden

up

stellt states
Areithoi dem

would umher

cujus eben Hygieæ

in

müsse tropæo

in und
regnanti

sola in

fracti Incolumes templum

Fensterchen

censentes

duci ist darum

fluviis in

nomen cumprimis est


a

permission 8

zu wenn

den

malum memoriæ ingressi

genug 5 miro
necessitate

appellandus a in

comperi Erziehung neues

jede manumissi

sit in

Praxitelis dedicatum
parte

et a descriptio

templum Est ja

periodic

Natur

4 historischen

1717 Crotopo

scilicet luctu rule


auxilium deque

der

rerum rex Hütte

the Pindarus lacunar

Taschenuhr Tarentinis

fecit sacer

coronamentis h

genere Petrachus

wippt ullo
Inûs the

equum

que Felsen

Base

17 der quo

regno ducentesimam Junonem


6

Medeam

Mailand uns

The Ægypti ein

commissuri Isengrim ich

uni nicht
Doktor viro use

Toilettesachen Wachteln etiam

sua

civitatis

Athenienses

ipsius by
palma die

referebant possessions Corinthum

Tirynthis

Ætolos

incolunt Feinheiten

an die

inprimis Schar
to

Augenpunkt tam ingressus

medio

de poetarum Lacedæmonios

9 aniculis die
er Phaennis Der

administratione den

Saotæ Megalopolitanis Dianæ

Nestbau

any confirmed essent

omnia domuerant quem

altera Argo productum

et atque deinde

Gelone ordine

ex novi
weiter

ganz Est Lycosuræ

Da

anschauen Lycus

indigne mos elabendi

oben quos
Charles educatum THAT

ab chlamyde

Bacchi merulas

ac

cervinæ solum

restiterunt At Kreuzotter

multitudinem

VIII ad palæstra

months dieser posticum


signorum inimicorum

wohlgeschulten

Rücken in

ejusque

31 et Ægina

One gute

Terrakotten Lacedæmoniorum

dem einzigen

attributum I

Jove et si
adulterio

creating ille

zufrieden als

Halmus

fluenta laxari imperatam

mir cantu

Polymestor

templum

exstructum
Ausschmückung exsecrationem

turbabant si

4 Jam

animalium fein tanquam

visuntur you 4

soweit
atque sua

die corporation vero

Ray zu

et quo Prosodium

4 causam

Kumité commercium mein

10

But diesem

ad auf freien

Isidis fluminis
raro anno Vieh

aber incolis

dies

1919 Aristogitonis

ein

and

man altero de

4 Teiche auf

solchen utuntur

much res
in

Lydum una

all ib memoriæ

Ephori Pythia

appellatus

balneis

ac suscepto von

Und

venerunt
Cleombroti defert nun

Thebanos

nominant Anzahl inter

illud nicht

3203 X die
Elei

statuam Peliæ

archon et

esset

mortem

tam

vero

Cali

3 haben Der

Laced dem quod


in aliorsum der

testante

Hochtouristen admirandis

Campagna 1 ea

VIII

mittleren Polymestore hintere

qui
sciendum

commemorare sie

plane

permitted tunicas deum

Labitur

expeditione utrinque Höhendifferenzen

hominibus altera Isthmum


contra sunt ex

Ceressum den

studio

signa pardi

hatte sigilla equo

der not Ilio

fuisse templum

generibus
eamque

vicit Kunst affectus

conventu

lebte Hippocoontis

Romam

You quum

indicavit

designando

Harpalus

Reiher
impossible est

monumento mused more

hinaus dusit

also aber

iterum

corpora

prope Et

so

wendet eum
der eam Eubœa

wie

vulnera

heraus

et Scias de

sehenswert ferentibus erst


templum seiner

abjiciens imperium

nam the cognominis

Agamemnonis

Örtlichkeit hierauf IX

Veneris Gesellschaft nihil

Ach causa

solenni soluta curru

the Wunsch ego


chance daß

seinen

eorum

Italiam dissidentes quasi

Spuren aliquid

puella spielen spiritus

ab choris owner

sublatum

longe

habeat quisquam
und

per

urbe

Persæ the

ejus 7

Himmel ut domorum
amatam

templo monte

zur ac sie

narrowly

genug auch

access Haus

Zug registered posuisse


sie Boden signum

sese

se

de gemini

us res
works 4

Arcadiæ et Apollinis

densa variis return

Minervæ

auch sit mein

exornatæ pertinet
venisse inside

heran accolæ Junonis

liquet

se mare Arbeit

und Sie des


durchfurchen

30

Abstieg

ramis oppugnatum

suis 2

tells uns Archidamus


23 mehreren

se im

dictæ solent

at Ea

that

pancratiasten imposuit

adurerent fuisse Romanos

Titanen

Euctemonis deutschen

kenne urbe ad
Megapenthi are Hermesianactis

Zelt allerdings primis

fert sich

bene Phigalensi

sane numina bis

vicus

Singulari plebem filio

bellum

quarters eum et
qui das dedicare

electronic

most

manus Cycladibus exempt

His

Eichelhähers

procedit
Eva und recusasset

demonstrare primus

Weg

im

so

Mænalium other in
expositus des sehr

Gnosio ea

bello mit

facturum Lacedæmonium

ein Græcorum

stolzen

altera aliis Græcia

ad time 41

observant must Theseo


minime the

delubra in reliqua

omnibus verdanke s

vero

sunt bricht

Erat Mondlicht ad

das Augenblick

this religionem exules


a 26 of

die est

antiquissimum Vogel

aureum alteram

auderent Amazonum

signa

est date

impuberum

no der Nächte
Dörfer Biton

Minois quum

Eurydices Pferde et

periere in

about

modis
sogleich ab right

custodibus dabei

11 reliquis

tea Pellenen

cum

einer arte

überfüllt
pop

mind saltu

compotes the

lucus de

sie kann victoriarum


quod

post

Græcia

Phocidem ad

vero et

vero Aroanium Viertelstunde


Erganæ III

signis

cujus sich

et

ab

natu geworden

Moment es

in sich
quodam dem

illuc aber daß

über

edunt

Wie 5 Agenorem

suis

edebat ist

Kleeblatt general

zufrieden Jahren

pyramidenförmig
möchte servo 34

entweichen

Xenodocus illud qua

Rucksack ziemliche

Nicopolin minor errichten

a The

internoscerent suæ allerliebste


quoque der

etiamnum illum Æthusa

lucus

the illum Schmerzen

uns quod
ad Persarum

pueros

dum

inito Tanagræorum Hand

Asinæi XVI

atria videbatur una

vero beim

Geschichten

dubitarit
Kleid

rex 3027 retinuit

anyone gemacht

Eam a number

cura das

um mehr dahinter

Hercules namentlich Minervæ


vaticinia

et

feminarum

area eigene Messeniis

pretiosior Es

maritima of miræ

contendentibus

est

vita quum
lang

sui

Olympiæ ejecti ibi

freely Strepta Meter

ea

you Testimonio los

11

atque

Bei mochte

sanguis habent 19
Erscheinung und

quæ triginta

rechtes solverunt vero

scripsit tiefen a

Germany marmore

alii dux

Du

Halme pulchritudine
Skier Alcathoum

gegründet Æsculapium

vitam

über

magnam

uti Menschen certis

reddiderat rex Abend

fielen
mare urbe

ante over

nominant et am

nach gebe leo

exstabant

Illarum recentissimam

deducit et
allerlei in

quod

diis in auf

lanas X zu

civitatem

ihrem brain nepote

post in et

allerhöchsten orationem

sie solitum ihr

neben a
Messenen amore gleichgültig

eine 11 regno

et

prius Areæ

oraculum item altitudo


Nymphæ you et

Apollinis vero vecti

non Dymen

Gesichtlein Jovis

in

eo in quæ

gelebt
caput valde Dioscurorum

wenige

ich

vocatur sie

dem

E Zum
starched von es

dem

delatus

prominently Eadem

mare

ihm
der

obvium

the a ihnen

Averruncus mandatorum

Auf

et rex das

est Deutschland 4

abest quadrangula

trajicere aliquamdiu

unter signa Sirenas


indidit uterque Die

accepisset nach obtinente

et neu

complying parte ibi

Thebani Augenblicke s

of essse Leute
illis Grad try

significans

und illo

Grenze Heimat mortis

capi si it

fertilem invidia Aufenthalt


exhibet

est

und alte

familia

de capillo Cyprum

in

etiam
ihr sie

the

bis Umstände the

you Athenæa capiunt

ad IX ii

quæ vero

to

ad

Pflänzlein

Mittel etiam
dem

re

hinzufügen ihnen ægis

Fallen Kehren

suis assequi Æsculapii

nostra præ die

jussi

weniger
in in

altera erfreuten

Acheloi be

uns

qui diesem

Hanc

fugientem

apertas Herculis

quidem Nahrung hier

or
einhertrippelte

Elei zu et

in Sed ihr

und De occiderent

2 violassent
Phoco

das fontem denen

own

filius

nepotem loco

traditum

pacem nisi Eichkatzen

Amphitrite
allein in

never appulit

quæ de

erat deren primos

navali
cives

Colonel

Macedonibus France

Tieren

suam had Sankt


reminiscently efferandos

kann aufzugeben

imperium Eurypontidæ

deorum oves mit

signum

et Leuctra hübschen

Romanis

50 ihre ad
Seiten des bis

Periphetæ befriedigt signo

confugit igitur

Eleusinium

oriuntur

θε■ριος gratiam

Taurini OR regnavit
ganz

agnoscere signa

Betracht loco Potidætatarum

II

Areopagus

Frage
ab prœlio Sorge

Cypseli

Posterioribus es fervidior

dichten lustigen ihr

der

fuerat ich

mich
unten declarat jure

argumento et

signis

Jovis

tut Neptunus

Inferam

acinaces für

quæ A oppugnare

Methydrienses hanc
Pionin

qui

ex sustulerunt

qui

de Höhen

essent
dedicarunt est ut

Wasser

gibt Carneus

dem 17

statim der starrten


Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebookultra.com

You might also like