did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

did-you-know? rent-now

Amazon no longer offers textbook rentals. We do!

We're the #1 textbook rental company. Let us show you why.

9780130895929

C A Reference Manual

by ;
  • ISBN13:

    9780130895929

  • ISBN10:

    013089592X

  • Edition: 5th
  • Format: Paperback
  • Copyright: 2002-02-21
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping Icon Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • eCampus.com Logo Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $84.99 Save up to $29.75
  • Rent Book $55.24
    Add to Cart Free Shipping Icon Free Shipping

    TERM
    PRICE
    DUE
    USUALLY SHIPS IN 24-48 HOURS
    *This item is part of an exclusive publisher rental program and requires an additional convenience fee. This fee will be reflected in the shopping cart.

Supplemental Materials

What is included with this book?

Summary

This authoritative reference manual provides a complete description of the C language, the run-time libraries, and a style of C programming that emphasizes correctness, portability, and maintainability. The authors describe the C language more clearly and in more detail than in any other book.

Author Biography

From 1996-present Harbison led SDS infrastructure team and defined a software framework architecture across all TI DSPs and dev't tools, worked to make it fit with TI businesses, help negotiate alliances and acquisitions to make it happen. (Rollout and proudcts will appear in 1998.) Developed long-term vision in SDS and helped develop technology roadmaps. From 1995-96 as CTO Harbison set Tartan's technical direction. He defined and ran a new engineering organization and product development process that gave project managers more authority. He helped spearhead Tartan's long-term growth strategy by defining new products for C and Assembly programming on DSPs. Harbison managed the technical due diligence for TI merger. In 1992, he founded and directed the C/C++ Division, Tartan's first business unit and key to diversifying into commercial markets. Developed first PC-hosted products and first C++ product, for TI DSPs. Created a line of DSP math functions. Pioneered world-wide distribution channels using TI and 3rd parties. (Direct sales used elsewhere.)In 1990, Harbison founded a company, Pine Creek Software, funded by Digital Equipment Corp. to create a market for the Modula-3 programming language. Wrote the first Modula-3 textbook, exhibited at trade shows, wrote software, and published a newsletter. Still recognized as an authority, he was contracted by CRC in 1997 for a Modula-3 chapter in forthcoming Handbook of Object Technology.From 1982-1989, Harbison held various senior positions at Tartan, including Vice President. He led the software QA team & developed company-wide QA policies (1989). He managed several technology groups (1985-89). He was the project manager for Tartan's first commercial product (1984), and program manager for a contract with IBM to develop compilers for their RT PC (precursor to RS/6000). He designed and led development of Tartan's debugger (AdaScope). He developed the C compiler front end, and other internal tools (1981-1984). From 1980-82 Harbison was part of the SPICE research project at Carnegie-Mellon, which evangelized the concept of a "personal workstation" before most companies thought it was feasible. From 1974-80, he helped to develop the Hydra object-oriented, multiprocessor operating system, whose concepts were later used in the Intel 432 microprocessor.

Table of Contents

List of Tables
xv
Preface xvii
PART 1 The C Language 1(308)
Introduction
3(8)
The Evolution of C
3(3)
Which Dialect of C Should You Use?
6(1)
An Overview of C Programming
7(1)
Conformance
8(1)
Syntax Notation
9(2)
Lexical Elements
11(32)
Character Set
11(7)
Comments
18(2)
Tokens
20(1)
Operators and Separators
20(1)
Identifiers
21(2)
Keywords
23(1)
Constants
24(14)
C++ Compatibility
38(1)
On Character Sets, Repertoires, and Encodings
39(2)
Exercises
41(2)
The C Preprocessor
43(30)
Preprocessor Commands
43(1)
Preprocessor Lexical Conventions
44(2)
Definition and Replacement
46(13)
File Inclusion
59(2)
Conditional Compilation
61(5)
Explicit Line Numbering
66(1)
Pragma Directive
67(2)
Error Directive
69(1)
C++ Compatibility
70(1)
Exercises
71(2)
Declarations
73(50)
Organization of Declarations
74(1)
Terminology
75(8)
Storage Class and Function Specifiers
83(3)
Type Specifiers and Qualifiers
86(9)
Declarators
95(8)
Initializers
103(10)
Implicit Declarations
113(1)
External Names
113(3)
C++ Compatibility
116(3)
Exercises
119(4)
Types
123(58)
Integer Types
124(8)
Floating-Point Types
132(4)
Pointer Types
136(4)
Array Types
140(5)
Enumerated Types
145(3)
Structure Types
148(12)
Union Types
160(5)
Function Types
165(3)
The Void Type
168(1)
Typedef Names
168(4)
Type Compatibility
172(4)
Type Names and Abstract Declarators
176(2)
C++ Compatibility
178(1)
Exercises
179(2)
Conversions and Representations
181(22)
Representations
181(7)
Conversions
188(6)
The Usual Conversions
194(6)
C++ Compatibility
200(1)
Exercises
201(2)
Expressions
203(56)
Objects, Lvalues, and Designators
203(1)
Expressions and Precedence
204(3)
Primary Expressions
207(3)
Postfix Expressions
210(9)
Unary Expressions
219(8)
Binary Operator Expressions
227(15)
Logical Operator Expressions
242(2)
Conditional Expressions
244(2)
Assignment Expressions
246(3)
Sequential Expressions
249(1)
Constant Expressions
250(3)
Order of Evaluation
253(2)
Discarded Values
255(1)
Optimization of Memory Accesses
256(1)
C++ Compatibility
257(1)
Exercises
258(1)
Statements
259(26)
General Syntactic Rules for Statements
260(1)
Expression Statements
260(1)
Labeled Statements
261(1)
Compound Statements
262(2)
Conditional Statements
264(2)
Iterative Statements
266(8)
Switch Statements
274(3)
Break and Continue Statements
277(2)
Return Statements
279(1)
Goto Statements
280(1)
Null Statements
281(1)
C++ Compatibility
282(1)
Exercises
282(3)
Functions
285(24)
Function Definitions
286(3)
Function Prototypes
289(6)
Formal Parameter Declarations
295(3)
Adjustments to Parameter Types
298(1)
Parameter-Passing Conventions
299(1)
Agreement of Parameters
300(1)
Function Return Types
301(1)
Agreement of Return Types
302(1)
The Main Program
303(1)
Inline Functions
304(2)
C++ Compatibility
306(1)
Exercises
307(2)
PART 2 The C Libraries 309(188)
Introduction to the Libraries
311(14)
Standard C Facilities
312(1)
C++ Compatibility
313(3)
Library Headers and Names
316(9)
Standard Language Additions
325(10)
Null, ptrdiff_t, size_t, offsetof
325(2)
Edom, Erange, Eilseq, errno, strerror, perror
327(2)
bool, false, true
329(1)
va_list, va_start, va_arg, va_end
329(4)
Standard C Operator Macros
333(2)
Character Processing
335(12)
isalnum, isalpha, iscntrl, iswalnum, iswalpha, iswcntrl
336(2)
iscsym, iscsymf
338(1)
isdigit, isodigit, isxdigit, iswdigit, iswxdigit
338(1)
isgraph, isprint, ispunct, iswgraph, iswprint, iswpunct
339(1)
islower, isupper, iswlower, iswupper
340(1)
isblank, isspace, iswhite, iswspace
341(1)
toascii
341(1)
toint
342(1)
tolower, toupper, towlower, towupper
342(1)
wctype_t, wctype, iswctype
343(1)
wctrans_t, wctrans
344(3)
String Processing
347(12)
strcat, strncat, wcscat, wcsncat
348(1)
strcmp, strncmp, wcscmp, wcsncmp
349(1)
strcpy, strncpy, wcscpy, wcsncpy
350(1)
strlen, wcslen
351(1)
strchr, strrchr, wcschr, wcsrchr
351(1)
strspn, strcspn, strpbrk, strrpbrk, wcsspn, wcscspn, wcspbrk
352(2)
strstr, strtok, wcsstr, wcstok
354(1)
strtod, strtof, strtold, strtol, strtoll, strtoul, strtoull
355(1)
atof, atoi, atol, atoll
356(1)
strcoll, strxfrm, wcscoll, wcsxfrm
356(3)
Memory Functions
359(4)
memchr, wmemchr
359(1)
memcmp, wmemcmp
360(1)
memcpy, memccpy, memmove, wmemcpy, wmemmove
361(1)
memset, wmemset
362(1)
Input/Output Facilities
363(44)
File, Eof, wchar_t, wint_t, Weof
365(1)
fopen, fclose, fflush, freopen, fwide
366(4)
setbuf, setvbuf
370(1)
stdin, stdout, stderr
371(1)
fseek, ftell, rewind, fgetpos, fsetpos
372(2)
fgetc, fgetwc, getc, getwc, getchar, getwchar, ungetc, ungetwc
374(2)
fgets, fgetws, gets
376(1)
fscanf, fwscanf, scanf, wscanf, sscanf, swscanf
377(8)
fputs, fputwc, putc, putwc, putchar, putwchar
385(1)
fputs, fputws, puts
386(1)
fprintf, printf, sprintf, snprintf, fwprintf, wprintf, swprintf
387(14)
vfprintf, vfwprintf, vprintf, vwprintf, vsprintf, vswprintf, vfscanf, vf-wscanf, vscanf, vwscanf, vsscanf, vswscanf
401(1)
fread, fwrite
402(2)
feof, ferror, clearerr
404(1)
remove, rename
404(1)
tmpfile, tmpnam, mktemp
405(2)
General Utilities
407(18)
malloc, calloc, mlalloc, clalloc, free, cfree
407(3)
rand, srand, Rand_Max
410(1)
atof, atoi, atol, atoll 1
411(1)
strtod, strtof, strtold, strtol, strtoll, strtoul, strtoull
412(2)
abort, atexit, exit,_Exit, Exit_Failure, Exit_Success
414(1)
getenv
415(1)
system
416(1)
bsearch, qsort
417(2)
abs, labs, llabs, div, ldiv, lldiv
419(1)
mblen, mbtowc, wctomb
420(2)
mbstowcs, wcstombs
422(3)
Mathematical Functions
425(18)
abs, labs, llabs, div, ldiv, Ildiv
426(1)
fabs
426(1)
ceil, floor, lrint, llrint, lround, llround, nearbyint, round, rint, trunc
427(1)
fmod, remainder, remquo
428(1)
frexp, ldexp, modf, scalbn
429(1)
exp, exp2, expml, ilogb, log, log10, log 1p, log2, logb
430(2)
cbrt, fma, hypot, pow, sqrt
432(1)
rand, srand, Rand_Max
432(1)
cos, sin, tan, cosh, sinh, tanh
433(1)
acos, asin, atan, atan2, acosh, asinh, atanh
434(1)
fdim, fmax, fmin
435(1)
Type-Generic Macros
435(4)
erf, erfc, Igamma, tgamma
439(1)
fpclassify, isfinite, isinf, isnan, isnormal, signbit
440(1)
copysign, nan, nextafter, nexttoward
441(1)
isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered
442(1)
Time and Date Functions
443(10)
clock, clock_t, Clocks_Per_Sec, times
443(2)
time, time_t
445(1)
asctime, ctime
445(1)
gmtime, localtime, mktime
446(1)
difftime
447(1)
strftime, wcsftime
448(5)
Control Functions
453(8)
assert, NDEBUG
453(1)
system, exec
454(1)
exit, abort
454(1)
setjmp, longjmp, jmp_buf
454(2)
atexit
456(1)
signal, raise, gsignal, ssignal, psignal
456(2)
sleep, alarm
458(3)
Locale
461(6)
setlocale
461(2)
localeconv
463(4)
Extended Integer Types
467(10)
General Rules
467(3)
Exact-Size Integer Types
470(1)
Least-Size Types of a Minimum Width
471(1)
Fast Types of a Minimum Width
472(1)
Pointer-Size and Maximum-Size Integer Types
473(1)
Ranges of ptrdiff_t, size_t, wchar_t, wint_t, and sig_atomic_t
474(1)
imaxabs, imaxdiv, imaxdiv_t
474(1)
strtoimax, strtouimax
475(1)
wcstoimax, wcstoumax
475(2)
Floating-Point Environment
477(6)
Overview
477(1)
Floating-Point Environment
478(1)
Floating-Point Exceptions
479(2)
Floating-Point Rounding Modes
481(2)
Complex Arithmetic
483(6)
Complex Library Conventions
483(1)
complex,_Complex_I, imaginary,_Imaginary_I, I
484(1)
Cx_Limited_Range
484(1)
cacos, casin, catan, ccos, csin, ctan
485(1)
cacosh, casinh, catanh, ccosh, csinh, ctanh
486(1)
cexp, clog, cabs, cpow, csqrt
487(1)
carg, cimag, creal, conj, cproj
488(1)
Wide and Multibyte Facilities
489(8)
Basic Types and Macros
489(1)
Conversions Between Wide and Multibyte Characters
490(1)
Conversions Between Wide and Multibyte Strings
491(2)
Conversions to Arithmetic Types
493(1)
Input and Output Functions
493(1)
String Functions
493(1)
Date and Time Conversions
494(1)
Wide-Character Classification and Mapping Functions
494(3)
A The ASCII Character Set 497(2)
B Syntax 499(14)
C Answers to the Exercises 513(8)
Index 521

Supplemental Materials

What is included with this book?

The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.

The Used, Rental and eBook copies of this book are not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Rewards Program