Index

Symbols

- flag, output specifier,, 2nd, 3rd

-- operator

see decrement operator (--)

- operator,

! (NOT) logical operator,2nd

operator precedence,

when not to use,

# character

see hash (#) character

% character

see percent (%) character

% operator,

& (address of) operator

see address of (&) operator

& bitwise operator,

&& (AND) logical operator,2nd

* character

see also indirection operator (*)

see also multiplication operator (*)

input format specifiers,, 2nd

. operator,

/ divide operator,

?: conditional operator,2nd

character

see backslash () character

^ character

bitwise operator,, 2nd

specifying delimiters,

string to include only specified characters,

| bitwise operator,, 2nd

|| (OR) logical operator,

~ bitwise operator,, 2nd

+ flag, output specifier,, 2nd, 3rd

+ operator,

++ operator

see increment operator (++)

< (less than) operator,, 2nd

<< bitwise operator,, 2nd

<= (less than or equal to) operator,

= operator

see assignment (=) operator

= = operator

see equal to (= =) operator

> (greater than) operator,, 2nd

-> operator,

!= (not equal to) operator,

>= (greater than or equal to) operator,

>> bitwise operator,, 2nd

Numerics

0 flag, output specifier,, 2nd

1’s complement,, 2nd

2’s complement,

8-bit binary values,

A

a (a) escape sequence,, 2nd, 3rd, 4th

a mode,, 2nd

a+ mode,

ab mode,, 2nd

ab+ (a+b) mode,, 2nd, 3rd

abort function,

using assert macro,

absolute values

fabs function,

acos function,

addition operator

+= shortcut,

arithmetic operators,

complex number formula for,

addnode function,

address of (&) operator,, 2nd3rd

accessing structure members,

arrays of structures,

arrays,

initializing variable pointer,

omitting the &,

referencing pointer address,, 2nd

scanf function,, 2nd, 3rd

addresses

adding integer value to pointers,

long int type,2nd

array names referring to addresses,2nd

arrays,2nd

bytes,

memory addresses,

pointers,, 2nd

why addresses vary at different times,

alert escape sequence,, 2nd, 3rd, 4th

alphabetic characters

function testing for,, 2nd

alphanumeric characters

function testing for,, 2nd

wide character strings,

ampersand (&) character

see also address of (&) operator

& bitwise operator,

&& (AND) logical operator,2nd

AND (&&) logical operator,2nd

AND (&) bitwise operator,

masks,

anonymous unions,

append mode

reading strings from text files,

writing to text files,

append operations

appending strings,2nd

opening text files for,

arguments for functions,

control strings,

description,

function parameters,, 2nd

function pointers as,2nd

global variables replacing,

pass-by-value mechanism,2nd

passing arguments and return value,

passing arguments to functions,, 2nd

passing parameters to main(),, 2nd

pointers to structures as,2nd, 3rd4th

printf function,

strings as macro arguments,2nd

structures as,2nd, 3rd4th

using ordinary variables as,2nd

using pointers as,2nd

const keyword,2nd

variable number of arguments,2nd

basic rules and requirements,

prototyping,

referencing arguments,

sentinel value,

va_list type,, 2nd

arithmetic comparisons,2nd

arithmetic expressions,2nd

arithmetic operations

binary arithmetic operations,

implicit type conversion,

performing on char data type,, 2nd3rd

arithmetic operators,2nd

addition,

division,

modulus,

multiplication,

operator order of precedence,

subtraction,

table of,

working with complex numbers,

arithmetic statements,2nd

arithmetic assignment statement,

arrays,2nd

accessing array elements,2nd

pointer expressions for,

accessing elements of,

adding integer value to pointers,

long int type,2nd

addresses,2nd

array names referring to addresses,2nd

arrays as union members,

arrays of function pointers,2nd

arrays of pointers,2nd

arrays of strings,2nd

arrays of structures,2nd

averaging numbers with arrays,2nd

benefits of programming with arrays,

changing address referenced by array name,

char arrays wasting memory,

declaring,

description,2nd, 3rd

dimension,

element numbering,

finding size of arrays,2nd

formatted input from arrays,

formatted output to arrays,2nd

getting all values in 2D array,2nd

index value,

initializing,

multidimensional arrays,2nd

multidimensional arrays,2nd

organization of arrays in memory,

pointers and,2nd

multidimensional arrays,2nd

two-dimensional arrays,2nd

referencing,

retrieving elements in array,2nd

sprintf function,2nd

sscanf function,

storing strings,

tic-tac-toe game,2nd

ASCII character code values,2nd

asin function,

assert macro,2nd

assert.h header file,

assignment (=) operator,

confusing with equal to (= =) operator,

copying strings,

description,

implicit type conversions in,2nd

operator order of precedence,

shortcuts (+=, -=, *=, /=, %=),, 2nd

associativity

operator precedence,

asterisk (*) character

see also indirection operator (*)

see also multiplication operator

input format specifiers,, 2nd

at mode,

atan function,

atof/atoi/atol functions,, 2nd

calculator program using pointers (atof),, 2nd

atoll function,

automatic type conversion

see implicit type conversion

automatic variables

declaration,, 2nd

description,, 2nd

scope,

average

calculating average of values,2nd, 3rd4th

averaging numbers with arrays,2nd

average function

example using functions,

function declarations,, 2nd

pass-by-value example,

referencing variable number of arguments,2nd

B

b () escape sequence,, 2nd, 3rd

backslash () character

basic C syntax,

escape sequence for,, 2nd, 3rd

escape sequence to insert,

file path string,

significance in text strings,

backspace

escape sequence for,, 2nd, 3rd

bar chart

drawing vertical bar chart,2nd

basic input/output system (BIOS),

beep escape sequence,, 2nd, 3rd, 4th

best_move function,

big-endian system,2nd

binary arithmetic operations,

binary files

see under files

binary mode

binary file input and output,2nd

specifying,

text mode compared,, 2nd

binary numbers,2nd

1’s complement,

2’s complement,

adding binary values,

negative binary numbers,2nd

values in decimal and hexadecimal,

binary operators,

binary streams,

binary trees,2nd

creating,2nd

left node,

nodes,

ordering data in,

right node,

root node,

sorting data using,2nd

traversing,2nd

BIOS (basic input/output system),

bit patterns

char data type,

hexadecimal constants,

unsigned char type,

bits,, 2nd

bit-fields in structures,2nd

decimal equivalents of 8-bit binary values,

memory addresses,

sign bit,

bitwise operators,2nd

logical operators and,

masks,, 2nd3rd

op= form,

operator order of precedence,

selecting multiple bits from variables,2nd

table of,

using,2nd

blank characters

function testing for,, 2nd

wide character strings,

body

function body,, 2nd

defining function inside,

_Bool keyword,

bool type,

_Bool variable

expressions involving comparison operators,

if (something) expression,

memory-test game program,

operands of AND (&&) operator,

operands of OR (||) operator,

Boolean data type,

Boolean expressions,

boundary alignment,

effect on memory allocation,

boxes

drawing a box,2nd

braces {}

basic C syntax,

function body,

functions and,

indenting,

break statement

for loop,2nd

nested loops and goto statement,

switch statement,, 2nd

breakpoints, setting,

bubble sort,

buffers

buffered input operations illustrated,

fflush function,, 2nd

file-viewer program,

fputc function,

input and output,

keyboard buffer,

reading binary files,, 2nd, 3rd

reading text of arbitrary length from keyboard,

stderr/stdout streams compared,

writing to text files,

bugs

see debugging

Build option,

built-in functions,

bytes,, 2nd

addresses,

big-endian system,

computer affecting bytes used,

little-endian system,

memory used storing variables,

sizeof operator,

determining bytes occupied,

C

c conversion type

char as character and integer,

character output with printf function,

input format specifiers,, 2nd, 3rd

output format specifiers,, 2nd

performing arithmetic on char type,

reading characters using scanf(),

wide character conversion,

c extension,

c flag,

C programs

see also programming basics

basic syntax,

creating,2nd

developing,2nd

using empty functions in,

editing,2nd

elements of,2nd

ending,2nd

indenting braces,

outputting information,2nd

reserved words,

stages in creation of,

substitutions in source code,2nd

calculator

writing program using pointers,2nd

writing simple program,2nd

calloc function,

carriage return

escape sequence for,, 2nd, 3rd, 4th, 5th

case

converting uppercase to lowercase,2nd, 3rd4th

case statement

see switch statement

casting,

Boolean data type,

explicit type conversion,

imaginary values to complex type,

indirection operator (*),

CD-ROM drives

input and output streams,

ceil function,

change function

using ordinary variables as arguments,2nd

using pointers as arguments,

char array

arrays of strings,

searching strings for specified character,

char data type,2nd

a character or an integer,

arrays of strings,2nd

char arrays wasting memory,

character constant,

common function return types,

comparison operators comparing,

conversion between uppercase and lowercase,

finding length of string,

getchar function,

hexadecimal value for,

initializing with integer value,

input conversion characters,

input format specifiers,

input with scanf function,

numeric data types,

output conversion characters,

output format specifiers,

output with printf function,

performing arithmetic on,, 2nd3rd

pointer to char variable type,

putchar function,

range limits for,

reading characters using scanf(),

string and text handling methods,

CHAR_MIN/CHAR_MAX

range limits for integer types,

character constant,

L modifier,

character data types

char data type,2nd

wchar_t data type,2nd

character streams,

formatted output to screen,2nd

getchar function,2nd

reading character from keyboard without displaying,

characters

ASCII character code values,, 2nd

character classification functions,

character conversion functions,2nd

control characters,2nd

end-of-file character,

finding length of string,

input and output,2nd

searching strings

for specified character,2nd

wide character strings,

testing and converting wide characters,2nd

whitespace characters,

wide character classification functions,

wide character strings,2nd

check function

reading binary files,

cimag/cimagf/cimagl functions

complex numbers,

circle

calculating circumference and area,

clock ticks,

clock function,

memory-test game program,, 2nd

using time functions,

clock, processor clock,

clock_t type,, 2nd

CLOCKS_PER_SEC symbol,, 2nd

code

see source code

code portability

size_t integer type,

comma operators

operator order of precedence,

command line

running C program,

comments,2nd

need for,

comparing strings,2nd

comparison operators,, 2nd3rd

!= (not equal to) operator,

< (less than) operator,

<= (less than or equal to) operator,

> (greater than) operator,

>= (greater than or equal to) operator,

= = (equal to) operator,

else-if statement,2nd

expressions involving,

if statement,2nd

nested ifs,2nd

if-else statement,2nd

logical expressions,

operator order of precedence,

comparisons

arithmetic comparisons,2nd

conditional operator,2nd

logical operators combining,2nd

with AND (&&) operator,2nd

with NOT (!) operator,2nd

with OR (||) operator,

compilation time

recording when program last compiled,

compilers

description,

determining bytes occupied by numeric types,

determining range limits for data types,

header files,

list of errors,

compiling

creating C program,

source code,

complement operator,

complex numbers,2nd

_Complex keyword,, 2nd

_Complex_I keyword,

_Imaginary keyword,

casting imaginary values to complex type,

cimag function,

cimagf function,

cimagl function,

complex equivalent of _Complex,

conj function,

conjf function,

conjl function,

creal function,

crealf function,

creall function,

data types,

imaginary equivalent of _Imaginary,

polar representation,

types storing,

working with,2nd

complex.h header file,, 2nd

exploring contents of,

function types included in,

computer_move function,, 2nd

conditional compilation

logical preprocessor directives,2nd

conditional operator,2nd

nested example,

operator order of precedence,

conio.h header file,

conj/conjf/conjl functions

complex numbers,

conjugate operator

complex number formula for,

const keyword

const parameters,2nd

fixing variable as constant value,

pointers to structures as function arguments,

using pointers,

wide character strings,

constant expression,

constants

#define preprocessor directive,

character constant,

constant pointers,, 2nd

defining,

defining standard messages,

fixing variable value,

pointers to constants,

pointers to constants and constant pointers compared,

range limits for floating-point types,

range limits for integer types,, 2nd

specifying integer constants,2nd

continuation condition

for loop,

continue statement,

control characters,2nd

see also escape sequences

function testing for,, 2nd

wide character strings,

control expressions

for loop,, 2nd

control strings

see format control strings/format specifiers

conversion characters/types

description,

input,, 2nd, 3rd

output,, 2nd

conversion flags

output format specifiers,

conversion specifiers,

see also format control strings/format specifiers

conversions

explicit type,

implicit type,2nd

copying strings using strcpy function,

copying strings using strncpy function,

cos/cosh functions,

creal/crealf/creall function

complex numbers,

createnode function,

ctime function,

ctype.h header file,, 2nd, 3rd, 4th

examining strings,

function types included in,

writing calculator program using pointers,

curly brackets {}

see braces {}

current position

files,

rewind function,

D

d conversion type,

accessing values through pointers,

adding integer value to pointers,

char as character and integer,

character output with printf function,

hd format specifier,

input format specifiers,, 2nd

ld format specifier,, 2nd

output format specifiers,, 2nd

outputting two-character field,

performing arithmetic on char type,

reading data,

reading hexadecimal and octal values,

data

improving speed of data transfer,

ordering data in binary tree,

sorting data using binary tree,2nd

structuring data,2nd

data types

see also types

char,2nd

clock_t,

complex,2nd, 3rd

defining,2nd

double _Complex,

float _Complex,

floating-point,

fpos_t,

integer,2nd

long double _Complex,

numeric,2nd

pointers,

single statement declaring multiple variables,

sizeof operator determining bytes occupied by,

time_t,

tm structure,

unsigned integer,2nd

va_list,

variable declaration,

wchar_t data,2nd

__DATE__ macro,

date and time

clock function,

ctime function,

difftime function,

function library,2nd

getting the date,2nd

getting the day for a date,

gmtime function,

localtime function,, 2nd

mktime function,

recording when program last compiled,

using time functions,2nd

DBL_DIG,

DBL_MIN/DBL_MAX,

debugging,2nd

description,

inspecting program elements,

integrated debuggers,

setting breakpoints,

setting watches,

tracing program flow,

using preprocessing in,2nd

decimals

see floating-point numbers

decision making in programs

description,

else-if statement,2nd

goto statement,2nd

if statement,2nd

if-else statement,2nd

switch statement,2nd

declarations

declaring pointers,2nd

function declarations,2nd

variable declaration,

decrement operator (--),2nd

description,

varying use of loop counter,

default keyword

switch statement,

#define preprocessor directive,

#if defined directive,2nd

joining two results of a macro expansion,

macro substitutions,

macros that look like functions,2nd

strings as macro arguments,2nd

substitutions in program source code,2nd

using in debugging,

delimiters

^ character specifying,

dereference operator

see indirection operator (*)

dereferenced pointers,, 2nd

dereferencing NULL pointer,

designing C programs,

calculating tree height program,

developing C programs,2nd

see also program examples

difftime function,

DIG values

decimal digits for floating-point types,

digits (0-9)

counting digits entered from keyboard,

function testing for,

wide character strings,

digits (0-9, A-F hex)

function testing for,, 2nd

wide character strings,

dimension, arrays,

directives

see preprocessor directives

discounts, calculating

using if-else statement,

using nested conditional operators,

disk drives

input and output streams,

division

floating-point variables,2nd

specifying decimal places,

specifying output field width,

using float variable type,

division by zero

calculator program example,

division operator,

complex number formula for,

example demonstrating,2nd

/= shortcut,

negative operand(s),

do-while loop,2nd

memory-test game program,, 2nd

reversing digits of integer example,2nd

tic-tac-toe game,

typical usage,

double _Complex type,, 2nd

double _Imaginary type,, 2nd

double precision floating-point numbers,

double quotes

escape sequence for,, 2nd

string constants,

double variable type,

atof function,

common function return types,

format specifier for,

implicit type conversion rules,

input type conversion modifiers,

range limits for,

doubly linked list

pointers to structures as structure members,2nd

duplicatefile function,

updating exiting file,

dynamic memory allocation,2nd

allocating small amounts of memory,

calculating prime numbers,2nd

calloc function,

checking memory available,

free function,2nd

guidelines for working with memory,

malloc function,2nd

memory leak,

reallocating memory,2nd

releasing memory,2nd, 3rd

sizeof operator,

structures,2nd

E

E conversion type,, 2nd

exponential for floating-point values,, 2nd

e conversion type,, 2nd

input format specifiers,

le format specifier,

output format specifiers,

reading data,

variations on floating-point input,

eatspaces function,

editing source code

editing simple C program,2nd

emacs editor for Windows,

programming basics,2nd

UNIX/Linux,

using word processors,

elements

inspecting program elements,

elements, arrays

addresses,

description,

initializing,

numbering,

pointer expressions for accessing,

referencing,

retrieving elements in array,2nd

#elif preprocessor directive,

ellipsis

prototyping functions,

#else preprocessor directive,2nd

else keyword

else-if statement,2nd

if-else statement,2nd

emacs editor,

#endif preprocessor directive,

using in debugging,, 2nd

ending programs,2nd

end-of-file character,

enum keyword,

enumeration constants,

enumeration type,

enumerations,2nd

controlling switch statement with,

integer types,

unnamed enumeration types,

enumerators,

choosing enumerator values,

EOF character,

feof function,

writing and reading files,

EOR bitwise operator,, 2nd

equal to (= =) operator,

comparing strings,

complex numbers,

confusing with assignment (=) operator,

error messages

stderr stream,

errors,, 2nd3rd

see also debugging

common mistakes,

executing programs,

feof function,

ferror function,

missing semicolon (;),

perror function,

escape sequences,2nd

see also control characters

\,

',

",

?,

a,, 2nd

,

f,

,, 2nd

,

,

v,

alert,, 2nd

backslash, inserting in text string,

backspace,

beep,, 2nd

carriage return,

description,

double quote,

form-feed,

horizontal tab,

newline,, 2nd

null character,

printf()/wprintf(),2nd

question mark,

quotation marks,

significance of character in text strings,

single quote,

strings,

vertical tab,

exe extension,

executing C program,

executing programs

creating C program,

errors created when,

programming basics,

start point for program execution,

exit function,, 2nd

dealing with errors,

exp function,

explicit type conversion,

exponents

floating-point numbers,

floating-point values,

output conversion characters,

output format specifiers,

variations on floating-point input,

expressions

return values, functions,

structures in expressions,

extern keyword,

external devices

using as memory,

external files

including header files in programs,

F

f (f) escape sequence,

common escape sequences,

writing to printers,

F conversion type,

f conversion type,, 2nd, 3rd

calculating circumference/area of circle,

float constant,

input format specifiers,

lf format specifier,

output format specifiers,

pass-by-value example,

reading data,

variations on floating-point input,

fabs function,

factorial function,, 2nd

factorials

calculating factorial of integer,2nd

fclose function,, 2nd

feof function,, 2nd, 3rd

ferror function,

fflush function,, 2nd, 3rd

switching from read to write,

updating binary files,

fgetc function,

fgetpos function,

fgets function,, 2nd, 3rd

character conversion example,

gets() compared,

random access to files,

reading strings,

reading strings from text files,

reading text of arbitrary length from keyboard,, 2nd, 3rd

sorting strings using pointers,, 2nd

writing calculator program using pointers,

fgetws function,, 2nd

field width

input format specifiers,

output format specifiers,

specifying in floating-point division,

file modes,

file path string

escaping backslash characters,

file pointers,, 2nd, 3rd

FILE structure,

file-viewer

writing file-viewer program,2nd

FILENAME_MAX,

files

accessing,2nd

accessing data in files,2nd

random access to file,2nd

binary files,

changing file contents,

how data written in,

input and output,2nd

listing contents,2nd

mode specifiers,, 2nd

reading,2nd, 3rd

reading record from keyboard,2nd

reading record from file,2nd

updating,2nd, 3rd

updating existing file contents,2nd

writing,2nd, 3rd4th, 5th

writing record to file,2nd

closing,

creating unique file name,2nd

current position,

dealing with errors,2nd

deleting,

EOF character,

functions

duplicatefile,, 2nd

fclose,

feof,

ferror,

fflush,

fgetc,

fgetpos,

fgets,

findrecord,, 2nd, 3rd

fopen,2nd

fprintf,

fputc,2nd

fputs,2nd

fscanf,

fseek,2nd

fsetpos,

ftell,

getname,, 2nd

getrecord,, 2nd3rd

listfile,, 2nd3rd

perror,

readrecord,, 2nd3rd

remove,

rename,

rewind,

updatefile,2nd

writefile,, 2nd3rd

writerecord,, 2nd3rd

file positioning operations,2nd

file streams,

FILENAME_MAX,

FOPEN_MAX,

formatted input from,2nd

formatted output to,, 2nd3rd

introduction,

mode specifiers,2nd, 3rd

moving around in,2nd

open files limit,, 2nd

opening,2nd

call to fopen() fails,

limit to length of filename,

read/write/append operations,

position in,

renaming,

structure illustrated,

temporary work files,2nd

text files,

reading from,2nd

reading strings from,2nd

writing strings to,2nd

writing to,2nd

using as memory,

findrecord function,

updating exiting file,, 2nd

flags

output format specifiers,

float _Complex type,, 2nd

float _Imaginary type,, 2nd

float constant

suffix specifying,

float conversion characters,

float variable type,

common function return types,

division using,

format specifier for,

implicit type conversion rules,

input conversion characters,

range limits for,

range of values for,

float.h header file,, 2nd

floating-point numbers/variables,, 2nd3rd

%e format specifier,

%f format specifier,

accessing decimal digits for,

decimal notation,

8-bit binary values,

division using,2nd

specifying decimal places,

specifying output field width,

exponentials,, 2nd

left-aligned output,

output conversion characters,

output flags,

output format specifiers,

outputting values,2nd

precision,

range limits for,

values for,

values in binary and hexadecimal,

variations on input,2nd

floor function,

FLT_DIG value,

FLT_MIN/FLT_MAX,

flushing

see fflush function

fopen function,2nd

call to fopen() fails,

file modes,

reading binary files,

return value,

writing and reading files,

FOPEN_MAX,

for loop,2nd, 3rd4th, 5th6th

averaging numbers with arrays,

break statement in,2nd

calculating average of values example,2nd

character conversion,, 2nd

continuation condition,

continue statement,

control expressions,, 2nd

calculation in third control expression,2nd

floating-point loop control variables,

example drawing box,2nd

increment operator (++),

indefinite looping,

limiting user input example,2nd

loop counter,

varying use of,2nd, 3rd4th

memory-test game program,

postfix increment operator,, 2nd

prefix increment operator,

retrieving elements in array,

summing numbers,2nd

using nested for loop,2nd

using while loop nested inside,2nd

syntax,

tic-tac-toe game,

typical usage,

without parameters,

format control strings/format specifiers

% character,

always displaying +/- sign,

characters in input format string,2nd

display floating-point values,

format control string,

general form of,

input conversion characters,

input format control strings,2nd

input format specifiers,, 2nd3rd

integer conversion specifiers,

left-aligned output,

output conversion characters,

output format specifiers,2nd, 3rd4th

placing characters in square brackets,

printf/wprintf functions,, 2nd

reading characters using scanf(),2nd

reading data,

reading hexadecimal and octal values,2nd

scanf/wscanf functions,2nd

specifying decimal places in floating-point division,

specifying output field width,

string to include only specified characters,

using wrong specifier,

variations on floating-point input,2nd

formatted file input/output,, 2nd3rd

form-feed

escape sequence for,, 2nd, 3rd

forward slash (/)

basic C syntax,

comments,

fpos_t type,

fprintf function

formatted output to files,

output format specifiers,

writing to printers,2nd

fputc function,2nd

fputs function

reading strings from text files,, 2nd

writing strings to text files,2nd

fread function

reading binary files,

updating binary files,

free function,, 2nd3rd

using linked lists,

freenodes function,

fscanf function,

formatted file input and output,

input format specifiers,

fseek function,2nd

fsetpos function,, 2nd

ftell function,

function body,

defining function inside,

defining functions,

description,

functions without bodies,

function declarations

see function prototypes

function headers

defining functions,

description,

examples of,

function parameters,

function pointers,2nd

arrays of,2nd

as arguments,2nd

calling functions through,2nd

declaring,2nd

declaring arrays of,

function prototypes

description,, 2nd

passing data to function using pointers,

reading binary files,

functions,2nd

arguments for,

const keyword,2nd

passing arguments to functions,, 2nd

pointers to structures as,2nd, 3rd4th

structures as,2nd, 3rd4th

using pointers,2nd, 3rd4th

using variables as,2nd

variable number of,2nd

built-in functions,

calling,

character classification functions,

character conversion functions,2nd

converting strings to numerical values,, 2nd

declarations,2nd

defining,

description,, 2nd

empty functions,

example using,2nd

execution of program made up of several,

external variables and,2nd

functions not returning values,

functions operating on wide character strings,

functions that call themselves,2nd

general form of,, 2nd

hyperbolic functions,

incrementing pointers in,

inline functions,

interfaces for,

inverse trigonometric functions,

libraries of,, 2nd3rd

macros that look like,2nd

maintaining variable within declared scope,2nd

mathematical functions,2nd

modular programming and,2nd

naming conventions,

not protecting original values passed to,, 2nd3rd

parameters,, 2nd

pass-by-value mechanism,2nd

performance,2nd

pointers to functions

see function pointers

protecting original values passed to,, 2nd3rd

passing pointers,2nd

prototyping using ellipsis,

recursive function calls,2nd

restrict keyword,

return statement,, 2nd3rd

return value type,

specifying,2nd

return values,, 2nd

structures as,2nd

returning pointer values from functions,2nd

using local storage,2nd

sharing variables between,2nd

string functions,2nd

time functions,2nd

trigonometric functions,

variable scope,

variables in functions,2nd

wide character classification functions,

functions, list of

abort,

acos,

addnode,

asin,

atan,

atof/atoi/atol/atoll,

average,, 2nd, 3rd

best_move,

calloc,

ceil function,

change function,

check function,

cimag/cimagf/cimagl,

complex numbers,

conj/conjf/conjl,

clock,, 2nd

computer_move,, 2nd

cos/cosh,

creal/crealf/creall,

createnode,

ctime,

difftime,

display,, 2nd

duplicatefile,, 2nd

eatspaces,

exit,, 2nd

exp,

fabs,

factorial,

fclose,

feof,

ferror,

fflush,, 2nd, 3rd

fgetc,

fgetpos,

fgets,, 2nd, 3rd

fgetws,

findrecord,, 2nd, 3rd

floor,

fopen,2nd

fprintf,2nd, 3rd

fputc,2nd

fputs,2nd

fread,

free,2nd

freenodes,

fscanf,

fseek,2nd

fsetpos,

ftell,

fwrite,2nd

get_parent_dob,, 2nd

get_person,2nd

get_score,

getc,

getch,

getchar,, 2nd3rd

getinteger,, 2nd

getname,, 2nd, 3rd

getrecord,, 2nd3rd

gets,, 2nd3rd

gmtime,

IncomePlus,

isalnum/isalpha/isblank/iscntrl,

isdigit/isgraph/islower,

isnewline,

isprint/ispunct/isspace/isupper,

iswalnum/iswblank/iswcntrl/iswdigit,

iswgraph/iswlower/iswprint/iswpunct,

iswspace/iswupper/iswxdigit,

isxdigit,

listfile,, 2nd3rd

listnodes,

localtime,, 2nd

log/log10,

main,2nd, 3rd4th

make_move,

malloc,2nd

mktime,, 2nd

perror,

pow,

printf,

product,

put_primes,, 2nd, 3rd

putc,

putchar,

puts,2nd

rand,2nd

readrecord,, 2nd3rd

realloc,2nd

related,

remove,

rename,

rewind,

scanf,, 2nd3rd

set_ancestry,, 2nd

siblings,, 2nd

sin/sinh,

sprintf,2nd

sqrt,

srand,

sscanf,

str_in,2nd

str_out,

str_sort,2nd

strcat,2nd

strchr,2nd

strcmp,2nd

strcpy,

strlen,, 2nd

strncat,

strncmp,

strncpy,

strrchr,

strstr,2nd

swap,2nd

tan/tanh,

test_prime,, 2nd, 3rd

time,, 2nd

tmpnam,

tolower/toupper,

towlower/towupper,

ungetc,

updatefile,2nd

va_arg/va_end/va_start,

valid_moves,

wcscat/wcschr/wcscmp/wcscpy,

wcslen/wcsncmp/wcsncpy/wcsstr,

wprintf,

writefile,2nd

writerecord,2nd

wscanf,

fwrite function

writing binary files,2nd

G

G conversion type,, 2nd

g conversion type,

input format specifiers,

output format specifiers,

variations on floating-point input,

get_parent_dob function,, 2nd

get_person function

pointers to structures,

random access to files,

returning pointers to structures,2nd

get_score function,

getc function,

confusing with gets(),

writing and reading files,

getch function,

getchar function,, 2nd, 3rd4th

reading strings up to given limit,

unformatted input,

getinteger function,, 2nd

getname function,, 2nd

description,, 2nd

random access to files,

getrecord function,2nd

description,

gets function,2nd

confusing with getc(),

counting digits and letters entered from keyboard,

description,

disadvantage of,

drawing vertical bar chart example,

fgets() compared,

sorting strings using pointers,

writing calculator program using pointers,

gigabyte,

global scope,

global variables,2nd

declaration position making global,, 2nd

declarations of,

extern keyword,

scope,

using sparingly,

gmtime function,

goto statement,2nd

nested loops and,2nd

graphs

drawing vertical bar chart,2nd

greater than (>) operator,

comparing strings,

greater than or equal to (>=) operator,

H

h (.h) extension,

h modifier

hd format specifier,

input modifiers,, 2nd

output modifiers,, 2nd, 3rd

hash (#) character,

## operator,

# flag, output specifier,, 2nd

preceding parameter in macro expansion,

preprocessor directives,

hat size program

using multidimensional arrays,2nd

and pointers,2nd

header files,2nd

assert.h,

case sensitivity,

complex.h,, 2nd

conio.h,

ctype.h,

description,

extension indicating,

float.h,

including header files in programs,

limits.h,

math.h,

NULL defined in,

stdarg.h header file,

stdbool.h,

stddef.h,

stdio.h,

stdlib.h,, 2nd

string.h,

time.h,

wchar.h,

wctype.h,

headers

function headers,, 2nd

heap,

hexadecimal constants

bit patterns,

hexadecimal form

integers,

writing file-viewer program,2nd

hexadecimal numbers,2nd

input conversion characters,, 2nd

output conversion characters,, 2nd

output flags,

reading hexadecimal and octal values,2nd

values in decimal and binary,

horizontal tab

escape sequence for,, 2nd, 3rd

hyperbolic functions,

I

i conversion type

input conversion characters,

output conversion characters,

IDE (integrated development environment),

Build option,

#if defined preprocessor directive

conditional compilation,2nd

#if preprocessor directive

conditional compilation,2nd

directives testing for specific values,

if statement,2nd

else-if statement,2nd

if-else statement,2nd

if (something) expression,

nested if statements,2nd

tic-tac-toe game,

using blocks of code within,2nd

#ifdef preprocessor directive,

using in debugging,, 2nd

using preprocessing in debugging,

#ifndef preprocessor directive,

_Imaginary keyword,

complex.h header file,, 2nd

imaginary values

see complex numbers

implementing C programs,

implicit type conversion,2nd

Boolean data type,

in assignment statements,2nd

rules for,2nd

include files

see header files

#include preprocessor directive,, 2nd, 3rd

IncomePlus function

increment operator (++),2nd

description,

for loop,, 2nd

postfix form,

for loop,, 2nd

while loop,

prefix form,

for loop,

while loop,

using pointers,

indefinite looping,

indentation of program code,

index value, arrays,

arrays and addresses,

multidimensional arrays,

indexes

accessing data in files,

indirection operator (*)

casting malloc() return value,

casting values,

declaring function pointer,

dereferenced pointers,, 2nd, 3rd

description,

interpreting * as multiplication or indirection,

levels of indirection,

multidimensional arrays,

pointer expressions for accessing array elements,

pointers to structures as function arguments,

two-dimensional arrays,, 2nd

using,

initializing variables,2nd

inline functions,

input

see also read operations

binary file input and output,2nd

characters,2nd

scanf function,

input format specifiers,, 2nd3rd

see also format control strings/format specifiers

input streams

characters in input format string,2nd

description,

format control strings,2nd

formatted input,

from arrays,

from files,2nd

from keyboard,2nd

getchar function,2nd

gets function,2nd

input from keyboards,2nd

reading any sequence of characters,, 2nd

reading any sequence of consecutive digits,

reading characters using scanf(),2nd

reading first non-space character,

reading hexadecimal and octal values,2nd

scanf function,, 2nd3rd

sscanf function,

standard and nonstandard streams,

standard streams,2nd

string input from keyboard,2nd

strings including spaces,

unformatted input,

from keyboard,2nd

variations on floating-point input,2nd

int keyword,

int variable type

atoi function,

common function return types,

format specifier for,

input conversion characters,

output conversion characters,

range limits for,

range of values,

suffix requirement,

INT_MIN/INT_MAX,

integer conversion specifiers

input format specifiers,

integers,2nd

abbreviations,

avoiding leading zeros,

calculating factorial of,2nd

char data type,

computer affecting bytes used,

description,

enumerations,

example using,, 2nd, 3rd

examples of integer numbers,

examples of noninteger numbers,

generating pseudo-random integers,2nd

getinteger function,, 2nd

hexadecimal form,

implicit type conversion rules,

input format specifiers,

integer output,2nd

integer variable types,2nd

memory usage,

output format specifiers,

range limits for,

outputting values,

reversing digits of integer example,2nd

size_t integer type,

specifying integer constants,2nd

L/LL/U/UL suffixes,

summing numbers using for loop,2nd

summing numbers using nested for loop,2nd

summing numbers using while loop,2nd

summing numbers using while loop nested inside for loop,2nd

unsigned integer types,2nd

using integer types,2nd

integrated development environment (IDE),, 2nd

integration testing,

interfaces, functions,

inverse trigonometric functions,

isalnum function,, 2nd, 3rd

isalpha function,, 2nd

isblank/iscntrl/isdigit/isgraph/islower functions,, 2nd

isnewline function,

ISO/IEC standard libraries,

isprint function,, 2nd, 3rd, 4th

ispunct function,, 2nd

isspace function,, 2nd, 3rd

isupper function,, 2nd

iswalnum/iswblank/iswcntrl/iswdigit functions,

iswgraph/iswlower/iswprint/iswpunct functions,

iswspace/iswupper/iswxdigit functions,

isxdigit function,, 2nd

J

join() macro,

justified values, output flags,

K

keyboard buffer,

keyboards

formatted input from,2nd

input from,2nd

reading character from without displaying,

reading record from,2nd

string input from,2nd

unformatted input from,2nd

keywords,

_Bool,

_Complex,

_Complex_I,

_Imaginary,

const,

continue,

description,

extern,

floating-point variable types,

inline,

int,

integer variable types,

list of reserved words,

long,

naming functions,

restrict,

short,

sizeof,2nd

static,

struct,

typedef,2nd

unsigned,

void,

kilobyte,

L

L modifier

character constants,

input modifiers,, 2nd

long double constant,

long double types,

long int constant,, 2nd

nested if example,

output modifiers,, 2nd, 3rd

unsigned long int constant,

wide character strings,, 2nd

l modifier

input modifiers,, 2nd

integer output,

ld format specifier,, 2nd

le/lf format specifiers,

output modifiers,, 2nd, 3rd

LDBL_DIG,

LDBL_MIN/LDBL_MAX,

left node, binary trees,

left-aligned output,, 2nd

left-justified values, output flags,, 2nd

less than (<) operator,

comparing strings,

less than or equal to (<=) operator,

letters

counting letters entered from keyboard,

levels of indirection,

libraries

date and time function library,2nd

function libraries,, 2nd3rd

header files contained in compilers,

ISO/IEC standard libraries,

linking program files,

string library functions,2nd

lifetime, variables,

limits.h header file,, 2nd

linked list

description,

doubly linked list,2nd

pointers to structures as structure members,2nd

linker,

linking,, 2nd

listfile function,2nd

description,

updating binary files,

listnodes function, binary tree,, 2nd

lists

copying va_list type,

literals

L modifier,

little-endian system,2nd

ll modifier

input format specifiers,

input type conversion modifiers,

output format specifiers,, 2nd

output type conversion modifiers,

LL suffix

long long int constant,

LLONG_MIN/LLONG_MAX,

local storage

returning pointer values from functions using,2nd

local variable

caution returning address of local variable,

localtime function,, 2nd

getting the date,, 2nd

getting the day for a date,, 2nd

log/log10 functions,

logical expressions,

logical operators,2nd

AND (&&) operator,2nd

bitwise operators and,

NOT (!) operator,2nd

operator order of precedence,

OR (||) operator,

selection for interview example,2nd

logical preprocessor directives,2nd

conditional compilation,2nd

directives testing for specific values,

multiple-choice selections,2nd

standard preprocessing macros,

long _Complex type,

long double _Complex type,

long double _Imaginary type,, 2nd

long double constant,

long double variable type,

common function return types,

implicit type conversion rules,

input type conversion modifiers,

output type conversion modifiers,

range limits for,

range of values for,

long int constant,, 2nd

long int variable type

adding integer value to pointers,2nd

atol function,

common function return types,

format specifier for,

input type conversion modifiers,

output type conversion modifiers,

range limits for,

range of values,

using,

long keyword,

long long int constant,

long long int variable type

atoll function,

common function return types,

input type conversion modifiers,

output type conversion modifiers,

range limits for,

range of values,

LONG_MIN/LONG_MAX,, 2nd

loop counter

for loop,, 2nd3rd, 4th5th

loops,2nd

continue statement,

decrement operator (--),, 2nd3rd

determining frequency of words in text,

do-while loop,2nd

ending loop with or ,

for loop,2nd, 3rd4th, 5th6th

how loops work,

increment operator (++),, 2nd3rd

indefinite looping,

memory leaks,

nested loops,2nd

goto statement and,2nd

recursive functions,

while loop,2nd

lowercase

function testing for,, 2nd

wide character strings,

lowercase letters

converting upper/lower cases,2nd, 3rd4th

wide character strings,

M

macros

assert() macro,2nd

join() macro,

joining two results of a macro expansion,

macro substitutions,

macros that look like functions,2nd

multiple macro substitutions,

standard preprocessing macros,

strings as macro arguments,2nd

main function,2nd

calling through function pointer,

declaring function pointer,

description,, 2nd

ending programs,

example using,

example using functions,

modular programming,

passing parameters to,, 2nd, 3rd4th

program structure,

writing file-viewer program,

make_move function,

malloc function,2nd

casting return value,

description,

dynamic memory allocation with structures,, 2nd

memory leaks,

pointer to void variable type,

reading strings up to given limit,, 2nd

releasing memory,

returning pointers to structures,

sorting strings using pointers,

using linked lists,

writing binary files,

masks

AND bitwise operator,

bitwise operators,, 2nd

OR bitwise operator,

selecting multiple bits from a variable,2nd

math.h header file,

function types included in,

writing calculator program using pointers,

mathematical functions,2nd

asin/acos/atan,

ceil,

cos/cosh,

exp,

fabs,

floor,

hyperbolic functions,

inverse trigonometric functions,

log/log10,

pow,

sin/sinh,

sqrt,

tan/tanh,

trigonometric functions,

MAX values

range limits for floating-point types,

range limits for integer types,

MAXLEN,

MAXWORDS,, 2nd

megabyte,

members, structures

accessing structure members,2nd

assigning values to members,

description,

member selection operator,

pointer to member operator,

pointers to structures as,2nd

structures as members of structures,2nd

structures declared within structures,2nd

memory,2nd, 3rd4th

address of (&) operator,2nd

basic input/output system (BIOS),

bits,

byte based measurements of,

bytes,

calloc function,

char arrays wasting,

dynamic memory allocation,2nd

releasing memory,2nd

sizeof operator,

structures,2nd

effect of boundary alignment on allocation of,

guidelines for working with,

heap,

improving data transfer with processor,

integer variable types,

keyboard buffer,

malloc function,2nd

memory addresses,

memory used storing variables,

multidimensional arrays,

organization of an array in,

pointers,, 2nd

random access memory (RAM),, 2nd

read-only memory (ROM),

reallocating,2nd

sharing memory between variables,2nd

unions,2nd

stack,

structures,

using linked lists,

using bit-fields in structures,2nd

using files as,

variables and,

memory leaks,, 2nd

loops,

memory-test game program,2nd

messages

defining standard messages,

varying output message,

MIN values

range limits for floating-point types,

range limits for integer types,

minimum/maximum of variables,

minus operator

see also subtraction operator

unary minus operators,

mktime function,, 2nd

modes

file mode specification,

file modes,

text modes,2nd

updating binary files,

modifier value, %f format specifier,

modular programming

function libraries,

functions and,2nd

reasons for using,

testing,

modulus operator

%= shortcut,

arithmetic operators,

example demonstrating,2nd

negative operand(s),

multidimensional arrays,2nd

see also two-dimensional arrays

accessing array elements,2nd

example using,2nd

indirection operator (*),

initializing,2nd

pointers and,2nd

referencing arrays/subarrays/elements,

tic-tac-toe game,2nd

multiplication operator (*),

*= shortcut,

complex number formula for,

example demonstrating,2nd

interpreting * as multiplication or indirection,

N

n ( ) escape sequence,, 2nd

common escape sequences,

example using,

printf function,

puts function,

n conversion type

input format specifiers,, 2nd

output format specifiers,

naming conventions

functions,

structures,

naming pointers,

naming variables,2nd

automatic/static/global variables,

NDEBUG symbol,

negative binary numbers,2nd

nested blocks,

nested if statements,2nd

nested loops,2nd

goto statement and,2nd

newline character,

determining frequency of words in text,

escape sequence for,, 2nd, 3rd, 4th, 5th

including in strings,

isnewline function,

writing to printers,

nodes

binary trees,

creating,2nd

ordering data in,

traversing,2nd

left node,

right node,

root node,

NOT (!) logical operator,2nd

operator precedence,

when not to use,

NOT bitwise operator,, 2nd

not equal to (!=) operator,

noughts and crosses game,2nd

NULL,

header files defined in,

null character

affecting length of strings,

ASCII character code values,

finding length of string,

marking end of strings,

outputting a null-terminating string,

NULL pointer,

dereferencing,

header files containing definition,

testing for NULL pointer,

numbers

binary,2nd

negative binary,2nd

floating-point,2nd

hexadecimal,2nd

numeric data types,2nd

calculating tree height program,2nd

implicit conversion in assignment statements,2nd

sizeof operator determining bytes occupied by,

numerical values

converting strings to,, 2nd

O

o (.o) file extension,

o conversion type

reading octal values,2nd

input format specifiers,, 2nd

output format specifiers,, 2nd

obj (.obj) file extension,

object code,

object files,

octal numbers,

input conversion characters,

input format specifiers,

output conversion characters,

output flags,

reading hexadecimal and octal values,2nd

op= shortcuts (&=, |=, ^=, >>=, <<=)

bitwise operators,

op= shortcuts (+=, -=, *=, /=, %=)

assignment operations,2nd

operands,

binary arithmetic operations,

implicit type conversion rules,

operations

assignment,

file positioning,2nd

operators

arithmetic,2nd

assignment,

binary,

bitwise,2nd

comparison,, 2nd3rd

conditional,2nd

decrement operator (--),, 2nd3rd

dereference operator,

increment operator (++),, 2nd3rd

logical,2nd

AND (&&) operator,2nd

NOT (!) operator,2nd

OR (||) operator,

member selection operator (structures),

operator precedence,2nd

associativity determining,

pointer to member operator,

sizeof operator,2nd, 3rd4th

ternary operator,

unary minus operator,2nd

unary operator,

OR (||) logical operator,

OR bitwise operator,, 2nd

masks,

order of operator precedence,2nd

need to understand,

Othello

see Reversi program

output

binary file input and output,2nd

characters,2nd

outputting two-character field,

retrieving elements in array,

varying output message,

output field width

specifying in floating-point division,

output format specifiers,2nd, 3rd4th

see also format control strings/format specifiers

always displaying +/- sign,

output streams

description,

formatted output to arrays,2nd

formatted output to files,2nd

formatted output to screen

character output,2nd

escape sequences printf()/wprintf(),2nd

integer output,2nd

outputting floating-point values,2nd

using printf(),2nd

formatted output to screens,2nd

fprintf function,2nd

printf function,, 2nd, 3rd4th

putchar function,

puts function,2nd

sprintf function,2nd

standard and nonstandard streams,

standard streams,2nd

unformatted output to screen,

wprintf function,2nd

writing to printers,2nd

P

p conversion type

address of (&) operator,

output format specifiers,

outputting variable address,

p prefix

naming pointers,

padding with zeros

output flags,

PAGE_LENGTH,, 2nd

parameters

const parameters,2nd

description,

function parameters,

reading binary files,

separating parameters,

multiple parameterized substitutions,

passing to main(),2nd, 3rd, 4th

parentheses

arithmetic expressions,2nd

declaring pointer to function,

function parameters,

operator order of precedence,

pass-by-value mechanism,2nd, 3rd

percent (%) character

%% escape sequence,, 2nd

%[] format specifier,, 2nd, 3rd

%p format specifier,

conversion specifiers,

escape sequence for,

input format specifiers,, 2nd

output format specifiers,, 2nd, 3rd

performance

declaring inline functions,

enhancing performance,2nd

using restrict keyword,

perror function,

placeholders,, 2nd

plural words

outputting appropriate singular/plural form,

pointer to char variable type,

pointer to member operator,

pointer to void variable type,

pointer to xyz types

common function return types,

pointers,, 2nd3rd

accessing values through,2nd

adding integer value to,

long int type,2nd

address of (&) operator,

addressing multiple variables with,

array names referring to addresses,2nd

arrays and,2nd

accessing array elements,2nd

multidimensional arrays,2nd

two-dimensional arrays,2nd

calloc function,

caution returning address of local variable,

caution uninitialized pointers,

constant pointers,

pointers to constants compared,

declaring,2nd, 3rd4th

dereference operator,

dereferenced pointers,

description,

determining pointer type,

dynamic memory allocation,2nd

sizeof operator,

enhancing performance,

free function,

function pointers,2nd

handling strings using,2nd

reading text with more control,

using arrays of pointers,2nd

incrementing in functions,

indirection operator (*),

initializing,, 2nd

introduction to,2nd

levels of indirection,

malloc function,2nd

naming,

not protecting original values passed to,2nd

not protecting original values passed to functions,

NULL,

obtaining number of bytes occupied,

output format specifiers,

passing data to function using,2nd

pointers to constants,

constant pointers compared,

pointers to structures,

as function arguments,2nd, 3rd4th

as structure members,2nd

doubly linked list,2nd

dynamic memory allocation,2nd

linked list,2nd

returning,2nd

simplifying code using typedef,

structures as function return value,2nd

pointers to unions,

protecting original values passed to,2nd

releasing memory,2nd

returning pointer values from functions,2nd

using local storage,2nd

searching strings for specified character,

searching strings for substrings,

searching strings for wide character,

sizeof operator,

sorting strings using,2nd

specifying return value type,

swap function,

testing for NULL pointer,

using,2nd

using with scanf(),

variable types,

variables,

variable/pointer relationship,

void type,

writing calculator program using,2nd

polar representation, complex numbers,

postfix form, increment operator,

for loop,, 2nd

while loop,

pow function,

writing calculator program using pointers,

precedence

operator precedence,2nd

precision format specifier,, 2nd

precision value, %f format specifier,

prefix form, increment operator,

for loop,

while loop,

preprocessing,2nd

conditional compilation,2nd

debugging,2nd

directives testing for specific values,

duplicating blocks of code,

external variables and functions,2nd

including header files in programs,

joining two results of a macro expansion,

macro substitutions,

macros that look like functions,2nd

multiple macro substitutions,

standard preprocessing macros,

strings as macro arguments,2nd

substitutions in program source code,2nd

preprocessor directives,

#define,

#elif,

#else,2nd

#endif,

#if,2nd

#ifdef,

#ifndef,

#include,

#undef,

example using,

identifying,

logical preprocessor directives,2nd

multiple lines of,

writing Reversi game program,

prime numbers

calculating,2nd, 3rd4th

adjustment for calloc function,

printers

fprintf function,2nd

writing to printers,2nd

printf function,

see also fprintf function; sprintf function; wprintf function

arguments,, 2nd

arithmetic expressions as arguments,

splitting long arguments over 2+ lines,

calculating circumference/area of circle,

calculating tree height program,

character output,

coping with mixture of types,

escape sequences,2nd

example using,, 2nd

example using functions,, 2nd

format conversion specifiers,

format strings,

formatted output to screen,2nd

character output,2nd

integer output,2nd

outputting floating-point values,2nd

general form,

long double types,

output format specifiers,

output streams,

parameters,

specifying floating-point decimal places,

specifying floating-point field width,

string constants,

printing characters

function testing for,, 2nd

wide character strings,

processor clock,

product function,

program elements, inspecting,

program examples

calculating average of values,2nd, 3rd4th

averaging numbers with arrays,2nd

calculating circumference/area of circle,2nd

calculating discounted prices,2nd

calculating factorial of integer,2nd

calculating hat size,2nd

using multidimensional arrays and pointers,2nd

calculating prime numbers,2nd, 3rd4th

adjustment for calloc function,

calculating tree height,2nd

calculator,2nd

using pointers,2nd

converting uppercase to lowercase,2nd, 3rd4th

counting digits and letters entered from keyboard,

determining frequency of words in text,, 2nd3rd

dividing cookies equally among children,2nd

drawing box,2nd

drawing vertical bar chart,2nd

file-viewer,2nd

limiting user input,2nd

memory-test game,2nd

noughts and crosses game,2nd

reading text of arbitrary length from keyboard,2nd

reading/writing/updating binary file,2nd

recording when program last compiled,

Reversi,2nd

reversing digits of integer,2nd

selection by criteria,2nd

Simple Simon program,2nd

summing numbers

for loop,2nd

nested for loop,2nd

while loop,2nd

while loop nested inside for loop,2nd

tic-tac-toe game,2nd

using pointers,2nd

program flow, tracing,

program libraries

see libraries

program structure,2nd

execution of multi function program,

variable scope,2nd

programming basics

see also C programs

approaching the problem,

Build option,

compiling source code,

decision making,

multiple-choice questions,

editing source code,2nd

word processors,

exe extension,

executing programs,

indentation of program code,

integrated development environment,

linking,

looping,

modular programming,2nd

pointers,

running program from command line,

source code,

structured programming,

pseudo-random numbers,

punctuation characters

determining frequency of words in text,, 2nd

function testing for,, 2nd

wide character strings,

put_primes function,, 2nd, 3rd

putc function,, 2nd

putchar function,

puts function,2nd

Q

question mark

escape sequence for,

quotation marks

escape sequences for,

R

r ( ) escape sequence,

common escape sequences,

memory-test game program,, 2nd

writing to printers,

r mode,, 2nd, 3rd, 4th

r+ (r+t)(rt+) text mode,, 2nd

RAM (random access memory),, 2nd

rand function,2nd

memory-test game program,, 2nd

seed number,

setting limits,

using in random macro,

RAND_MAX,, 2nd

random numbers,

generating pseudo-random integers,2nd

random() macro,, 2nd

range limits

floating-point types,

integer types,, 2nd

variable types and value ranges,

rb mode,, 2nd

rb+ (r+b) mode,, 2nd, 3rd

read operations

see also input

format specifiers,

from text files,2nd

opening text files for,

prefixing variable name with &,

strings from text files,2nd

read-only memory (ROM),

readrecord function,, 2nd3rd, 4th

realloc function,2nd

records

listing file contents,2nd

reading record from file,2nd

reading record from keyboard,2nd

updating existing file contents,2nd

writing record to file,2nd

recursion,2nd

related function

pointers to structures,

prototype,

relational operators

see comparison operators

remainder operator

see modulus operator

remove function,, 2nd

rename function,

repeating statements

see loops

reserved words

see keywords

restrict keyword,

return statement,, 2nd3rd

return types,

return value type,

specifying,2nd

return values,

caution returning address of local variable,

description,

expressions,

functions not returning values,

global variables replacing,

passing arguments and return value,

structures as function return value,2nd

Reversi program,2nd

basic logic,

best_move function,

computer_move function,, 2nd

display function,, 2nd

get_score function,

make_move function,

starting position and initial moves in,

tasks in the program,

valid_moves function,

rewind function,, 2nd

right node, binary trees,

right-justified values, output flags,

ROM (read-only memory),

root node, binary trees,, 2nd

rt text mode,

S

S conversion type

output format specifiers,

wide character strings,

s conversion type

input format specifiers,, 2nd

output format specifiers,, 2nd

outputting null-terminating string,

outputting singular/plural form,

reading characters using scanf(),

scanf function,2nd

see also sscanf function

accessing structure members,

arrays of structures,

address of (&) operator,, 2nd, 3rd

arguments,, 2nd

calculating circumference/area of circle,

calculating tree height program,

cause of error stopping input,

character input,

characters in input format string,2nd

common mistakes using,

comparing strings,

description,

example using functions,, 2nd

format control string parameter,

format control strings,2nd

whitespace characters in,

format specifier,

formatted input,, 2nd

ignoring characters,

input format specifiers,

input streams,

invalid characters in input stream,

keyboard buffer,

problem reading strings with,

prototype,

reading characters,2nd

reading hexadecimal and octal values,2nd

reading multiple data items,

reading strings,, 2nd

return value,

using pointers with scanf(),

variable/pointer relationship,

variations on floating-point input,2nd

writing calculator program using pointers,

wscanf function,

scope

automatic variables,

global scope,

global variables,

static variables,, 2nd

structures declared within structures,2nd

variable scope,2nd

screens

formatted output to,2nd

character output,2nd

escape sequences,2nd

integer output,2nd

outputting floating-point values,2nd

using printf(),2nd

unformatted output to,

searching strings,2nd

for substrings,2nd

strchr function,2nd

strrchr function,

seed number

memory-test game program,

rand function,

SEEK_CUR/SEEK_END/SEEK_SET,

semicolon (;)

basic C syntax,

common syntax errors,

variable declarations,, 2nd

sentinel value,

set_ancestry function,, 2nd

shift bitwise operators,, 2nd

short int type

choosing correct type for variables,

common function return types,

format specifier for,

input type conversion modifiers,

output type conversion modifiers,

range limits for,

range of values,

using,

short keyword,

shortcuts (&=, |=, ^=, >>=, <<=)

bitwise operators,

shortcuts (+=, -=, *=, /=, %=)

assignment operations,2nd

SHRT_MIN/SHRT_MAX,

siblings function,, 2nd

sign bit,

signed char variable type,

signed numbers,

signed values, output flags,

similar triangles,

Simple Simon program,2nd

sin function,

single precision floating-point numbers,

single quote

escape sequence for,

singular words

outputting appropriate singular/plural form,

sinh function,

size_flag format specifier

input format specifiers,

output format specifiers,

size_t integer type,

calculating prime numbers,

finding length of string,

sizeof operator,2nd

bytes occupied by numeric types,

dynamic memory allocation,

with structures,

finding size of arrays,2nd

joining strings,

pointers,

reading strings from text files,

writing binary files,

slashes (/ and )

basic C syntax,

sorting data

using binary tree,2nd

source code,, 2nd

duplicating blocks of code,

substitutions in,2nd

source file,

space character/flag

output format specifiers,, 2nd

spaces

isspace function,

specifiers

see also format control strings/format specifiers

conversion specifier,

format specifier,

input format specifiers,, 2nd3rd

output format specifiers,2nd, 3rd4th

sprintf function

formatted output to arrays,2nd

output format specifiers,

updating binary files,

sqrt function,, 2nd

srand function,

memory-test game program,, 2nd

using preprocessor directives,

sscanf function,

input format specifiers,

stacks,

standard streams,2nd

statements

arithmetic assignment,

arithmetic statements,2nd

continue statement,

execution of multi function program,

function declarations,

nested blocks,

return statement,2nd

static keyword,

static variables,2nd, 3rd

stdarg.h header file,, 2nd

stdaux stream,

stdbool.h header file,, 2nd

function types included in,

stddef.h header file,

stderr stream,, 2nd3rd

stdin stream,

see also getchar function; gets function; scanf function; wscanf function

associated device,

changing source,

fflush function,

input from keyboards,2nd

stdio.h header file,, 2nd

description,

example using,

function types included in,

scanf function,

standard streams,

stdlib.h header file,, 2nd, 3rd

converting strings to numerical values,

function types included in,

writing calculator program using pointers,

stdout stream

associated device,

description,

formatted output to screens,2nd

reassigning,

stderr stream compared,

stdprn stream,

str_in function,2nd

passing data to function using pointers,

returning pointers,, 2nd

str_out function,

incrementing pointers in functions,

passing data to function using pointers,

str_sort function,2nd

passing data to function using pointers,

strcat function,2nd

dealing with errors,

strchr function,2nd

strcmp function

comparing strings,2nd

determining frequency of words in text,

sorting strings using pointers,

writing calculator program using pointers,

strcpy function

copying strings using,

determining frequency of words in text,

sorting strings using pointers,

stream pointers

file pointers,, 2nd, 3rd

streams

binary streams,

character streams,

file streams,

input streams,, 2nd3rd

limit to open streams,

nonstandard streams,

output streams,, 2nd3rd

standard streams,2nd

stdaux,

stderr,

stdin,

stdout,

stdprn,

string constants,

string data type

how C deals with strings,

string functions,2nd

string.h header file,

function types included in,

searching strings,2nd

string library functions,

strings

appending,2nd

wide character strings,

arrays of,2nd

as macro arguments,2nd

character conversion functions,2nd

comparing,2nd

wide character strings,

converting to numerical values,, 2nd

copying

using strcpy(),

using strncpy(),

wide character strings,

defining standard messages,

examples of strings in memory,

finding length of,

strlen function,, 2nd

wide character strings,

handling,2nd

using arrays of pointers,2nd

using pointers,2nd

input conversion characters,, 2nd

joining,2nd

strcat function,2nd

strncat function,

length of,

marking end of,

output conversion characters,, 2nd

outputting null-terminating string,

outputting singular/plural form,

reading characters using scanf(),

reading

fgets function,

from text files,2nd

gets function,2nd

scanf function,

up to given limit,2nd

searching,2nd

for specified character,2nd

for substrings,2nd

wide character strings,

sorting using pointers,2nd

storing in arrays,

text handling methods,2nd

using assignment operator to copy,

varying output message,

wide character strings,2nd

functions operating on,

writing strings to text files,2nd, 3rd4th

strlen function,

finding length of string,

sorting strings using pointers,

writing and reading files,

writing calculator program using pointers,

strncat function,

strncmp function,

strncpy function,

strrchr function,

strstr function,2nd, 3rd, 4th

struct type,2nd

allocating memory dynamically,2nd

arrays of structures,2nd

binary tree nodes,

common function return types,

creating binary tree,2nd

declaring structures within structures,2nd

defining data types,2nd

defining structure types,

defining structure variables,

defining unnamed structures,

pointers to structures as structure members,2nd

unions as members of structures,

using pointers,

using structures within structures,2nd

using typedef,2nd

structure members

accessing,2nd

assigning values to,

arrays of structures,2nd

dynamic memory allocation,2nd

individual members,

structures in expressions,

description,

member selection operator,

pointers to structures as,2nd

doubly linked list,2nd

linked list,2nd

structures as members of structures,2nd

structures declared within structures,2nd

unions as members of structures,2nd

structured programming,

structures

arrays of,2nd

as function arguments,2nd, 3rd4th

as function return value,2nd

as union members,

binary trees,2nd

bit-fields in,2nd

defining structure types,

defining structure variables,

defining using struct,2nd

drawing vertical bar chart example,2nd

dynamic memory allocation for,2nd

naming conventions,

pointers to,

as function arguments,2nd, 3rd4th

dynamic memory allocation,2nd

returning pointers to structures,2nd

structure tag,

structures in expressions,

tm structure type,

typedef and,2nd

unnamed structures,

subarrays, referencing,

subnodes,

substitutions

macro substitutions,

multiple macro substitutions,

multiple parameterized substitutions,

substitutions in program source code,2nd

substrings

searching strings for,2nd

subtraction operator

-= shortcut,

arithmetic operators,

example demonstrating,2nd

summing numbers example

summing integers backwards,

using for loop,2nd

using nested for loop,2nd

using while loop,2nd

nested inside for loop,2nd

swap function,, 2nd3rd

switch statement,2nd

break statement,, 2nd

calculator program example,

controlling with enumeration,

default keyword,

writing calculator program using pointers,, 2nd

T

t ( ) escape sequence,

common escape sequences,

example using,

tab

escape sequence for,, 2nd, 3rd

vertical tab,

tag name

struct type,

tan/tanh functions,

temporary work files,2nd

creating unique file name,2nd

ternary operator,

test_prime function,, 2nd, 3rd

testing

debugging,

functions without bodies,

inspecting program elements,

integration testing,

modular programming,

setting breakpoints,

setting watches,

tracing program flow,

text

arbitrary length input from keyboard,2nd

text files

see files

text mode,2nd

binary mode compared,, 2nd

text streams

see character streams

text strings

significance of character,

string and text handling methods,2nd

TEXTLEN,

tic-tac-toe game,2nd

using pointers,2nd

time

see date and time

__TIME__ macro,

time function library

date and time function library,2nd

time function,, 2nd, 3rd

memory-test game program,

time.h header file,, 2nd

time_t type,

tm structure type,, 2nd

getting date,, 2nd

getting the day for a date,, 2nd, 3rd

mmembers structures,

TMP_MAX,

tmpnam function,

tolower function,, 2nd, 3rd

toupper function,, 2nd, 3rd

towlower function,, 2nd

towupper function,, 2nd, 3rd, 4th

tracing program flow,

trailing zeros, output flags,

trees

binary trees,2nd

triangles

similar triangles,

trigonometric functions,

two-dimensional arrays

see also multidimensional arrays

accessing array elements,2nd

getting all values in,2nd

indirection operator (*),, 2nd

pointers and,2nd

referencing arrays,

tic-tac-toe game using pointers,2nd

type conversions

see also format control strings/format specifiers

explicit type conversion,

implicit type conversion,2nd

input format specifiers,, 2nd, 3rd

output format specifiers,, 2nd

typedef keyword

defining data types,2nd

drawing vertical bar chart example,

simplifying code using,

structures and,2nd

types

see also data types

choosing correct type for variables,2nd

common function return types,

defining structure types,

specifying return value type,2nd

U

U conversion type,

u conversion type,

input format specifiers,, 2nd

output format specifiers,, 2nd

UCHAR_MAX/UINT_MAX,

ULLONG_MAX/ULONG_MAX,

unary minus operators,2nd

unary operators,, 2nd

#undef preprocessor directive,

enabling/disabling assertions,

underscores (_)

naming variables,

unformatted input,

ungetc function,2nd

unions

anonymous unions,

basic operation of,2nd

initializing,

pointers to,

sharing memory between variables,2nd

structures/arrays as union members,

syntax for declaring,

unions as members of structures,2nd

unsigned char variable type,

unsigned int constant,

unsigned int variable type

common function return types,

input conversion characters,

input format specifiers,

output conversion characters,

output format specifiers,

range of values,

unsigned integer types,2nd

%u format specifier,

implicit type conversion rules,

range limits for integer types,

unsigned keyword,

unsigned long int constant,, 2nd

unsigned long int variable type,

unsigned long long int variable type,

unsigned short int variable type,

update modes

writing to binary files,2nd

writing to text files,, 2nd

updatefile function,2nd

uppercase letters

converting upper/lower cases,2nd, 3rd4th

function testing for,, 2nd

wide character strings,

users

limiting user input example,2nd

USHRT_MAX,

V

v (v) escape sequence,

va_arg function,, 2nd

referencing variable number of arguments,, 2nd

va_end function,

copying va_list type,

referencing variable number of arguments,, 2nd

va_list type,, 2nd

copying,

va_start function,

referencing variable number of arguments,, 2nd

valid_moves function,

values

accessing through pointers,2nd

defining constants,

floating-point values,

variable argument start

referencing variable number of arguments,

variable declarations

data types,

declaring variables and pointers,2nd

description,

example using integers,

implicit declarations,

single statement declaring multiple variables,

variable name,

variable scope,2nd

variable types

defining structures using struct,2nd

pointer to char variable type,

pointers,

variables

accessing values through pointers,2nd

arithmetic statements,2nd

automatic variables,, 2nd

choosing correct type for,2nd

defining structure variables,

description,

enumerations,2nd

explicit type conversion,

external variables and functions,2nd

fixing as constant value,

floating-point variables,

global variables,2nd

initializing,2nd

integer variable types,2nd

integers,2nd

lifetime,

maintaining within declared scope,2nd

memory used storing,

minimum/maximum of,

naming,2nd

case sensitivity,

keywords,

number of characters in name,

using underscores (_),

pointers,, 2nd

sharing memory between,2nd

sharing between functions,2nd

sizeof operator determining bytes occupied,

static variables,2nd

storing Boolean values,

storing integers,2nd

storing numbers,2nd

using,2nd

variable types and value ranges,

variables in functions,2nd

vertical bar chart, drawing,2nd

vertical tab

escape sequence for,

void keyword, main(),

void types

common function return types,

functions not returning values,

functions returning values,

pointers,, 2nd

return statement,

specifying return value type,

W

w mode,, 2nd

w+ (w+t)(wt+) text mode,, 2nd

watches, setting,

wb mode,, 2nd

wb+ (w+b) mode,

updating binary files,, 2nd, 3rd

writing binary files,

wchar.h header file,, 2nd3rd

wchar_t data type,2nd, 3rd4th, 5th

wcscat/wcschr/wcscmp/wcscpy functions,

wcslen/wcsncmp/wcsncpy functions,

wcsstr function,, 2nd

wctype.h header file,, 2nd, 3rd

while loop,2nd

do-while loop,2nd

ending loop with or ,

finding length of string,

memory-test game program,

postfix increment operator (++),

prefix increment operator (++),

summing numbers examples,2nd

nested inside for loop,2nd

typical usage,

whitespace

function testing for,, 2nd

wide character strings,

input format specifiers,, 2nd

isspace function,

whitespace characters,

wide character strings,2nd

classification functions,

fgetws function,

functions operating on,

L modifier,

testing and converting,2nd

width format specifier

input format specifiers,

output format specifiers,

width value, %f format specifier,

word processors

editing source code with,

WORDLEN,, 2nd

words

determining frequency in text,, 2nd3rd

list of reserved words,

wprintf function

see also printf function

escape sequences,2nd

format conversion specifiers,

formatted output to screen,

character output,2nd

write operations

see also output

opening text files for,

writefile function,, 2nd3rd

writerecord function,, 2nd3rd

writing strings to text files,2nd

writing to text files,2nd

wscanf function,

format control strings,2nd

wt text mode,

X

X conversion type

input format specifiers,, 2nd

output format specifiers,, 2nd

x conversion type

char as hexadecimal value,

input format specifiers,, 2nd

output format specifiers,, 2nd

reading hexadecimal values,2nd

Z

zero

division by,

leading zeros,, 2nd

padding with zeros,, 2nd

trailing zeros,

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.191.147.77