Practical C programming:
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | English |
Veröffentlicht: |
Beijing [u.a.]
O'Reilly
1997
|
Ausgabe: | 3. ed. |
Schriftenreihe: | A nutshell handbook
|
Schlagworte: | |
Online-Zugang: | Inhaltsverzeichnis |
Beschreibung: | XXIII, 428 S. Ill., graph. Darst. |
ISBN: | 1565923065 9781565923065 |
Internformat
MARC
LEADER | 00000nam a2200000 c 4500 | ||
---|---|---|---|
001 | BV011627427 | ||
003 | DE-604 | ||
005 | 20070702 | ||
007 | t | ||
008 | 971104s1997 gw ad|| |||| 00||| eng d | ||
016 | 7 | |a 951689401 |2 DE-101 | |
020 | |a 1565923065 |c kart. : $ 32.95 |9 1-56592-306-5 | ||
020 | |a 9781565923065 |9 978-1-565-92306-5 | ||
035 | |a (OCoLC)635626012 | ||
035 | |a (DE-599)BVBBV011627427 | ||
040 | |a DE-604 |b ger |e rakwb | ||
041 | 0 | |a eng | |
044 | |a gw |c DE | ||
049 | |a DE-29T |a DE-19 |a DE-703 |a DE-898 |a DE-355 |a DE-384 |a DE-11 |a DE-83 |a DE-522 | ||
080 | |a 004.43 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |a ST 260 |0 (DE-625)143632: |2 rvk | ||
100 | 1 | |a Oualline, Steve |e Verfasser |4 aut | |
245 | 1 | 0 | |a Practical C programming |c Steve Oualline |
250 | |a 3. ed. | ||
264 | 1 | |a Beijing [u.a.] |b O'Reilly |c 1997 | |
300 | |a XXIII, 428 S. |b Ill., graph. Darst. | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
490 | 0 | |a A nutshell handbook | |
650 | 0 | 7 | |a UNIX |0 (DE-588)4061835-3 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Programmierung |0 (DE-588)4076370-5 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a C++ |0 (DE-588)4193909-8 |2 gnd |9 rswk-swf |
689 | 0 | 0 | |a C |g Programmiersprache |0 (DE-588)4113195-2 |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a C++ |0 (DE-588)4193909-8 |D s |
689 | 1 | 1 | |a Programmierung |0 (DE-588)4076370-5 |D s |
689 | 1 | |8 1\p |5 DE-604 | |
689 | 2 | 0 | |a UNIX |0 (DE-588)4061835-3 |D s |
689 | 2 | |8 2\p |5 DE-604 | |
856 | 4 | 2 | |m HBZ Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=007834660&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
999 | |a oai:aleph.bib-bvb.de:BVB01-007834660 | ||
883 | 1 | |8 1\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk | |
883 | 1 | |8 2\p |a cgwrk |d 20201028 |q DE-101 |u https://d-nb.info/provenance/plan#cgwrk |
Datensatz im Suchindex
_version_ | 1804126157827735552 |
---|---|
adam_text | Table of Contents
Preface xv
How This Book is Organized xvi
Chapter by Chapter xvi
Notes on the Third Edition xix
Font Conventions xix
Obtaining Source Code xx
Comments and Questions xxii
Acknowledgments xxii
Acknowledgments to the Third Edition xxiii
/. Basics 1
1. What Is C? 3
How Programming Works 4
Brief History of C 6
How C Works 7
How to Learn C 9
2. Basics of Program Writing 1
Programs from Conception to Execution 11
Creating a Real Program 12
Creating a Program Using a Command-Line Compiler 13
Creating a Program Using an Integrated Development Environment 16
Getting Help on UNIX 33
v
vi Table of Contents
Getting Help in an Integrated Development Environment 34
IDE Cookbooks 34
Programming Exercises 37
3. Style 38
Common Coding Practices 42
Coding Religion 45
Indentation and Code Format 45
Clarity 46
Simplicity 47
Summary 48
4. Basic Declarations and Expressions 49
Elements of a Program 49
Basic Program Structure 50
Simple Expressions 51
Variables and Storage 52
Variable Declarations 53
Integers 54
Assignment Statements 54
printf Function 56
Floating Point 57
Floating Point Versus Integer Divide 58
Characters 60
Answers 6l
Programming Exercises 62
5. Arrays, Qualifiers, and Reading Numbers. 63
Arrays 63
Strings 64
Reading Strings 67
Multidimensional Arrays 70
Reading Numbers 71
Initializing Variables 73
Types of Integers 75
Types of Floats 77
Constant Declarations 77
Table of Contents vii
Hexadecimal and Octal Constants 78
Operators for Performing Shortcuts 78
Side Effects 79
++x orx++ 80
More Side-Effect Problems 81
Answers 82
Programming Exercises 83
6. Decision and Control Statements 84
if Statement 84
else Statement 85
How Not to Use strcmp 86
Looping Statements 87
while Statement 87
break Statement 89
continue Statement 90
Assignment Anywhere Side Effect 91
Answer 92
Programming Exercises 93
7. Programming Process 95
Setting Up 97
Specification 98
Code Design 98
Prototype 99
Makefile 101
Testing 104
Debugging 104
Maintenance 107
Revisions 107
Electronic Archaeology 107
Marking Up the Program 108
Using the Debugger 108
Text Editor as a Browser 108
Add Comments 109
Programming Exercises 111
viii Table of Contents
II. Simple Programming 113
8. More Control Statements 115
for Statement 115
switch Statement 118
switch, break, and continue 123
Answers 124
Programming Exercises 125
9- Variable Scope and Functions 127
Scope and Class 127
Functions 130
Functions with No Parameters 134
Structured Programming 135
Recursion 136
Answers 138
Programming Exercises 138
10. C Preprocessor 140
#define Statement 140
Conditional Compilation 146
include Files 148
Parameterized Macros 150
Advanced Features 152
Summary 152
Answers 152
Programming Exercises 154
11. Bit Operations 156
Bit Operators 158
The and Operator ( ) 158
Bitwise or (|) 160
The Bitwise Exclusive or (a) l6l
The Ones Complement Operator (Not) (~) l6l
The Left- and Right-Shift Operators («, ») 162
Setting, Clearing, and Testing Bits 163
Bitmapped Graphics 166
Table of Contents ix
Answers 172
Programming Exercises 172
12. Advanced Types. 173
Structures 173
Unions 175
typedef 177
enumType 178
Casting 179
Bit Fields or Packed Structures 179
Arrays of Structures 181
Summary 182
Programming Exercises 182
13. Simple Pointers 183
Pointers as Function Arguments 188
const Pointers 189
Pointers and Arrays 191
How Not to Use Pointers 195
Using Pointers to Split a String 197
Pointers and Structures 200
Command-Line Arguments 201
Programming Exercises 206
Answers 206
14. File Input/Output. 209
Conversion Routines 212
Binary and ASCII Files 215
The End-of-Line Puzzle 216
Binary I/O 218
Buffering Problems 219
Unbuffered I/O 220
Designing File Formats 224
Answers 226
Programming Exercises 227
x Table of Contents
15. Debugging and Optimization 229
Debugging 229
Interactive Debuggers 240
Debugging a Binary Search 244
Runtime Errors 254
The Confessional Method of Debugging 255
Optimization 256
Answers 264
Programming Exercises 264
16. Floatingpoint. 265
Floating-Point Format 265
Floating Addition/Subtraction 266
Multiplication 267
Division 268
Overflow and Underflow 268
Roundoff Error 269
Accuracy 269
Minimizing Roundoff Error 270
Determining Accuracy 270
Precision and Speed 272
Power Series 272
Programming Exercises 275
///. Advanced Programming Concepts 277
17. Advanced Pointers 279
Pointers and Structures 279
free Function 282
Linked List 283
Structure Pointer Operator 286
Ordered Linked Lists 287
Double-Linked Lists 288
Trees 292
Printing a Tree 296
Rest of Program 296
Data Structures for a Chess Program 300
Table of Contents xi
Answers 302
Programming Exercises 303
18. Modular Programming 304
Modules 304
Public and Private 305
The extern Modifier 306
Headers 308
The Body of the Module 310
A Program to Use Infinite Arrays 310
The Makefile for Multiple Files 313
Using the Infinite Array 316
Dividing a Task into Modules 322
Module Division Example: Text Editor 323
Compiler 324
Spreadsheet 325
Module Design Guidelines 327
Programming Exercises 328
19. Ancient Compilers 329
K R-Style Functions 329
Library Changes 332
Missing Features 333
Free/Malloc Changes 333
lint 334
Answers 334
20. Portability Problems 337
Modularity 337
Word Size 338
Byte Order Problem 338
Alignment Problem 339
NULL Pointer Problem 341
Filename Problems 341
File Types 342
Summary 342
Answers 343
xii Table of Contents
21. C s Dustier Corners 344
do/while 344
goto 344
The ?: Construct 346
The , Operator 346
volatile Qualifier 346
Answer 347
22. Putting It All Together 348
Requirements 348
Specification 348
Code Design 350
Coding 355
Functional Description 355
Expandability 357
Testing 358
Revisions 359
A Final Warning 359
Program Files 359
Programming Exercises 381
23. Programming Adages 382
General 382
Design 383
Declarations 383
switch Statement 383
Preprocessor 384
Style 384
Compiling 384
Final Note 384
Answer 385
IV Other Language Features 387
A. ASCIITable 389
B. Ranges and Parameter Passing Conversions. 391
Table of Contents xiii
C. Operator Precedence Rules 393
D. A Program to Compute a Sine Using a Power Series 395
Glossary 399
Index 421
|
any_adam_object | 1 |
author | Oualline, Steve |
author_facet | Oualline, Steve |
author_role | aut |
author_sort | Oualline, Steve |
author_variant | s o so |
building | Verbundindex |
bvnumber | BV011627427 |
classification_rvk | ST 250 ST 260 |
ctrlnum | (OCoLC)635626012 (DE-599)BVBBV011627427 |
discipline | Informatik |
edition | 3. ed. |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>02003nam a2200517 c 4500</leader><controlfield tag="001">BV011627427</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20070702 </controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">971104s1997 gw ad|| |||| 00||| eng d</controlfield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">951689401</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">1565923065</subfield><subfield code="c">kart. : $ 32.95</subfield><subfield code="9">1-56592-306-5</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9781565923065</subfield><subfield code="9">978-1-565-92306-5</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)635626012</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)BVBBV011627427</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rakwb</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">eng</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">DE</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-29T</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-703</subfield><subfield code="a">DE-898</subfield><subfield code="a">DE-355</subfield><subfield code="a">DE-384</subfield><subfield code="a">DE-11</subfield><subfield code="a">DE-83</subfield><subfield code="a">DE-522</subfield></datafield><datafield tag="080" ind1=" " ind2=" "><subfield code="a">004.43</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 260</subfield><subfield code="0">(DE-625)143632:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Oualline, Steve</subfield><subfield code="e">Verfasser</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Practical C programming</subfield><subfield code="c">Steve Oualline</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3. ed.</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Beijing [u.a.]</subfield><subfield code="b">O'Reilly</subfield><subfield code="c">1997</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">XXIII, 428 S.</subfield><subfield code="b">Ill., graph. Darst.</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="490" ind1="0" ind2=" "><subfield code="a">A nutshell handbook</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">UNIX</subfield><subfield code="0">(DE-588)4061835-3</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">C</subfield><subfield code="g">Programmiersprache</subfield><subfield code="0">(DE-588)4113195-2</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">C++</subfield><subfield code="0">(DE-588)4193909-8</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2="1"><subfield code="a">Programmierung</subfield><subfield code="0">(DE-588)4076370-5</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="2" ind2="0"><subfield code="a">UNIX</subfield><subfield code="0">(DE-588)4061835-3</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="2" ind2=" "><subfield code="8">2\p</subfield><subfield code="5">DE-604</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">HBZ Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=007834660&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="999" ind1=" " ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-007834660</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">2\p</subfield><subfield code="a">cgwrk</subfield><subfield code="d">20201028</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#cgwrk</subfield></datafield></record></collection> |
id | DE-604.BV011627427 |
illustrated | Illustrated |
indexdate | 2024-07-09T18:13:00Z |
institution | BVB |
isbn | 1565923065 9781565923065 |
language | English |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-007834660 |
oclc_num | 635626012 |
open_access_boolean | |
owner | DE-29T DE-19 DE-BY-UBM DE-703 DE-898 DE-BY-UBR DE-355 DE-BY-UBR DE-384 DE-11 DE-83 DE-522 |
owner_facet | DE-29T DE-19 DE-BY-UBM DE-703 DE-898 DE-BY-UBR DE-355 DE-BY-UBR DE-384 DE-11 DE-83 DE-522 |
physical | XXIII, 428 S. Ill., graph. Darst. |
publishDate | 1997 |
publishDateSearch | 1997 |
publishDateSort | 1997 |
publisher | O'Reilly |
record_format | marc |
series2 | A nutshell handbook |
spelling | Oualline, Steve Verfasser aut Practical C programming Steve Oualline 3. ed. Beijing [u.a.] O'Reilly 1997 XXIII, 428 S. Ill., graph. Darst. txt rdacontent n rdamedia nc rdacarrier A nutshell handbook UNIX (DE-588)4061835-3 gnd rswk-swf Programmierung (DE-588)4076370-5 gnd rswk-swf C Programmiersprache (DE-588)4113195-2 gnd rswk-swf C++ (DE-588)4193909-8 gnd rswk-swf C Programmiersprache (DE-588)4113195-2 s DE-604 C++ (DE-588)4193909-8 s Programmierung (DE-588)4076370-5 s 1\p DE-604 UNIX (DE-588)4061835-3 s 2\p DE-604 HBZ Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=007834660&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk 2\p cgwrk 20201028 DE-101 https://d-nb.info/provenance/plan#cgwrk |
spellingShingle | Oualline, Steve Practical C programming UNIX (DE-588)4061835-3 gnd Programmierung (DE-588)4076370-5 gnd C Programmiersprache (DE-588)4113195-2 gnd C++ (DE-588)4193909-8 gnd |
subject_GND | (DE-588)4061835-3 (DE-588)4076370-5 (DE-588)4113195-2 (DE-588)4193909-8 |
title | Practical C programming |
title_auth | Practical C programming |
title_exact_search | Practical C programming |
title_full | Practical C programming Steve Oualline |
title_fullStr | Practical C programming Steve Oualline |
title_full_unstemmed | Practical C programming Steve Oualline |
title_short | Practical C programming |
title_sort | practical c programming |
topic | UNIX (DE-588)4061835-3 gnd Programmierung (DE-588)4076370-5 gnd C Programmiersprache (DE-588)4113195-2 gnd C++ (DE-588)4193909-8 gnd |
topic_facet | UNIX Programmierung C Programmiersprache C++ |
url | http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=007834660&sequence=000002&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT ouallinesteve practicalcprogramming |