Ansi C Reference Card.pdf
(
106 KB
)
Pobierz
6579146 UNPDF
C REFERENCE CARD (ANSI)
CONSTANTS
LONG (SUX) L OR L
OAT (SUX) F OR F
EXPONENTIAL FORM E
OCTAL (PREX ZERO) 0
HEXADECIMAL (PREX ZERO-EX) 0X OR 0X
CHARACTER CONSTANT (CHAR, OCTAL, HEX) A, \OOO, \XHH
NEWLINE, CR, TAB, BACKSPACE \N, \R, \T, \B
SPECIAL CHARACTERS \\, \?, \, \"
STRING CONSTANT (ENDS WITH \0) "ABC: : : DE"
POINTERS, ARRAYS & STRUCTURES
DECLARE POINTER TO TYPE TYPE *NAME
DECLARE FUNCTION RETURNING POINTER TO TYPE TYPE *F()
DECLARE POINTER TO FUNCTION RETURNING TYPE TYPE (*PF)()
GENERIC POINTER TYPE
FLOW OF CONTROL
STATEMENT TERMINATOR
PROGRAM STRUCTURE/FUNCTIONS
TYPE FNC(TYPE
1
,: : : )
;
BLOCK DELIMETERS
{ }
FUNCTION DECLARATIONS
EXIT FROM SWITCH, WHILE, DO, FOR
BREAK
TYPE NAME
EXTERNAL VARIABLE DECLARATIONS
NEXT ITERATION OF WHILE, DO, FOR
CONTINUE
MAIN() {
MAIN ROUTINE
GO TO
GOTO LABEL
DECLARATIONS
LOCAL VARIABLE DECLARATIONS
LABEL
LABEL:
STATEMENTS
RETURN VALUE FROM FUNCTION
RETURN EXPR
}
TYPE FNC(ARG
1
,: : : ) {
FLOW CONSTRUCTIONS
IF STATEMENT
FUNCTION DENITION
IF (EXPR) STATEMENT
ELSE IF (EXPR) STATEMENT
ELSE STATEMENT
DECLARATIONS
LOCAL VARIABLE DECLARATIONS
STATEMENTS
RETURN VALUE;
WHILE STATEMENT
WHILE (EXPR)
STATEMENT
}
/* */ COMMENTS
MAIN(INT ARGC, CHAR *ARGV[]) MAIN WITH ARGS
EXIT(ARG)
FOR STATEMENT
FOR (EXPR
1
; EXPR
2
; EXPR
3
)
STATEMENT
VOID *
DO STATEMENT
DO STATEMENT
WHILE(EXPR);
TERMINATE EXECUTION
NULL POINTER
NULL
OBJECT POINTED TO BY POINTER
*POINTER
C PREPROCESSOR
INCLUDE LIBRARY LE #INCLUDE <LENAME>
INCLUDE USER LE #INCLUDE "LENAME"
REPLACEMENT TEXT #DEFINE NAME TEXT
REPLACEMENT MACRO #DEFINE NAME(VAR) TEXT
EXAMPLE. #DEFINE MAX(A,B) ((A)>(B) ? (A) : (B))
UNDENE
SWITCH STATEMENT
SWITCH (EXPR) {
CASE CONST
1
: STATEMENT
1
BREAK;
CASE CONST
2
: STATEMENT
2
BREAK;
DEFAULT: STATEMENT
ADDRESS OF OBJECT NAME
&NAME
ARRAY
NAME[DIM]
MULTI-DIM ARRAY
NAME[DIM
1
][DIM
2
]: : :
STRUCTURES
STRUCT TAG {
}
ANSI STANDARD LIBRARIES
<ASSERT.H> <CTYPE.H> <ERRNO.H> <FLOAT.H> <LIMITS.H>
<LOCALE.H> <MATH.H> <SETJMP.H> <SIGNAL.H> <STDARG.H>
<STDDEF.H> <STDIO.H> <STDLIB.H> <STRING.H> <TIME.H>
CHARACTER CLASS TESTS <CTYPE.H>
ALPHANUMERIC? ISALNUM(C)
ALPHABETIC? ISALPHA(C)
CONTROL CHARACTER? ISCNTRL(C)
DECIMAL DIGIT? ISDIGIT(C)
PRINTING CHARACTER (NOT INCL SPACE)? ISGRAPH(C)
LOWER CASE LETTER? ISLOWER(C)
PRINTING CHARACTER (INCL SPACE)? ISPRINT(C)
PRINTING CHAR EXCEPT SPACE, LETTER, DIGIT? ISPUNCT(C)
SPACE, FORMFEED, NEWLINE, CR, TAB, VTAB? ISSPACE(C)
UPPER CASE LETTER? ISUPPER(C)
HEXADECIMAL DIGIT? ISXDIGIT(C)
CONVERT TO LOWER CASE? TOLOWER(C)
CONVERT TO UPPER CASE? TOUPPER(C)
STRING OPERATIONS <STRING.H>
S,T ARE STRINGS, CS,CT ARE CONSTANT STRINGS
LENGTH OF S STRLEN(S)
COPY CT TO S STRCPY(S,CT)
UP TO N CHARS STRNCPY(S,CT,N)
CONCATENATE CT AFTER S STRCAT(S,CT)
UP TO N CHARS STRNCAT(S,CT,N)
COMPARE CS TO CT STRCMP(CS,CT)
ONLY RST N CHARS STRNCMP(CS,CT,N)
POINTER TO RST C IN CS STRCHR(CS,C)
POINTER TO LAST C IN CS STRRCHR(CS,C)
COPY N CHARS FROM CT TO S MEMCPY(S,CT,N)
COPY N CHARS FROM CT TO S (MAY OVERLAP) MEMMOVE(S,CT,N)
COMPARE N CHARS OF CS WITH CT MEMCMP(CS,CT,N)
POINTER TO RST C IN RST N CHARS OF CS MEMCHR(CS,C,N)
PUT C INTO RST N CHARS OF CS
STRUCTURE TEMPLATE
DECLARATIONS
DECLARATION OF MEMBERS
QUOTED STRING IN REPLACE
#UNDEF NAME
};
CREATE STRUCTURE STRUCT TAG NAME
MEMBER OF STRUCTURE FROM TEMPLATE NAME.MEMBER
MEMBER OF POINTED TO STRUCTURE POINTER -> MEMBER
EXAMPLE. (*P).X AND P->X ARE THE SAME
SINGLE VALUE, MULTIPLE TYPE STRUCTURE UNION
BIT ELD WITH B BITS MEMBER : B
OPERATORS (GROUPED BY PRECEDENCE)
STRUCTURE MEMBER OPERATOR NAME.MEMBER
STRUCTURE POINTER POINTER->MEMBER
INCREMENT, DECREMENT ++, --
PLUS, MINUS, LOGICAL NOT, BITWISE NOT +, -, !, ~
INDIRECTION VIA POINTER, ADDRESS OF OBJECT *POINTER, &NAME
CAST EXPRESSION TO TYPE (TYPE) EXPR
SIZE OF AN OBJECT SIZEOF
MULTIPLY, DIVIDE, MODULUS (REMAINDER) *, /, %
ADD, SUBTRACT +, -
LEFT, RIGHT SHIFT [BIT OPS] <<, >>
COMPARISONS >, >=, <, <=
COMPARISONS ==, !=
BITWISE AND &
BITWISE EXCLUSIVE OR ^
BITWISE OR (INCL) |
LOGICAL AND &&
LOGICAL OR ||
CONDITIONAL EXPRESSION EXPR
1
? EXPR
2
: EXPR
3
ASSIGNMENT OPERATORS +=, -=, *=, : : :
EXPRESSION EVALUATION SEPARATOR ,
UNARY OPERATORS, CONDITIONAL EXPRESSION AND ASSIGNMENT OPER-
ATORS GROUP RIGHT TO LEFT; ALL OTHERS GROUP LEFT TO RIGHT.
CONCATENATE ARGS AND RESCAN
##
CONDITIONAL EXECUTION
#IF, #ELSE, #ELIF, #ENDIF
IS NAME DENED, NOT DENED?
#IFDEF, #IFNDEF
NAME DENED?
DEFINED(NAME)
LINE CONTINUATION CHAR
\
DATA TYPES/DECLARATIONS
CHARACTER (1 BYTE)
CHAR
INTEGER
INT
OAT (SINGLE PRECISION)
FLOAT
OAT (DOUBLE PRECISION)
DOUBLE
SHORT (16 BIT INTEGER)
SHORT
LONG (32 BIT INTEGER)
LONG
POSITIVE AND NEGATIVE
SIGNED
ONLY POSITIVE
UNSIGNED
POINTER TO INT, FLOAT,: : :
*INT, *FLOAT,: : :
ENUMERATION CONSTANT
ENUM
CONSTANT (UNCHANGING) VALUE
CONST
DECLARE EXTERNAL VARIABLE
EXTERN
REGISTER VARIABLE
REGISTER
LOCAL TO SOURCE LE
STATIC
NO VALUE
VOID
STRUCTURE
STRUCT
CREATE NAME BY DATA TYPE
TYPEDEF TYPENAME
SIZE OF AN OBJECT (TYPE IS SIZE_T)
SIZEOF OBJECT
SIZE OF A DATA TYPE (TYPE IS SIZE_T)
SIZEOF(TYPE NAME)
INITIALIZATION
INITIALIZE VARIABLE
TYPE NAME=VALUE
INITIALIZE ARRAY
TYPE NAME[]={VALUE
1
,: : : }
INITIALIZE CHAR STRING
CHAR NAME[]="STRING"
MEMSET(S,C,N)
C1999 JOSEPH H. SILVERMAN PERMISSIONS ON BACK. V1.3
1
2
3
#
C REFERENCE CARD (ANSI)
STANDARD UTILITY FUNCTIONS <STDLIB.H>
ABSOLUTE VALUE OF INT N ABS(N)
ABSOLUTE VALUE OF LONG N LABS(N)
QUOTIENT AND REMAINDER OF INTS N,D DIV(N,D)
RETURSN STRUCTURE WITH DIV_T.QUOT AND DIV_T.REM
QUOTIENT AND REMAINDER OF LONGS N,D LDIV(N,D)
RETURNS STRUCTURE WITH LDIV_T.QUOT AND LDIV_T.REM
PSEUDO-RANDOM INTEGER [0,RAND_MAX] RAND()
SET RANDOM SEED TO N SRAND(N)
TERMINATE PROGRAM EXECUTION EXIT(STATUS)
PASS STRING S TO SYSTEM FOR EXECUTION SYSTEM(S)
CONVERSIONS
CONVERT STRING S TO DOUBLE
INTEGER TYPE LIMITS <LIMITS.H>
THE NUMBERS GIVEN IN PARENTHESES ARE TYPICAL VALUES FOR THE
CONSTANTS ON A 32-BIT UNIX SYSTEM.
CHAR_BIT BITS IN CHAR (8)
CHAR_MAX MAX VALUE OF CHAR (127 OR 255)
CHAR_MIN MIN VALUE OF CHAR (
128 OR 0)
INT_MAX MAX VALUE OF INT (+32,767)
INT_MIN MIN VALUE OF INT (
32,768)
LONG_MAX MAX VALUE OF LONG (+2,147,483,647)
LONG_MIN MIN VALUE OF LONG (
2,147,483,648)
SCHAR_MAX MAX VALUE OF SIGNED CHAR (+127)
SCHAR_MIN MIN VALUE OF SIGNED CHAR (
128)
SHRT_MAX MAX VALUE OF SHORT (+32,767)
SHRT_MIN MIN VALUE OF SHORT (
32,768)
UCHAR_MAX MAX VALUE OF UNSIGNED CHAR (255)
UINT_MAX MAX VALUE OF UNSIGNED INT (65,535)
ULONG_MAX MAX VALUE OF UNSIGNED LONG (4,294,967,295)
USHRT_MAX MAX VALUE OF UNSIGNED SHORT
INPUT/OUTPUT <STDIO.H>
STANDARD I/O
STANDARD INPUT STREAM STDIN
STANDARD OUTPUT STREAM STDOUT
STANDARD ERROR STREAM STDERR
END OF LE EOF
GET A CHARACTER GETCHAR()
PRINT A CHARACTER PUTCHAR(CHR)
PRINT FORMATTED DATA PRINTF("FORMAT",ARG
1
,: : : )
PRINT TO STRING S SPRINTF(S,"FORMAT",ARG
1
,: : : )
READ FORMATTED DATA SCANF("FORMAT",&NAME
1
,: : : )
READ FROM STRING S SSCANF(S,"FORMAT",&NAME
1
,: : : )
READ LINE TO STRING S (< MAX CHARS)
CONVERT STRING S TO INTEGER
ATOF(S)
CONVERT STRING S TO LONG
ATOL(S)
GETS(S,MAX)
CONVERT PREX OF S TO DOUBLE
STRTOD(S,ENDP)
PRINT STRING S
PUTS(S)
CONVERT PREX OF S (BASE B) TO LONG
STRTOL(S,ENDP,B)
FILE I/O
DECLARE LE POINTER FILE *FP
POINTER TO NAMED LE FOPEN("NAME","MODE")
MODES: R (READ), W (WRITE), A (APPEND)
GET A CHARACTER GETC(FP)
WRITE A CHARACTER PUTC(CHR,FP)
WRITE TO LE FPRINTF(FP,"FORMAT",ARG
1
,: : : )
READ FROM LE FSCANF(FP,"FORMAT",ARG
1
,: : : )
CLOSE LE FCLOSE(FP)
NON-ZERO IF ERROR FERROR(FP)
NON-ZERO IF EOF FEOF(FP)
READ LINE TO STRING S (< MAX CHARS) FGETS(S,MAX,FP)
WRITE STRING S FPUTS(S,FP)
CODES FOR FORMATTED I/O: "%-+ 0W:PMC"
- LEFT JUSTIFY
+ PRINT WITH SIGN
SPACE PRINT SPACE IF NO SIGN
0 PAD WITH LEADING ZEROS
W MIN ELD WIDTH
P PRECISION
M CONVERSION CHARACTER:
H SHORT, L LONG, L LONG DOUBLE
C CONVERSION CHARACTER:
D,I INTEGER U UNSIGNED
C SINGLE CHAR S CHAR STRING
F DOUBLE E,E EXPONENTIAL
O OCTAL X,X HEXADECIMAL
P POINTER N NUMBER OF CHARS WRITTEN
G,G SAME AS F OR E,E DEPENDING ON EXPONENT
VARIABLE ARGUMENT LISTS <STDARG.H>
DECLARATION OF POINTER TO ARGUMENTS VA_LIST NAME;
INITIALIZATION OF ARGUMENT POINTER VA_START(NAME,LASTARG)
LASTARG IS LAST NAMED PARAMETER OF THE FUNCTION
ACCESS NEXT UNAMED ARG, UPDATE POINTER VA_ARG(NAME,TYPE)
CALL BEFORE EXITING FUNCTION
SAME, BUT UNSIGNED LONG
STRTOUL(S,ENDP,B)
(65,536)
STORAGE ALLOCATION
ALLOCATE STORAGE
MALLOC(SIZE), CALLOC(NOBJ,SIZE)
FLOAT TYPE LIMITS <FLOAT.H>
FLT_RADIX RADIX OF EXPONENT REP
CHANGE SIZE OF OBJECT
REALLOC(PTS,SIZE)
(2)
DEALLOCATE SPACE
FREE(PTR)
FLT_ROUNDS OATING POINT ROUNDING MODE
FLT_DIG
ARRAY FUNCTIONS
SEARCH ARRAY FOR KEY BSEARCH(KEY,ARRAY,N,SIZE,CMP())
SORT ARRAY ASCENDING ORDER QSORT(ARRAY,N,SIZE,CMP())
TIME AND DATE FUNCTIONS <TIME.H>
PROCESSOR TIME USED BY PROGRAM CLOCK()
EXAMPLE. CLOCK()/CLOCKS_PER_SEC IS TIME IN SECONDS
CURRENT CALENDAR TIME TIME()
TIME
2
-TIME
1
IN SECONDS (DOUBLE) DIFFTIME(TIME
2
,TIME
1
)
ARITHMETIC TYPES REPRESENTING TIMES CLOCK_T,TIME_T
STRUCTURE TYPE FOR CALENDAR TIME COMPS
DECIMAL DIGITS OF PRECISION
(6)
FLT_EPSILON SMALLEST X SO 1:0 + X
6
= 1:0
(10
5
)
FLT_MANT_DIG NUMBER OF DIGITS IN MANTISSA
FLT_MAX
MAXIMUM OATING POINT NUMBER
(10
37
)
FLT_MAX_EXP MAXIMUM EXPONENT
FLT_MIN
MINIMUM OATING POINT NUMBER
(10
37
)
FLT_MIN_EXP MINIMUM EXPONENT
DBL_DIG
DECIMAL DIGITS OF PRECISION
(10)
DBL_EPSILON SMALLEST X SO 1:0 + X
6
= 1:0
(10
9
)
DBL_MANT_DIG NUMBER OF DIGITS IN MANTISSA
DBL_MAX MAX DOUBLE OATING POINT NUMBER (10
37
)
DBL_MAX_EXP MAXIMUM EXPONENT
DBL_MIN MIN DOUBLE OATING POINT NUMBER (10
37
)
DBL_MIN_EXP MINIMUM EXPONENT
TM
TM_SEC SECONDS AFTER MINUTE
TM_MIN MINUTES AFTER HOUR
TM_HOUR HOURS SINCE MIDNIGHT
TM_MDAY DAY OF MONTH
TM_MON MONTHS SINCE JANUARY
TM_YEAR YEARS SINCE 1900
TM_WDAY DAYS SINCE SUNDAY
TM_YDAY DAYS SINCE JANUARY 1
TM_ISDST DAYLIGHT SAVINGS TIME AG
CONVERT LOCAL TIME TO CALENDAR TIME MKTIME(TP)
CONVERT TIME IN TP TO STRING ASCTIME(TP)
CONVERT CALENDAR TIME IN TP TO LOCAL TIME CTIME(TP)
CONVERT CALENDAR TIME TO GMT GMTIME(TP)
CONVERT CALENDAR TIME TO LOCAL TIME LOCALTIME(TP)
FORMAT DATE AND TIME INFO STRFTIME(S,SMAX,"FORMAT ",TP)
TP IS A POINTER TO A STRUCTURE OF TYPE TM
MATHEMATICAL FUNCTIONS <MATH.H>
ARGUMENTS AND RETURNED VALUES ARE DOUBLE
TRIG FUNCTIONS SIN(X), COS(X), TAN(X)
INVERSE TRIG FUNCTIONS ASIN(X), ACOS(X), ATAN(X)
ARCTAN(Y=X) ATAN2(Y,X)
HYPERBOLIC TRIG FUNCTIONS SINH(X), COSH(X), TANH(X)
EXPONENTIALS & LOGS EXP(X), LOG(X), LOG10(X)
EXPONENTIALS & LOGS (2 POWER) LDEXP(X,N), FREXP(X,*E)
DIVISION & REMAINDER
VA_END(NAME)
MODF(X,*IP), FMOD(X,Y)
MAY 1999 V1.3. COPYRIGHT C1999 JOSEPH H. SILVERMAN
PERMISSION IS GRANTED TO MAKE AND DISTRIBUTE COPIES OF THIS CARD PRO-
VIDED THE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE ARE PRESERVED ON
ALL COPIES.
SEND COMMENTS AND CORRECTIONS TO J.H. SILVERMAN, MATH. DEPT., BROWN
UNIV., PROVIDENCE, RI 02912 USA.HJHS@MATH.BROWN.EDUI
POWERS
POW(X,Y), SQRT(X)
ROUNDING
CEIL(X), FLOOR(X), FABS(X)
4
5
6
ATOI(S)
Plik z chomika:
Yohoho25
Inne pliki z tego folderu:
Anderson & Anderson - Advanced_C_Tips_and_Techniques.pdf
(16237 KB)
Ansi C Reference Card.pdf
(106 KB)
Banahan, Brady, & Doran - The C Book Featuring the ANSI C Standard.pdf
(1107 KB)
Barr - Programming Embedded Systems in C and C++ (O'Reilly, 1999).chm
(440 KB)
C algorithm for real-time DSP 1995.pdf
(10087 KB)
Inne foldery tego chomika:
Absolute.Beginners.Guide.to.C.2nd.Edition
Mano,Kime - Logic and Computer Design Fundamentals 3e
Zgłoś jeśli
naruszono regulamin