Sams Teach Yourself C in 24 Hours (75 page)

BOOK: Sams Teach Yourself C in 24 Hours
8.02Mb size Format: txt, pdf, ePub

bit fields

multidimensional

values

code example, 348-350

declaring, 199

to enum data types,

declaring, 347

displaying, 200-201

299

defining, 347

initializing, 199-201

to pointers, 180-181

bit-manipulation opera-

multidimensional

assignment operator (=),

tors, 130

unsized

92

bitwise AND (&), 131

declaring, 201

asterisks (*)

bitwise complement

initializing, 202-203

deference operator, 182

(~), 131

listing, 325-326

determining meaning,

bitwise OR (|), 131

passing to functions,

182

bitwise XOR (^), 131

266-267, 270-272

multiplication operator,

left-shift (<<), 133-135

pointers

182

right-shift (>>),

declaring, 272

pointers, 180

133-135

referencing with,

auto keyword, 56

bits, 14, 58, 142

195-196

auto specifier, variables,

bitwise AND operator

strings, 272-274

229

(&), 131

sizes

avoiding

bitwise complement

calculating, 192-194

duplication, structures,

operator (~), 131

specifying, 267

322

bitwise OR operator (|),

of structures, 324-327

goto statements, 168

131

unsized

bitwise XOR operator

calculating, 201

(^), 131

versus structures,

block scope (variables),

314

B

224-225

unsized character, 209

local variables, 225

arrow (->) operators,

\b (backspace character),

nested, 225-226

324, 335, 351

60

program scope compar-

ASCII character codes,

backslash.
See
escape

ison, 227-229

57

character

BlockReadWrite() func-

asctime() function,

big-endian format, 343

tion, 369

250-251

binary code, 14, 24

blocks

assert.h header file, 439

binary files

commenting out, 31

assessing structure mem-

reading, 378-381

statement, 45-46

bers, 315

writing, 378-381

body, functions, 48-49

assigning

binary format, 13

books (recommended

character constants to

binary numbers

reading), 434-435

pointers, 210

converting decimal

character strings to

numbers to, 129-130

pointers, 210-211

negatives, 142

34 067231861x index 1/25/00 10:45 AM Page 506

506

Borland C++ compiler

Borland C++ compiler,

C

#if directive, 434

21-24

arithmetic expres-

running, 23

sions, 406

%c (character) format

starting, 21

code example,

specifier, 60-62, 74, 79

bottom-up programming,

401-402

.c filename extension, 28

255

macro definitions,

C

braces ({}), 45, 48

400

advantages, 12-14

if statement, 156

nested conditional

history, 12

if-else statement, 159

compilation,

portability, 13

switch statement, 165

402-404

programs

brackets ([ ]), declaring

syntax, 399

maintaining, 296

arrays, 190

#ifdef directive,

readability, improv-

break keyword, 56

397-399, 434

ing, 296, 300

break statements, 155,

#ifndef directive,

structured program-

164-165

397-399, 416

ming, 169

infinite loops, breaking,

macro body, 392, 396

C compiler, C preproces-

166-167

macro names, 392-393

sor comparison, 392-

listing, 164-165

macro substitution,

393, 405

location, 164

392-396

C preprocessor, 392

switch statements, exit-

newline characters, 392

# (pound sign), 392

ing, 164

#undef directive,

C compiler comparison,

breaking code lines, 28

393-394, 406, 434

392-393, 405

buffered I/O, 433

C Programming

#define directive, 393,

buffers, 356

Language, The
, 15

434

flushing, 356

C++, 14

code example,

high-level I/O, 357

calculating array size,

394-396

low-level I/O, 357, 387

192-194, 201

defining function-

setbuf() functions, 387

calendar time, date and

like macros,

setvbuf() functions, 387

time functions, 249

394-396

bugs.
See
debugging

calling

expressions, 396

built-in arguments

functions, 49-51,

nested macro defini-

main() functions, 306

245-247

tions, 396

naming, 308

no arguments, 249

syntax, 393

replacing, 308

recursive, 303-304

#elif directive, 401-402,

bytes, 14, 58, 192-194

calloc() function, 286-288

434

listing, 287

#else directive,

malloc() functions,

399-402, 434

compared, 292

#endif directive,

case keyword, 56, 162

397-402, 406, 416

case sensitivity, file-

code example,

names, 32

398-399

syntax, 397

34 067231861x index 1/25/00 10:45 AM Page 507

conditional compilation

507

cast operator, 101-102

writing

command-line argu-

central processing unit

from standard output

ments, 305

(CPU), 13

stream, 217

listing, 306-307

changing variable values

puts() function,

number, checking, 307

via pointers, 183-184

215-217

receiving, 306-308

char data type, 47, 57

to standard output

comments, 29-31, 418

char keyword, 56

stream, 215-216

commenting out code,

character arrays.
See

CharReadWrite() func-

31

also
strings

tion, 362-363

nested, 31

initializing, 208-209

checking command-line

program performance,

string constants, initial-

arguments, 307

30

izing, 208-211

classes, storage, 229

compiled languages, 14-

unsized, 209

closing files, fclose() func-

15

character codes (ACII),

tion, 358-360, 371

compilers, 13

57

closing comment mark

accessing, 17

character constants,

(*/), 29

Borland C++, 21-24

58-59, 422-423

code, 14.
See also
listings

C, C preprocessor com-

pointers, assigning, 210

binary, 14

parison, 392-393, 405

string constants, com-

breaking lines, 28

choosing, 17

pared, 209-212

comments, 29-31, 418

compliancy errors,

character data type.
See

commenting out, 31

280-281

char data type

nested, 31

Microsoft, 18-21

character format specifi-

performance, 30

optimizers, turning off,

er (%c), 60-62, 74, 79

indentation, 28, 419

235

character strings, 196,

saving

compliancy error,

210-211

Borland C++, 23

280-281

character variables, 58

Visual C++, 19

conditional branching

characters

source code file, 34

statements, 155,

arrays, 190, 196-198

spacing, 419

428-430

converting numeric val-

spaghetti, 169

break, 155, 164-165

ues to, 61

syntax, checking, 36

continue, 155, 167-168

null, 198.
See also

whitespace, 29

goto, 155, 168-169

strings

writing

if, 155-158

numeric values

Borland C++, 21

if-else, 155, 158-159

converting, 61

Visual C++, 18

labels, 162

showing, 63-64

codes, executing if state-

switch, 155, 161-164

printing, 60-62

ment, 156

conditional compilation,

reading

coding style, 418-419

397

from standard input

collecting variables,

#elif directive, 401-402

stream, 215-217

groups, 314

#else directive, 399-402

gets() function,

combining declarations

215-217

and definitions, 315

34 067231861x index 1/25/00 10:45 AM Page 508

508

conditional compilation

#endif directive,

numeric, versus named,

creating

397-402, 406

419

declarations, 299

code example,

string, 209-212, 423

expressions, 299

398-399

content, memory, 177

names for data types,

syntax, 397

continue keyword, 56

300-302

#if directive

continue statement, 155,

ctype.h header file, 439

arithmetic expres-

167-168

sions, 406

listing, 167

code example,

loops, 167, 171

401-402

control flow, 426

D

macro definitions,

conditional branching

400

statements, 155,

%d (integer) format

nested conditional

428-430

specifier, 63-64, 79

compilation,

break, 164-165

data

402-404

continue, 167-168

formatted

syntax, 399

goto, 168-169, 419

fprintf() function,

#ifdef directive,

if, 156-158

381-384, 388

397-399

if-else, 158-159

fscanf() function,

#ifndef directive,

switch, 161-164

381-384

397-399

looping statements,

stack, overwriting, 305

conditional expressions,

155, 427-428

data items, separating,

switch statement,

Convert2Upper() func-

317

161-162

tion, 303

data modifiers

conditional operator (:?),

converting

long, 145-147

135-136

data types, cast opera-

short, 145

conditions, evaluating (if

tor, 101-102

signed, 142-143

statement), 156

dates, asctime() func-

unsigned, 143-145

consolidating data types,

tion, 250-251

data structures, linked

300

numbers

lists, 410

const keyword, 56

decimal to binary,

advantages, 410

const modifier (vari-

129-130

creating, 410-418

ables), 234-235

decimal to hex,

data types, 423.
See also

constants, 42

129-130

variables

character, 58-59,

time, asctime() func-

array, 424

209-212, 422-423

tion, 250-251

char, 47, 57

EOF (end-of-file), 73

to uppercase, 302-303

consolidating, 300

floating-point, 423

copying strings, 213-215

converting, cast opera-

integer, 422

cos() function, 149-150

tor, 101-102

macro body, 392

CPU (central processing

creating, 426

named, versus numeric,

unit) register, 233

defining, variable lists,

419

CPUs (central processing

424

named integer, declar-

units), 13

double, 67

ing, 296

34 067231861x index 1/25/00 10:45 AM Page 509

defining

509

enum, 296, 424

decisions, unlimited

decrement operator (--),

declaring, 296

(switch statements), 161

96-98

defining variables,

Other books

To Seduce an Omega by Kryssie Fortune
Lacrosse Face-Off by Matt Christopher
Things We Fear by Glenn Rolfe
Passion in the Sky by Diane Thorne
The Sword of Morning Star by Richard Meade
Magic's Price by Mercedes Lackey
The Gathering Storm by Kate Elliott
The Falconer's Knot by Mary Hoffman