100% found this document useful (4 votes)
55 views75 pages

Programming in Objective C 1st Edition by Stephen Kochan 067248420X 9780672484209 Download

The document provides information about various programming books, primarily focusing on C and Objective C, authored by Stephen Kochan and others. It includes links for downloading these books in different formats and outlines the content structure of Kochan's 'Programming in C'. The introduction emphasizes the significance of C as a powerful programming language and the book's approach to teaching programming through examples and structured learning.

Uploaded by

jrvlmxhx264
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)
55 views75 pages

Programming in Objective C 1st Edition by Stephen Kochan 067248420X 9780672484209 Download

The document provides information about various programming books, primarily focusing on C and Objective C, authored by Stephen Kochan and others. It includes links for downloading these books in different formats and outlines the content structure of Kochan's 'Programming in C'. The introduction emphasizes the significance of C as a powerful programming language and the book's approach to teaching programming through examples and structured learning.

Uploaded by

jrvlmxhx264
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/ 75

Programming in Objective C 1st Edition by

Stephen Kochan 067248420X 9780672484209 download

https://ebookball.com/product/programming-in-objective-c-1st-
edition-by-stephen-kochan-067248420x-9780672484209-15258/

Download more ebook instantly today - Get yours now at ebookball.com


Get Your Digital Files Instantly: PDF, ePub, MOBI and More
Quick Digital Downloads: PDF, ePub, MOBI and Other Formats

Programming in C 4th edition by Stephen Kochan 9780132781190


0132781190

https://ebookball.com/product/programming-in-c-4th-edition-by-
stephen-kochan-9780132781190-0132781190-15230/

C++ Common Knowledge Essential Intermediate Programming 1st Edition by


Stephen Dewhurst ISBN 0321321928 9780321321923

https://ebookball.com/product/c-common-knowledge-essential-
intermediate-programming-1st-edition-by-stephen-dewhurst-
isbn-0321321928-9780321321923-12370/

Learn Objective C for Java Deve 1st edition by James Bucanek


9781430223702, 1430223707

https://ebookball.com/product/learn-objective-c-for-java-
deve-1st-edition-by-james-bucanek-9781430223702-1430223707-8822/

C Programming in Linux 1st Edition by David Haskins 9788776814724

https://ebookball.com/product/c-programming-in-linux-1st-edition-
by-david-haskins-9788776814724-15294/
Memory as a Programming Concept in C and C 1st Edition by Frantisek
Franek isbn 0521520436 9780521520430

https://ebookball.com/product/memory-as-a-programming-concept-in-
c-and-c-1st-edition-by-frantisek-franek-
isbn-0521520436-9780521520430-12552/

Memory as a Programming Concept in C and C 1st Edition by Frantisek


Franek ISBN 051183862X 9780511838620

https://ebookball.com/product/memory-as-a-programming-concept-in-
c-and-c-1st-edition-by-frantisek-franek-
isbn-051183862x-9780511838620-14982/

Functional Programming in C 1st Edition by Enrico Buonanno ISBN


9781638354048 1638354049

https://ebookball.com/product/functional-programming-in-c-1st-
edition-by-enrico-buonanno-isbn-9781638354048-1638354049-15788/

Object oriented programming in C 1st Edition by Nabajyoti Barkakati


0672228009 9780672228001

https://ebookball.com/product/object-oriented-programming-
in-c-1st-edition-by-nabajyoti-
barkakati-0672228009-9780672228001-15280/

Object Oriented Programming in C 4th Edition by Robert Lafore


0672323087 9780672323089

https://ebookball.com/product/object-oriented-programming-
in-c-4th-edition-by-robert-lafore-0672323087-9780672323089-16228/
PROGRAMMING IN

STEPHEN G.KOCHAN

[(]
HAYDEN BOOK COMPAN'(, INC.
Hasbrouck Heights, New Jersey

- --~
.- .".
- .-
r

AcquisUions Editor: DOUGLAS McCORMICK


Production Editor: MAUREEN CONNELLY
Art Director: JIM BERNARD
Cover Design: JEANNETTE JACOBS
Compositor: McFARLAND GRAPHICS & DESIGN INC.
Printed and bound by: HAMILTON PRINTING Co.

Copyright @ 1983 by Stephen G. Kochan. All rights reserved. No part of this


book may be reprinted, or reproduced, or utilized in any form or by any
electronic, mechanical, or other means, now known or hereafter invented,
including photocopying and recording, or in any information storage and
retrieval system, without permission in writing from the Publisher.
Printed in the United States of America

2 3 4 5 6 7 8 9 PRINTING
83 84 85 86 87 88 89 90 91 YEAR
To my mother

I
r~--------"""""'-------"""""'--------"""""'----------
;"1

I wish to thank the following people for their help in the preparation of
this book: Doug McCormick and Maureen Connelly of Hayden Book Com-
pany, Jim Scharf, Tony lannino, Henry Tabickman, and especially Ken
Brown. Ken and I spent many hours discussing various approaches and
ideas, and he was also kind enough to edit the entire text. For this I am
sincerely grateful.
I also wish to thank Henry Mullish of New York University for getting me
started in the publishing business.
Undertaking a project such as this places an equal if not greater burden
on the people closest to you. My wife, Leela, provided her patience and under-
standing. But above all she provided her love.

Stephen G. Kochan
(
c 0 N T E N TS
• • • • };
• • • •
1
,
J
{~
.

1 Introduction • 1
2 Some Fundamentals • 4
3 Writing a Program in C • 10
4 Variables. Constants, Data Types, and Arithmetic
Expressions • 17
5 Program Looping • 34
6 Making Decisions • 53
7 Arrays • 80
B Functions • 99
9 Structures • 138
10 Character Strings • 162
11 Pointers • 196 j
12 Operations on Bits • 234
13 The Preprocessor • 254
14 More on Data Types • ;271
15 Working with Larger Programs • 279
16 Input and Output • 285
17 Miscellaneous Features ~nd Advanced Topics • 308
Appendix A Language Summary • 321
AppendixB Common Programming Mistakes • 351
AppendixC The UNIXC Library • 355
AppendixD Compiling Programs un~er UNIX • 363
AppendixE The Program LINT • 367
AppendixF The ASCn Character Set e. 368
Index • 369
r
c H A p T E R
• • • • • •
1

INTRODUCTION

The "C" programming language evolved from a succession of programming


languages developed at Bell Laboratories in the early 1970s. It was not until the
late 1970s, however, that this programming language began to gain
widespread popularity and support. This was because until that time C
compilers were not readily available for commercial use outside of Bell
Laboratories. Furthermore, C's growth in popularity has been spurred in
part by the equal, if not faster, growth in popularity of the UNIX! operating
system. This operating system, which was also developed at Bell Laboratories,
has C as its "standard" programming language. In fact, well over 90 percent of
the operating system itself is written in the C language!
C is a so-called "higher-level language," yet it provides capabilities that
enable the user to "get in close" with the hardware and deal with the computer
on a much lower level. This is because, while the C language is a general
purpose structured programming language, it was designed with systems
programming applications in mind and, as such, provides the user with an
enormous amount of power and flexibility. In fact, programming applications
exist that could be easily handled by the C language but that would be difficult,
if not impossible, to develop in other languages such as Pascal, FORTRAN, or
BASIC.
This book proposes to teach you how to program in C. It assumes no
previous exposure to the language whatsoever and was designed to appeal to
both the novice and experienced programmer alike. If you have previous
programming experience, then you will find that C has a unique way of doing
things that will probably differ significantly from any language you have used.
Even if you are coming from a Pascal background-a language that C
superficially resembles-you will quickly discover that there are many
features that are unique to this language, such as pointers, character strings,
and bit operations.
Every feature of the C language is treated in this text. As each new feature
is presented, a small complete program example is usually provided to

I UNIX is a registered trademark of Bell Laboratories.

. ., .
2 o PROGRAMMING IN C 0

illustrate the feature. This reflects the overriding philosophy that has been
used in writing this book: to teach by example. Just as a picture is worth a
thousand words, so is a properly chosen program example. If you have access
to a computer facility that supports the C programming language, then you are
strongly encouraged to enter and run each program that is presented in this
book, and to compare the results obtained on your system to those shown in
the text. By doing so not only will you learn the language and its syntax, but you
will also become familiar with the process of typing in, compiling, and running
C programs.
The style that is used for teaching the C language is one of posing a
particular problem for solution on a computer and then proceeding to develop
a program in C to solve the problem. In this manner, new language constructs
are introduced as they are needed to solve a particular problem.
You will find that program readability has been stressed throughout the
book. This is because I strongly believe that programs should be written so that
they may be easily read-either by the author himself or by somebody else.
Through experience and common sense you will find that such programs are
almost always easier to write, debug, and modify. Furthermore, developing
programs that are readable is a natural result of a true adherence to a
structured programming discipline.
Because this book was written as a tutorial, the material covered in
each chapter is based on previously presented material. Therefore, maximum
benefit will be derived from this book by reading each chapter in succession,
and you are highly discouraged from "skipping around." You should also work
through the exercises that are presented at the end of each chapter before
proceeding to the next chapter.
Chapter 2, which covers some fundamental terminology about higher-
level programming languages and the process of compiling programs, has
been included to make sure that we are speaking the same language
throughout the remainder of the text. From Chapter 3 on, you will be slowly
introduced to the C language. By the time Chapter 16 rolls around, all of the
essential features of the language will have been covered. Chapter 16 goes into
more depth about input! output (I/O) operations in C. Finally, Chapter 17
includes those features of the language that are of a more advanced or esoteric
nature.
Appendix A provides a summary of the syntax of the language, among
other things, and is provided for reference purposes. A comprehensive index is
also provided so that you may quickly find explanations and program
examples of particular C language features.
This book makes no assumptions about a particular computer system or
operating system on which the C language is implemented. However, since C is
most often found running under the UNIX operating system, special attention
is given to using C under UNIX. The text describes how to compile and execute
programs under UNIX, and the Appendix provides a summary of many of the
UNIX runtime library routines, as well as a description of the cc command and
the program lint.
o Introduction 0 3

If you are using a C compiler under an operating system other than UNIX,
then you may find slight anomalies exist between the C language at your
installation and the language described in the text. This is because as of this
writing there exists no standard definition for the C language.
c H A p T E R
• • • • • •
2

SOME FUNDAMENTALS

This chapter describes some fundamental terms that you must understand
before you learn how to program in C. A general overview of the nature of
programming in a higher-level language is provided, as is a discussion of the
process of compiling a program developed in such a language.

• Programming •
Computers are really very dumb machines indeed, since they do only what
they are told to do. Most computer systems perform their operations on a very
primitive level. For example, most computers know how to add 1to a number,
or how to test if a number is equal to zero or not. The sophistication of these
basic operations usually does not go much further than that. The basic
operations of a computer system form what is known as the computer's
instruction set. Some computers have very limited instruction sets. For
example, the DEC PDP-8 computer has just a handful of instructions, while the
DEC VAX machines contain instruction sets consisting of hundreds of basic
operations.
In order to solve a problem using a computer, we must express the
solution to the problem in terms of the instructions of the particular
computer. A computer program is actually just a collection of the instructions
necessary to solve a specific problem. The approach or method that is used to
solve the problem is known as an algorithm For example, if we wish to develop
a program that tests if a number is odd or even, then the set of statements
that solves the problem becomes the program. The method that is used to test
if the number is even or odd is the algorithm. Normally, to develop a program
to solve a particular problem, we first express the solution to the problem in
terms of an algorithm and then develop a program that implements that
algorithm. So the algorithm for solving the even! odd problem might be
expressed as follows: "First divide the number by two. If the remainder of the
division is zero then the number is even; otherwise the number is odd." With
the algorithm in hand, we can then proceed to write the instructions necessary

• 4 •
o Some Fundamentals 0 5

to implement the algorithm on a particular computer system. These


instructions would be expressed in the statements of a particular computer
language, such as BASIC, Pascal, or C.

• Higher-Level Languages •
When computers were first developed, the only way they could be
programmed was in terms of binary numbers that corresponded directly to
specific machine instructions and locations in the computer's memory. The
next technological software advance occurred in the development of
assembly languages, which enabled the programmer to work with the
machine on a slightly higher level. Instead of having to specify sequences of
binary numbers to carry out particular tasks, the assembly language permits
the programmer to use symbolic names to perform various operations and to
refer to specific memory locations. A special program, known as an assembler,
translates the assembly language program from its symbolic format into the
specific machine instructions of the computer system.
Because there still exists a one-to-one correspondence between each
assembly language statement and a specific machine instruction, assembly
languages are regarded as low-level languages. The programmer must still
learn the instruction set of the particular computer system in order to write a
program in assembly language, and the resulting program is not transportable;
that is, the program will not run on a different computer model without being
rewritten. This is because different computer systems have different
instruction sets, and since assembly language programs are written in terms of
these instruction sets, they are machine dependent.
Then, along came the so-called higher-level languages, of which
FORTRAN was one of the first. Programmers developing programs in
FORTRAN no longer had to concern themselves with the architecture of the
particular computer, and operations performed in FORTRAN were of a much
more sophisticated or "higher level," far removed from the instruction set of
the particular machine. One FORTRAN instruction or statement would result
in many different machine instructions being executed, unlike the one-to-one
correspondence found between assembly language statements and machine
instructions.
Standardization of the syntax of a higher-level language meant that a
program could be written in the language to be machine independent. That is, a
program could be run on any machine that supported the language with little
or no changes.
In order to support a higher-level language, a special computer program
must be developed that translates the statements of the program developed in
the higher-level language into a form that the computer can understand-in
other words, into the particular instructions of the computer. Such a program
is known as a compiler.
6 o PROGRAMMING IN C 0

· Operating Systems ·
Before we proceed with our discussion of compilers, it is worthwhile
discussing the role that is played by a computer program known as an
operating system. An operating system is a program that controls the entire
operation of a computer system. All 110 operations that are performed on a
computer system are channeled through the operating system. The operating
system must also manage the computer system's resources, and must handle
the execution of programs.
One of the most popular operating systems today is the UNIX operating
system, which was developed at Bell Laboratories. UNIX is a rather unusual
operating system in that it can be found on many different types of computer
systems. Historically, operating systems were typically associated with only
one type of computer system. But because UNIX is written primarily in the C
language and makes very few assumptions about the architecture of the
computer, it has been successfully transported to many different computer
systems with a relatively small amount of effort.

· Compiling Programs ·
A compiler is a software program that is in principle no different from the ones
you will be seeing in this book, although it is certainly much more
complex. A compiler analyzes a program developed in a particular computer
language and then translates it into a form that is suitable for execution on
your particular computer system.
Figure 2-1 shows the steps that are involved in entering, compiling,
and executing a computer program developed in the C programming
language.
The program that is to be compiled is first typed into a file on the
computer system. Computer installations have various conventions that are
used for naming files, but in general, the choice of the name is up to you. Under
UNIX, C programs can be given any name provided the last two characters are
'.c'. So the name program.c would be a valid file name for a C program running
under UNIX.
To enter the C program into a file, the use of a text editor is usually
required. The editor ed is most commonly used for entering programs under
UNIX. In order to be able to try the programs presented in this book, you will
first have to learn how to use such an editor. Check with someone at your
installation for getting help and the appropriate documentation for using the
locally available text editor.
The program that is entered into the file is known as the source program,
since it represents the original form of the program expressed in the C
language. Once the source program has been entered into a file, we can then
have it compiled.
o Some Fundamentals 0 7

UNIX
COMMAND

ed

cc

a.out

Done

Fig. 2-1. The process of entering, compiling, and executing a C program


(showing typical UNIXcommands).
B o PROGRAMMING IN C 0

The compilation process is initiated by typing in a special command on


the system. When this command is entered, the name of the file that contains
the source program must also be specified. For example, under UNIX, the
command to initiate program compilation is called cc. Typing the line
cc prograM.c

would have the effect of initiating the compilation process with the source
program contained in program.c.
In the first step of the compilation process, the compiler examines each
program statement contained in the source program and checks it to ensure
that it conforms to the syntax and semantics of the language. If any mistakes
are discovered by the compiler during this phase, then they will be reported to
the user and the compilation process will end right there. The errors will then
have to be corrected in the source program (with the use of the text editor), and
the compilation process restarted. Typical errors reported during this phase of
compilation might be due to an expression that has unbalanced parentheses
(syntactic error) or due to the use of a variable that is not "defined" (semantic
error).
When all of the syntactic and semantic errors have been removed from
the program, the compiler will then take each statement of the program and
translate it into a "lower" form. On most machines, this means that each
statement will be translated by the compiler into the equivalent statement or
statements in assembly language to perform the identical task.
After the program has been translated into an equivalent assembly
language program, the next step in the compilation process is to translate the
assembly language statements into actual machine instructions. This step may
or may not involve the execution of a separate program known as an
assembler. Under UNIX, a separate assembler is executed automatically
whenever the cc command is used to compile a program. Other operating
systems may require that you issue another command at this point to have the
assembly language program translated.
The assembler takes each assembly language statement and converts it
into a binary format known as object code, which is then written into another
file on the system. This file will have the same name as the source file under
UNIX, with the last letter an '0' instead of a 'c.'
After the program has been translated into object code, it is then ready to
be linked. This process is once again performed automatically whenever the cc
command is issued under UNIX. Other operating systems may require
issuance of another command to perform this task. The purpose of the linking
phase is to get the program into a final form for execution on the computer. If
the program uses other programs that were previously processed by the
compiler, then during this phase the programs are "linked" together. Programs
that are used from the system's program "library" are also lin~dfogether with
the object program during this phase....
The final linked file, which is in an executable object code format, is stored
in another file on the system, ready to be run or executed. Under UNIX, this file
o Some Fundamentals 0
9

is called a.out by default. To subsequently execute this program, all we have to


do under UNIX is to type in the name of the executable object file. So the
command '

a.out

would have the effect of loading the program~called a.out into the computer's
memory and initiating its execution. ;
When the program is executed, each of the statements of the program is
sequentially ex~cuted in tum. If the program requests any data from the user.
known as input, then the program will temporarily suspend its execution so
that the input may be entered. Results that are displayed by the program,
known as output, will normally appear at the terminal from which the program
was executed. ;
If all goes well (and it probably won't' the first time the program is
executed), then the program will perform its intended functions. If the
program does not produce the desired results, then it will be necessary to go
back and reanalyze the program's logic. This is known as the debugging phase,
during which an attempt is made to remove all of the known problems or bugs
from the program. In order to do so, it will most likely be necessary to make
changes in the original source program. In that case, the entire process of
compiling, linking, and executing the program must be repeated until the
desired results are obtained.
Before leaving this discussion of the compilation process, we should point
out that there is another method used for analyzing and executing programs
developed in a higher-level language. With this method, programs are not
compiled but are interpreted. An interpreter analyzes and executes the
statements of a program at the same time. The BASIC programming language
is the primary example of a language in which programs are interpreted and
not compiled. But since programs developed in C are compiled, we will not go
into any further detail here about the interpretive process.
I

c H A T 'E R
• • • • • •
3
\I\IRITING A PROGRAM IN C

In this chapter you will be introduced to the C language so that you can get a
feeling as to what programming in C is all about. But what better way to gain an
appreciation for this language than by taking a look at an actual program
written in C?
To begin with, let's pick a rather simple example-a program that displays
the phrase "Programming is fun." at the terminal. Without further ado, then,
here is a C program to accomplish this task.

Program 3"1
Main ()
-::
printf ("F'rOgraMMing is fun.\ro");
",
..•.

In the C programming language, lower-case and upper-case letters are distinct.


In most other programming languages, such as FORTRAN, COBOL, PL/I, or
BASIC, upper-case letters are used exclusively. If you are used to programming
in any of these languages the use of lower-case letters may take some getting
used to. \
Also unlike many other programming languages, C does not particularly
care where on the line you begin typing. Some languages such as FORTRAN
and COBOL are very fussy about such things, but in C you may begin typing
your statement at any position, on the line. This fact can be used to advantage in
developing programs that are easier to read.
Returning to our first C program, if we were to type this program into the
computer, issue the proper commands to the system to have it compiled, and
then execute it, we could expect the following results or output to appear at the
terminal (minus the "Program 3-1 Output,", of course).

Program 3-1 Output

• '10 •
o Writing A Program In C 0 11

Let's take a closer look at our first program. The first line of the program
informs the system that the name of the program is main. main is a special
name used by the C system that indicates precisely where the program is to
begin execution.
The open and closed parentheses immediately following main specify
that no "arguments" or parameters are expected by this routine. (This concept
will be explained in more detail in Chapter 8 when we discuss functions.)
Now that we have told the system that the name of our program is main,
we are ready to specify precisely what function this routine is to perform. This
is done by enclosing all program statements of the routine within a pair of
braces. (For those readers who are familiar with Pascal, the braces in Care
somewhat analogous to the BEGIN and END block declarators of that
language.) All program statements included between the braces will be taken
as part of the main routine by the system. In Program 3-1, we have only one
such statement. This statement specifies that a routine named printf is to be
invoked or called The parameter or argument to be passed or handed to the
printf routine is the string of characters

IIPr-D<:.l,~aMM:i.n~:.l
i.s fun.\n"

The printf routine is a function in the C system that simply prints or


displays its argument (or arguments as you will see shortly) at the terminal or
on the CRT screen. The last two characters in the string, namely the backs lash
\ and the letter n, are known collectively as the newline character. A newline
character tells the C system to do precisely what its name implies-that is, go to
a new line. Any characters to be printed after the newline character will then
appear on the next line of the terminal or display. In fact, the newline character
is really very similar in concept to the carriage return key on a typewriter.
"Allprogram statements in C must be terminated by a semicolon. This is
the reason for the semicolon that appears immediately following the closed
parenthesis of the printf call.
Now that we have finished discussing our first program, why don't we
modify it to also display the phrase "And programming in C is even more fun."
This can be done by the simple addition of another call to the printf routine, as
shown below. Remember that each and every C program statement must be
terminated by a semicolon.

Program 3-2
Main ()
-::
p"i.ntf ("P,'o'3I'aMMing is fun.\n~');
Pl'intf ("And pl'c)gl'aMMin~l in Cis f,)VE!n MDl'f! fun.\n");

If we type in Program 3-2 and then compile and execute it, we can expect
the following output at our terminal.
12 o PROGRAMMING IN C 0

Program 3-2 Output


PrograMMing is fun.
And prograMMing in C is even More fun.

As you will see from the next program example, it is not necessary to
make a separate call to the printf routine for each line of output. Study the
program listed below and try to predict the results before examining the
output (no cheating now!).

Program 3-3
Main ()
-(
printf (OITesting•••\n ••l\n •••2\n •••• 3\nOl);
}

Program 3-3 Output


Testing •••
• • :1.
•• • 2
•••• 3

The printf routine is the most commonly used routine in this book. This is
because it provides an easy and convenient means to display program results.
Not only can simple phrases be displayed, but the values of variables and the
results of computations as well. In fact, the next program uses the printf
routine to display the results of adding two numbers, namely 50 and 25.

Program 3-4
Main ()
-::
int SUM;

SUM = 50 .•. 25;


printf (OIThe SUM of 50 and 25 is %d\nOl, sut'll;
-,
-,"

Program 3-4 Output


The SUM of 50 and 25 is 75

A bit of explanation is in order with respect to the above program. The


first C program statement declares the variable sum to be of type integer. C,
like Pascal-and unlike FORTRAN or BASIC-requires that all program
variables be declared before they are used in a program. The declaration of a
variable specifies to the C compiler how a particular variable will be used by
the program. This information is needed by the compiler in order to generate
the correct instructions to store and retrieve values into and out of the
o Writing A Program In C 0 13

variable. A variable declared as type int can only be used to hold integral
values, that is, values without decimal places. Examples of integral values are 3,
5, -20, and O.Numbers with decimal places, such as 3.14, 2.455, and 27.0, for
example, are known as floating point numbers.
The integer variable sum will be used to store the result of the addition of
the two integers 50 and 25. We have intentionally left a blank line following the
declaration of this variable. This is done to visually separate the variable
declarations of the routine from the program statements, and is strictly a
matter of style. Sometimes the addition of a single blank line in a program can
help to make the program more readable.
The program statement
SUM :::: ~:;o -+- 25;

reads as it would in most other programming languages: the number 50 is


added (as indicated by the plus sign) to the number 25 and the result is stored
(as indicated by the assignment operator, the equals sign) into the variable sum.
The printf routine call in Program 3-3 now has two items or arguments
enclosed within the parentheses. These arguments are separated by a comma.
The first argument to the printf routine is always the character string to be
displayed. However, along with the display of the character string we may
frequently wish to have the value of certain program variables displayed as
well. In our case, we would like to have the value of the variable sum displayed
at the terminal after the characters
The SUM Df 50 and 25 is

are displayed. The percent character inside the first argument is a special
character recognized by the printf function. The character that immediately
follows the percent sign specifies what type of value is to be displayed at that
point. In the above program, the letter "d" is recognized by the system as
signIfying that it is an integer value that is to be displayed.
Whenever the printf routine finds the %d characters inside a character
string, it will automatically display the value of the next argument to the printf
routine. Since sum is the next argument to printf, its value is automatically
displayed after the characters "The sum of 50 and 25 is" are displayed.
Now try to predict the output from the following program.

Program 3.5

Mai.n ()
,-
"

int valuel, value2, SUM;

valuf.~:I. :::: :iO;


valuf.~2 :::: 25;
S~JM = vi~].ue1 + vall_1eZ;
printf ("The S'-'M Df %d and %d is %d\n", valuel, value2, S'-'M);
::-
14 a PROGRAMMING IN C a

Program 3.5 Output

The SUM of 50 and 25 is 75

The first program statement declares three. variables called value!,


value2, and sum all to be of type Int. This statement could have equivalently
been expressed using three separate declaratory statements as follows:

:i.nt vall.,l(.~:1.;
int vall.JE-~2;
int SUM;

After the three variables have been declared, the program assigns the
value 50 to the variable value! and then the value 25 to value2. The sum of
these two variables is then computed and the result assigned to the variable
sum.
The call to the prlntf routine now contains four arguments. Once again,
the first argument, commonly called the format string, describes to the system
how the remaining arguments are to be displayed. The valueof value! is to be
displayed immediately following the display of the characters liThe sum of" are
displayed. Similarly, the values of value2 and sum are to be displayed at the
appropriate points as indicated by the next two occurrences of the %d
characters in the format string.
The last program in this chapter introduces the concept of the comment.
A comment statement is used in a program to document a program and to
enhance its readability. As you will see from the following example, comments
serve to tell the reader of the program-be it the programmer himself or
someone else whose responsibility it is to maintain the program-just what the
programmer had in mind when he or she wrote a particular program or a
particular sequence of statements.

Program 3.6

1* This prograM adds two integer values and displa~s


the results *1

Main ()
-::
1* Declare variables *1
j.nt v~~luelt val~Je2t S\JM;

1* Ass;ign val~le5 and CaMF)~lte the result ~/


\!aluf::-~:1. ~:.:iO;

1* Displa~ the results *1


PT~:i.ntf ("Th(.:.~ r:;UM of %ci an(~ %ci :i.s %d\n11t vall..le:tt vcJll.Je~!.t SUM);
o Writing A Program In C 0 15

Program 3.6 Output

Acomment statement is initiated by the two characters / and *. These two


characters must be written without any intervening spaces. To end a comment
statement, the characters * and / are used, once again without any embedded
spaces. All characters included between the opening / * and the closing */ are
treated as part of the comment statement and are ignored by the C system. In
Program 3-6, four separate comment statements were used. This program is
otherwise identical to Program 3-5. Even with such a simple example as this, a
comparison of the two programs will confirm that the added comment
statements vastly improve the program's readability and help to clarify its
function and operation.
The generous use of comment statements inside a program cannot be
overemphasized. Many times a programmer will return to a program that he
had coded perhaps only 6 months before only to discover to his dismay that he
cannot remember the purpose of a particular routine or of a particular group
of statements. A simple comment statement judiciously inserted at that
particular point in the program might have saved a significant amount of time
otherwise wasted on rethinking the logic of the particular routine or set of
statements.
It is a good idea to get into the habit of inserting comment statements into
the program as the program is being written or typed into the computer. There
are three good reasons for this. First, it is far easier to document the program
while the particular program logic is still fresh in one's mind than it is to go back
and rethink the logic after the program has been completed. Second, by
inserting comments into the program at such an early stage of the game, the
programmer gets to reap the benefits of the comments during the debug
phase, when program logic errors are being isolated and debugged. A
comment can not only help the programmer read through the program, but it
can also help to point the way to the source of the logic mistake. Finally, it has
yet to be my experience to discover a programmer who actually enjoyed
documenting a program. In fact, once you have finished debugging your
program you will probably not relish the idea of going back to the program to
insert comments. Inserting comments while developing the program will make
this sometimes tedious task a bit easier to swallow.
This discussion concludes this introductory chapter on developing
programs in C. By now you should have a good feel as to what is involved in
writing a program in C and you should be able to develop a small program on
your own. In the next chapter, we will begin to examine some of the finer
intricacies of this wonderfully powerful and flexible programming language.
But first, try your hand at the exercises that follow to make sure that you
understand the concepts presented in this chapter.
16 o PROGRAMMING IN C 0

E x E R c s E s
• • • • • • • • •

1. If you have access to a computer facility that supports the C programming


language, type in and run the six programs presented in this chapter.
Compare the output produced by each program with the output presented
after each program.
2. Write a program that prints the following text at the terminal.
a. In C, lower-case letters are significant.
b. main is where program execution begins.
c. Open and closed braces enclose program statements in a routine.
d. All program statements must be terminated by a semicolon.
3. What output would you expect from the following program?
Main ()
{
pr:i.ntf ( ••Testing ••••• );
P T' i fit..f (II + ••• 1. II ) ;
PT'intf (11, •• 2");
PI':i.ntf ( •••• 3");
printf ("\n");

4. Write a program that subtracts the value 15 from 87 and displays the
result, together with an appropriate message, at the terminal.
5. Identify five syntactic errors in the following program. Then type in and run
the corrected program to make sure that you have correctly identified all of
the mistakes.
Main ()

INT SUM;

I~ COMPUTE RESULT
SUM = 25 + 37 - 19

1* DISPLAY RESULTS *1
PI':i.rotf ("Thf.! anSWf.H'is %d\ro" SI.IM);
:::-

6. What output might you expect from the following program?


Main ()
{

:i.nt answer, result:

anSW(':.~T' :::: 1. 0 0 ;
T'es~Jlt ::::
answer - 10;
.,
Pl'intf ("Thf.! rE~sult is %d\n", result + 5);
..,'
c H A T E R
• • • • • •
4
VARIABLES. CONSTANTS.
DATA TVPES. AND
ARITHMETIC
EXPRESSIONS

In this chapter we will discuss the formation of variable names and constants,
take a look at the basic data types, and describe some fundamental rules for
forming arithmetic expressions in C.

· Variables ·
Early computer programmers had the onerous task of having to write their
programs in the binary language of the machine they were programming. This
meant that computer instructions had to be hand-encoded into binary
numbers by the programmer before they could be entered into the machine.
Furthermore, the programmer had to explicitly assign and reference any
storage locations inside the computer's memory by a specific number or
memory address.
Modem-day programming languages allow the programmer to concen-
trate more on solving the particular problem at hand than on worrying about
specific machine codes or memory locations. They enable us to assign
symbolic names, known as variable names for storing program computa-
tions and results. A variable name can be chosen by the programmer in a
meaningful way so as to reflect the type of value that is to be stored in that
variable.
In Chapter 3 we used several variables to store integer values. For
example, we used the variable sum in Program 3-4 to store the result of the
addition of the two integers 50 and 25.
The C language allows data types other than just integers to be stored in
variables as well, provided the proper declaration for the variable is made
before it is used in the program. Variables can be used to store floating point
numbers, characters, and even pointers to locations inside the computer's
memory.
The rules for forming variable names are quite simple: they must begin
with a letter or underscore (_) and may be followed by any combination of
letters (upper- or lower-case), underscores, or the digits 0 - 9. The following is a
list of valid variable names.

• 17 •
18 o PROGRAMMING IN C 0

SUM
piece_flag
i
J5:.:7
N'-'Mber_of _Moves
_s~sflag

On the other hand, the following variable names are not valid:
s'-'M$value
piece flag
3Spencer
int

The name sum$value is not valid because the dollar sign is not a valid
variable name character. In the second case, embedded blank spaces are not
permitted. The name 3Spencer is not valid, since the name does not begin with
a letter or an underscore. Finally, int cannot be used as a variable name, since
its use has a special meaning to the C compiler. This name is known as a
reserved name. In general, any name that has a special significance to the C
compiler cannot be used as a variable name. Appendix A provides a complete
list of such reserved names.
You should always remember that upper- and lower-case letters are
distinct in C. Therefore, the variable names sum, Sum, and SUM each refer to a
different variable.
While there is no real restriction on the total number of characters that
can be used in a variable name, on many systems only the first eight characters
are significant. This means, for example, that the two variables categoryl and
category2 would not be distinguishable on such a system, since their first eight
characters are the same. With the DEC VAX-II VMS compiler, variable name
length rarely becomes a problem, since this compiler distinguishes such names
to 31 characters.
When deciding on the choice of a variable name, keep one recommenda-
tion in mind-don't be lazy. Pick names that reflect the intended use of the
variable. The reasons are obvious. Just as with the comment statement,
meaningful variable names can dramatically increase the readability of a
program and will payoff in the debug and documentation phases. In fact, the
documentation task will probably be greatly reduced, since the program will
be more self-explanatory. Just remember the point discussed above: only the
first eight characters may be significant on your system. So, for example, if you
have two variables, one that you would like to call average_temperature, and
another average_time, then you might have to change their names .to
something like av~temperature and av~time or temperature...average and
time...average to avoid the eight-character name conflict.

Data Types and Constants •


You have already been exposed to the C basic data type intoAs you will recall, a
variable declared to be of type int can be used to contain integral values
only-that is, values that do not contain decimal places.
o Variables. Constants. Data Types. and Arithmetic Expressions 0 19

The C programming language provides the user with three other basic
data types: float, double, and char. A variable declared to be of type float can be
used for storing floating point numbers (values containing decimal places).
The double type is the same as type float only with roughly twice the accuracy.
Finally, the char data type can be used to store a single character, such as the
letter 'a', the digit character '6', or a semicolon.
In C, any literal number, single character, or character string is known as
a constant. For example, the number 58 represents a constant integer value.
The character string "Programming in C is fun. \n" is an example of a constant
character string. Expressions consisting entirely of constant values are called
constant expressions. So the expression
12~1 .•. 7 ... 17

is a constant expression because each of the terms of the expression is a


constant value. But if i were declared to be an integer variable, then the
expression
128 + 7 _. i.

would not represent a constant expression.


It is important to understand the concept of constants in order to fully
understand data types and operations in C.

Type Int
In C, an integer constant consists of a sequence of one or more digits. A minus
sign preceding the sequence indicates that the value is negative. The values
158, -10, and 0 are all valid examples of integer constants. No embedded
spaces are permitted between the digits, and values larger than 999 cannot be
expressed using commas. (So the value 12,000 is not a valid integer constant,
and must be written as 12000.)
There are two special formats in C that enable integer constants to be
expressed in a base other than decimal (base 10). If the first digit of the integer
value is a zero, then the integer is taken as expressed in octal notation, that is, in
base 8. In that case, the remaining digits of the value must be valid base-8 digits
and therefore must be from 0 through 7. So, for example, to express the value
octal 50 in C, the notation 050 is used. Similarly, the C octal constant 0177
represents the decimal value 127 (1 X 64 + 7 X 8 + 7). An integer value can be
displayed at the terminal in octal notation by using the format characters %0 in
theformat string of a printf statement. In such a case, it is noted that the value
will be displayed in octal without a leading zero.
If an integer constant is preceded by a 0 and the letter x (either lower-case
or upper-case), then the value is taken as expressed in hexadecimal (base 16)
notation. Immediately following the letter x are the digits of the hexadecimal
value, which can be composed of the digits 0 through 9 and the letters a
through f (or A through F). The letters represent the values 10 through 15,
respectively. So to assign the hexadecimal value 5EB (= 162 X 5 + 16 X 14 +
11 = 1,515 decimal) to an integer variable called type-lllask, the statement
20 a PROGRAMMING IN C a

can be used. To display an integer value in hexadecimal format at the terminal,


use the format characters %x. So the statement
printf ("Value == :Y.:<\n", t'jpe._Mask>;

would display the value of type_mask in hexadecimal format, without the


leading Ox.
Octal and hexadecimal constants frequently find their way into systems
programs and more advanced programming applications. As such, this
notation will not be used again until much later in this book.

Type float
A variable declared to be of type float can be used for storing values containing
decimal places. A floating point constant is distinguished by the presence of a
decimal point. It is permissable to omit digits before the decimal point, or digits
after the decimal point, but obviously not to omit both. The values 3., 125.8,
and -.0001 are all valid examples of floating point constants. To display a
floating point value at the terminal, the printf conversion characters %f are
used.
Floating point constants can also be expressed in so-called scientific
notation. The value 1.7e4 is a floating point value expressed in this notation and
represents the value 1.7 X 104• The value before the letter e is known as the
mantissa, while the value that follows is called the exponent. This exponent,
which may be preceded by an optional plus or minus sign, represents the
power of 10 that the mantissa is to be multiplied by. So in the constant 2.25e- 3,
2.25 is the value of the mantissa and -3 is the value of the exponent. This
constant represents the value 2.25 X 10-3 or 0.00225. Incidentally, the letter e
separating the mantissa from the exponent can be written in either lower or
upper case.
In order to display a value in scientific notation, the format characters %e
should be specified in the printf format string.

Type double
The type double is very similar to type float. It is used whenever the accuracy
provided by a float variable is not sufficient. Variables declared to be of type
double can store roughly twice as many significant digits as can a variable of
type float. The precise number of digits that can be stored in either a float or
double variable depends on the particular computer system you are using. On
the DEC VAX machines, a float variable can contain approximately seven
decimal digits, while a variable of type double has a precision of approximately
16 decimal digits.
There is no special distinction made between a constant of type float or
one of type double. In fact, all floating point constants are taken as double
o Variables, Constants, Data Types, and Arithmetic Expressions 0 21

values by the C compiler. To display a double float value at the terminal, the
format characters %f or %e, which are the same format characters used to
display a float value, can be used.

A char variable can be used to contain a single character. A character constant


is formed by enclosing the character within a pair of single quote marks. So 'a',
';', and '0' are all valid examples of character constants. The first constant
represents the letter a, the second a semicolon, and the third the character
zero-which is not the same as the number zero. Do not confuse a character
constant, which is a single character enclosed in single quotes, with a character
string, which is any number of characters enclosed in double quotes. We will
learn more about this distinction in the chapter on character strings.
The character constant '\n' -the newline character-is a valid character
constant even though it seems to contradict the rule cited above. The reason
for this is that the backslash character is a special character in the C system and
does not actually count as a character. In other words, the C compiler treats the
character '\n' as a single character, even though it is actually formed by two
characters. In Chapter 10 you will find that the backslash character can be
used for purposes other than just for advancing to the next line.
The format characters %c can be used in a printf call to display the value
of a char variable at the terminal.
In Program 4-1 that follows, the basic C data types are used. Note how a
value can be assigned to a variable at the time that the variable is declared.

Program 4.1

Main ()
{
int integer_val' = 100;
float floating_val' = 331.79;
dOl,ble double_val' = 8.~~e+ll;
char char_val' = '101';

printf ("integer_val' =
:r.d\n",integer_var);
printf ("floating_val' = :r.f\n",floating_var);
printf ("double_val' = :r.e\n",double_var);
printf ("char_val' = :r.c\n",char_var);
)

Program 4-1 Output

integer_val' = 100
floating_val' = 331.789978
double_val' 8.~~0000E+ll
char_val' = 101
22 o PROGRAMMING IN C 0

The first statement of Program 4-1 declares the variable integer_var to be


an integer variable and also assigns to it an initial value of 100, as if the following
two statements had been used instead:
int integer_var;
integer_var = 100;

In the second line of the program's output, you will notice that the value
of 331.79 that we assigned to floating.-var is actually displayed as 331.789978. In
fact, the actual value that is displayed is quite dependent on the particular
computer system you are using. (The reason for this inaccuracy is due to the
particular way that numbers are internally represented inside the computer
system. You have probably come across the same type of inaccuracy when
dealing with numbers on your pocket calculator. If you divide 1 by 3 on your
calculator, you will get the result .33333333-with perhaps some additional3s
tacked on at the end. The string of 3s is the calculator's approximation to
one-third. Theoretically, ~here should be an infinite number of threes. But the
calculator can only hold so many digits, thus the inherent inaccuracy of the
machine. The same type of inaccuracy applies to your computer system.
Certain floating point values cannot be exactly represented inside the
computer's memory.)
When displaying the values of float or double variables, you have the
choice of two different formats. The %f characters are used to display values in
a standard manner. Unless told otherwise, the printf routine will always display
a float or double value to six decimal places. We will see later in this book
how to select the number of decimal places that are displayed.
The %e characters are used to display the value of a float or double
variable in scientific notation. Once again, six decimal places are automatically
displayed by the system.
In the last printf statement, the %c characters are used to display the
single character 'W' that we assigned to char_var when the variable was
declared. Remember, that while a character string (such as the first argument
to printf) is enclosed within a pair of double quotes, a character constant must
always be enclosed within a pair of single quotes.

Qualifiers long, short, and unsigned


Just as it is possible to extend the accuracy of a variable containing a floating
point number by declaring it to be of type double, so is it possible to extend the
accuracy of an integer variable. If the qualifier long is placed directly before
the int declaration, then the declared integer variable will be of extended
accuracy on many computer systems. An example of a long int declaration
might be

long int factorial;


o Variables, Constants, Data Types, and Arithmetic Expressions 0 23

which would declare the variable factorial to be a long integer variable. As with
floats and doubles, the particular accuracy of a long variable depends on the
particular computer system. On the PDP-II, for example, the maximum
positive value that can be stored inside a variable of type int is 32,767.
Declaring a variable to be of type long int permits values up to 231 - 1 or
2,147,483,647 to be stored in the variable. On the VAX-II, an int and a long int
both have the same accuracy (which is the same as that for a long int on the
PDP-ll) and therefore both can be used to store integer values up to
2,147,483,647.
A constant value of type long is formed by optionally appending the letter
L (upper- or lower-case) onto the end of an integer constant. No spaces are
permitted between the number and the L. So, the declaration

long int MeMor~_address = 131071L;

declares the variable memory_address to be of type long int with an initial


value of 131,071. If the letter L is not specified, the compiler will treat any
constant larger than the largest allowable integer constant as a long integer
constant.
To display the value of a long int variable at the terminal, the letter I is
used as a modifier before the integer format characters d, 0, or x. This means
that the format characters %ld can be used to display the value of a long int in
decimal format, the characters %10to display the value in octal format, and the
characters %lx to display the value in hexadecimal format.
The qualifier short, when placed in front of the int declaration, tells the C
system that the particular variable being declared will be used to store fairly
small integer values. The motivation for using short variables is primarily one
of conserving the computer's memory space, which may be an issue in cases
in which the amount of memory available to a program is limited. On many
machines, a short int will take up half the amount of storage as a regular int
variable will. On the VAX-II, a short int can be used to store integer values in
the range of -32,768 to 32,767.
The final qualifier that may be placed in front of an int variable is used
when an integer variable will be used only to store positive numbers. The
declaration

unsigned int counter;

declares to the C system that the variable counter will be used only to contain
positive values. By restricting the use of an integer variable to the exclusive
storage of positive integers, the accuracy of the integer variable is extended.
On the PDP-II, for example, a normalint variable can assume values from

°
- 32,768 through 32,767. The same variable declared to be of type unsigned int
can assume values from through 65,535.
When declaring variables to be of type long int, short int, or unsigned int,
it is permitted to omit the keyword int. So the unsigned variable counter could
have been equivalently declared as
24 0 PROGRAMMING IN C 0

ur)signed counter;

Don't worry if the discussions of the types long int, short int, and unsigned
int seem a bit esoteric to you at this point. The discussion was included here
mainly for the sake of completeness. In later sections of this book, we will
illustrate the use of many of these different types with actual program
examples.

· Arithmetic Expressions
In C, just as in virtually all programming languages, the plus sign (+) is used to
add two values; the minus sign (-) to subtract two values; the asterisk (*) to
multiply two values; and the slash (/) to divide two values. These operators are
known as binary arithmetic operators, since they operate on two values or
terms.
We have seen how a simple operation like addition can be performed in C.
The following program further illustrates the operations of subtraction,
multiplication, and div.ision. The last two operations performed in the program
introduce the notion that one operator can have a higher priority or
precedence over another operator. In fact, each operator in C has a precedence
associated with it. This precedence is used to determine how an expression
that has more than one operator is evaluated: The operator with the higher
precedence is evaluated first. Expressions containing operators of the same
precedence are either evaluated from left to right or from right to left,
depending on the operator. This is known as the associative property of an
operator. Appendix A provides a complete list of operator precedences and
their rules of association. .

Program 4-2
I'll. Illustrate the use of various arithMetic operators *1

Main ()
(
int a 100;
int b 2;
int c = 25;
int d 4;
int result;

result = a - b; I'll. subtraction *1


printf ("a - b = 7.d\n", result);

res'.Jlt= b c; I'll. M,jltip'1icat.ion *1


printf ("b * c = 7.d\n", .result) ;
*
,lt = a I
res •.. c; I'll. division '11.1
printf ("a I c 7.d\n", result) ;

,lt = a + b
res •.. 'II. c;
printf ("a + b
* c = 7.d\n", result);
" Variables, Constants, Data Types, and Arithmetic Expressions " 25

printf ("a )I( b + c )I( d 7.d\n", a )I( b + c )I( d);

Program 4.2 Output

a - b 98
b c
)I( 50
a / c 4
a + b c)I( 150
a )I( b + c )I( d = 300

After declaring the integer variables a, b, C, d, and result, the program


assigns the result of subtracting b from a to result and then proceeds to display
its value with an appropriate prlntf call.
The next statement
result = b )I( c;

has the effect of multiplying the value of b by the value of C and storing the
product in result. The result of the multiplication is then displayed using a
prlntf call that should be very familiar to you by now.
The next program statement introduces the division operator-the slash.
The result of 4 as obtained by dividing 100 by 25 is displayed by the prlntf
statement immediately following the division of a by c.
In mathematics, the result of dividing any number by zero is infinity (00).
On most computer systems, attempting to divide a number by zero will result
in abnormal termination of the program. Even if the program does not
terminate abnormally, the results obtained by such a division will be
meaningless. In Chapter 6 we will see how division by zero can be checked for
before the division operation is performed. If it is determined that the divisor is
zero, then an appropriate action (such as displaying a message at the terminal)
can be taken and the division operation averted.
The expression
a + b )I( C

does not produce the result of 2550 (102 • 25) as might be expected; rather, the
result as displayed by the corresponding prlntf statement is shown as 150. This
is because C, like most other programming languages, has rules for the order of
evaluating multiple operations or terms in an expression. Evaluation of an
expression generally proceeds from left to right. However, the operations of
multiplication and division are given higher precedence over the operations of
addition and subtraction. Therefore, the expression

is evaluated as

a + (b )I( c)
26 o PROGRAMMING IN C 0

by the C system. (This is the same way that this expression would be evaluated
if we were to apply the basic rules of algebra.)
If we wish to alter the order of evaluation of terms inside an expression,
then parentheses can be used. In fact, the last expression listed above is a
perfectly valid C expression. Thus, the statement

result = a + (b * e);

could have been substituted in Program 4-2 to achieve identical results; but if
the expression

result = (a + bl * e;

were used instead, then the value assigned to result would be 2550, since the
value of a (100) would be added to the value of b (2) before multiplication by the
value of c (25) would take place. Parentheses may be nested, and evaluation of
the expression will proceed outward from the innermost set of parentheses.
Just be sure to have as many closed parentheses as there are open.
You will notice from the last statement in Program 4-2 that it is perfectly
valid to give an expression as an argument to the printf statement without
having to first assign the result of the expression evaluation to a variable. The
expression
-a * b + e * d

is evaluated according to the rules stated above as

*
(a b) + (c d) * or
(100 * 2) + (25 * 4)

and the result of 300 "handed" to the printf routine.

Integer Arithmetic and the Unary


Minus Operator
The next program reinforces what we have just discussed and introduces the
concept of integer arithmetic.

Program 4.3

1* More arithMetic expressions *1

Main ()
-(
int a = 25;
ir,t b =
2;
int res,-,lt;
float c 25.0;
float d = 2.0;
o Variables. Constants. Data Types. and Arithmetic Expressions 0 27

printf ("6 + a / 5 )I( b = :Y.d\n". 6 + a / 5 )I( b);


printf ("a / b )I( b = :Y.d\n". a / b )I( b>;
printf ("c / d )I( d = :Y.f\n", c / d )I( d>;
printf ("-a = :Y.d\n". -a>;
)

Program 4-3 Output

6 + a / 5 )I( b 16 =
a / b )I( b 2"t
c / d )I( d = 25.000000
-a -25=
We inserted extra blank spaces between int and the declaration of a, b,
and result in the first three statements to align the declaration of each variable.
This helps to make the program more readable. You also may have noticed in
each program presented thus far that a blank space was placed around each
operator. This too is not required and is done solely for esthetic reasons. In
general, you may add extra blank spaces just about anywhere that a single
blank space is allowed. A few extra presses of the space bar will prove
worthwhile if the resulting program is easier to read.
The expression in the first printf call of Program 4-3 reinforces the notion
of operator precedence. Evaluation of this expression proceeds as follows:
1. Since division has higher precedence than addition, the value of a (25) is
divided by 5 first. This gives the intermediate result of 5.
2. Since multiplication also has higher precedence than addition, the
intermediate result of 5 is next multiplied by 2, the value of b, giving a new
intermediate result of 10.
3. Finally, the addition of 6 and 10 is performed, giving a final result of 16.
The second printf statement introduces a new twist. We would expect
that dividing a by b and then multiplying by b would return to us the value of a,
which we have set to 25. But this does not seem to be the case, as shown by the
output display of 24. Did the computer lose a bit somewhere along the way?
Very unlikely. The fact of the matter is that this expression was evaluated using
integer arithmetic.
If you glance back at the declarations for the variables a and b, you will
recall that they were both declared to be of type int. Now, whenever a term to
be evaluated in an expression consists of two integers, the C system performs
the operation using integer arithmetic. In such a case, all decimal portions of
numbers are lost. Therefore, when the value of a is divided by the value of b, or
25 is divided by 2, we get an intermediate result of 12 and not 12.5 as you might
expect. Multiplying this intermediate result by 2 gives us the final result of 24,
thus explaining the "lost" digit.
As can be seen from the next-to-Iast printf statement in Program 4-3, if we
perform the same operation using floating point values instead of integers, we
obtain the expected result.
--- ~---,;--------------------------------

28 o PROGRAMMING IN C 0

The decision of whether to use a float variable or an Int variable should be


made based on the variable's intended use. If you don't need any decimal
places, then use an integer variable. The resulting program will be more
efficient-that is, it will execute faster on most computers. On the other hand, if
you need the decimal place accuracy, then the choice is clear. The only
question that you then must decide is whether to use a float or double. The
answer to this question will depend on the desired accuracy of the numbers
you are dealing with, as well as their magnitude.
In the last prlntf statement, the value of the variable a is negated by use of
the unary minus operator. A unary operator is one that operates on a single
value, as opposed to a binary operator, which operates on two values. The
minus sign actually has a dual role: as a binary operator it is used for
subtracting two values. As a unary operator, it is used to negate a value.
The unary minus operator has higher precedence than all other
arithmetic operators, so the expression
c = -a lK b;

will result in the multiplication of -a by b. Once again, in Appendix A you will


find a table summarizing the various operators and their precedences.

The Modulus Operator


The last operator to be presented in this chapter is the modulus operator, which
is symbolized by the percent sign (%). Try to determine how this operator
works by analyzing the output from the following program.

Program 4.4

IlK The Modulus operator lKl

Maira ()
{
irat a = 25, b = 5, c = 10, d = 7;

prirat~f ("a 7.7.b = 7.d\ra", a 7. b);


priratf ("a 7.7.c =
7.d\ra", a 7. c);
priratf ("a 7.7.d = 7.d\ra", a 7. d);
priratf ("a I d lK d + a 7.7.d = 7.d\ra",
a / d lK d + a 7. d);
}

Program 4-4 Output

a 7.b 0
a 7. c 5
a "d
a I d lK
"I

d + a "d 25
o Variables. Constants. Data Types. and Arithmetic Expressions 0 29

The first statement inside main declares and initializes the variables a, h,
c, and d in a single statement.
In the first printf call, you will notice that we used two percent signs in the
format string; yet, if you examine the program's output, you will notice that
only a single percent sign was printed. The reason for this is due to the special
significance of the % sign to the printf routine. As you know, the printf routine
uses the character that immediately follows the percent sign to determine how
to print the next argument. However, if it is another percent sign that follows,
then the printf routine takes this as an indication that you really intend to
display a percent sign, and inserts one at the appropriate place in the program's
output.
You are correct if you concluded that the function of the modulus
operator % is to give the remainder of the first value divided by the second
value. In the first example, the remainder after 25 is divided by 5 is displayed as
O.If we divide 25 by 10, we get a remainder of 5, as verified by the second line of
output. Dividing 25 by 7 gives a remainder of 4, as shown in the third output
line.
The last line of output in Program 4-4 requires a bit of explanation. First,
you will notice that the program statement has been written on two lines. This
is perfectly valid in C. In fact, a program statement may be continued onto the
next line at any point where a blank space could be used. (An exception to this is
when dealing with character strings-a topic to be discussed in Chapter to.) At
times, it may not only be desirable, but perhaps even necessary, to continue a
program statement onto the next line. The continuation of the printf call in
Program 4-4 was indented to visually show that it is a continuation of the
preceding program statement.
Let us now turn our attention to the expression that is evaluated in this
last statement. You will recall that any operations between two integer values
in C are performed with integer arithmetic. Therefore, any remainder
resulting from the division of two integer values will simply be discarded.
Dividing 25 by 7, as indicated by the expression a / d, gives an intermediate
result of 3. Multiplying this value by the value of d, which is 7, produces the
intermediate result of 21. Finally, adding in the remainder of dividing a by d, as
indicated by the expression a % d, leads to the final result of 25. It is no
coincidence that this value is the same as the value of the variable a. In general,
the expression

a I b * b + a Z b

will always equal the value of a, assuming of course that a and h are both
integer values. (In fact, the modulus operator % is defined to work only with
integer values.)
As far as precedence is concerned, the modulus operator has equal
precedence to the multiplication and division operators. This implies, of
course, that an expression such as

table + value Z TABLE_SIZE


30 o PROGRAMMING IN C 0

will be evaluated as

table + (value % TABLE_SIZE)

Integer and Floating Point Conversions


In order to effectively develop C programs, it will be necessary for you to
understand the rules that are used for the implicit conversion of floating point
and integer values in C. In Chapter 14, the rules that are followed for
conversion between other data types are described in detail.

Program 4-5
/* Basic conversions in C */

",ain ()
{
float fl = 123.125. f2:
int i1. i2 = -150:
char c = ., a' :

il = fl: /* floating to integer conversion */


printf ("Xf assigned to an int prodL1ces i::d\n".fl. il>:

fl = i2: /* integer to floating conversion */


printf ("Xd assigned to a float produces i::f\n".i2. fl):

fl =
i2 / 100: /* integer divided b~ integer */
printf ("Xd divided b~ 100 prodLlces i::f\n".i2. f1):

f2 = i2 / 100.0: ;* integer divided b~ a float */


printf ("Xd divided b~ 100.0 produces i::f\n".i2. f2);
)

Program 4-5 Output


123.125000 assigned to an int produces 123
-150 assigned to a float prbduces -150.003000
-150 divided b~ 100 produces -1.000000
-150 divided b~ 100~0 produces -1.500000

Whenever a floating point value is assigned to an integer variable in C, the


decimal portion of the number gets truncated. So when the value of f1 .is
assigned to 11in the above program, the number 123.125 gets truncated, which
means that only its integer portion, or 123, is stored into 11.The first line of the
program's output verifies that this is the case.
Assigning an integer variable to a floating variable does not cause any
change in the value of the number. The value is simply converted by the system
and stored into the floating variable. The second line of the program's output
verifies that the value of 12, -150, was correctly converted and stored into
the float variable £1. .
The next two lines of the program's output illustrate two points that must
be remembered when forming arithmetic expressions. The first has to do with
o Variables, Constants, Data Types, and Arithmetic Expressions 0 31

integer arithmetic, which we have already discussed in this chapter. Whenever


two operands in an expression are integers (and this applies to short, unsigned,
and long integers as well), the operation is carried out under the rules of integer
aIithmetic. Therefore, any decimal portion resulting from a division operation
will be discarded, even if the result is assigned to a floating variable (as we did
in the program). So when the integer variable i2 is divided by the integer
constant 100, the system performs the division as an integer division. The result
of dividing -150 by 1DO,which is -I, is therefore the value that is stored into the
float variable £1.
The next division that is performed in the above program involves an
integer variable and a floating point constant. Any operation between two
values in C will be performed as a floating point operation if either value is a
floating point variable or constant. Therefore, when the value of i2 is divided by
100.0, the system treats the division as a floating point division and produces
the result of -1.5, which is assigned to the float vaIiable £1.
We have reached the end of our discussions on variables, data types, and
expressions. If you are familiar with other programming languages, you may
have noticed that there is no operator for raising a number to a power
(exponentiation). Many computer systems provide a function in the program
library for performing exponentiation, or you can always compute the value
yourself (for raising a number to an integer power by simply multiplying the
number by itself the required number of times).
Try your hand at the exercises presented on the following pages before
proceeding to the next chapter, which introduces the concept of program
looping.

E x E R c s E s
• • • • • • • •

1. If you have access to a computer facility that supports the C programming


language, type in and run the five programs presented in this chapter.
Compare the output produced by each program with the output presented
after each program.
2. Which of the following are invalid variable names? Why?

Int char

calloc X;.:

floati.ng _.1312

ReIni.ti.ali.ze A$
32 o PROGRAMMING IN C 0

3. Which of the following are invalid constants. Why?

123."t56 0).:10.5 OXOG1

0001 OJ.:FFFF 123L

OXab05 OL -597.25

123.5e2 .0001 +12.5

0996 -12E-12 07777

4. Write a program that converts 27° from degrees Fahrenheit (F) to degrees
Celsius (C) using the formula

c= (F- 32)/1.8

5. What output would you expect from the following program?


Main ()
-(
char c, d;

c = 'd';
d = c;
print.f (lid = :Y.c\n", d);
::-

6. Write a program to evaluate the polynomial

3x3 - 5x1 +6
for x = 2.55.

7. Write a program that evaluates the following expression and displays the
result. (Remember to use exponential format to display the result.)

(3.31 X 10-8 + 2.10 X 10-7) / (7.16 X 106 + 2.01 X 108)

8. To round off an integer i to the next largest even multiple of another integer
j, the following formula can be used:

Next-multiple =i +j - i %j

For example, to round off 256 days to the next largest number of days
evenly divisible by a week, values of i= 256 and j= 7 can be substituted into
the above formula as follows.
Next-multiple = 256 + 7 - 256 % 7
= 256 + 7 - 4
= 259
[J Variables, Constants, Data Types, and Arithmetic Expressions [J 33

:;

Write a program to find the next largest even multiple for the following
values of i and j. 1

365 7
12,258 23
996 4
c H A p T E R
• • • • • •
5

PROGRAM LOOPING

The for Statement •


If we were to arrange 15 dots into the shape of a triangle, we would end up with
an arrangement that might look something like this:
o

o 0

o o o

o o o o

o o o o o

The first row of the triangle contains one dot, the second row two dots, and so
on. In general, the number of dots it would take to form a triangle containing n
rows would be the sum of the integers from 1through n. This sum is known as a
triangular number. If we start at 1, then the fourth triangular number would
be the sum of the consecutive integers 1 through 4 (1 + 2 + 3 + 4), or 10.
Suppose we wished to write a program that calculated and displayed the
value of the eighth triangular number at the terminal. Obviously, we could
easily calculate this number in our heads, but for the sake of argument, let us
assume that we wanted to write a program in C to perform this task. Such a
program is shown below.

Program 5-1
/* PrograM to calculate'the eighth triangular nUMber */

Main ()
{

triangular_nUMber = 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8;

printf ("The eight.h t.riangular n'.IMberis %d\n",


t.riangular_nuMber);
}

• 34 •
o Program Looping 0 35

Program 5.1 Output

The eighth triangular nUMber is 36

The above technique works fine for calculating relatively small triangular
numbers. But what would happen if we needed to find the value of the 200th
triangular number, for example? It certainly would be a bit tedious to have to
modify the above program to explicitly add up all of the integers from 1to 200.
Luckily, there is an easier way.
One of the fundamental properties of a computer is its ability to
repetitively execute a set of statements. These looping capabilities enable
programmers to develop concise programs containing repetitive processes
that could otherwise require thousands or even millions of program
statements to perform. The C programming language contains three different
program statements for program looping. They are known as the for
statement, the while statement, and the do statement. Each of these
statements will be described in detail in this chapter.
Why don't we dive right in and take a look at a program that uses the for
statement. The purpose of this program is to calculate the 200th triangular
number. See if you can determine how the for statement works.

Program 5-2
1* PrograM to calculate the ZUOth triangular nUMber *1
1* Introduction of the for stateMent *1

Main ()
{

for ( n = 1; n (= ZOO; n = n + 1 )
triangular_nuMber = triangular_nuMb,r + n;

printf ("The ZOOth triang'.Ilar nUMber is rod\n",


triangular_nuMber);
-,
..•.

Program 5-2 Output

The ZOOth triangular nUMber is Z0100

Some explanation is owed for the above program. The method employed
to calculate the 200th triangular number is really the same as that used to
calculate the 8th triangular number in the previous program-the integers
from 1 up to 200 are summed. The for statement provides the mechanism that
enables us to avoid having to explicitly write out each integer from 1to 200. In a
sense, this statement is used to "generate" these numbers for us.
The general format of the for statement is as follows:
36 o PROGRAMMING IN C 0

for ( iniLexpression; loop_condition; loop_expression)


program statement;

The three expressions enclosed within parentheses-iniLexpression, loop_con-


dition, and loop_express ion-set up the environment for the program loop.
The program statement that immediately follows can be any valid C program
statement and constitutes the body of the loop. This statement will be executed
as many times as specified by the parameters set up in the for statement.
The first component of the for, labeled iniLexpression, is used to set the
initial values before the loop begins. In Program 5-2, this portion of the for
statement is used to set the initial value of n to 1.As you can see, an assignment
is a valid form of an expression.
The second component of the for statement specifies the condition or
conditions that are necessary in order for the loop to continue. In other words,
looping continues as long as this condition is satisfied. Once again referring to
Program 5-2, we find that the loop_condition of the for is specified by the
relational expression
n <= zoo:
This expression can be read as "n less than or equal to 200." The "less than or
equal to" operator (which is the less-than character '<' followed immediately
by the equals sign '=') is only one of several relational operators provided in the
C programming language. These operators are used to test specific conditions.
The answer to the test will be "yes" or, more commonly, TRUE if the condition
is satisfied and "no" or FALSE if the condition is not satisfied.
Table 5-1 lists all of the relational operators that are available in C.
The relational operators have lower precedence than all arithmetic
operators. This means, for example, that an expression such as
• < b + c

will be evaluated as
• < (b + c)

as you would expect, and would be TRUE if the value of a was less than the
value of b + c, and FALSE otherwise.

TABLE 5.1. RELATIONAL OPERATORS

OPERATOR MEANING EXAMPLE

equal to count == 10
!= not equal to flag!= DONE
< less than a<b
<= less than or equal to low<= high
> greater than pointer> end_oLlist
>= greater than or equal to i>=O
Other documents randomly have
different content
idiot + -CY ; idiotcy is irreg. form] i'diom, n. Language of a people or
country ; specific character of this ; form of expression peculiar to a
language, [f. L f. Gk idioma -matos (idioomai make one's own f.
idios, see -M)] idioma'tie, a. Characteristic of a particular language ;
vernacular; colloquial. Hence idioma'tic ally adv. [f. Gk idiomatikos
(prec, -ic)] idid'pathy, n. (path. ). Disease not preceded or
occasioned by another. Hence idiopathic a., idiopa'thiCALLY adv. [f.
Gk idiopatheia (idios own, see -pathy)] idiosyncrasy, n. Mental
constitution, view, feeling, peculiar to a person ; mode of expression
peculiar to an author; (Med.) physical constitution peculiar to a
person. So idiosynCPa'tic a. [f. Gk idiosugkrasia (idios own + sun
together + krasis mixture f. kerannumi mix, whence kratikos adj.) ;
theimprop. -cracy is by confus. w. -cracy] i'diot, n. Person so
deficient in mind as to be permanently incapable of rational conduct
; utter fool. So idio*tic a., idio'tiCALLY adv. [F, f. L (-ta) f. Gk idiotes
private person, ' layman ', ignorant person, f. idios own, private]
i'dle, a. (-er, -est), & v.i. & t. (Of action, thought, word) ineffective,
worthless, vain ; groundless ; useless ; unoccupied ; lazy, indolent ;
(v.i.) be i.; (v.t.) pass (time &c.) away in idleness ; i. wheel, safety
wheel coming into operation in case of breakdown, (also)
intermediate wheel between two geared wheels. Hence i'dleNESS,
i'dlER1, nn.,i*dLY2adv. [(vb f. a.) OE idel, cf. Du. ijdel, G eitel ; orig.
sense prob. 'empty'] l'dlesse, n. Idleness, [sham archaic, -ess2] idol
(i'dl), n. Image of deity used as object of worship ; false god ;
person, thing, that is the object of excessive devotion ; phantom ;
(Logic) false mental conception, ii. of the tribe, cave, market,
theatre, (L idola tribus, specus, fori, theatri), four classes of fallacies
(Bacon, Nov. Org. I. xxxix), referable respectively to limitations of
human mind, prejudices of idiosyncrasy, influence of words,
philosophical & logical prepossessions, [f. OF idole f. L f. Gk eidolon
phantom (eidos form)] ido'latep, n. Worshipper of idols ; devoted
admirer (of). So ido'latPESS \ ido'latPY1, nn., ido'latpous a.,
ido'latPOUSLY 2 adv. [f. OF idolatre shortened f. eccl. L f. Gk
eidololatres ; F had also idolatre by confus. w. suf. -aire -aster,
whence earlier E idolatrer] i'dolize, v.t. & i. Make an idol of ;
venerate, love, to excess ; practise idolatry. Hence idoHzation n.
[ize] idd'lum, n. (pi. -la). Mental image, idea; (Logic) fallacy (see
idol). [L, as idol] i'dyll, -yl, n. Short description in verse or (prose i.)
in prose of picturesque scene or incident, esp. in rustic life ; episode
suitable for such treatment. Hence idyllic a., idyllically adv., i'dylliST
n., i'dyllizE(l) v.t. [f. L f. Gk eidullion (eidos form)] -iep, suf. forming
personal nn. denoting occupation &c. ; there are two sets, ME wds
w. unaccented -ier, as collier (see -er2), & later wds f. 16th c. w. -ier
usu. accented, as cavalier (but fina'neier), and often spelt -eer. The
latter, & perh. usu. the former, f. F -ier, -eer. if, conj. (n.). On the
condition or supposition that, as i. you are (now) tired we will sit
down, i. you (hereafter) see him give him the message, i. he
hasjound it he will send it, i. he had fair warning he has nothing to
complain of, i. he had been warned he has (or had) nothing to
complain of, (w. past tense implying that condition is not fulfilled) i. I
knew what to do I should do it, i. he had been warned he would
have (or would have had) nothing to complain of; whenever, as i. I
feel any doubt I inquire, i. I felt any doubt I inquired, i. I had been
badly treated I complained ; whether, as ask, see, try, i. you can turn
the handle ; (when if is omitted, order of verb & subject is inverted,
as) were I (if I were) in your place, would, could, shoidd, might,
had, he (if he would, could, &c), (poet.) loved I not honoitr more ;
(without apodosis) i. I only knew!, I wish I knew, i. I haven't lost my
watch ! (I have, to my surprise or disgust); as i., as the case woukl
be if, as it seems as i. he meant (vulg. means) to compromise, he
talks as (he would) i. he were drunk ; as i. you didn't know, you
know quite well; (n.) condition, supposition, as i. ijs & ans were pots
& pans. [OE gif, cf. Du. of if, G ob whether ;'perh. cases of a noun
(OHG iba) meaning ' doubt '] i'gneous, a. Of fire, fiery ; produced by
volcanic agency, [f . L igneiis (ignis fire) + -ous]
IGNIS FATUUS 404 ILLUMINATE i'g-nis fa'tuus, n. Will-o'-
the-wisp, phosphorescent light (now rarely) seen on marshy eround,
supposed due to spontaneous combustion of gas from decaying
organic matter ; delusive hope or aim. [med. or mod. L, = foolish
Are] igrii'te, v.t, & i. Make intensely hot ; (Chern.) heat to the point
of combustion or chemical change ; set fire to ; take fire. Hence or
cogn. igni'tABLE a., igni'tiON n. [f. L xgmre -it(ignis fire)] ^„ , , . ,.
igno-ble, a. (-er, -est). Of low birth, position, or reputation; mean,
base, dishonourable. Hence igno'bleNESS n., igno'bLY a adv. [* , f. L
ignobilis (in- not + nobilis noble)] i'gnominy, n. Dishonour, infamy ;
infamous conduct. So ignomi'nious a., ignomi;niousLY 2 adv. [f. F
ignominie f. L ignomima (in- not + (g)nomen name)] ignoramus, n.
(pi. -muses). Ignorant person. [L, = we do not know, (legal) we take
no notice of (bill) ; mod. sense perh. f. Ruggle's Ignoramus (1615)
exposing lawyers' ignorance] rgnopance, n. Want of knowledge (of
thing, or in general). [F, f. L ignorantia (as foil., see -ance)] i'gnorant,
a. Lacking knowledge ; uninformed (of, in, subject, of fact). Hence
i*gnorantLY2 adv. [F, f. L, as foil., see -ant] ignora'tio (-shio) ele'nchi
(-ki), n. (logic). Argument that appears to refute opponent while
actually disproving something not advanced by him. [L] ignore*, v.t.
Refuse to take notice of; (of Grand Jury) reject (bill) as unfounded,
[f. F ignorer f. L ignorare not know, ignore (in- not + gno- know)]
igno'tum per igno'tius. (Explanation of) the unknown by the still less
known. [L] Igua'na (-wah-), n. Large W.-Ind. & S.-Anier. arboreal
lizard. [Sp., f. Carib. iicana] igua'nodon, n. Huge herbivorous lizard,
found fossil, [f . prec. + Gk oclous odontos tooth, after mastodon
&c] IHS, abbr. repr. Gk Iesous Jesus (Gk cap. e being like H) ; often
taken to mean Jesus Hominum Salvator (Saviour of men), In Hoc
Signo (vinces) in this sign (thou shalt conquer), In Hac (cruce) Salus
in this (cross) is salvation. il-, pref . = in * > 2 before l. -IL -ile, suf.
of adjj. & sometimes nn., repr. L -His or when added to -i- stems -
His (civilis). In OF -His appeared as -il, but -His lost i, tonic accent
falling on prec. syllable (humble L humilem,frele Lfragilem). L wds
adopted early in OF took -il inasc, -ile fern, (civil, -ile) ; later wds
have -ile for both genders (agile, facile). Few E wds have -il (civil,
fossil, utensil) ; & the tendency is to pronounce -He of either origin
with i. I'lex, n. (pi. -exes). Holm-oak; (Bot.) genus including common
holly. [L] i'liae, a. Of the fiank(-bone), as i. artery; i. passion, painful
affection due to intestinal obstruction, [f. F iliaque f. LL iliacus (ilium,
class. L only in pi. ilia flanks ; but orig. the adj. corr. to L ileus f. Gk
eileos colic)] I'liad (i-), n. Epic poem attributed to Homer &
describing siege of Troy ; (fig.) J. (long series) of woes. [f. L f. Gk
Ilias (poiesis) (poem) of Ilium or Troy] i'lium, n. (pi. -ia). Hip-bone.
{L, see iliac] ilk, a. (Sc). Of that i., of the same, as Guthrie of that i.,
Guthrie of Guthrie ; (vulg.) that i., that family, class, or set. fOE ilea
same, prob. f. pronominal st. i- (cf. Goth, is he) + -lie like] ill, a., n.,
adv. Out of health, sick, as he is i., was taken i. ; morally bad, as i.
fame, disrepute, i. blood, i. will, animosity, strife, i. nature,
churlishness, i. (morose) humour, temper; harmful, as (pro v.) i.
weeds groiv apace ; do an i. turn to person, harm him or his
interests ; wretched, disastrous, as (pro v.) it's an i. wind that blows
nobody good ; (archaic) difficult, as i. to please ; faulty, unskilful, as
i. management ; (of manners or conduct) improper ; i. (imperfect)
success. (N.) evil, the opposite of good ; harm, injury ; speak i.
(something unfavourable) of ; (pi.) misfortunes. (Adv.) badly, as
behaved i.; take (thing) i., take offence at it ; unfavourably, as it
woidd have gone i. with him ; imperfectly, scarcely, as i. provided, it
i. became him to speak ; i. at ease, embarrassed, uneasy ; i.-
advised, -visedly, imprudent(ly) ; i.ajfected, not well disposed; i.-
bred, badly brought up, rude ; i. breeding, bad manners ; i.-
conditioned, of evil disposition, (also) in bad condition ; i.-disposed,
disposed to evil, malevolent, (also) unfavourably disposed (toivards)
; i.-fated, destined to, bringing, bad fortune ; i.favoured, uncomely,
(also) displeasing, objectionable ; i.-gotten, gained by evil means;
i.humoured, bad-tempered ; i.-judged, unwise ; i. -mannered,
unmannerly, rude; i.-natured(ly), churlish(ly) ; i.-omened, attended
by bad omens ; i.-starred, born under an evil star, unlucky ;
1tempered, morose, peevish ; i.-timed, unseasonable ; i.-treat, -use,
treat badly, [early ME, f. OX Ulr, etym. dub.] illa'tion, n. Deduction,
conclusion ; thing deduced, [f. LL illatio (as infer, see -ion)] illa'tive,
a. (Of words) stating, introducing, an inference, as i. particles ;
inferential. Hence illa'tiveLY2 adv. [f. LL illativus (as prec, see -ive)1
ille'gal, a. Not legal; contrary to law. Hence or cogn. illega'liT v n. ,
ille'galL y 2 adv. [f. med.L iL(legalis legal)] illegible, a. Not legible.
Hence illegibi'lity n., ille'g'lbLY2 adv. [il-] illegl'timate l (-at), a. & n.
Not authorized by law ; improper ; not born in lawful wedlock,
bastard ; wrongly inferred ; abnormal ; (n.) one whose position is i.,
esp. bastard. Hence illeg-i'tiniACY n., illegi'timateLY 2 adv. [il]
illegitimate 2, v.t. Declare illegitimate. Hence illegitimA'TiON n. [f.
prec] illi'bepal, a. Not befitting a free man ; without liberal culture ;
vulgar, sordid ; narrowminded ; stingv. Hence or cogu. illibepa'liT y
n., illi'beralLY2 adv. [f. F illiberal f. L il(liberalis liberal)] illreit, a.
Unlawful, forbidden. Hence illi'eitLY 2 adv. [f. F illicite f. L iL(licitus
p.p. of licere be allowed)] illi'mitable, a. Boundless. Hence
illimitaBiLiTY, illi'mitablexESS, nn., illi'mitabLY 2 adv. [il-] illi'tepate (-
at), a. & n. Ignorant of letters ; unlearned; unable to read; (n.) i.
person. Hence illi'tePACY, illi'tepateNESS, nn. [f. L lUlitteratus
literate)] i'llness, n. Unhealthy condition of body, sickness, [-ness]
illo'gieal, a. Devoid of, contrary to, logic. Hence illogiea'liTV n.,
illo'gicalLY2 adv. [IL-] illth, n. (rare). Ill-being, [-th1] illu'me, v.t.
(poet.). Light up, make bright, (lit. & fig.), [for illumine, cf. F
allumer] illu'mi nate (-oo-, -u-), v. t. Light up, whence illu'minANT a.
& n. ; give spiritual or intellectual light to ; throw light upon
(subject) ; shed lustre upon ; decorate (buildings &c ) profusely with
lights as sign of festivity ; decorate (initial letter in manuscript &c.)
with gold, silver, & brilliant colours. So illirminA'TiON,
ILLUMINATI 405 IMMEDIATE illu'minatOR 2, nn.,
illu'minatiVE a. [f. L iL(luminare f. lumen -minis light), see -ate3]
illumina'ti (or -ahte), n. pi. Secret society founded by Weishaupt in
1776, holding deistic & republican principles, & organized like
freemasons ; persons claiming to possess special enlightenment. So
illirminiSM(3), illu'minist(2), nn. [L (as prec, see -ate2) or It,, whence
occasional sing, -ato] illu-mine, v.t. Light up ; enlighten spiritually;
brighten, [f. Filluminer (as illuminate)] illu'sion(-zhn), n. Deception,
delusion; sensuous perception of an external object involving a false
belief ; a transparent tulle. [F, f. L iliusionem f. iL(ludere lus- play),
see -ion] illu'sionist, n. One who disbelieves in objective existence,
so illu'sioniSM n. ; one who produces illusions, esp. conjurer, [-ist]
illu'sive (-S-), a. Deceptive. Hence or cogn. : illirsiveLY2,
illu'sopiLY2,advv., illirsiveness, illu'soriNESS, nn., UIu'sory a. [as
illusion, see -ive] i'llustrate, v.t. Make clear, explain ; make clear by
examples ; elucidate (description &c.) by drawings ; ornament
(book, newspaper, &c.) with designs. Hence i'llustratOR2 n. [f. L iL,
{lustrare light up, prob. f. st, of lumen light)] illustpa'tion, n.
Illustrating ; example ; drawing &c. illustrating book or article in
paper. [F, f. L illustrationem (prec, -ation)] illu'stpative, a. Serving as
explanation or example (of). Hence illu'strativeLY 2 adv. [as
illustrate, see -ive] illvrstrious, a, Distinguished, renowned. Hence
illu'striousLY 2 adv., ilUrstpiousness n. [f. L iL(lust7Hs see illustrate)
+ -ous] im- !> 2, pref. = in- h 2 before b, in, p. i'mage1 (-ij), n.
Artificial imitation of the external form of an object, e. g. statue (esp.
of saint &c. as object of veneration) ; optical counterpart produced
by rays of light reflected from mirror, refracted through lens, &c. ;
form, semblance ; counterpart, as he is the very i. of his father ;
type ; simile, metaphor ; idea, conception. Hence i'mageLESS a. [F, f.
L imaginem (nom. -go) prob. f. same root as imitate] i*mage2,v.t.
Make an image of, portray; reflect, mirror ; picture (thing to oneself)
; describe vividly ; typify. Hence i'mageABLE a, [f. prec] i'magepy, n.
Image ; statuary, carving ; figurative illustration, [f. OF imagerie (as
image1, see -ery)] imaginable, a. That can be imagined, as the
greatest difficulty i., took all the trouble i. Hence ima'ginabLY2 adv.
[f. liLimaginabilis (as imagine, see -ble)] ► ima'ginal, a. (entom.). Of
an insect imago. [f. L as IMAGE ! + -AL] ima'ginapy, a. Existing only
in imagination ; (Math.) having no real existence, but assumed to
exist for a special purpose (e. g. square root of negative quantity).
Hence ima'ginapiLY 2 adv. [f. L imaginarius (as prec, see -ary1)]
imagination, n. Imagining ; mental faculty forming images of
external objects not present to the senses ; fancy ; creative faculty
of the mind. [F, f. L imaginationem (as imagine, see -ation)]
imaginative, a. Of, given to using, having or showing in a high
degree, the faculty of imagination. Hence ima'ginativeLY 2 adv. ,
ima'ginativeNESS n. [OF (-if, -ive), f. LL imaginativus (as prec, see -
ative)] ima'gine, v.t. Form mental image of ; conceive (thing, thing
to be or do, that it is, hoxc, what, &c) ; guess, as cannot i. what he
is doing ; suppose, be of opinion, (that); take into one's head (idea,
that), [i. F imaginer f. L imaginari (as image1)] ima'go, n. (pi. -gines,
-gos). Final & perfect stage of insect after all metamorphoses, e. g.
butterfly. [mod.L sense of imago image] ima-m, imau'm, (ahm), n.
Officiating priest of Mohammedan mosque ; title of various
Mohammedan leaders. [Arab, [-am) f. amma go before] i'mbecile (-
el, -II), a, & n. Mentally weak, stupid, idiotic ; physically weak ; (n.)
person of weak intellect, Hence or cogn. i'mbeeileLY 2 adv.,
imbeerliTY n. [f. F imbe'cille (now -He) f. L imbecillus, etym. dub.]
imbi'be, v.t. Drink in, assimilate, (ideas &c.) ; drink (liquid) ; inhale
(air &c) ; absorb (moisture &c). So imbibi'tiON n. [(partly thr. F
imbiber) f. L ml(bibere bibit- drink) conceive (opinions), drink]
i'mbrieate, v.t. & i. Arrange (leaves, scales of fish, &c), be arranged,
so as to overlap like tiles. So i,mbpicATE2(-at),i,mbpieatiVE,aa.,
imbPicA'TiON n. [f. L imbricare form like a tile (imbrex -ids f. imber
shower), -ate3] imbpo'glio (-olyo), n. Confused heap ; complicated
(esp. political or dramatic) situation. [It,, f. broglioz cf. broil1]
imbrue* (-00), v.t. Stain (one's hand, sword, &c, in, with, blood,
slaughter, &c). [f. OF embreuver moisten for Eii(beuvrer f.~L*bibera
re f. bibere drink)] imbpu'te, em-, v.t. Brutalize, [im- l] imbue*, v.t.
Saturate (with) ; dye (with) ; permeate, inspire, (with feelings &c) ;
= imbrue, [f. L iyO(buere cogn. w. bibere drink)] i'mitate, v.t. Follow
example of; mimic; be (consciously or not) like. So imitaBULiTY,
i'mitatOR2, nn., i'mitABLE a. [f. himitari, see -ate 3] imita'tion, n.
Imitating ; copy ; counterfeit (often attrib., as i. leather') ; (Mus.)
repetition of melody &c, usu. at different pitch, in another part or
voice, [f. L imitatio (prec, -ation)] i'mitative, a. Following model or
example (of) ; i. arts, painting & sculpture ; i. word, one that
reproduces a natural sound (e. g. fizz) or whose sound is thought to
correspond to appearances &c. of object described ; counterfeit.
Hence i'mitativeLY 2 adv., i'mitativeNESS n. [f. LL imitativus (as prec,
see -ative)] imma'culate (-at), a. Pure, spotless ; faultless (of ten
iron.) ; /. Conception (of Virgin Mary, as born free from taint of
original sin) ; (Nat. Hist.) not spotted. Hence imma'eulACY,
imma'eulateNESS, nn., imma'eulateLY2 adv. [f. L iM^^nandafais f.
macula spot)] i'mmanent, a. Indwelling, inherent, (in); (of God)
permanently pervading the universe. Hence i'mmanENCE, -ency, nn.
[f. LLim1(manere remain), see -ent] immaterial, a. Not material,
incorporeal ; unimportant. Hence immatepia'liTY n.,
immateP*ialiZE(3) v.t. [f. med.LiM2(?na£e?naHs MATERIAL)]
immatep'ialism, n. Doctrine that matter does not exist in itself apart
from perception. So immateP'ialiST n. [-ism] immature', a. Not
mature. So immatup'iTY n. [f. L im ^(maturus mature)]
immea'supable, a. Not measurable, immense. Hence
immeasupaBULiTY, immea'supableNESS, nn., immea'supabLY 2 adv.
[im-2] imme'diate (-at), a. (Of person or thing in its relation to
another) not separated by any intervening medium ; (of relation or
action) direct, without intervening medium ; (Logic) i. infer 
IMMEMORIAL 406 IMPASSE ence (from single premiss,
without intervention of middle term) ; nearest, next, as my i.
neighbour ; occurring at once, without delay, as an t. reply. Hence
imme'diACY, imme'diateness, nn., imme'diateLY2 adv. [f. med.L I
m2( mediat us mediate)] immemop'ial, a. Ancient beyond memory;
very old. Hence immemop'ialLY 2 adv. [f. med.L. isi(memorialis
memorial)] immen-se, a. Vast, huge ; (slang) very good. Hence or
cogn. imme'nsexEss, imme'nsitv, nn. [F, f. L iM2(mensus p.p. of
metiri measure) immeasurable] immensely, adv. In an immense
degree ; (colloq.) very much, [-ly 2] immer'se, v.t. Dip, plunge, (in
liquid) ; put overhead in water, esp. baptize thus ; bury, imbed, (in) ;
involve deeply, absorb, {in debt, difficulties, thought, &c). [f. L
iu(mergere mers- dip)] immep'sion, n. Immersing; baptism by
plunging whole person in water (cf. affusion); (fig.) absorption (in
thought &c); (Astr.) disappearance of celestial body behind another
or in its shadow, [f. LL iminersio (prec, -ion)] i'mmigrate, v.i. & t.
Come as settler (into foreign country) ; bring in (person) as settler.
So i'mmigPANT a. & n., immig-PA'TiON n. [f. L iM(migrare migrate)]
i'mminent, a. (Of events, esp. dangers) impending, soon to happen.
Hence or cogn. i*mminENCE n., i'mminent ly2 adv. [f. L im(minere
see eminent) overhang, see -ent] immi'scible, a. That cannot be
mixed. Hence immiseiBi'LiTY n., immi'seibLY2 adv. [f im- 2 + L
miscere mix, see -ble] immrtig-able, a. That cannot be softened or
toned down. Hence immi'tigabLv 2 adv. [f. L im 2(mitigabilis
mitigable)] immixture, n. Mixing up; being involved (in), [f. L im
^(miscere rnixt- mix) + -ure] immd'bile, a. Immovable; (loosely)
motionless. So immoBixiTY n. [F, f. L iM2(mobilis mobile)]
immobilize, v.t. Fix immovably; make (troops) incapable of being
mobilized; withdraw (specie) from circulation. Hence immobiliz a tion
n. [f. F immobiliser (as prec, see -ize)] immo'derate, a. Excessive,
wanting in moderation. Hence immo'depateLY2 adv. [f. L im
2(moderatus moderate)] immo'dest.a. Indecent, indelicate; forward,
impudent. Hence immo'destLY 2 adv., immo'destY1 n. [f. L im
2(modestus modest)] i'mmolate, v.t. Kill (victim) as sacrifice ; (fig.)
sacrifice (thing &c. to another). So immolA'TiON, i'mmolatoR2, nn. ff.
Lw'motare sprinkle with meal (mola), sacrifice, -ate3] immo'pal, a.
Opposed to morality ; morally evil ; vicious, dissolute. Hence
immora'liTY n. , immo'palLY 2 adv. | im- 2] immop'tal, a. & n.
Undying ; divine ; unfading, incorruptible ; famous for all time ;
(colloq.) constant, long-lasting; (n.) i. being, esp. (pi.) gods of
antiquity ; (pi.) royal bodyguard of ancient Persia. So immopta'liTY n.
[f. L lbi2(mortalis mortal)] immop'talize, v.t. Confer enduring fame
upon ; endow with endless life ; perpetuate. Hence immoptalizATiON
n. [-ize] immop'tally, adv. Eternally ; (colloq.) infinitely, very, [-ly 2]
immopte'lle (-el), n. Composite flower of papery texture retaining
colour after being dried, often used to adorn graves. [F, fern, of
immortel immortal] immovable (-mob-), a. & n. That cannot be
moved ; motionless ; not subject to change ; i. feast ; steadfast,
unyielding ; emotionless ; (Law, of property) permanent (also as n.
pi.). Hence immovaBiLiTY, immo'vableNESS, nn., immo'vabLY 2 adv.
[im- 2] immu'ne, a. & n. Having immunity (from poison, contagion,
&c.) ; (n.) i. person, [f. L im 2munis exempt from public burden
(munus)] immirnity, n. (Law) exemption (from taxation, jurisdiction,
&c.) ; freedom (from); security against contagion &c. (from). [I. L im
munitas (as prec, see -ty)] i'mmunize, v.t. Render immune (against
contagion). Hence immunizA "tion n. [-ize] immure' (-ur), v.t.
Imprison ; shut oneself up. Hence immupe'MENT n. [f. med.L
im1(murare f. murus wall)] immutable, a. Unchangeable ; not
subject to variation in different cases. Hence immutaBixiTY n.,
immu*tabLY2adv. [f. L im2(mutabilis mutable)] imp l9 n. Child of the
devil ; little devil ; mischievous child. [OE impa young shoot, scion,
conn. w. foil.] imp 2, v. t. Imp the wings of (bird), strengthen its
flight ; (rare) enlarge, eke out. [OE impian graft, prob. f. Gk
emphud, cf. F enter] i'mpaet l, n. Striking (on, against), collision, [f.
L impingere -pact- impinge] impa'ct2, v.t. Press, fix, firmly (into, in).
So impa'etiON n. [prob. back-formation f. impacted f. L p.p. as prec.
+ -ed 2] impair*, v.t. Damage; weaken. So impaip'MENT n. [f. OF
empeirer f. L *iuHpejorare f. pejor worse) make worse] impa'le, v.t.
Transfix (body &c. upon, with, stake &c., esp. as form of capital
punishment) ; (Herald. ) combine (two coats of arms) by placing
side by side on one shield separated by vertical line down middle ;
(rare) fence in with stakes. So impa'leMENT n. [f. F empaler f. med.L
im l(palare f. palus stake)] impalpable, a. Imperceptible to the touch;
not easily grasped by the mind, intangible. Hence impalpaBixiTY n.,
impa'lpabLY2 adv. [f. med.L iM2(palpabil is palpable)] impa'ludism, n.
Morbid state, with tendency to intermittent fevers & enlargement of
spleen, found in dwellers in marshes, [f. im- l + L palus -udis marsh
+ -ism] impa'nate (or Impa-), a. (Of the body of Christ) contained in
the bread after consecration. So impanA'TiON n. [f. med.L iM^i?
**nare f. panis bread), see -ate 2] impanel. See empanel.
impa'radise, em-, (-is), v.t. Bring into state of supreme happiness ;
ravish ; make a paradise of (place, state), [im- l] impapisylla'bic, a. &
n. (Gk & Lat. Gram.). (Noun) that has more syllables in genitive than
in nominative, [f. Lim2( par equal) +syllabic] impap'k, v.t. Enclose
(beasts) in park ; enclose (land) for park. Hence impark a tion n. [f.
OF EM(parquer f. pare park)] impart, v.t. Give share of (thim* £o
person &c); communicate (news &c. to). Hence impart a "tion,
impaptMENT, nn. [f. OF empartiri. L im l(partire part)] impap'tial (-
shl), a. Not partial, unprejudiced, fair. Hence impartia'liTY (-shl-) n.,
impap'tialLY 2 adv. [im- 2] impap'tible, a. (Of estate) not divisible, [f.
LL iM2(partibilis partible)] impa'ssable, a. That cannot be traversed.
Hence impassaBi'LiTY, impa'ssableNESS, nn. [im-2] impa'sse (also as
F). Blind alley ; position from which there is no escape. [F (im- 2 +
passer PASS)]
IMPASSIBLE 407 IMPERSONAL. impossible, a. Incapable of
feeling or emotion ; incapable of suffering injury ; not subject to
suffering. Hence impassiBiLir v, impassibleNESS, nn., impa*ssibLY 2
adv. [f. eccl. L im 2(passibilis passible)] impa'ssion, v.t. Stir the
passions of, excite strongly, (chiefly in p.p.). [f. It. IM 1(passionare f.
passione passion)] ' imp&'ssive, a. Deficient in feeling or emotion ;
serene ; without sensation ; not subject to suffering. Hence
impassiveLY2 adv., impa'ssiveNESS, impassi'viTY, nn. [im- 2]
impa'ste, v.t. Enclose (as) with paste ; make into a paste ; paint by
laying on colours thickly, [f. It. im Hpastare f. pasta paste)] impa'sto,
n. (paint.). Laying on of colour thickly. [It., as prec] impa'tient (-
shnt), a. Not enduring with composure; intolerant of; restlessly
desirous (for thing, to do). Hence or cogn. impa'tiENCE n. ,
impa'tientLY 2 adv. [OF, f . L im2(patientem part, olpati suffer)]
impawn, v.t. Put in pawn ; (fig.) pledge, plight, [im- !] impay'able (or
as F), a. Beyond price ; (colloq.) going beyond ordinary limits. [F
(im- a )] impea'ch, v.t. Call in question, disparage, (character &c);
accuse (person) of, chnTge(with); find fault with (thing) ; accuse of
treason or other high crime before competent tribunal. Hence
impea'ehABLE a. [f. OF empechier impede f. LL iMi(pedicare f. pedica
fetter, f. pes pedis foot) entangle] impea'chment, n. Calling in
question ; accusation, esp. (facet.) the soft i. (Sheridan, Rivals v. 3) ;
accusation & prosecution for treason &c. [f. OF empechement (sls
prec, see -ment)] impeccable, a. Not liable to sin ; (of things)
faultless. Hence or cogn. impeeeaBi'LiTV n., impe'eeabLY 2adv.,
impe*ecANT a. [f. LL im2( peccabilis f. peccare sin, see -ble)]
impecu'nious, a. Having no money. Hence impecunio'siTY n. [f. im-2
+ obs. pecunious f. L pecuniosus (pecunia money f. pecu cattle, see
-ous)] impe'dance, n. (electr.). Virtual resistance due to self-
induction in electrified body. [f. foil. + -antce] impede, v.t. Retard,
hinder. [f.Jj iul(pedire f. pes foot) lit. shackle the feet of]
impediment, n. Hindrance, obstruction ; i. (in one's speech),
stammer ; (pi., also L impedimenta) baggage, esp. of army. Hence
im pediment a l a. [f. L impedimentum (as prec, see -ment)] impel,
v.t. (-11-). Drive, force, (person &c. to action, to do) ; drive forward,
propel. So impe'llENT a. & n. [f. L im 1(pellere puis- drive)] impend,
v.i. Hang, be suspended, (over) ; (fig., of danger) hang threateningly
(over); be imminent. So impendENCE, -ency, nn., impe'ndENT a. [f. L
im Mpendere hang)] impenetrable, a. That cannot be penetrated ;
inscrutable, unfathomable ; impervious (to, by, ideas &c.) ; (Nat.
Philos.) having that property in virtue of which two bodies cannot
occupy same place at same time. So impenetpaBiLiTY,
impe'netrableNESS, nn., impe'netrabLY2 adv. [f. F imp&ne'trable f. L
im2( penetrabilis penetrable)] impenetrate, v.t. Penetrate deeply,
[im-1] impenitent, a. Not penitent. Hence or cogn. impe'nitENCE, -
ency, nn., impenitentLY 2 adv. [f . L im 2(paenitens penitent)]
imperative, a. & n. (Gram.) expressing command ; commanding,
peremptory ; urgent ; obligatory: (n.) i. mood, whence imperatrval
a. Hence imperativeLY2 adv., impe'pativeNESS n. [f. LL imperativus f.
im *(perare = parare make ready) command, -ive] impera'tor, n.
(Rom. hist.). Commander (title conferred by salutation of soldiers on
victorious general, under the Republic) ; emperor. So impepatop'UL
a. [L (as prec, see -or2)] imperceptible, a. That cannot be perceived
; very slight, gradual, or subtle. Hence imperee'ptibLY 2 adv. [F, f.
med.L iM2(percepdbilis perceptible)] imperei'pient, a. Lacking
perception, [im-1 imper'feet, a. & n. Not fully formed or done
incomplete ; faulty ; (Gram. ) i. tenses, those that denote action
going on but not completed (e. g. he xs, he will be, singing, but usu.
of past time, as he was singing); (n.) i. tense. Hence impep'feetLY 2
adv. [f. F imparfait f. L im 2(perfectus perfect), refash. on L]
imperfection, n. Incompleteness ; faultiness ; fault, blemish, [f. L
imperfectio (as prec, see -ion)] / *mP©P"ft>pato (-at), a. Not
perforated, esp. (A nat. ) lacking the normal opening (also of sheet
of postage-stamps or single stamp), [im-2] imper'ial, a. & n. Of an
empire or sovereign state ranking with an empire ; of Great Britain,
as dist. from its constituent kingdoms &c; i. federation, proposed
adjustment of British Empire, giving colonies share in control & cost
of measures taken for joint interest; of an emperor; supreme in
authority ; majestic, august ; magnificent ; (of weights & measures
used by statute in U.K.) i. gallon, acre, &c ; (of paper) 22x32 in.; (n.)
small part of beard left growing beneath lower lip (from Napoleon
III) ; trunk for luggage, adapted for roof of coach ; Russian gold
coin worth 15 silver roubles. Hence imper'ialLY 2 adv. [OF, f. L
imperialis (imperium, see -AL)] imperialism, n. Rule of an emperor ;
extension of British Empire where trade requires protection of the
flag ; union of different parts of British Empire for purposes of
warlike defence, internal commerce, &c; belief in value of colonies &
dependencies (cf. little Englandism). So imperialistic a.,
imper*ializE(3) v.t. [-^sm] imperialist, n. Adherent of an emperor,
esp. (1600-1800) of German Emperor ; advocate of imperial rule,
esp. adherent of Bonaparte f amilyj advocate of (British) imperialism,
[-ist] impe^ril, v.t. (-11-). Bring into danger, [im-1] imperious, a.
Overbearing, domineering ; urgent, imperative. Hence imper'iousLY
2 adv., imper'iousNESS n. [f. L imperiosus (as imperium, see -ous)]
imperishable, a. That cannot perish. Hence impe'rishaBi *lit
Y,impe*rishableness, nn., imperishabLY2 adv. [im-2] impe'rium (or -
er-), n. Absolute power ; empire ; i. in imperio, supreme authority
within jurisdiction of another authority. [L, = command, dominion]
imper'manent, a. Not permanent. Hence imper'manENCE, -ency, nn.
[im-2] imper'meable, a. That cannot be passed through; (Physics)
that does not permit passage of fluids. Hence impermeaBi'LiTY n. [f.
LL im 2(permeabilis permeable)] impermi'ssible, a. Not permissible,
[im-2] imperseri'ptible, a. Not backed by written authority, [f. im- 2
+ L PEB.(scribe?-e scriptwrite) register, see -ble] imper'sonal, a.
(Gram.) i. verb, one used only in 3rd sing. (e.g. it rains) ; having no
personal reference ; having no personality. Hence impersona'liTY n.,
imper'sonalLY 2 adv. [f. LL im ^(personalis personal)]
IMPERSONATE 408 IMPOSTUME impep'sonate, v.t.
Represent in bodily form, personify ; play the part of, personate ; act
(character). Hence impersonATiox, imper'sonatOR2, nn.,
impep'sonatiVE a. [f. IM- J + L persona person + -ate 3]
impepso'nify, v.t. Personify, [im-1] impep'tinent, a. Insolent, saucy;
intrusive ; out of place, absurd ; not to the point. Hence or cogn.
impep'tinENCE n., impep'tinently2 adv. [f. L m2(pertinens pertinent)]
impeptup'bable, a. Not excitable, calm. Hence impePtupbaBiLiTY,
impeptup'bableNESS, nn., impeptup*babLY2adv. [im-2] impervious,
a. Not affording passage (to); (fig.) i. (deaf) to argument &c. Hence
impep*viousLY2 adv., impep'viousNESS n. [f. L iyi2(pervius
pervious)] impetrgo, n. Pustular disease of skin. So impetiginous a.
[L, gen. -ginis, f. im Upetere seek) assail, cf. vertigo)] i'mpetpate, v.t.
(Theol.) obtain by request ; (rare) ask for. So impetPA 'tion n. ,
i'mpetratORY a. [f. L \Ml{petrare - patrare bring to pass), see -ate 3]
impe'tuous.a. Moving violently or rapidly ; acting with rash or sudden
energy. Hence or cogn. impetuo'siTY, impetuousxEss, nn.,
impe'tuousLY 2 adv. [f. F impbtueux f. L impetuosus (as foil., see -
ous)] i'mpetus, n. Force with which a bod y moves ; (fig.) moving
force, impulse. [L, = assault, force, f. in ^(petere seek) assail]
i'mpeyan, a. /. pheasant, E. -Indian pheasant, with crested head &
brilliant plumage. [Sir Elijah Impey, 1787] i'mpi, n. Body of Kafir
warriors. [Zulu] imprety, n. Ungodliness ; want of dutifulness or
reverence, [f. L iM2(pietas piety)] impi'nge (-j),v.i. &t. Strike (t. & i.)
on, upon. Hence impi'ngeMENT n. [f. L im ^{pingere = pangere fix,
drive) drive (thing) at] • i'mpious, a. Not pious, wicked, profane.
Hence i*mpiousLY2adv. [f. Lim2( pius pious)] i'mpish, a. Of, like, an
imp. Hence i'mpishLY2 adv., i'mpishNESS n. [-ish x] impi'teous, a.
(poet.). Pitiless, [im-2] impla'cable, a. That cannot be appeased.
Hence or cogn. implaeaBrLiTY n., impla'eabLY2 adv. [F, f. L im
2(placabilis placable)] implace'ntal, a. Having no placenta, [im-2]
impla'nt, v.t. Insert, infix, (in); instil (principle, idea, Sec., in mind
&c); plant. Hence implantATiON n. [f. F im *( planter plant)]
imple'dge, v.t. Put in pledge, pawn, [im-1] i'mplement *, n. Article of
furniture, dress, &c; (pi.) equipment of these; tool, instrument, (esp.
in pi.); (Sc. Law) full performance, [prob. f. L implementum, in sense
'that which serves to stock a house &c.' f. im l(plere fill), see -ment]
i'mplement2, v.t, (chiefly Sc). Complete (contract &c); fulfil
(engagement); fill up, supplement, [f. prec] imple'tion, n. Filling;
fullness, [f. LL impletio f. \yO(plere plet- fill), see -ion] rmplieate1 (-
at), n. Thing implied, [f. L jyil(plicar_e plicat- or plicit- fold), see -ate
2] i'mplieate2,v.t. Entwine, entangle; involve, imply, as inference, so
i'mplieatiVE a. ; involve (person mcharge, crime, &c); (pass.) be
affected in (a thing's operation). So impliCATiON n. [as prec, see -
ate3] implreit, a. Implied though not plainly expressed ; virtually
contained (in) ; i. faith (not independently reached by the individual,
but involved in general belief of Church, absolute, unreserved, cf.
explicit). Hence implreitLYadv., impli'citNESS n. [(perh. thr. F) as
implicate *] implore*, v.t. Beg earnestly for; entreat (person to do).
Hence implop'ingLY 2 adv., implop'ingXESS n. [f. L im Hplorare
weep)] implu'vium (-ploo-), n. (Rom. ant.). Square basin in middle of
atrium receiving rain-water from open space in roof. [L f. im l(pluere
rain)] imply*, v.t. Involve the truth of (thing not expressly asserted,
that); mean; insinuate, hint. Hence implredL y 2 adv. [f . OF emptier
(as IMPLICATE, Cf. EMPLOY)] impo*liey,n. Bad policy; inexpediency,
[im- 2] i'mpoll'te, a. (-est). Uncivil, rude. Hence impoli'teLY2 adv.,
impoli'teNESS n. [f. L lM2(politllS POLITE)] impdiitic, a. Not politic ;
inexpedient. Hence impo'litiCLY 2 adv. [im-2] impo'ndepable, a. & n.
(Physics) having no weight; very light ; (n.) i. thing, [im-2] impo-
nent, a. & n. (Person) that imposes, [f. L im l(ponere place) lay on,
see -ent] impop't1, v.t. Bring, introduce, (thing, esp. goods from
foreign country, into), whence impop'tABLE a., impoptaBiLiTY,
impoptAtion, impoPtER1, nn. ; imply, indicate, mean, (thing, that) ;
express, make known, (that) ; be of consequence to, as questions
that i. us nearly, itiviports lis to knoic. [f. L \Ml(portare carry) bring
in, in med.L — be of consequence] i'mpopt2, n. What is implied,
meaning ; importance ; (usu. pi.) commodity imported ; importation,
[f. prec] impop'tanee, n. Being important ; weight, significance ;
personal consequence, dignity ; pompousness (usu. self-i.). [F, f.
med.L importantia (as import *, see -ance)] impop'tant, a. Carrying
with it great consequence, weighty, momentous ; consequential,
pompous. Hence impop'tantLY 2 ad v. [F, f. med.L as import1, see -
ant] impop'tunate (-at), a. Persistent, pressing, in solicitation. Hence
or cogn. impop'tunateLY2 adv., impoptu'niTY n. [f. L im2( portunus f
. portus port) inconvenient, -ate 2] impoptu'ne (or import-), v.t.
Solicit pressingly (person or abs.). [f. F importuner I . med.L
importunari (as prec)] impo'se (-z), v.t. & i. (Archaic) place (thing)
upon; (Print.) lay (pages of type) in proper order & secure them in a
chase ; lay (tax, duty, charge, obligation, upon) ; palm off (thing
upon person) ; exert influence (on person) by striking character or
appearance, whence impo'sing1ly2 adv., impo'singNESs n. ; i. upon,
take advantage of (person) ; practise deception (upon), [f. F im
^(poser, cf. compose)] imposition, n. In vbl senses of impose; also
or esp. : laying on of hands (in ordination &c.) ; impost, tax, duty ;
work set as punishment at school (colloq. abbr. impo, impot). [I. L
impositio f. im ^(ponere posit- place), -ion] impossible, a. Not
possible (often w. it as subj., as it is i. to alter them); (loosely) not
easy, not convenient ; (colloq.) outrageous, intolerable, as an i. hat,
person. Hence or cogn. impossi'BULiTY n., impo'ssibLY2 adv. [f. L
iyi2(possibilis possible)] i'mpost1, n. (Hist.) tax, duty, tribute; (Racing
slang) weight horse carries in handicap. [OF, f. med.L im l(ponere
pos(i)t- place)] i'mpost 2, n. Upper course of pillar, bearing arch. [f.
F imposte f. It. imposta (as prec)] impo'stop, n. One who assumes a
false character or passes himself off for some one else ; swindler.
Hence impo'strous a. [f. F imposteurl. LL impostor (as impost1, see -
or2)] impo'stume, -thume, n. (now rare). Purulent swelling, abscess,
(lit. & fig.), [f. OF empostume f. Gk APO(6-£e?na f. sta- stand, -M)J
IMPOSTURE 409 IMPUDICITY impo'stupe (-tsher), n.
Fraudulent deception. [F, f. LL impost ura (impost l, -ure)] i'mpotent,
a. Powerless ; helpless, decrepit ; (of males) wholly lacking in sexual
power. Hence or cogn. i'mpotENCE, -encv, nn., i*mpotentLY2 adv. [F,
f. L \M2(potens potent)] impou'nd, v.t. Shut up (cattle) in pound ;
shut up (person, thing) as in pound : take legal possession of ;
confiscate, [im-1] impd'verish, v.t. Make poor; exhaust strength of.
So impo'verishMENT n. [f. OF KM(poverir f. povre poor), see -ish2]
impracticable, a. Impossible in practice; (of persons or things)
unmanageable ; (of roads &c) impassable. Hence impraeticaBiL-iTY,
impra'etieableNESS, nn., impra'cticabLY2adv. [lM-2J i'mprecate, v.t.
Invoke, call down, (evil upon person &c). So impreeA"riON n.,
i*mprecatORY a. [f. L im Hprecari pray)] impregnable, a. (Of fortress
&c.) that cannot be taken by arms ; (fig.) proof against attack.
Hence imppegnaBi'LiTY n., impregnable 2 adv. [f. F im 2(prenable f.
prendre take f. L prehendere) ; -g- in imit. of reign, deign, &c]
impregnate 1 (-at), a, Pregnant (lit. & fig.) ; permeated (with), [f. LL
iM.^(praegnare be pregnant), see -ate2] impregnate2, v.t. Make
(female) pregnant; (Biol.) fecundate (female reproductive cell or
ovum) ; fill, saturate, (with) ; imbue, fill, (with feelings, moral
qualities, &c). Hence impregnA'TiON n. [as prec, see -ate3]
impresar'io, n. Organizer of public entertainments, esp. manager of
operatic or concert company. [It. (impresa undertaking, as emprise,
see -ary1)] imprescriptible, a. Not subject to prescription, that
cannot be legally taken away, esp. i. right. [F (im-2)] i'mpress \ n.
Stamping ; mark made by seal, stamp, &c. ; (fig.) characteristic
mark, [f. foil.] impre'ss2, v.t. Apply (mark &c.) with pressure, imprint,
stamp, (on) ; imprint, enforce, (idea &c, that, what, &c, on person,
his mind) ; mark (thing with stamp &c. lit. & fig.); affect, influence,
deeply, whence impre'ssiBLE a.; affect (person) strongly (with idea
&c). [f. L nO(primere = premere press2)] impre'ss 3, v.t. Force
(men) to serve in army or navy; seize (goods &c.) for public service ;
enlist, make use of, (thing) in argument &c. Hence impre'ssMENT n.
[im- i + press 3] impression, n. Impressing (of mark) ; mark
impressed ; print taken from type or engraving ; (printing of)
number of copies forming one issue of book, edition, (also, unaltered
reprint from standing type or plates, as opp. to edition) ; effect
produced (esp. on mind or feelings) ; notion, (vague) belief,
impressed on the mind, as that is my i., I teas under the i. that. [F, f.
L impressio (as impress2, see -ion)] impressionable, a. Susceptible
of impressions, easily influenced. Hence impressionaBi*LiTY n. [F
(impressionne7\ as prec, see -able)] impressionism, n. Method of
painting or writing so as to give general tone & effect without
elaborate detail. So
impre'ssionARYi,impressioni*stic,aa.,impre*ssioniSTn. [ism]
impre'ssive, a. (Of language, scenes, &c.) able to excite deep
feeling. Hence impre'ssiveLY2 adv., impre'ssiveNESs n. [-ive]
i'mprest, n. Money advanced to person to be used in state business,
[earlier prest n. & v. ; It. has iM^(prestare = Ll prae stare be surety
for, fulfil) lend, impresto loan] imprima'tur, n. Official licence to print
(nowusu. of works sanctioned by R.-C. Church)(fig.) sanction.
[mod.L,-=let it be printed] imprrmis, adv. In the first place. [==L in
primis among the first things] rmprint1, n. Impression, stamp, (lit. &
fig.) ; publisher's, printer's, i. (name, place, &c, on title-page or at
end of book*, [f . F empreinte stamp (as foil.)] impri'nt2, v.t. Stamp
(figure &c. on); impress (idea &c. on, in, mind &c.) ; impress (quality
&c. on, in) ; stamp (thing with figure), [f. OF empreinter f.
empreindre f. pop. L im1(premere press)] impri'son (-zn), v.t. Put
into prison ; (fig.) confine, shut up. So impri'sonMENT n. [f. OF em
(prisoner f. prison)] improvable, a. Not likely to be true or to happen.
Hence improbaBi'LiTY n., impro*babLY 2 adv. [f. L im 2(probabilis
probable)] imprd'bity, n. Wickedness ; dishonesty, [f. L imjorobitas f.
im 2(probus honest), see -ty] impro'mptu, adv., n., a. Extempore
(performance, composition) ; musical composition having character
of improvisation. [=L in promptu in readiness (promere, see
prompt)] impro'per, a. Inaccurate, wrong ; i. fraction (greater than 1,
with numerator greater than denominator) ; unseemly, indecent.
Hence impro'perLY 2 adv. [im-2] impropriate, v.t. Annex
(ecclesiastical benefice) to corporation or person as property ; place
(tithes, ecclesiastical property) in lay hands. So impro'priATE 2 (at)
a., impropriA'TiON n. [f. med. or mod.L im ^(propriare f. proprius
own), see -ate3] impropriator, n. One to whom benefice is
impropriated, [as prec, see -or2] impropriety, n. Incorrectness;
unfitness1, indecency, [f. L im2( proprietas propriety)] impro'vable,
a. That can be improved ; adapted for cultivation. Hence
improvabi"lity, imprq'vableNESS, nn. [-able] i impro've (-oov), v.t. &
i. Make, become, better ; i. away, get rid of by improvements ; make
good use of (the occasion, the opportunity) ; i. upon, produce
something better than ; preach on (the occasion) with a view to
edification. So impro'veMENT n. [f. AFEM(prower f. OF prou profit, =
L pro prep, used as n.)] impro'ver, n. In vbl senses; also or esp.: one
who works at trade for low wage or none to improve his skill ;
=dress-z. [-er1] impro'vident, a. Unforeseeing ; heedless ; thriftless.
Hence or cogn. impro'vidENCE n., impro'vident ly2 adv. [im-2]
impro'visator (-z), improv(v)isator'e (-vezahtore), n. (It. pi. -ori,
pron. -ore). One who improvises or composes extempore. So
improv(v)isatri'ee (-tretsha) [-trix] n. [It. (-e), as improvise, see -
or2] improvi'se (-iz), v.t. Compose, utter, (verse, music, &c, or abs.)
extempore ; provide, get up, extempore. Hence improvisA'TiON n.,
improvisator'iAL, improvi'satORY, aa. [f. F improviser f. It.
improv(v)isare f. improv(v)iso f. L im 2(provisus p.p. as provide)]
impru'dent, a. Rash, indiscreet. Hence or cogn. impru'dENCE n.,
impru'dentLY 2 adv. [f. L im 2(prudens prudent)] i'mpudent, a.
Shamelessly forward ; unblushing ; insolently disrespectful. Hence or
cogn. i'mpudENCE n., i'mpudentLY2 adv. [f. L \M2puden^ (pudere be
ashamed, -ent)] impudreity, n. Shamelessness, immodesty, [f. F
impudiciU f. L iM(pudicus as prec), -ty]
IMPUGN 410 INACCESSIBLE impug'n, v.t. Assail by word,
call in question, (statement, action). Hence impug'nable a.,
impug'nMENT n. [f. F impugner f. L \uHpugnare tight) assail]
impu'issant, a. Impotent, weak. So impU'iSSANCE n. [F (lM-2 +
PUISSANT)] i'mpulse, n. Impelling, push ; (Dynam.) indefinitely large
force enduring inappreciably short time but producing finite
momentum, e. g. blow of hammer, (also) product of average value
of force multiplied by time during which it acts ; mental incitement ;
sudden tendency to act without reflection ; impetus, [f. L imp ids us
-us (as impel)] impulsion, n. Impelling, push ; mental impulse ;
impetus. [F, f. L impidsio (as impel, see -ion)] impu'lsive, a. Tending
to impel ; (of persons, conduct, &c.) apt to be moved, prompted, by
sudden impulse. Hence impu'lsive ly2 adv.; impvrlsiveNESS n. [f.
med.L impulsivus (as prec, see -ive)] impu'nity, n. Exemption from
punishment, esp. with i.; exemption from injury as consequence of
act. [f. L impunitas f. i>i2(punis f. poena penalty), see -ty] impure*,
a. Dirty ; unchaste ; mixed with foreign matter, adulterated, (lit. &
fig.); (of colour) mixed with another colour. Hence or cogn.
impupe*LY2adv., impur'iTY n. [f. L IM 2(purus pure)] impu'te, v.t.
Attribute, ascribe, (fault &c, rarely good quality &c, to person &c.) ;
(Theol.) ascribe (righteousness, guilt, to person) by vicarious
substitution. So imputaBULiTY, imputA'TiON, nn., impu'tABLE,
impu'tatiVE, aa., impu'tativeLY 2 adv. [f. F impider f. L imH putare
reckon) enter in the account] in1, prep. expr. inclusion or position
within limits of space, time, circumstance, &c, as: i. Europe,
England, London, (so of any large city or of town &c. in which
speaker lives, cf. at), i. the house, a box, a cab, a pond, a crowd ;
(of dress &c.) i. muslin, mourning, white, brown boots; i. (the works
of) Thackeray; (of part affected) blind i. one eye ; (of ratio) not one
i. a hundred ; (of body &c. to which one belongs &c.) i. the army,
shares i. a company ; (of nonphysical regions) i. politics, fancy, my
opinion; (of situation, often idiomatic) i. clover, hot water, fetters,
leading-strings, the dark2, health, hope (of), sorroiv, calf, i. (supplied
with) cash, i. (under influence of) liquor; (of occupation) i. search of,
i. pursuance of, i. (while) crossing the river ; (of form or
arrangement) packed i. dozens, sold i. building-plots, falling i. folds;
(of instrument or material) drank his health i. a cup of ale, the coat
was i. green velvet; (of purpose) i. reply to, i. quest of, i. honour of;
(of time) i. (during) the day, i. (within the space of) three months ; i.
itself, apart from all else, absolutely; (of person's capacity &c.) as far
as i. me lies, did not think he had it i. him (was capable of it) ; noti.
it, not in the running, not a serious competitor ; (with vbs of motion
or change) put it i. your pocket, cid it i. half, throiv it i. the fire ;
(expr. relation of vb to indirect object), believe i., trust i., share i. ,
engage i. , rejoice i. ; (so with adj j. & nn. ) \oeak i. (as regards)
algebra, wanting i. courage, your trust i. him, a change i. the
constitution ; (of number or dimension) seven i. number, four feet i.
width ; (forming adv. phr.) i.fact, i. truth, i. honour, i. any case; i. so
(or as) far as, in such measure as ; i. that, since, because, [com. -
Teut.: OE, OSax.,OHG, Goth., in, Swed., Da., i; cogn. w. L in, Gk en]
in2, adv. expr. position bounded by certain limits or motion to a point
enclosed by them, as : come i.,send him i., walk i., (into house,
enclosed ground, &c. ), put a notice i. (into a paper), lock him i., he
is i. (the house &c, esp. = at home) ; i. with it, put, take, it i.; throw
i. the harness (to the bargain, in addition) ; a coat with the woolly
side i. (nearest the body) ; the Liberals were i. (office) ; (Crick.)
before he had been i. (batting) five minutes ; keep the fire i.
(burning) ; train, boat, summer, is i. (arrived) ; (with trans, vbs)
burn, cut, rub, (thing) i. (so as to penetrate into another), hem,
cover, wall, (thing) i. (so as to enclose it) ; i.for, involved in,
committed to, (usu. something unpleasant, esp. it), also, engaged in
competition for (race, prize, &c.) ; be, keep, i. (on friendly terms)
with ; breed i. &i. (repeatedly within same stock); i. & out, now i.,
now out. [com.-Teut.: OE, OSax., OHG] in 3, a. Internal, living &c.
inside, as i. patient, i.-patient, one who remains in hospital while
under treatment, [prec. used attrib.] in4, n. (PI.) political party in
office; ins & outs, turnings to & fro (usu. fig.), details (of procedure
&c). [f. in2] in 5t prep. (L). In arti'cido mortis, in the instant of
death; in camera; in esse, in actual existence, cf. in posse explained
below ; in exte'nso, at full length ; in extre'mis, at the point of death
; in flagra'nte deli'cto, in the very act of committing an offence; in
fomnd pau'peris, as poor person not liable to costs ; in lo'co
parentis, in place of a parent ; in me'dias res, into the thick of it ; in
memor'iam, in memory of ; in partibus (infide'lium), (of Rom. Cath.
titular bishop) in a heretical country ; inposse, potentially, opp. to in
esse ; in pro'pria perso'na, in his (her) own person ; inpuris
naturd'libus, stark naked ; in re; in si'tu, in its (original) place; in
std'tu quo, in the same state (as formerly) ; in terror'em, as a
warning; in to'to, completely. in- \ pref. =L in in, on, into, towards,
against (becoming il- before I, im- before b, m, p, irbefore r). In OF
in-, im-, became en-, em- ; E has usu. in-, im-, in wds obviously of L
orig., whether thr. F or otherwise. Words that still retain both forms
are given in this dictionary under the more usual form. in-2, pref. =
L in-, (il- &c. as prec.) cogn. w. Gk a, an-, com.-Teut. un-, prefixed to
adjj. & their derivatives to express negation. As living E pref., in-
often interchanges with un-, which is preferred in wds not obviously
answering to L types (unavailing, uncertain, undevoxd). -in, suf.
(chem.) forming names of neutral substances such as glycerides,
glucosides, proteids, &c. (albumin, casein, fibrin, gelatin) to
distinguish them from names of alkaloids & basic substances in -
ine5. Some wds of this class were formerly spelt -ine, & are still so
spelt in pop. use (margarine, gelatine). -ina1 , L fern. suf. found in
regina, extended in It. or Sp. & used in E to form fem. titles
(czarina) & proper names (Georgina) ; occurring also in names of
musical instruments (concertina, seraphina). -ina2, suf., neut. pi. of
(often mod.) L adjj., used, in agreement with animalia animals
understood, to form names of groups of animals related to some
typical genus, as Bombycina (genus Bombyx). inability, n. Being
unable ; lack of power or means, [in-2] inaeee'ssible, a. That cannot
be reached ; (of persons) not open to advances, unapproachable.
Hence inaeeessiBi'LiTY n., inaeee'ssibLY2 adv. [F, f. LL ixHaccessibilis
accessible)]
INACCURATE ina'ccurate, a. Not accurate. Hence
ina'ecuPAcy n., inaceurateLv 2 adv. [in-2] inaction, n. Absence of
action ; sluggishness, inertness. So inactiVE a., inactively 2 adv.,
inacti'viTY n. [in- 2] inadaptabi'lity, n. Want of adaptability. [IN-2]
inadequate, a. Not adequate (to purpose, to do) ; insufficient. Hence
inadequACY n., ina'dequateLY 2 adv. [in- 2] inadhe'sive, a. Not
adhesive, [in- 2] inadmissible, a. That cannot be admitted or
allowed. Hence inadmissiBi "lit vn. [in-2] inadver'tent, a. Not
properly attentive ; negligent; (of actions) unintentional. Hence or
cogn. inadver'tENCE, -ency, nn., inadvep'tentLY 2 adv. [iN-2+obs.
advertEXT (advert)] inalienable, a. Not alienable. Hence
inalienaBixiTY n., ina'lienabLY2 adv. [in-2] inalterable, a. Unalterable.
Hence inaltepaBixiTY n., ina'lterabLY 2 adv. [in- 2] inamora'to (rah-),
n. (fern. -ta). Lover. [It. (now inn-) f. iNi(amorare f. amove f. L amor
love) fall in love] ina'ne, a. & n. Empty, void ; silly, senseless ; (n.)
the i., vacuity, infinite space. Hence or cogn. ina*neLY2adv., ina'nrrv
n. [f. liinanis empty, vain] ina'nimate (-at), a. Destitute of life ; not
endowed with animal life, as i. nature (outside the animal world) ;
spiritless, dull. Hence or cogn. ina'nimater.v - adv., inanimA'TiON n.
[f. LL m2(animatus animate1)] inani'tion, n. Emptiness, esp. from
want of nourishment, [f. L inanitio f. inanire make empty (as inane),
see -ion] inappea'sable, a. Not appeasable, [in- 2] inappe'llable, a.
Not to be appealed against, [f. in- 2 + L appellare appeal + -ble]
ina'ppetence, n. Want of appetence, [in-2] ina'pplicable, a. Not
applicable, unsuitable, (to case, purpose). Hence ina'pplieabi'lity n.,
ina'ppIieabLY 2 adv. [in- 2] ina'pposfte, a. Not apposite, out of place.
Hence fna'ppositeLY 2 adv. [in- 2] inappreciable, a. Imperceptible,
not worth reckoning ; that cannot be appreciated. Hence
inappreciabLY 2 adv. [in-2] inapprecia'tion, n. Failure to appreciate.
So inappreciativE a. [in-2] inapprehensible, a. That cannot be
grasped by senses or intellect, [in-2] inapproachable, a.
Unapproachable. [in-2] inappropriate^. Not appropriate. Hence
inappro*priateLY2adv.,inappro*priateNESS n. [in- 2] ina'pt, a. Unfit,
unskilful. Hence ina'ptitude, ina'ptNESS, nn., ina'ptLY 2adv. [in-2]
inap'ch, v.t. Graft by connecting growing branch without separation
from parent stock. [IN-1 + ARCH V.] inap'm, v.t. (poet.). Embrace.
[in1 + armii.] inarticulate, a. Not jointed ; (of speech) not articulate ;
unable to speak distinctly ; dumb. Hence inarticulateLY2 adv.,
inarti'eulateNESS n. [f. L in 2(articulatus articulate)] inartificial, a.
Lacking in art, inartistic ; artless, natural. Hence inartiflcialLY 2 adv.
[f. L in 2(artificialis artificial)] inarti'stie, a. Not following the
principles of art; unskilled in art. Hence inarti'stically adv. [in-2]
inasmuch, adv. I. as, since, because ; (archaic) in so far as. [orig.
three wds] inatte'ntion, n. Want of attention, heed411 INCENDIARY
lessness; neglect of courteous attentions. So inatte'ntiVE a.,
inatte'ntiveLY 2 adv., inatte'ntiveNESS n. [in- 2] inaudible, a. That
cannot be heard. Hence inaudiBixiTY n., inaudibLY2 adv. [f. L in
2(audibilis audible)] inau'gural, a. Of inauguration. [F, f. inaugurer
(as foil.)] inau'gpurate, v.t. Admit (person) to office &c. with
ceremony ; enter with ceremony upon (undertaking &c.) ; initiate
public use of (building &c). Hence or cogn. inauguPAHON, inau'g-
uratOR 2, nn., inau'g-uratORY a. [f. L in ^(augurare take omens, f.
augur), see -ate3] inauspicious, a. Not of good omen ; unlucky.
Hence inauspiciousLY 2 adv., inauspiciousNESs n. [in-2]
i*nboard,adv.&a. (naut,). (Situated) within sides of or towards centre
of ship, [in *] i'nborn, a. Implanted by nature, [in !] inbrea'the, v.t.
Breathe (thing) in (lit. & fig.). [INI] i'nbred, a. Innate, inherent by
nature, [in1] i'nbreedingr, n. Breeding in-&-in, breeding from animals
closely related, [in !] I'nea, n. Emperor or king of Peru before
Spanish conquest ; one of royal race of Peru. [Peru v.] incalculable,
a. Too great for calculation ; that cannot be reckoned beforehand ;
(of person, character, &c.) uncertain. Hence incaleulaBULiTY n.,
inea'lculabLY2adv. [in-2] incande'sce (-es), v.i. & t. Glow, cause to
glow, with heat. [f. L in ^(candescere incept, of candere be white)]
incandescent, a. Glowing with heat; shining brightly ; (of electric &
other light) produced by glowing of filament &c. Hence
ineande'scENCE n. [as prec, see -ent] incanta'tion, n. (Use of)
magical formula ; spell, charm. [F, f. L incantationem f. iN^cantare
chant) bewitch, see -ion] inca'pable, a. Not capable (of conduct &c,
of doing ; often in good sense,H= too honest &c. to do) ; not
susceptible (of improvement &c.) ; lacking in ordinary powers, as
Welcome to Our Bookstore - The Ultimate Destination for Book Lovers
Are you passionate about books and eager to explore new worlds of
knowledge? At our website, we offer a vast collection of books that
cater to every interest and age group. From classic literature to
specialized publications, self-help books, and children’s stories, we
have it all! Each book is a gateway to new adventures, helping you
expand your knowledge and nourish your soul
Experience Convenient and Enjoyable Book Shopping Our website is more
than just an online bookstore—it’s a bridge connecting readers to the
timeless values of culture and wisdom. With a sleek and user-friendly
interface and a smart search system, you can find your favorite books
quickly and easily. Enjoy special promotions, fast home delivery, and
a seamless shopping experience that saves you time and enhances your
love for reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!

ebookball.com

You might also like