'' The
Zirkel monogram of a German
Studentenverbindung includes an exclamation mark if the society is still active.
Mathematics and formal logic In
mathematics the symbol represents the
factorial operation. The expression means "the product of the
integers from 1 to ", for example, 4! (read
four factorial) is 4 × 3 × 2 × 1 = 24. Two exclamation marks () is the
double factorial, which is a smaller value. In front of a number () represents the
subfactorial. It is used to represent the
uniqueness quantifier. In
linear logic, the exclamation mark denotes one of the modalities that control weakening and contraction.
Computing In
computing, the exclamation mark is
ASCII character 33 (21 in
hexadecimal). Due to its availability even on early computers, the character was used for many purposes. The name given to "!" by programmers varies according to their background, though it was very common to give it a short name to make reading code aloud easier. "Bang" is very popular. The symbol in formal logic for
negation is but, as this symbol is not present as standard on most keyboards, the C convention has spread informally to other contexts. In Cascading Style Sheets (
CSS), "!" is used as a delimiter in the flag, which alters the rules selecting declarations. The flag means "important", rather than "not important", which usage of "!" might suggest. In
Hypertext Markup Language (HTML), "!" appears as part of the
Document type declaration as, for example, . It also forms part of the HTML opening comment delimiter . Early
email systems also used the exclamation mark as a separator character between hostnames for routing information, usually referred to as "
bang path" notation. In the
IRC protocol, a user's nickname and
ident are separated by an exclamation mark in the
hostmask assigned to them by the server. In
UNIX scripting (typically for
UNIX shell or
Perl), "!" is usually used after a "#" in the first line of a script, the
interpreter directive, to tell the OS what program to use to run the script. is usually called a "hash-bang" or
shebang. A similar convention for
PostScript files calls for the first line to begin with , called "percent-bang". An exclamation mark starts
history expansions in many
Unix shells such as
bash and
tcsh where executes the previous command and refers to all the arguments from the previous command.
Acorn RISC OS uses filenames starting with pling to create an
application directory: for instance, a file called !Run is executed when the folder containing it is double-clicked (holding down shift prevents this). There is also !Boot (executed the first time the application containing it comes into view of the filer), !Sprites (icons), !Help, and others. In
APL, is used for the
factorial of x (backwards from math notation), and also for the
binomial coefficient: means \tbinom nk or .
BBC BASIC used the exclamation mark as an indirection operator, equivalent to
PEEK and POKE of four
bytes at once.
BCPL, the precursor of
C, used "!" for pointer and array indirection: is equivalent to in C, and is equivalent to in C. In the
Xbase family of programming languages, which includes
dBase and
FoxPro, an exclamation mark, when used as part of an expression, indicates negation. For example, != means "not equal to". At the start of a line of code, it is a synonym for RUN (which executes an external program). In the
Haskell programming language, "!" is used to express strictness. In the
Kotlin programming language, "!!" ("double-bang") is the not-null assertion operator, used to override
null safety so as to allow a
null pointer exception. In the
ML programming language (including
Standard ML and
OCaml), "!" is the operator to get the value out of a "reference" data structure. In the
Raku programming language, the "!"
twigil is used to access private attributes or methods in a class (like {{code|class Person { has $!name; }|raku}} or ). In the
Scheme,
Julia, and
Ruby programming languages, "!" is conventionally the suffix for functions and special forms that mutate their input. In the
Swift programming language, a type followed by "!" denotes an "implicitly unwrapped optional", an
option type where the compiler does not enforce safe unwrapping. The "!" operator "force unwraps" an option type, causing an error if it is nil. In
Geek Code version 3, "!" is used before a letter to denote that the geek refuses to participate in the topic at hand. In some cases, it has an alternate meaning, such as
G! denoting a geek of no qualifications,
!d denoting not wearing any clothes,
P! denoting not being allowed to use Perl, and so on. They all share some negative connotations, however. is used to denote changed lines in diff| output in the . In the , changes to a single line are denoted as an addition and deletion.
Video games The exclamation mark can be used in video games to signify that a character is startled or alarmed. In the
Metal Gear and
Paper Mario series, an exclamation mark appears over enemies' heads when they notice the player. In
massively multiplayer online games such as
World of Warcraft, an exclamation mark hovering over a character's head is often used to indicate that they are offering a quest for the player to complete. In
Dota 2, an exclamation mark is shown above the head of a unit if it is killed by means not granting enemies experience or gold (if it is "denied"). In the 2005 arcade dance simulation game
In the Groove 2, there is a song titled "!" (also referred to as "bang") by the artist Onyx.
Internet culture In
Internet culture, especially where
leet is used, multiple exclamation marks may be affixed with the numeral "1", as in
!!!!!!111. The notation originates from a common error: when typing multiple exclamation points quickly, the typist may fail to hold the combination that produces the exclamation mark on many
keyboard layouts. This error, first used intentionally as a joke in the leet linguistic community, is now an accepted form of exclamation in leet and derivative dialects such as
Lolspeak. Some utterances include further substitutions, for example "!!!111oneeleven". In
fandom and
fanfiction, ! is used to signify a defining quality in a character, usually signifying an alternative interpretation of a character from a
canonical work. Examples of this would be "Romantic!Draco" or "Vampire!Harry" from the
Harry Potter fandom. It is also used to clarify the current persona of a character with multiple identities or appearances, such as to distinguish "Armor!
Al" from "Human!Al" in a work based on
Fullmetal Alchemist. The origin of this usage is unknown, although it is hypothesized to have originated with certain
Teenage Mutant Ninja Turtles action figures; for example, "Football Player! Leonardo", "Rockstar! Raphael", and "Breakdancer! Michelangelo".
Comics '' cover from 1959 ends every sentence with an exclamation point or
question mark. Often, few or no
periods would be used in the entire book. Some
comic books, especially
superhero comics of the mid-20th century, routinely use the exclamation point instead of the period, Comic book writer
Elliot S! Maggin once accidentally signed his name with an exclamation due to the habit of using them when writing comic scripts; it became his professional name from then on. Similarly, comic artist
Scott Shaw has used the exclamation point after his name throughout his career. In comic books and comics in general, a large exclamation point is often used near or over a character's head to indicate surprise. A
question mark can similarly be used to indicate confusion.
Chess In
chess notation, "
!" denotes a good move, "
!!" denotes an excellent move, "
?!" denotes a dubious move, and "
!?" denotes an interesting, risky move. In some chess variants, such as large-board
Shogi variants, "!" is used to record pieces captured by stationary feeding or burning.
Scrabble In
Scrabble, an exclamation mark written after a word is used to indicate its presence in the
Official Tournament and Club Word List but its absence from the
Official Scrabble Players Dictionary, usually because the word has been judged offensive.
Baseball Exclamation points or
asterisks can be used on scorecards to denote a "great defensive play".
Popular music The band
!!! (pronounced "Chk Chk Chk") uses exclamation points as its name. In 2008, the pop-punk band
Panic! at the Disco dropped the exclamation point in its name; this became the "most-discussed topic on [fan] message boards around the world". In 2009, the exclamation mark was re-inserted following the band's split. The band
Bomb the Music Industry! utilizes an exclamation mark in its name, as well as several album and song titles and promotional material. Examples include their songs "(Shut) Up The Punx!!!" and the album
Adults!!!: Smart!!! Shithammered!!! And Excited by Nothing!!!!!!!. American musician
Pink stylizes her stage name "P!NK", and uses three exclamation points in the subtitle of her 2010 release,
Greatest Hits... So Far!!!.
Television The exclamation mark was included in the title of
Dinah Shore's TV series,
Dinah! The exclamation mark was later the subject of a bitter argument between
Elaine Benes and her boyfriend, Jake Jarmel, in the
Seinfeld episode, "
The Sniffing Accountant". Elaine got upset with Jake for not putting an exclamation mark at the end of a message about her friend having a baby. Jake took extreme exception to the trivial criticism and broke up with Elaine, putting an exclamation mark after his parting words: "I'm leaving!" ==Unicode code-points (with HTML)==