एक या कई वस्तुओं पर लागू ऑपरेशन का वर्णन करने के लिए एक ऑपरेटर का उपयोग किया जाता है। यह मुख्य रूप से भावों में अर्थपूर्ण है, लेकिन घोषणाओं में भी। यह आम तौर पर गैर-अल्फ़ान्यूमेरिक वर्णों का उपयोग करके एक छोटा अनुक्रम होता है।
एक पंक्चुएटर तत्वों की सूची को अलग या समाप्त करने के लिए प्रयोग किया जाता है।
सी ऑपरेटर और पंक्चुएटर इस प्रकार हैं -
... && -= >= ~ + ; ] <<= &= -> >> % , < ^ >>= *= /= ^= & - = { != ++ << |= ( . > | %= += <= || ) / ? } ## -- == ! * : [ #
ध्यान दें कि कुछ अनुक्रमों का उपयोग ऑपरेटरों और विराम चिह्नों के रूप में किया जाता है, जैसे *, =,:, # और,।
कई पंक्चुएटर्स को जोड़ियों द्वारा इस्तेमाल किया जाना है, जैसे ( ), [ ], { }।
इनपुट टेक्स्ट को पार्स करते समय, कंपाइलर एक टोकन के लिए जितना संभव हो उतना लंबा अनुक्रम बनाने की कोशिश करता है, इसलिए जब a+++++b को पार्स करते हैं, तो कंपाइलर निम्नलिखित को पहचान लेगा -
a ++ ++ + b which is not a valid construct
संकलक निम्नलिखित पर विचार नहीं करेगा -
a ++ + ++ b which may be valid