ANSI C11 2011-4-12

所需积分/C币:46 2013-02-19 11:50:31 1.61MB PDF
收藏 收藏
举报

ANSI C标准,2011-4-12版,即C11,学习“C语言”必备
N1570 Committee Draft- April 12, 2011 ISO/IEC 9899: 201X Contents Foreword X111 Introduction XVIl 1. Scope 2, Normative references 3. Terms. definitions, and symbols 4. Conformance 5. Environment 10 5.1 Conceptual models 10 5. 1.1 Translation environment 10 5.1.2 Execution environments 5.2 Environmental considerations 5.2.1 Character sets 5.2.2 Character display semantics 1222 2 24 5.2.3 Signals and interrupts 5.2.4 Environmental limits 25 6. Language 35 6.1 Notation 6.2 Concepts 35 6.2.1 Scopes of identifiers 6.2.2 Linkages of identifiers 36 6.2.3 Name spaces of identifiers 37 6.2.4 Storage durations of objects 38 6.2.5TV ypes 39 6.2.6 Representations of types 44 6.2.7 Compatible type and composite type 47 6.2.8 Alignment of objects 48 6.3 Conversions 50 6.3. 1 Arithmetic operands 50 6.3.2 Other operands 54 6. 4 Lexical elements 57 6.4.1 Keyw 58 6.4.2 Identifiers 59 6.4.3 Universal character names 61 6.4.4 Constants 62 6.4.5 ing literals 70 6.4 Punctuators 72 6.4.7 Header names 73 6.4.8 Preprocessing numbers 74 6.4.9 Comments 75 Contents ISo/EC 9899: 201x Committee Draft- April 12, 2011 N1570 6.5上 xpressions 76 6.5.1 Primary expressions 78 6.5.2 Postfix operators 6.5.3 Unary operators 88 6.5.4 Cast operators 6.5.5 Multiplicative operators 6.5.6 Additive operators 22 6.5.7 Bitwise shift operators 94 6.5.8 Relational operators 6.5.9 Equality operators 96 6.5.10 Bitwise AND operator 97 6.5. 11 Bitwise exclusive OR operator 98 6.512 Bitwise inclusive OR opcrator·· 98 6.5.13 Logical ANd operator 6.5. 14 Logical OR operator 99 6.5. 15 Conditional operator 6.5.16 Assignment operators 6.5.17 Comma operator 105 6.6 Constant expressions 106 6.7 Declarations 108 6.7.1 Storage-class specifiers 109 6.7.2 Type specifiers 111 6.7.3 Type qualifiers 121 6.7.4 Function specifiers 125 6.7.5 Alignment specifier 127 6.7.6 Declarators 128 6.7.7 Type names 136 6.7.8 Type definitions 137 6.7.9 Initialization 139 6.7.10 Static assertions 145 6. 8 Statements and blocks 146 6.8.1 Labeled statements · 146 6.8.2 Compound statement 147 6.8.3 Expression and null statements 147 6.8.4 Selection statements 148 6.8.5 Iteration statements 150 6.8.6 Jump statements 151 6.9 External definitions 6.9.1 Function definitions 156 6.9.2 External object definitions 158 6.10 Preprocessing directives 160 6.10.1 Conditional inclusion 162 6.10.2 Source file inclusion 164 6.10.3 Macro replacement 166 Contents N1570 Committee Draft--April 12, 2011 ISO/IEC 9899: 201X 6.10.4 Line control 173 6.10.5 Error directive 174 6. 10.6 Pragma directive 174 6.10.7 Null directive 175 6.10.8 Predefined macro names 175 6. 10.9 Pragma operator 6. 11 Future language directions 179 6.11.1 Floating types 179 6.11.2 Linkages of identifiers,.·,,·,.,,.,。,, 179 6.11.3 External names 179 6. 11. 4 Character escape sequences 179 6.11.5 Storage-class specifiers 179 6.11.6 Function declarators 179 6.11.7 Function definitions 179 6.11.8 Pragma directives 179 6.11.9 Predefined macro names 179 7. Librar 180 7. 1 Introduction 180 7.1.1 Definitions of terms 180 7.1.2 Standard hcade 181 7. 1. 3 Reserved identifiers 182 7.1.4 Use of library functions 183 7.2 Diagnostics assert. h> 186 7. 2.1 Program diagnostics 186 7.3 Complex arithmetic <complex. h> 188 7.3.1 Introduction 188 7.3.2 Conventions 189 7.3.3 Branch cuts 189 7.3.4 The CX LIMITED RANGE pragma 189 7.3.5 Trigonometric functions 。.190 7.3.6 Hyperbolic functions 192 7.3.7 Exponential and logarithmic functions 194 7.3.8 Power and absolute-value functions 195 7.3.9 Manipulation functions 196 7.4 Character handling <ctype.h> 200 7.4.1 Character classification functions 200 7.4.2 Character case mapping functions 203 7.5 Errors< eInc。h> 205 7.6 Floating-point environment <fenv.h> 206 7.6.1 The FENV ACcesS pragma .......... 208 7.6.2 Floating-point exceptions 209 7.6.3 Rounding 212 7.6.4 Environment 213 7.7 Characteristics of floating types <float.h> 216 Contents ISo/EC 9899: 201x Committee Draft- April 12, 2011 N1570 7.8 Format conversion of integer types <inttypes.h> 217 7.8.1 Macros for format specifiers 217 7.8.2 Functions for greatest-width integer types 218 7.9 Alternative spellings <iso646.h> 221 7.10 Sizes of integer types <limits. h> 222 7.11.1 Locale contro/ 7.11 Localization <locale. h> 223 224 7.11.2 Numeric formatting convention inquiry 225 7.12 Mathematics <math. h> 231 7. 12.1 Treatment of crror conditions 233 7. 12.2 The FP CoNTRACT pragma 235 7. 12.3 Classification macros 235 7. 12.4 Trigonometric functions 238 7. 12.5 Hyperbolic functions 240 7.12.6 Exponential and logarithmic functions 242 7. 12.7 Power and absolute-value functions 247 7.12.8 Error and gamma functions 勹10 7. 12.9 Nearest integer functions 251 7. 12.10 Remainder functions 254 7.12. 11 Manipulation functions 255 7. 12.12 Maximum, minimum. and positive difference functions 257 7. 12.13 Floating multiply-add 258 7.12. 14 Comparison macros 259 7. 13 Nonlocal jumps <setjmp.h> 262 7. 13.1 Save calling environment 262 7.13.2 Restore calling environment 263 7.14 Signal handling <signal.h> 265 7. 14.1 Specify signal handling 266 7. 14.2 Send signal 267 7. 15 Alignment <stdalign.h> 268 7. 16 Variable arguments <stdarg.h> 269 7. 16.1 Variable argument list access macros · 269 7.17 Atomics <stdatomic. h> 273 7.17.1 Introduction 273 7. 17.2 Initialization 274 7.17.3 Order and consistency 275 7. 17.4 Fences 278 7. 17.5 Lock-free property 279 7.17.6 Atomic integer types 280 7.17.7 Operations on atomic types 282 7. 17.8 Atomic flag type and operations 285 7.18 Boolean type and values <stdbool.h> 287 7. 19 Common definitions <stddef.h> 288 7.20 Integer types <stdint. h> 289 Contents N1570 Committee Draft- April 12, 2011 ISO/IEC 9899: 201X 7.20.I Integer types 。,289 7. 20.2 Limits of specified-width integer types 291 7.20.3 Limits of other integer types 293 7. 20.4 Macros for integer constants 294 21 Input/output <stdio.h> 296 7. 21.1 Introduction 296 7.21.2 Streams 298 7. 21.3 Files 300 7.21.4 Operations on files 302 7.21.5 File access functions 304 7.21.6 Formatted input/output functions 309 7. 21.7 Character input/output functions 330 7.21. 8 Direct input/output functions 335 7. 21 9 File positioning functions 336 7.21. 10 Error-handling functions 338 7.22 General utilities <stdlib. h> 340 7. 22.1 Numeric conversion functions 341 7.22.2 Pseudo-random sequence generation functions 346 7. 22.3 Memory management functions 。347 7. 22. 4 Communication with the environment 350 7. 22.5 Searching and sorting utilities 354 7.22.6 Integer arithmetic functions 。356 7.22.7 Multibyte/wide character conversion functions 357 7. 22.8 Multibyte/wide string conversion functions 359 7.23 Noreturn <stdnoreturn. h> 361 7.24 String handling <string.h> 362 7. 24.1 String function conventions 362 7. 24.2 Copying functions 362 7.24.3 Concatenation functions 364 7. 24.4 Comparison functions 365 7. 24.5 Search functions 367 7. 24.6 Miscellaneous functions 371 7.25 Type-generic math <tgmath.h> 373 7. 26 Threads <threads. h> 376 7. 26.1 Introduction 376 7.26.2 Initialization functions 378 7. 26.3 Condition variable functions 378 7. 26.4 Mutex functions 380 7. 26.5 Thread functions 383 7.26.6 Thread-specific storage functions 386 7.27 Date and time <time. h> 388 7. 27. 1 Components of time 388 7. 27.2 Time manipulation functions 389 7. 27.3 Time conversion functions 392 Contents VIl ISo/EC 9899: 201x Committee Draft- April 12, 2011 N1570 7.28 Unicode utilities <uchar. h> 398 7. 28.1 Restartable multibyte/ wide character conversion functions 398 7. 29 Extended multibyte and wide character utilities <wchar.h> 402 7. 29.1 Introduction 402 7. 29.2 Formatted wide character input/output functions 403 7. 29.3 Wide character input/output functions 421 7. 29.4 General wide string utilities 426 7.29. 4.1 Wide string numeric conversion functions 426 7. 29.4.2 Wide string copying functions 430 7.29. 4.3 Wide string concatenation functions 432 7.29, 4.4 Wide string comparison functions 433 7. 29. 4.5 Wide string search functions 435 7. 29 4.6 Miscellaneous functions 439 7. 29.5 Wide character time conversion functions 439 7. 29.6 Extended multibyte/wide character conversion utilities 440 7. 1 Single-byte/wide character conversion functions .. 441 7.29. 6.2 Conversion state functions 441 7.29.6.3 Restartable multibyte/wide character conversion functions ,,,,,442 7.29.6. 4 Restartable multibyte/wide string conversion 7.30 Wide character classification and mapping utilities <wctype, s..444 functions 447 7.30.1 Introduction 447 7.30.2 Wide character classification utilities 448 7.302.1 Wide character classification functions 448 7.30.2.2 Extensible wide character classification functions 45 7.30.3 Wide character case mapping utilities 453 7.30.3. 1 Wide character case mapping functions 453 7.30.3.2 Extensible wide character case mapping functions 7.31 Future library directions · 455 7.31.I Complex arithmetic <complex.h> 4 7.3 1.2 Character handling <ctype.h> 455 7.31. 3 Errors sereno. h> 455 7.31.4 Floating-point environment <fenv.h>.......... 455 7.3 1.5 Format conversion of integer types <inttypes.h> 455 7. 31.6 Localization <locale.h> 455 7.31.7 Signal handling <signal.h> 455 7.31. 8 Atomics <stdatomic. h> 455 7. 31.9 Boolean type and values <stdbool.h> 456 7.31.10 Integer types <stdint.h> 456 7.31. 11 Input/output <stdio. h> 456 7. 31.12 General utilities <stdlib.h> 456 VIll Contents N1570 Committee Draft- April 12, 2011 ISO/EC 9899: 201x 7.31. 13 String handling <string.h 456 7.31. 14 Date and time stime. h> 456 7.31.15 Threads sthreads. h> 456 7.31.16 Extended multibyte and wide character utilities < wchar。h> 456 7.31. 17 Wide character classification and mapping utilities <wctype.h> 457 Annex a (informative)Language syntax summary 458 A 1 Lexical grammar 458 A 2 Phrase structure grammar 465 A3 Preprocessing directives 473 Annex B (informative) Library summary 475 B. 1 Diagnostics <assert.h> 475 B 2 Complex <complex.h> 475 B3 Character handling <ctype.h> 477 B 4 Errors serro. h> 477 B5 Floating-point environment <fenv.h> 477 B6 Characteristics of floating types <float. h> 478 B 7 Format conversion of integer types <inttypes. h> 478 B 8 Alternative spellings <iso646.h> 479 B9 Sizes of integer types <limits.h> 479 B 10 Localization <locale. h> 479 B 11 Mathematics <math. h> 。479 B 12 Nonlocal jumps <setjmp. h> 484 B 13 Signal handling <signal.h> 484 B 14 Alignment <stdalign.h> 485 B 15 Variable arguments <stdarg.h> 。485 B 16 Atomics <stdatomic. h> 485 B 17 Boolean type and values <stdbool.h> 487 B. 1 8 Common definitions sstddef, h> 487 B.9 Integer types <stdint. h> 487 B 20 Input/output <stdio.h> 488 B 21 General utilities <stdlib.h> 491 B 22 Noreturn <stdnoreturn. h> 493 B 23 String handling <string.h: 493 B 24 Type-generic math <tgmath.h> 495 B 25 Threads <threads. h> 495 B 26 Date and time stime h> 496 B 27 Unicode utilities <uchar. h> 497 B 28 Extended multibyte/wide character utilities <wchar.h> 497 B 29 Wide character classification and mapping utilities <wctype.h> 502 Annex C(informative) Sequence points 503 Contents ISo/EC 9899: 201x Committee Draft- April 12, 2011 N1570 Annex D(normative) Universal character names for identifiers 504 D 1 Ranges of characters allowed 504 D 2 Ranges of characters disallowed initially 504 Annex e (informative) Implementation limits 505 Annex F(normative)IEC 60559 floating-point arithmetic 507 F1 Introduction 507 F2 Types 507 F3 Operators and functions 508 F 4 Floating to integer conversion 510 F 5 Binary-decimal conversion 510 F. 6 The return statement 511 F7 Contracted expressions 511 F8 Floating-point environment 511 F 9 Optimization 514 F10 Mathematics <math h> 517 F.10. 1 Trigonometric functions 518 F10.2 Hyperbolic functions 520 F10.3 Exponential and logarithmic functions 520 F 10.4 Power and absolute value functions 524 F 10.5 Error and gamma functions 525 F 10.6 Nearest integer functions 526 F 10.7 Remainder functions 528 F 10.8 Manipulation functions 529 F 10.9 Maximum, minimum, and positive difference functions 530 F1010 Floating multiply-add 530 F1011 Comparison macros 531 Annex G(normative)IEC 60559-compatible complex arithmetic ...... 532 G1 Introduction 532 G2 Types 532 G 3 Conventions 532 G 4 Conversions 533 G.4.1 Imaginary types 533 G 4.2 Real and imaginary 533 G.4.3 Imaginary and complex 533 G5 Binary operators 533 G 5.1 Multiplicative operators 534 G.5.2 Additive operators 537 G6 Complex arithmetic <complex.h> 537 G.6. 1 Trigonometric functions 539 G 6.2 Hyperbolic functions 539 G.6. 3 Exponential and logarithmic functions G 6.4 Power and absolute-value functions 544 G7 Type-generic math <tgmath.h> 545 Contents

...展开详情
试读 127P ANSI C11 2011-4-12
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
u010031030 虽然是草案 还是有指导意义的
2016-05-30
回复
paramha 草案到标准的过程较长,但是此草案应该是适合所有C语言使用者学习的。
2015-04-10
回复
aduzhe 作为工具查询,值得参靠。我同时下载了标准。。对比着了解
2014-10-29
回复
LDX_C_S_D_N 值得看一看,会有帮助的。
2014-08-02
回复
fanuq 很不错,可以查看新的标准。
2014-02-14
回复
Harryyang_2009 虽然是草案,当仍值得参考。
2013-11-06
回复
靖源 虽然是草案还是有用的.谢谢
2013-08-03
回复
Rabsia 只是草案,不是C11.
2013-05-25
回复
上传资源赚积分or赚钱
最新推荐
ANSI C11 2011-4-12 46积分/C币 立即下载
1/127
ANSI C11 2011-4-12第1页
ANSI C11 2011-4-12第2页
ANSI C11 2011-4-12第3页
ANSI C11 2011-4-12第4页
ANSI C11 2011-4-12第5页
ANSI C11 2011-4-12第6页
ANSI C11 2011-4-12第7页
ANSI C11 2011-4-12第8页
ANSI C11 2011-4-12第9页
ANSI C11 2011-4-12第10页
ANSI C11 2011-4-12第11页
ANSI C11 2011-4-12第12页
ANSI C11 2011-4-12第13页
ANSI C11 2011-4-12第14页
ANSI C11 2011-4-12第15页
ANSI C11 2011-4-12第16页
ANSI C11 2011-4-12第17页
ANSI C11 2011-4-12第18页
ANSI C11 2011-4-12第19页
ANSI C11 2011-4-12第20页

试读结束, 可继续阅读

46积分/C币 立即下载 >