Sams Teach Yourself C in 24 Hours (75 page)

BOOK: Sams Teach Yourself C in 24 Hours
12.04Mb 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

Blown Away by Shane Gericke
Never Say Goodbye by Susan Lewis
Whispers of Death by Alicia Rivoli
Dark Aemilia by Sally O'Reilly
A Quiet Death by Alanna Knight
Elite Metal-ARE-epub by Jennifer Kacey