logo资料库

C语言编程快速入门教程(英文原版).pdf

第1页 / 共185页
第2页 / 共185页
第3页 / 共185页
第4页 / 共185页
第5页 / 共185页
第6页 / 共185页
第7页 / 共185页
第8页 / 共185页
资料共185页,剩余部分请下载后查看
About The Tutorial C is a general-purpose, procedural, imperative computer programming language developed in 1972 by Dennis M. Ritchie at the Bell Telephone Laboratories to develop the UNIX operating system. C is the most widely used computer language. It keeps fluctuating at number one scale of popularity along with Java programming language, which is also equally popular and most widely used among modern software programmers. Audience This tutorial is designed for software programmers with a need to understand the C programming language starting from scratch. This tutorial will give you enough understanding on C programming language from where you can take yourself to higher level of expertise. Prerequisites Before proceeding with this tutorial, you should have a basic understanding of Computer Programming terminologies. A basic understanding of any of the programming languages will help you in understanding the C programming concepts and move fast on the learning track. Copyright & Disclaimer  Copyright 2014 by Tutorials Point (I) Pvt. Ltd. All the content and graphics published in this e-book are the property of Tutorials Point (I) Pvt. Ltd. The user of this e-book is prohibited to reuse, retain, copy, distribute or republish any contents or a part of contents of this e-book in any manner without written consent of the publisher. We strive to update the contents of our website and tutorials as timely and as precisely as possible, however, the contents may contain inaccuracies or errors. Tutorials Point (I) Pvt. Ltd. provides no guarantee regarding the accuracy, timeliness or completeness of our website or its contents including this tutorial. If you discover any errors on our website or in this tutorial, please notify us at contact@tutorialspoint.com i
Table of Contents About The Tutorial ..................................................................................................................................... i Audience .................................................................................................................................................... i Prerequisites .............................................................................................................................................. i Copyright & Disclaimer .............................................................................................................................. i Table of Contents ...................................................................................................................................... ii 1. OVERVIEW .............................................................................................................................. 1 Facts about C ............................................................................................................................................ 1 Why Use C? ............................................................................................................................................... 1 C Programs ................................................................................................................................................ 2 2. ENVIORNMENT SETUP ............................................................................................................ 3 Try it Option Online .................................................................................................................................. 3 Local Environment Setup .......................................................................................................................... 3 Text Editor ................................................................................................................................................ 3 The C Compiler ......................................................................................................................................... 4 Installation on UNIX/Linux ........................................................................................................................ 4 Installation on Mac OS .............................................................................................................................. 5 Installation on Windows ........................................................................................................................... 5 3. PROGRAM STRUCTURE ........................................................................................................... 6 Hello World Example ................................................................................................................................ 6 Compile and Execute C Program ............................................................................................................... 7 4. BASIC SYNTAX ......................................................................................................................... 8 Tokens in C ................................................................................................................................................ 8 Semicolons ................................................................................................................................................ 8 Comments ................................................................................................................................................ 8 Identifiers ................................................................................................................................................. 9 ii
Keywords .................................................................................................................................................. 9 Whitespace in C ...................................................................................................................................... 10 5. DATA TYPES ........................................................................................................................... 11 Integer Types .......................................................................................................................................... 11 Floating-Point Types ............................................................................................................................... 13 The void Type.......................................................................................................................................... 14 6. VARIABLES ............................................................................................................................. 15 Variable Definition in C ........................................................................................................................... 15 Variable Declaration in C ......................................................................................................................... 16 Lvalues and Rvalues in C ......................................................................................................................... 18 7. CONSTANTS AND LITERALS ................................................................................................... 19 Integer Literals ........................................................................................................................................ 19 Floating-point Literals ............................................................................................................................. 20 Character Constants ................................................................................................................................ 20 String Literals .......................................................................................................................................... 21 Defining Constants .................................................................................................................................. 22 The #define Preprocessor ...................................................................................................................... 22 The const Keyword ................................................................................................................................. 23 8. STORAGE CLASSES ................................................................................................................. 24 The auto Storage Class ............................................................................................................................ 24 The register Storage Class ....................................................................................................................... 24 The static Storage Class ........................................................................................................................... 25 The extern Storage Class ......................................................................................................................... 26 9. OPERATORS ........................................................................................................................... 28 Arithmetic Operators .............................................................................................................................. 28 Relational Operators ............................................................................................................................... 30 iii
Logical Operators .................................................................................................................................... 32 Bitwise Operators ................................................................................................................................... 34 Assignment Operators ............................................................................................................................ 37 Misc Operators ↦ sizeof & ternary ......................................................................................................... 40 Operators Precedence in C ...................................................................................................................... 41 10. DECISION MAKING .............................................................................................................. 45 if Statement ............................................................................................................................................ 46 if…else Statement ................................................................................................................................... 48 if...else if...else Statement ...................................................................................................................... 49 Nested if Statements .............................................................................................................................. 51 switch Statement .................................................................................................................................... 53 Nested switch Statements ...................................................................................................................... 55 The ? : Operator: ..................................................................................................................................... 57 11. LOOPS ................................................................................................................................. 58 while Loop .............................................................................................................................................. 59 for Loop .................................................................................................................................................. 61 do…while Loop ....................................................................................................................................... 63 Nested Loops .......................................................................................................................................... 65 Loop Control Statements ........................................................................................................................ 67 break Statement ..................................................................................................................................... 68 continue Statement ................................................................................................................................ 70 goto Statement ....................................................................................................................................... 72 The Infinite Loop ..................................................................................................................................... 74 12. FUNCTIONS ......................................................................................................................... 76 Defining a Function ................................................................................................................................. 76 Function Declarations ............................................................................................................................. 77 iv
Calling a Function .................................................................................................................................... 78 Function Arguments ................................................................................................................................ 79 Call by Value ........................................................................................................................................... 80 Call by Reference .................................................................................................................................... 81 13. SCOPE RULES....................................................................................................................... 84 Local Variables ........................................................................................................................................ 84 Global Variables ...................................................................................................................................... 85 Formal Parameters ................................................................................................................................. 86 Initializing Local and Global Variables ..................................................................................................... 87 14. ARRAYS ............................................................................................................................... 89 Declaring Arrays ...................................................................................................................................... 89 Initializing Arrays .................................................................................................................................... 89 Accessing Array Elements ....................................................................................................................... 90 Arrays in Detail ....................................................................................................................................... 91 Multidimensional Arrays ........................................................................................................................ 92 Two-dimensional Arrays ......................................................................................................................... 92 Initializing Two-Dimensional Arrays ....................................................................................................... 93 Accessing Two-Dimensional Array Elements .......................................................................................... 93 Passing Arrays to Functions .................................................................................................................... 94 Return Array from a Function ................................................................................................................ 96 Pointer to an Array ................................................................................................................................. 99 15. POINTERS .......................................................................................................................... 101 What are Pointers? ............................................................................................................................... 101 How to Use Pointers?............................................................................................................................ 102 NULL Pointers ...................................................................................................................................... 103 Pointers in Detail .................................................................................................................................. 104 Pointer Arithmetic ................................................................................................................................ 104 Incrementing a Pointer ......................................................................................................................... 105 v
Decrementing a Pointer ....................................................................................................................... 106 Pointer Comparisons ............................................................................................................................ 107 Array of Pointers .................................................................................................................................. 108 Pointer to Pointer ................................................................................................................................. 110 Passing Pointers to Functions .............................................................................................................. 112 Return Pointer from Functions ............................................................................................................ 114 16. STRINGS ............................................................................................................................ 117 17. STRUCTURES ..................................................................................................................... 120 Defining a Structure .............................................................................................................................. 120 Accessing Structure Members ............................................................................................................... 121 Structures as Function Arguments ........................................................................................................ 122 Pointers to Structures ........................................................................................................................... 124 Bit Fields ............................................................................................................................................... 126 18. UNIONS ............................................................................................................................. 128 Defining a Union ................................................................................................................................... 128 Accessing Union Members .................................................................................................................... 129 19. BIT FIELDS ......................................................................................................................... 132 Bit Field Declaration .............................................................................................................................. 133 20. TYPEDEF ............................................................................................................................ 136 typedef vs #define ................................................................................................................................ 137 21. INPUT AND OUTPUT .......................................................................................................... 139 The Standard Files ................................................................................................................................. 139 The getchar() and putchar() Functions .................................................................................................. 139 The gets() and puts() Functions ............................................................................................................. 140 The scanf() and printf() Functions ......................................................................................................... 141 22. FILE I/O.............................................................................................................................. 143 vi
Opening Files ........................................................................................................................................ 143 Closing a File ......................................................................................................................................... 144 Writing a File ......................................................................................................................................... 144 Reading a File ........................................................................................................................................ 145 Binary I/O Functions ............................................................................................................................. 146 23. PREPROCESSORS ............................................................................................................... 147 Preprocessors Examples ........................................................................................................................ 148 Predefined Macros ................................................................................................................................ 148 Preprocessor Operators ........................................................................................................................ 150 The Macro Continuation (\) Operator .................................................................................................. 150 The Stringize (#) Operator .................................................................................................................... 150 The Token Pasting (##) Operator ......................................................................................................... 150 The Defined() Operator ........................................................................................................................ 151 Parameterized Macros .......................................................................................................................... 152 24. HEADER FILES .................................................................................................................... 153 Include Syntax....................................................................................................................................... 153 Include Operation ................................................................................................................................. 153 Once-Only Headers ............................................................................................................................... 154 Computed Includes ............................................................................................................................... 155 25. TYPE CASTING ................................................................................................................... 156 Integer Promotion ................................................................................................................................ 157 Usual Arithmetic Conversion................................................................................................................. 157 26. ERROR HANDLING ............................................................................................................. 160 errno, perror(), and strerror() ............................................................................................................... 160 Divide by Zero Errors............................................................................................................................. 161 Program Exit Status ............................................................................................................................... 162 vii
分享到:
收藏