Output Statements: printf(), putc(), puts(), putchar()

printf format placeholders के साथ कुछ भी print करता है, puts एक string print करके अपनी नई line ख़ुद जोड़ता है, और putchar/putc बिल्कुल एक character print करते हैं, अलग-अलग साइज़ के 4 मुँह।

10 min read · 9 cards · 2 checks

Read in: English · हिन्दी · ગુજરાતી


Theory

Marksheet को marksheet जैसा दिखना चाहिए

Marks program अब सब कुछ compute कर सकता है। पर उसका output ransom note जैसा दिखता है: values कहीं भी बिखरी, lines आपस में टकराती।

एक असली marksheet में एक name line होती है, साफ़-सुथरे labels, और result अलग रखा हुआ।

Presentation output statements का काम है, और C आपको अलग-अलग साइज़ के 4 मुँह देता है: printf (कुछ भी कहता है), puts (एक string कहता है, फिर ख़ुद नई line ले लेता है), putchar और putc (बिल्कुल एक character कहते हैं)। इनमें से चुनना exam की पक्की तुलना है।

Theory

उद्घोषक, मुहर, और एक घंटी

printf कार्यक्रम का उद्घोषक है: खाली जगहों वाली script पढ़ता है ("total है ___") और हर खाली जगह आपके variables से live भरता है। puts एक रबर की मुहर है: अपनी एक line छापता है और अपने आप कागज़ नीचे सरका देता है (built-in newline)। putchar एक अकेली घंटी है: एक साफ़ टन, एक character, बस। अलग काम, एक मंच: screen।

At a glance

4 output statements

Functionक्या print करता हैNewline?
printf(...)Text + % से formatted valuesसिर्फ़ जब आप \n लिखें
puts(str)एक stringअपनी \n जोड़ता है, हमेशा
putchar(ch)बिल्कुल एक characterकभी नहीं
putc(ch, stdout)एक character (file-flavoured)कभी नहीं

Practical

Marksheet, ढंग से सजी हुई

#include <stdio.h>

int main() {
    int marks = 78;
    char grade = 'A';

    puts("===== MARKSHEET =====");
    printf("Marks : %d\n", marks);
    printf("Grade : %c\n", grade);
    putchar('*');
    putchar('\n');
    return 0;
}

This example runs in Gri-Learn on the web, where you can edit it and see the output.

Quiz

puts("Hello") और printf("Hello") में असली फ़र्क़ क्या है?

  1. puts, Hello के बाद अपने आप newline जोड़ता है; printf नहीं जोड़ता
  2. printf अपने आप newline जोड़ता है; puts नहीं जोड़ता
  3. puts variables print कर सकता है; printf नहीं कर सकता
  4. कोई फ़र्क़ है ही नहीं
Show the answer

puts, Hello के बाद अपने आप newline जोड़ता है; printf नहीं जोड़ता

puts हमेशा अपनी \n जोड़ता है: cursor बिना कहे अगली line पर चला जाता है। printf ठीक वही print करता है जो आपने लिखा, उसी line पर रहते हुए, जब तक format string में \n न हो। (और variables को % से format printf ही करता है; puts सिर्फ़ एक सादी string लेता है।) यह newline वाला फ़र्क़ output-statement का सबसे ज़्यादा पूछा जाने वाला सवाल है।

Think first

Output की भविष्यवाणी कीजिए

ऊपर के code block को line by line चलिए, हर function की newline वाली आदत याद रखते हुए। Reveal से पहले screen का ठीक-ठीक output लिखिए।

Show the answer

===== MARKSHEET =====

Marks : 78

Grade : A

*

puts वाली line ख़ुद ख़त्म होती है; हर printf अपनी \n की वजह से ख़त्म होता है; star की line बंद करने के लिए दूसरा putchar('\n') चाहिए था, putchar कभी नहीं जोड़ता। Newlines को trace कीजिए और predict-the-output के सवाल मुफ़्त marks बन जाते हैं।

Watch out

Marks कहाँ कटते हैं

Variable print करने के लिए printf(marks); लिखना: printf का पहला argument एक format string होना चाहिए, यानी printf("%d", marks);। मिलती values के बिना placeholders (printf("%d %d", marks)) garbage print करते हैं, गिनती मेल खानी चाहिए। और putchar एक ही character print करता है: putchar("Hello") 2-2 तरह से ग़लत है (double quotes, 5 characters)। छोटा syntax, आसान marks, बार-बार का नुक़सान।

Theory

एक छोटा ASCII जादू

putchar एक character लेता है, पर याद रखिए char असल में क्या है: पोशाक पहने एक number। putchar(65) A print करता है, putchar(66) B, सीधे आपकी BCA103 वाली ASCII table से। Exams इसे predict-the-output में चुपके से डालते हैं। इस unit में एक राज़ बाक़ी है: %d, %f, %c और इनके भाई असल में हैं क्या। अगला lesson पूरे placeholder परिवार को decode करता है।

Summary

Key takeaways

  • printf: % placeholders के साथ formatted output; newline सिर्फ़ \n से।
  • puts: एक string, साथ में एक अपने आप वाली newline, हमेशा।
  • putchar/putc: बिल्कुल एक character, कभी newline नहीं।
  • printf के placeholders गिनती और type में उसके arguments से मेल खाने चाहिए।
  • putchar(65) A print करता है: chars पोशाक पहने ASCII numbers हैं।
  • चारों stdio.h में रहते हैं।
  • याद रखने का hook: उद्घोषक (printf), मुहर (puts), अकेली घंटी (putchar)।

Study this properly

This page is the lesson to read. In Gri-Learn the same topic is a graded deck: the self-checks are scored and your weak topics are tracked. Free to start.

Start this topic

Already have an account? Sign in

More from Introduction to C language

Gri-Learn · syllabus-mapped B.C.A. lessons in English, Hindi and Gujarati

Output Statements: printf(), putc(), puts(), putchar() · Computer Programming and Programming Methodology (CPPM) · Gri-Learn