Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

History
313 lines (238 loc) · 5.97 KB

File metadata and controls

313 lines (238 loc) · 5.97 KB

🟢 C++ Basic Syntax & Structure

📚 Overview

C++ is a powerful, general-purpose programming language that supports multiple programming paradigms. This guide covers the fundamental syntax and structure you need to get started.


🏗️ Basic Program Structure

Hello World Example

#include<iostream>// Include input/output stream libraryusingnamespacestd;// Use standard namespaceintmain() { // Main function - entry point
cout << "Hello, World!" << endl; // Output statementreturn0; // Return success status
}

Key Components Explained

  • #include - Preprocessor directive to include libraries
  • using namespace std - Makes standard library accessible
  • int main() - Main function, program entry point
  • cout - Standard output stream
  • << - Stream insertion operator
  • endl - End line and flush buffer
  • return 0 - Exit program successfully

📝 Basic Syntax Rules

1. Semicolons

Every statement must end with a semicolon ;

int x = 5; // Correct
cout << "Hello"; // Correctint y = 10// ERROR: Missing semicolon

2. Braces {}

Used to define code blocks and scope

if (condition) {
// Code block
statement1;
statement2;
}

3. Comments

// Single line comment/*Multi-line commentCan span multiple lines*//// Documentation comment (for tools like Doxygen)

🔤 Naming Conventions

Variables & Functions

  • Use descriptive names
  • Start with letter or underscore
  • Case sensitive
  • Cannot use reserved keywords
// Good namingint userAge = 25;
string firstName = "John";
bool isActive = true;
// Avoidint a = 25; // Too short
string fn = "John"; // Abbreviationbool flag = true; // Unclear

Constants

constintMAX_SIZE = 100; // Runtime constantconstexprintARRAY_SIZE = 50; // Compile-time constant
#definePI3.14159// Preprocessor macro (avoid in modern C++)

📦 Basic Data Types

Integer Types

int number = 42; // Usually 4 bytesshort small = 32767; // 2 byteslong big = 2147483647L; // 4+ byteslonglong huge = 9223372036854775807LL; // 8 bytes

Floating Point Types

float pi = 3.14f; // 4 bytes, 6-7 digits precisiondouble pi_double = 3.14159265359; // 8 bytes, 15-17 digits precisionlongdouble pi_long = 3.14159265359L; // 10+ bytes

Character Types

char letter = 'A'; // 1 bytewchar_t wide = L'Ω'; // Wide characterchar16_t utf16 = u''; // UTF-16 characterchar32_t utf32 = U'🌍'; // UTF-32 character

Boolean Type

bool isTrue = true; // true (1) or false (0)bool isFalse = false;

🔄 Variables & Assignment

Declaration & Initialization

// Declarationint x;
int y, z;
// Initializationint a = 10; // Copy initializationintb(20); // Direct initializationint c{30}; // Brace initialization (C++11)int d = {40}; // Copy brace initialization// Multiple declarationint e = 50, f = 60, g = 70;

Type Deduction (C++11+)

auto number = 42; // intauto text = "Hello"; // const char*auto flag = true; // boolauto pi = 3.14159; // double// With explicit typeauto value = int{100}; // int

📥📤 Input & Output

Basic Output

#include<iostream>usingnamespacestd;intmain() {
cout << "Text output" << endl;
cout << "Number: " << 42 << endl;
cout << "Multiple " << "values " << "in " << "one " << "line" << endl;
return0;
}

Basic Input

#include<iostream>usingnamespacestd;intmain() {
int age;
string name;
cout << "Enter your name: ";
cin >> name;
cout << "Enter your age: ";
cin >> age;
cout << "Hello " << name << ", you are " << age << " years old!" << endl;
return0;
}

🎯 Common Pitfalls & Best Practices

1. Always Initialize Variables

// Badint x;
cout << x << endl; // Undefined behavior!// Goodint x = 0;
cout << x << endl; // Predictable output

2. Use Meaningful Names

// Badint a, b, c;
// Goodint width, height, depth;

3. Avoid Magic Numbers

// Badif (score >= 70) { ... }
// GoodconstintPASSING_SCORE = 70;
if (score >= PASSING_SCORE) { ... }

4. Use Braces for All Control Structures

// Badif (condition)
statement;
// Goodif (condition) {
statement;
}

🧪 Practice Examples

Example 1: Simple Calculator

#include<iostream>usingnamespacestd;intmain() {
int num1, num2;
cout << "Enter first number: ";
cin >> num1;
cout << "Enter second number: ";
cin >> num2;
cout << "Sum: " << num1 + num2 << endl;
cout << "Difference: " << num1 - num2 << endl;
cout << "Product: " << num1 * num2 << endl;
if (num2 != 0) {
cout << "Quotient: " << num1 / num2 << endl;
} else {
cout << "Cannot divide by zero!" << endl;
}
return0;
}

Example 2: Temperature Converter

#include<iostream>usingnamespacestd;intmain() {
double celsius, fahrenheit;
cout << "Enter temperature in Celsius: ";
cin >> celsius;
fahrenheit = (celsius * 9.0 / 5.0) + 32.0;
cout << celsius << "°C = " << fahrenheit << "°F" << endl;
return0;
}

📚 What's Next?

After mastering basic syntax, move on to:

  1. Control Flow - if/else, loops, switch statements
  2. Functions - Function definition, parameters, return values
  3. Arrays & Vectors - Collections of data
  4. Strings - Text manipulation

🔗 Related Topics


Remember: Practice is key! Write small programs to reinforce these concepts.