Software Engineering Measurement

A2.8 Tokens

A2.8.1 Operand Tokens

Identifier Constant String_Literal Function_Call

A2.8.2 Operator Tokens

A2.8.2.1 Keywords

auto break case char continue const default do double else enum extern float for goto if int long noalias register return short signed sizeof static struct switch typedef union unsigned volatile void while

A2.8.2.2 Punctuation

:as label operation ;as statement delimiter

A2.8.2.3 Blocks

{ } as block delimiters

A2.8.2.4 Unary Operators

&as address operator *as pointer operator -as minus operator +as plus operator !as not operator sizeof( ) (<type>)cast operators ~as integer complement operator ++as integer prefix increment operator ++as short prefix increment operator ++as long prefix increment operator ++ as float prefix increment operator ++ as double prefix increment operator --as integer prefix decrement operator -- as short prefix decrement operator --as long prefix decrement operator --as float prefix decrement operator --as double prefix decrement operator ++as integer postfix increment operator ++as short postfix increment operator ++as long postfix increment operator ++as float postfix increment operator ++as double postfix increment operator --as integer postfix decrement operator --as short postfix decrement operator --as long postfix decrement operator --as float postfix decrement operator --as double postfix decrement operator

A2.8.2.5 Function Calls as Operators

intfunction call shortfunction call longfunction call floatfunction call doublefunction call charfunction call voidfunction call

A2.8.2.6 Array Operators

[ ]

A2.8.2.7 Structure Operators

.as structure operator ->as structure operator

A2.8.2.8 Primary Operators

( )

A2.8.2.9 Assignment Operators

=integer =short integer =long integer =float =double float = char =string =array =struct *=integer multiplication *=short multiplication *=long multiplication *=float multiplication *=double multiplication /=integer division /=short division /=long division /=float division /=double division %=integer modulus %=short modulus %=long modulus +=integer addition +=short addition +=long addition +=float addition +=double addition -=integer subtraction -=short subtraction -=long subtraction -=float subtraction -=double subtraction <<= >>= &= ^= |=

A2.8.2.10 Conditional Operators

? :

A2.8.2.11 Logical Operators

|| && | ^ &

A2.8.2.12 Relational Operators

< > <= >= == !=

A2.8.2.13 Shift Operators

>> <<

A2.8.2.14 Addition Operators

+integer addition +short addition +long addition +float addition +double addition -integer subtraction -short subtraction -long subtraction -float subtraction -double subtraction

A2.8.2.15 Multiplying Operators

*integer multiplication *short multiplication *long multiplication *float multiplication *double multiplication %integer modulus operation %short modulus operation %long modulus operation /integer division /short division /long division /float division /double division

A2.8.3 Compiler Directives

There follows a list of compiler directives that must be resolved before the measurement process can begin.

#include #define #undef #if #ifdef #ifndef #else #endif #elif #error #pragma #

A2.8.4 C Functions

A2.8.4.1 Math

abs acos asin atan ceil cos cosh exp fabs floor log log10 pow rand sin sing sqrt tan tanh

A2.8.4.2 Memory Allocation

calloc free malloc

A2.8.4.3 Input/Output

close creat fclose fgetc fgets fopen fprintf fputc fputs fread fscanf fseek ftell fwrite getc getchar gets lseek open printf putc putchar puts read scanf sprintf sscanf ungetc

A2.8.4.4 Type and Conversion

atof atoi atol isalnum isalpha isascii isatty iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit toascii tolower toupper

A2.8.4.5 String

strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn

A2.8.4.6 Miscellaneous

exit signal sleep system time

Категории