Die in einem User-Language-Programm verwendeten Satzzeichen lauten:
| [ ] | Eckige Klammern |
| ( ) | Runde Klammern |
| { } | Streben |
| , | Komma |
| ; | Semikolon |
| : | Doppelpunkt |
| = | Gleichheitszeichen |
Andere Sonderzeichen werden in einem ULP als Operatoren verwendet.
Eckige Klammern werden in Anordnungsdefinitionen
int ai[];
in tiefgestellten Zeichen in Anordnungen
n = ai[2];
und in tiefgestellten Zeichen in Zeichenfolgen verwendet, um auf die einzelnen Zeichen einer Zeichenfolge zuzugreifen.
string s = "Hello world";
char c = s[2];Runde Klammern dienen zur Gruppierung von Ausdrücken (wodurch die Priorität der normalen Operatoren geändert werden kann), Isolierung bedingter Ausdrücke und Angabe von Funktionsaufrufen und Funktionsparametern:
d = c * (a + b);
if (d == z) ++x;
func();
void func2(int n) { ... }Geschweifte Klammern geben den Anfang und das Ende einer zusammengesetzten Anweisung an:
if (d == z) {
++x;
func();
}Sie werden auch zum Gruppieren der Werte eines Anordungs-Initialisierers verwendet:
int ai[] = { 1, 2, 3 };
Das Komma trennt die Elemente einer Funktionsargumentliste oder die Parameter eines Funktionsaufrufs:
int func(int n, real r, string s) { ... }
int i = func(1, 3.14, "abc");Außerdem werden die Werte eines Anordnungs-Initialisierers beschränkt:
int ai[] = { 1, 2, 3 };
Es trennt des Weiteren die Elemente einer Variablendefinition:
int i, j, k;
Das Semikolon beendet eine Anweisung. Beispiel:
i = a + b;
Außerdem werden die Ausdrücke init, test und increment einer for-Anweisung begrenzt:
for (int n = 0; n < 3; ++n) {
func(n);
}Der Doppelpunkt gibt das Ende einer Beschriftung in einer switch-Anweisung an:
switch (c) {
case 'a': printf("It was an 'a'\n"); break;
case 'b': printf("It was a 'b'\n"); break;
default: printf("none of them\n");
}Das Gleichheitszeichen trennt Variablendefinitionen von den Initialisierungslisten:
int i = 10;
char c[] = { 'a', 'b', 'c' };Es wird auch als Zuweisungsoperator verwendet.