1. Home
  2. /
  3. C
  4. /
  5. String Input/Output Program

String Input/Output Program - C Typing CST Test

Loading…

String Input/Output Program — C Code

Demonstrates string input and output using a character array. Shows how to read a string with scanf() and display it using printf().

#include <stdio.h>

int main() {
	char name[50];

	printf("Enter your name: ");
	scanf("%49s", name);

	printf("Hello, %s!\n", name);

	return 0;
}

C Language Guide

C is a general-purpose, procedural programming language that provides low-level access to memory, efficient performance, and a foundation for system and application software development.

Primary Use Cases

  • ▸Operating system kernels (e.g., Linux, Windows)
  • ▸Embedded systems and microcontrollers
  • ▸Device drivers and hardware interfaces
  • ▸Compilers, interpreters, and runtime systems
  • ▸High-performance computing and real-time applications

Notable Features

  • ▸Low-level memory access with pointers
  • ▸Procedural programming with structured code
  • ▸Efficient and fast execution
  • ▸Standard libraries for I/O, string, and math operations
  • ▸Portability across platforms via ANSI C standard

Origin & Creator

Created by Dennis Ritchie at Bell Labs in 1972, originally for developing the UNIX operating system.

Industrial Note

C is essential in embedded systems, OS kernels, compilers, device drivers, and performance-critical applications where low-level memory control and speed are required.

Quick Explain

  • ▸C is widely used for operating systems, embedded systems, and high-performance applications.
  • ▸It provides fine-grained control over memory through pointers and manual allocation.
  • ▸Supports structured programming with functions, loops, and conditional statements.
  • ▸Offers a minimal runtime environment, making it lightweight and fast.
  • ▸Forms the basis for many modern languages like C++, C#, and Objective-C.

Core Features

  • ▸Data types: int, char, float, double, arrays, structs, unions
  • ▸Control structures: if, switch, for, while, do-while
  • ▸Functions and modular programming
  • ▸Pointers and dynamic memory management (malloc/free)
  • ▸Preprocessor directives (#include, #define, #ifdef)

Learning Path

  • ▸Learn basic syntax and control structures
  • ▸Understand pointers and memory management
  • ▸Master structs, arrays, and functions
  • ▸Implement standard data structures and algorithms
  • ▸Build system-level or embedded applications

Practical Examples

  • ▸Develop a command-line calculator
  • ▸Implement a linked list or binary tree
  • ▸Write a file I/O program for parsing text
  • ▸Build a microcontroller firmware
  • ▸Develop a network socket application

Comparisons

  • ▸C vs C++: C procedural, C++ object-oriented with OOP features
  • ▸C vs Java: C compiled, low-level; Java runs on JVM with garbage collection
  • ▸C vs Python: C high-performance, manual memory; Python interpreted, slower but higher-level
  • ▸C vs Rust: C manual memory management; Rust provides safety and ownership
  • ▸C vs Go: C low-level and fast; Go offers concurrency and garbage collection

Strengths

  • ▸High performance and low overhead
  • ▸Portable across platforms
  • ▸Fine control over system resources
  • ▸Large ecosystem and mature tooling
  • ▸Foundation for many other programming languages

Limitations

  • ▸No built-in memory safety (manual management required)
  • ▸Lacks object-oriented features
  • ▸Limited standard library compared to modern languages
  • ▸Error handling via return codes, no exceptions
  • ▸Steeper learning curve for beginners due to pointers and memory

When NOT to Use

  • ▸Rapid prototyping of applications (Python or JavaScript may be faster)
  • ▸Projects requiring automatic memory management
  • ▸Applications with heavy GUI development (C# or Java more suitable)
  • ▸High-level web applications where frameworks simplify development
  • ▸Teams lacking experience with manual memory management

Cheat Sheet

  • ▸gcc file.c -o output - compile C program
  • ▸./output - run compiled program
  • ▸#include <stdio.h> - include standard I/O library
  • ▸int *ptr; - declare pointer
  • ▸malloc/free - dynamic memory allocation and deallocation

FAQ

  • ▸Is C open-source? -> C itself is a language; compilers like GCC are open-source.
  • ▸Can C run on microcontrollers? -> Yes, widely used in embedded systems.
  • ▸Does C have garbage collection? -> No, manual memory management required.
  • ▸Is C suitable for beginners? -> Yes, but pointers and memory require careful learning.
  • ▸What is the difference between C and C++? -> C is procedural, C++ adds OOP and templates.

30-Day Skill Plan

  • ▸Week 1: Learn variables, loops, and functions
  • ▸Week 2: Practice pointers and arrays
  • ▸Week 3: Implement structs and file I/O
  • ▸Week 4: Work on memory management and dynamic allocation
  • ▸Week 5: Build small system programs and practice debugging

Final Summary

  • ▸C is a foundational, high-performance procedural programming language.
  • ▸Offers manual memory management, low-level hardware access, and portability.
  • ▸Ideal for system programming, embedded devices, and performance-critical applications.
  • ▸Forms the basis for many modern programming languages and systems.
  • ▸Requires careful coding practices for security and stability.

Project Structure

  • ▸src/ - C source code files
  • ▸include/ - header files (.h)
  • ▸Makefile or build scripts - compilation instructions
  • ▸bin/ - compiled binaries
  • ▸lib/ - external libraries

Monetization

  • ▸C is open-source and widely used
  • ▸Enterprise embedded systems rely on C
  • ▸Foundation for other languages increases employability
  • ▸Optimized software reduces operational costs
  • ▸Enables high-performance commercial software

Productivity Tips

  • ▸Modularize code with functions
  • ▸Use header files for interface definitions
  • ▸Leverage standard libraries
  • ▸Debug early with GDB
  • ▸Profile and optimize critical code paths

Basic Concepts

  • ▸Variables and data types - store and manipulate data
  • ▸Operators - arithmetic, logical, bitwise, assignment
  • ▸Control flow - loops and conditional statements
  • ▸Functions - modular reusable code
  • ▸Pointers - memory addresses and dynamic allocation

Official Docs

  • ▸https://en.cppreference.com/w/c
  • ▸ISO/IEC C standards documentation
  • ▸GCC and Clang manuals

More C Typing Exercises

Hello World in CSum of First N NumbersBasic C Program StructureAlgorithm to C Program ConversionDebugging and Testing ProgramDebugging and Testing ProgramConstants and Literals ProgramC Tokens and Expressions ProgramComments and Documentation ProgramFormatted Input/Output ProgramCharacter Input/Output ProgramConversion Specification Program

Practice Other Languages

ReactPythonC++RustTypeScriptKotlinPHPJavaC#RubyMqlCqlN1qlCypherGremlin