search for books and compare prices
Tables of Contents for C
Chapter/Section Title
Page #
Page Count
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
<