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