EZ Notes Logo

EZNotes

🎯 Aim

To learn about different types of tokens in C/C++ and identify whether a given value is a Reserved Word, Numeric Constant, Character Constant, String Constant, or None of the above.

📖 Introduction

In C/C++ programming, a token is the smallest unit in a program. There are different types of tokens:

  • Reserved Words (Keywords): Words that have a special meaning in C/C++. They cannot be used as variable names. Examples: int, float, if, else, return, while, for, break, continue, switch, case, default, do, void, char, double, long, short, signed, unsigned, const, static, extern, sizeof, typedef, union, struct, enum, class, public, private, protected, virtual, friend, inline, template, typename.
  • Numeric Constant: A number without quotes. Examples: 10, -5, 3.14, 0, 255, -2.5
  • Character Constant: A single character enclosed in single quotes. Examples: 'A', 'a', '5', '$', '\n'
  • String Constant: A sequence of characters enclosed in double quotes. Examples: "Hello", "123", "A", "Hello World"
💡 Tip: Reserved words are also called keywords. They are part of the C/C++ language syntax.

📊 Table: Identify the Token Type

Token Type Reason
int 🔴 Reserved Word C++ keyword for integer data type
float 🔴 Reserved Word C++ keyword for floating-point data type
if 🔴 Reserved Word C++ keyword for conditional statement
else 🔴 Reserved Word C++ keyword for else clause
return 🔴 Reserved Word C++ keyword to return from a function
while 🔴 Reserved Word C++ keyword for while loop
for 🔴 Reserved Word C++ keyword for for loop
break 🔴 Reserved Word C++ keyword to break out of a loop
continue 🔴 Reserved Word C++ keyword to continue a loop
switch 🔴 Reserved Word C++ keyword for switch statement
case 🔴 Reserved Word C++ keyword for case in switch
default 🔴 Reserved Word C++ keyword for default case
do 🔴 Reserved Word C++ keyword for do-while loop
void 🔴 Reserved Word C++ keyword for void type
char 🔴 Reserved Word C++ keyword for character data type
double 🔴 Reserved Word C++ keyword for double precision floating-point
long 🔴 Reserved Word C++ keyword for long integer
short 🔴 Reserved Word C++ keyword for short integer
const 🔴 Reserved Word C++ keyword for constant values
static 🔴 Reserved Word C++ keyword for static storage
10 🔵 Numeric Constant Integer number without quotes
-5 🔵 Numeric Constant Negative integer without quotes
3.14 🔵 Numeric Constant Floating-point number without quotes
0 🔵 Numeric Constant Integer zero without quotes
255 🔵 Numeric Constant Integer number without quotes
-2.5 🔵 Numeric Constant Negative floating-point number without quotes
100 🔵 Numeric Constant Integer number without quotes
0.5 🔵 Numeric Constant Floating-point number without quotes
-100 🔵 Numeric Constant Negative integer without quotes
99.99 🔵 Numeric Constant Floating-point number without quotes
'A' 🟣 Character Constant Single character in single quotes
'a' 🟣 Character Constant Single character in single quotes
'5' 🟣 Character Constant Single character in single quotes
'$' 🟣 Character Constant Single character in single quotes
'\n' 🟣 Character Constant Escape sequence in single quotes
' ' 🟣 Character Constant Space character in single quotes
"Hello" 🟠 String Constant Sequence of characters in double quotes
"123" 🟠 String Constant Sequence of characters in double quotes
"A" 🟠 String Constant Single character in double quotes
"Hello World" 🟠 String Constant Sequence of characters in double quotes
"123.45" 🟠 String Constant Sequence of characters in double quotes
"" 🟠 String Constant Empty string in double quotes
hello ⚪ None Not a reserved word, not in quotes
12.5.6 ⚪ None Invalid numeric format
'Hello' ⚪ None Multiple characters in single quotes
"A' ⚪ None Mismatched quotes
'' ⚪ None Empty character constant (invalid)
'AB' ⚪ None Multiple characters in single quotes
1,000 ⚪ None Contains comma (invalid in C++)
" ⚪ None Unclosed double quotes
myVar ⚪ None Variable name, not a token type in this list
#include ⚪ None Preprocessor directive, not a token
📌 Important: Reserved words cannot be used as variable names. They have special meanings in C/C++.

📊 Observations

  • Reserved words are keywords like int, if, return.
  • Numeric constants are numbers without quotes.
  • Character constants are single characters in single quotes.
  • String constants are sequences in double quotes.
  • Some values like hello or myVar are none of these.

✅ Result

You have learned to identify different types of tokens in C/C++. You can now distinguish between Reserved Words, Numeric Constants, Character Constants, String Constants, and values that are none of these.

💡 Tip: When identifying a token, check for quotes first, then check if it's a keyword, and finally check if it's a valid number.

🎯 مقصد

C/C++ میں مختلف اقسام کے ٹوکنز کے بارے میں سیکھنا اور یہ شناخت کرنا کہ دی گئی ویلیو ریزروڈ ورڈ، نیومرک کنسٹنٹ، کریکٹر کنسٹنٹ، سٹرنگ کنسٹنٹ ہے یا ان میں سے کوئی نہیں۔

📖 تعارف

C/C++ پروگرامنگ میں، ٹوکن ایک پروگرام کی سب سے چھوٹی اکائی ہے۔ ٹوکنز کی مختلف اقسام ہیں:

  • ریزروڈ ورڈز (کلیدی الفاظ): وہ الفاظ جن کا C/C++ میں خاص معنی ہے۔ انہیں متغیر کے نام کے طور پر استعمال نہیں کیا جا سکتا۔ مثالیں: int، float، if، else، return، while، for، break، continue
  • نیومرک کنسٹنٹ: کوٹس کے بغیر ایک عدد۔ مثالیں: 10، -5، 3.14، 0، 255
  • کریکٹر کنسٹنٹ: سنگل کوٹس میں ایک حرف۔ مثالیں: 'A'، 'a'، '5'، '$'
  • سٹرنگ کنسٹنٹ: ڈبل کوٹس میں حروف کا سلسلہ۔ مثالیں: "Hello"، "123"، "A"، "Hello World"
💡 مشورہ: ریزروڈ ورڈز کو کی ورڈز بھی کہا جاتا ہے۔ یہ C/C++ زبان کی ترکیب کا حصہ ہیں۔

📊 جدول: ٹوکن کی قسم کی شناخت کریں

ٹوکن قسم وجہ
int 🔴 ریزروڈ ورڈ انٹیجر ڈیٹا ٹائپ کے لیے C++ کی ورڈ
float 🔴 ریزروڈ ورڈ فلوٹنگ پوائنٹ ڈیٹا ٹائپ کے لیے C++ کی ورڈ
if 🔴 ریزروڈ ورڈ مشروط بیان کے لیے C++ کی ورڈ
else 🔴 ریزروڈ ورڈ else clause کے لیے C++ کی ورڈ
return 🔴 ریزروڈ ورڈ فنکشن سے واپسی کے لیے C++ کی ورڈ
while 🔴 ریزروڈ ورڈ while لوپ کے لیے C++ کی ورڈ
for 🔴 ریزروڈ ورڈ for لوپ کے لیے C++ کی ورڈ
break 🔴 ریزروڈ ورڈ لوپ سے باہر نکلنے کے لیے C++ کی ورڈ
continue 🔴 ریزروڈ ورڈ لوپ جاری رکھنے کے لیے C++ کی ورڈ
switch 🔴 ریزروڈ ورڈ switch بیان کے لیے C++ کی ورڈ
case 🔴 ریزروڈ ورڈ switch میں case کے لیے C++ کی ورڈ
default 🔴 ریزروڈ ورڈ ڈیفالٹ کیس کے لیے C++ کی ورڈ
do 🔴 ریزروڈ ورڈ do-while لوپ کے لیے C++ کی ورڈ
void 🔴 ریزروڈ ورڈ void ٹائپ کے لیے C++ کی ورڈ
char 🔴 ریزروڈ ورڈ کریکٹر ڈیٹا ٹائپ کے لیے C++ کی ورڈ
double 🔴 ریزروڈ ورڈ ڈبل پریسیژن فلوٹنگ پوائنٹ کے لیے C++ کی ورڈ
long 🔴 ریزروڈ ورڈ لانگ انٹیجر کے لیے C++ کی ورڈ
short 🔴 ریزروڈ ورڈ شارٹ انٹیجر کے لیے C++ کی ورڈ
const 🔴 ریزروڈ ورڈ کنسٹنٹ ویلیوز کے لیے C++ کی ورڈ
static 🔴 ریزروڈ ورڈ اسٹیٹک اسٹوریج کے لیے C++ کی ورڈ
10 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر انٹیجر نمبر
-5 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر منفی انٹیجر
3.14 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر فلوٹنگ پوائنٹ نمبر
0 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر انٹیجر صفر
255 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر انٹیجر نمبر
-2.5 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر منفی فلوٹنگ پوائنٹ نمبر
100 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر انٹیجر نمبر
0.5 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر فلوٹنگ پوائنٹ نمبر
-100 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر منفی انٹیجر
99.99 🔵 نیومرک کنسٹنٹ کوٹس کے بغیر فلوٹنگ پوائنٹ نمبر
'A' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں ایک حرف
'a' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں ایک حرف
'5' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں ایک حرف
'$' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں ایک حرف
'\n' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں ایسکیپ سیکوئنس
' ' 🟣 کریکٹر کنسٹنٹ سنگل کوٹس میں خالی جگہ
"Hello" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں حروف کا سلسلہ
"123" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں حروف کا سلسلہ
"A" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں ایک حرف
"Hello World" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں حروف کا سلسلہ
"123.45" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں حروف کا سلسلہ
"" 🟠 سٹرنگ کنسٹنٹ ڈبل کوٹس میں خالی سٹرنگ
hello ⚪ کوئی نہیں ریزروڈ ورڈ نہیں، کوٹس میں نہیں
12.5.6 ⚪ کوئی نہیں غلط عددی فارمیٹ
'Hello' ⚪ کوئی نہیں سنگل کوٹس میں متعدد حروف
"A' ⚪ کوئی نہیں کوٹس کا ملاپ نہیں
'' ⚪ کوئی نہیں خالی کریکٹر کنسٹنٹ (غلط)
'AB' ⚪ کوئی نہیں سنگل کوٹس میں متعدد حروف
1,000 ⚪ کوئی نہیں کاما ہے (C++ میں غلط)
" ⚪ کوئی نہیں نامکمل ڈبل کوٹس
myVar ⚪ کوئی نہیں متغیر کا نام، اس فہرست میں کوئی ٹوکن نہیں
#include ⚪ کوئی نہیں پریپروسیسر ڈائریکٹو، ٹوکن نہیں
📌 اہم: ریزروڈ ورڈز کو متغیر کے نام کے طور پر استعمال نہیں کیا جا سکتا۔ ان کا C/C++ میں خاص معنی ہے۔

📊 مشاہدات

  • ریزروڈ ورڈز کلیدی الفاظ ہیں جیسے int، if، return۔
  • نیومرک کنسٹنٹس کوٹس کے بغیر اعداد ہیں۔
  • کریکٹر کنسٹنٹس سنگل کوٹس میں ایک حرف ہیں۔
  • سٹرنگ کنسٹنٹس ڈبل کوٹس میں حروف کا سلسلہ ہیں۔
  • کچھ ویلیوز جیسے hello یا myVar ان میں سے کوئی نہیں ہیں۔

✅ نتیجہ

آپ نے C/C++ میں مختلف اقسام کے ٹوکنز کی شناخت کرنا سیکھ لیا ہے۔ اب آپ ریزروڈ ورڈز، نیومرک کنسٹنٹس، کریکٹر کنسٹنٹس، سٹرنگ کنسٹنٹس اور ان میں سے کسی بھی قسم کی ویلیوز کے درمیان فرق کر سکتے ہیں۔

💡 مشورہ: ٹوکن کی شناخت کرتے وقت، پہلے کوٹس چیک کریں، پھر چیک کریں کہ آیا یہ کلیدی لفظ ہے، اور آخر میں چیک کریں کہ آیا یہ ایک درست عدد ہے۔
⬅ Back to Practical Notebooks