📖 Scenario: Imagine you are working on a program that needs to handle names of people from different countries. You want to understand how strings work in C++ compared to other languages, especially how to create, modify, and display strings.
🎯 Goal: You will create a simple C++ program that shows how to create strings, add text to them, and print the final result. This will help you see how strings behave in C++.
📋 What You'll Learn
Create a string variable with a specific initial value
Create a second string variable to hold additional text
Combine the two strings using the + operator
Print the combined string to the console
💡 Why This Matters
🌍 Real World
Handling names and text data is common in software like contact managers, user profiles, and messaging apps.
💼 Career
Understanding string operations in C++ is essential for software development, especially in systems programming and applications requiring efficient text processing.
Progress0 / 4 steps
1
Create the initial string
Create a std::string variable called firstName and set it to the exact value "Alice".
DSA C++
Hint
Use std::string to create a string variable and assign the value "Alice" using double quotes.
2
Create a second string for last name
Create a std::string variable called lastName and set it to the exact value "Smith".
DSA C++
Hint
Use std::string to create a string variable and assign the value "Smith" using double quotes.
3
Combine the two strings
Create a std::string variable called fullName that combines firstName and lastName with a space between them using the + operator.
DSA C++
Hint
Use the + operator to join strings and add a space " " between firstName and lastName.
4
Print the combined string
Use std::cout to print the variable fullName followed by a newline.
DSA C++
Hint
Use std::cout << fullName << std::endl; to print the combined string with a newline.
Practice
(1/5)
1. In C++, which of the following correctly describes how strings are stored compared to Python strings?
easy
A. C++ strings are mutable sequences of characters, while Python strings are immutable.
B. Both C++ and Python strings are immutable sequences of characters.
C. C++ strings are immutable, but Python strings are mutable.
D. Both C++ and Python strings are mutable sequences of characters.
Solution
Step 1: Understand C++ string mutability
C++ std::string allows modification of characters after creation, so it is mutable.
Step 2: Understand Python string mutability
Python strings cannot be changed after creation; they are immutable.
Final Answer:
C++ strings are mutable sequences of characters, while Python strings are immutable. -> Option A
Quick Check:
Mutability difference = C++ strings are mutable sequences of characters, while Python strings are immutable. [OK]
Hint: Remember: C++ strings can change, Python strings cannot [OK]
Common Mistakes:
Thinking Python strings are mutable like lists
Assuming C++ strings are immutable like Python
Confusing character arrays with std::string
Believing both languages treat strings the same
2. Which of the following is the correct way to declare and initialize a string in C++?
easy
A. string s = 'hello';
B. std::string s = "hello";
C. char s = "hello";
D. string s = "hello";
Solution
Step 1: Check correct string type and syntax
In C++, std::string is the standard string class and strings use double quotes for literals.
Step 2: Validate each option
string s = 'hello'; uses single quotes which are for single characters, char s = "hello"; uses char for multiple characters, string s = "hello"; misses std:: namespace.
Final Answer:
std::string s = "hello"; -> Option B
Quick Check:
C++ string declaration = std::string s = "hello"; [OK]
Hint: Use std::string and double quotes for strings in C++ [OK]
Common Mistakes:
Using single quotes for strings
Forgetting std:: namespace
Using char type for strings
Mixing C-style strings with std::string syntax
3. What will be the output of the following C++ code?
std::string s = "abc";
s[1] = 'z';
std::cout << s << std::endl;
medium
A. abc
B. Compilation error
C. abcz
D. azc
Solution
Step 1: Understand string indexing and mutability in C++
std::string allows modifying characters by index, so s[1] = 'z' changes second character.
Step 2: Apply the change and print
Original string "abc" changes to "azc" after s[1] = 'z'. Output is "azc".
Final Answer:
azc -> Option D
Quick Check:
Mutable string index change = azc [OK]
Hint: C++ strings can be changed by index directly [OK]
Common Mistakes:
Expecting original string unchanged
Thinking strings are immutable like Python
Assuming compilation error due to indexing
Confusing with C-style char arrays
4. Identify the error in the following C++ code snippet:
std::string s = "hello";
s[5] = '!';
std::cout << s << std::endl;
medium
A. Compilation error: invalid assignment
B. No error, output: hello!
C. Runtime error: out of range access
D. Output: hello
Solution
Step 1: Check string length and index used
String "hello" has length 5, valid indices 0 to 4. Index 5 is out of range.
Step 2: Understand behavior of out-of-range index assignment
Accessing s[5] is undefined behavior; usually causes runtime error or silent bug.
Final Answer:
Runtime error: out of range access -> Option C
Quick Check:
Out of bounds index causes runtime error [OK]
Hint: Check string length before indexing to avoid runtime errors [OK]
Common Mistakes:
Assuming s[5] appends character
Expecting compilation error instead of runtime
Ignoring zero-based indexing
Confusing with push_back method
5. Given the following C++ code, what will be the output?
std::string s = "test";
char* p = &s[0];
p[2] = 'x';
std::cout << s << std::endl;
How does this behavior compare to Python strings?
hard
A. Output: text; C++ strings are mutable, Python strings are immutable.
B. Output: test; Both C++ and Python strings are immutable.
C. Output: text; Both C++ and Python strings are mutable.
D. Compilation error due to pointer usage.
Solution
Step 1: Analyze pointer modification on std::string
Pointer p points to first character of s. Changing p[2] modifies s[2] to 'x'.
Step 2: Compare with Python string behavior
C++ strings allow character modification; Python strings do not allow such changes (immutable).
Final Answer:
Output: text; C++ strings are mutable, Python strings are immutable. -> Option A
Quick Check:
Pointer modifies string in C++, Python strings immutable [OK]
Hint: C++ strings allow pointer edits; Python strings never do [OK]
Common Mistakes:
Expecting compilation error from pointer usage
Assuming Python strings can be changed similarly
Confusing pointer with string copy
Ignoring zero-based indexing in modification
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.