Programs with IO and Loop (Lecture 04)-1sibb2PGR-Q 48.9 KB
Newer Older
Vandan Mujadia's avatar
update  
Vandan Mujadia committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
 మనము  ఇప్పుడు C ++ కోర్సులో మాడ్యూల్ 2. మాడ్యూల్ను2 గురించి చర్చిస్తాము,
 మొదటి మాడ్యూల్ లో, మనము  C ప్రోగ్రామింగ్ లాంగ్వేజ్ యొక్క క్లుప్త సారాంశం చూసాము .
 మనము  భావనలను పునరావృతం చేసాము, C లో ఉన్న సాధారణ అంశాలు మరియు మనము నెమ్మదిగా సి ++ తో తెలుసుకునేలా సిద్దపడ్డాము .
 ఈ మాడ్యూల్ మరియు తరువాతి 3 మాడ్యూళ్ళలో, మేము వివిధ ప్రోగ్రామింగ్ ఉదాహరణల గురించి మాట్లాడుతాము మరియు సి ++ లో, ఈ ప్రోగ్రామ్ మరింత సమర్థవంతంగా మరియు తరచుగా మెరుగ్గా ఎలా చేయవచ్చో చూపిస్తాము. సి లో అవసరమయ్యే దానికంటే మంచి మార్గంలో వ్రాయవచ్చు.
 2, సి మరియు సి ++ ప్రోగ్రామ్‌ల మధ్య ప్రాథమిక తేడాలను అర్థం చేసుకోవడంతో ప్రారంభిస్తాము.
 మరియు మేము ఈ మాడ్యూల్‌తో పాటు ఈ క్రింది 3 మాడ్యూళ్ళకు వెళ్లేటప్పుడు సి ++ లో ప్రోగ్రామింగ్ సౌలభ్యాన్ని అభినందించడానికి ప్రయత్నిస్తాము.
 మేము ప్రధానంగా IO వేరియబుల్స్, అంకగణిత లైబ్రరీ ప్రామాణిక లైబ్రరీ హెడర్స్, లూప్ మరియు బూల్ రకం ఫీల్డ్‌ల గురించి విరుద్ధంగా మాట్లాడుతాము.
 కాబట్టి, మేము "హలో వరల్డ్" ను ప్రింట్ చేయవలసిన సి యొక్క ప్రారంభ ప్రోగ్రామ్తో ప్రారంభిస్తాము.
 కాబట్టి, ఇక్కడ రెండు నిలువు వరుసలలో, "హలో వరల్డ్" ను సి తో పాటు సి ++ లో ప్రింట్ చేసే ప్రోగ్రామ్ ను చూపిస్తాము.
 మీరు కొన్ని ప్రాథమిక తేడాలను గమనించవచ్చు, మొదట IO హెడర్ మార్చబడింది.
 C లో, ఇది stdio.h; C ++ లో ఇది IO స్ట్రీమ్ అవుతుంది.
 C లో, మేము printf చేసినప్పుడు, మేము కన్సోల్‌కు వ్రాస్తాము; మేము కన్సోల్‌లో ప్రింట్ చేస్తాము.
 ఇక్కడ, మేము ఒక ఆపరేటర్‌ని ఉపయోగిస్తాము, స్ట్రీమింగ్ ఆపరేటర్‌ను నియంత్రించడానికి ఒక జత ఎడమ బాణం ఆపరేటర్లు అవుట్‌పుట్‌ను ప్రసారం చేస్తారు మరియు కన్సోల్ C లోని ఫైల్ స్టడౌట్, ఇది ఇప్పుడు C ++ లో ఒక కౌట్ స్ట్రీమ్.
 మేము std అని పిలువబడే కౌట్ ముందు ఉపసర్గను ఉపయోగిస్తున్నామని మరియు std :: తో వ్రాసినట్లు గమనించండి.
 మేము ఈ సంజ్ఞామానాన్ని త్వరగా ఉపయోగించడం అలవాటు చేసుకుంటాము, ఈ STD ని నేమ్‌స్పేస్ అంటారు; ప్రామాణిక నేమ్‌స్పేస్.
 కాబట్టి, C ++ లోని ఏదైనా ప్రామాణిక లైబ్రరీ గుర్తు ఈ ప్రత్యేక ఉపసర్గ std తో ప్రిఫిక్స్ చేయబడుతుంది.
 ఇప్పుడు, ఈ సరళమైన 'హలో వరల్డ్' ప్రోగ్రామ్‌లో గమనించదగ్గ మరో ముఖ్యమైన విషయం ఏమిటంటే, మనం ప్రింట్ ఎఫ్ చేసినప్పుడు, మనకు ఏకపక్ష సంఖ్యలు ఉండవచ్చు, ఈ వైవిధ్య ఫంక్షన్‌ను (ఫంక్షన్) అంటారు.
 కాబట్టి, ఇక్కడ 'హలో వరల్డ్' ఉదాహరణలో మనం ప్రింట్ ఎఫ్ యొక్క రెండు ఉపయోగాలను చూస్తున్నాము, రెండూ పారామితి, ఫార్మాట్ స్ట్రీమ్ ఉపయోగించి.
 వాస్తవానికి, మాకు ఇక్కడ ఫార్మాట్ లేదు; ఇది నిరంతర స్ట్రింగ్ ముద్రించబడుతోంది.
 దీనికి విరుద్ధంగా, సి ++ లోని అవుట్పుట్ స్ట్రీమింగ్ ఆపరేటర్‌గా బైనరీ ఆపరేటర్‌గా మెటీరియల్ రూపంలో ఎడమ వైపు ప్రింట్ చేసి కుడి వైపున ప్రింట్ చేస్తుంది మరియు ఇది ఈ రూపంలో ప్రింట్ చేస్తుంది.
 అందువల్ల, మేము మొదటి అవుట్పుట్ లైన్, std :: cout అవుట్పుట్ ఆపరేటర్ మరియు సందేహ కోట్లలో చూస్తే, మనకు స్థిరమైన స్ట్రింగ్ ఉంది. దీని అర్థం C ++ స్ట్రింగ్ (స్ట్రింగ్) హలో వరల్డ్ కన్సోల్కు ప్రసారం చేయబడుతుంది.
 C లో తప్పించుకున్న కొత్త క్యూ క్యారెక్టర్ స్లాష్ n అని కూడా గమనించండి.
 C ++ లో కూడా దీనిని ఉపయోగించవచ్చు, కాని ఎండల్ అని పిలువబడే కొత్త పంక్తికి వెళ్ళడానికి మరొక మార్గం ఉంది, ఇది ఎండ్ లైన్ యొక్క సంక్షిప్తీకరణ మరియు దానిపై మేము తరువాత మరింత తెలుసుకుంటాము.
 ఇది, అండాల్ ప్రాథమికంగా ఒక ప్రవాహం.
 కాబట్టి, ఈ దశలో మేము C ++ ప్రోగ్రామ్‌లో సిస్టమ్ కౌట్ మరియు అవుట్పుట్ ఆపరేటర్ ఉపయోగించి ప్రాథమిక అవుట్పుట్ చేయవచ్చని చూడటానికి ప్రయత్నిస్తున్నాము.
 మేము తరువాతి ప్రోగ్రామ్‌కు వెళ్తాము, ఇక్కడ మేము చాలా సరళమైన అంకగణిత ప్రోగ్రామ్‌ను వివరిస్తున్నాము, ఇందులో a మరియు b అనే రెండు వేరియబుల్స్ ఉంటాయి మరియు వాటిని మన మొత్తాన్ని ఏర్పరుస్తాయి.
 ఈ వేరియబుల్స్ యొక్క విలువలు C లో std అయిన కన్సోల్ నుండి చదవబడతాయి మరియు మేము అన్ని ఫార్మాట్ స్ట్రింగ్ (స్కాన్ఫ్) లో మీకు తెలిసిన స్కాన్ఫ్ ఫంక్షన్‌ను ఉపయోగిస్తాము, ఉదాహరణకు, printf అనేది ఒక వైవిధ్య ఫంక్షన్. పారామితుల వేరియబుల్ సంఖ్యలు.
 ఇక్కడ, మేము 3 పారామితులను తీసుకుంటున్న స్కాన్ఫ్ యొక్క రూపాన్ని చూస్తాము; వరుసగా A మరియు B యొక్క స్ట్రింగ్ మరియు చిరునామాలను ఫార్మాట్ చేయండి.
 దీనికి విరుద్ధంగా, సి ++ ప్రోగ్రామ్‌లో ఇన్పుట్ స్ట్రీమ్ నుండి స్ట్రీమింగ్ కోసం ఉపయోగించే మరొక ఆపరేటర్‌ను మేము పరిచయం చేస్తున్నాము.
 కాబట్టి, దీనిని ఇన్పుట్ స్ట్రీమింగ్ ఆపరేటర్ అని పిలుస్తారు, మళ్ళీ ఒక జత బాణాలు, కానీ బాణం ఇప్పుడు ఎడమ నుండి కుడికి దర్శకత్వం వహించబడుతుంది.
 కాబట్టి, మీరు ఇన్పుట్ ఆపరేటర్లో std :: cin ను చూస్తే, C చదవబడుతుందని అర్థం.
 ఆసక్తికరమైన విషయం ఏమిటంటే, ఈ ఆకృతిలో C ++ లో మీరు ఇక్కడ చూపిస్తున్నట్లుగా మీరు బహుళ ఆపరేటర్లను ఒక్కొక్కటిగా అనేక వేరియబుల్స్కు చేర్చవచ్చు.
 అందువల్ల, మేము ప్రామాణిక ఇన్పుట్ నుండి మళ్ళీ ప్రసారం చేసిన తరువాత, ప్రామాణిక ఇన్పుట్ నుండి బి స్ట్రీమ్ చేయండి.
 కాబట్టి, ఈ సంజ్ఞామానం అంటే కన్సోల్ యొక్క ప్రామాణిక ఇన్పుట్ నుండి మొదటిది మరియు తరువాత వేరియబుల్ B చదవబడుతుంది.
 ఈ వేరియబుల్స్ ప్రామాణిక స్ట్రీమింగ్ అవుట్పుట్ యొక్క అవుట్పుట్ (అవుట్పుట్) ఎలా ఉన్నాయో కూడా మేము చూపిస్తాము, ఇది సి ప్రోగ్రామ్ (ప్రోగ్రామ్) గా కౌట్ లేదా స్టడ్ అవుట్ అవుతుంది.
 రెండు ప్రధాన తేడాలు ఉన్నాయి, మీరు ఇక్కడ గమనించాలి, ఒకటి మేము C ++ లో ఫార్మాట్ స్ట్రింగ్ ఉపయోగించాల్సిన అవసరం లేదు.
 C లో మనకు తెలుసు, నేను ఒక పూర్ణాంక వేరియబుల్‌ను ప్రింట్ చేయాలనుకుంటే, అప్పుడు వేరియబుల్ శాతం d ఫార్మాట్‌లో ముద్రించబడాలని ఫార్మాట్ స్ట్రింగ్‌లో పేర్కొనాలి, ఇది ఒక పూర్ణాంకం C + లో ముద్రించవలసిన డేటా రకం అని సూచిస్తుంది. +, వేరియబుల్‌కు విరుద్ధంగా ఫార్మాట్‌తో పేర్కొనవలసిన అవసరం లేదు, కంపైలర్ ఇది పూర్ణాంక వేరియబుల్ అని తెలుసుకోవడం స్వయంచాలకంగా దాన్ని ప్రింట్ చేయడానికి ఫార్మాట్‌ను నిర్ణయిస్తుంది. అవసరం మరియు సరిగ్గా ప్రింట్ చేయండి.
 ఈ రెండు ప్రోగ్రామ్‌ల మధ్య మీరు గమనించవలసిన మరో ప్రధాన వ్యత్యాసం ఏమిటంటే, మేము స్కాన్ చేసినప్పుడు, మేము `std in 'నుండి విలువను చదువుతున్నాము మరియు ఆ విలువను చదివిన తరువాత వేరియబుల్ యొక్క అసలు విలువను విలువకు మార్చండి వినియోగదారు ఇన్పుట్ అవుతుంది.
 మేము సి యొక్క చిరునామాను పాస్ చేయాలి ఎందుకంటే ఇది సి తో సుపరిచితం.
 ఈ చిరునామా వాడుతున్న యంత్రాంగం చేసిన కాల్‌కు సమానంగా ఉంటుంది, ఇక్కడ మేము వేరియబుల్ విలువను స్కాన్ఫ్ పరామితి విలువ నుండి కాల్ పరామితిగా పాస్ చేస్తాము.
 దీనికి విరుద్ధంగా, మేము C ++ లో ఇన్పుట్ స్ట్రీమ్ నుండి చదువుతున్నప్పుడు, పాస్ చేయడానికి మాకు చిరునామా అవసరం లేదు; మేము వేరియబుల్స్ మాత్రమే పేర్కొనగలము మరియు కంపైలర్ మిగిలిన వాటిని చూసుకుంటుంది.
 మేము సి ++ ఆపరేటర్లు మరియు కాల్ మెకానిజమ్‌ల గురించి మరింత తెలుసుకున్నప్పుడు, ఇది వాస్తవంగా ఎలా పనిచేస్తుందో మేము అర్థం చేసుకుంటాము, అయితే ఇది ఖచ్చితంగా ఫార్మాట్ స్ట్రింగ్‌తో పాటు ప్రింట్ ఎఫ్ లేదా చిరునామాలను కూడా చదివేలా చేస్తుంది.
 C ++ లో, స్కాన్ఫ్ కోసం వేరియబుల్ కూడా అదే విధంగా చేయవచ్చు.
 సి ప్రోగ్రామ్‌లో, వేరియబుల్ మొత్తాన్ని డిక్లరేషన్ పరంగా మీరు గమనించగల మరొక చిన్న వ్యత్యాసం, వేరియబుల్ బి మరియు బి తరువాత వేరియబుల్ ఎగువన ప్రకటించబడుతుంది, ఎందుకంటే సి 89 పేర్కొన్న అసలు సి లేదా సి యొక్క అసలు వెర్షన్ వేరియబుల్స్ యొక్క అన్ని డిక్లరేషన్లు ప్రోగ్రామ్‌లోని మొదటి ఎక్జిక్యూటబుల్ స్టేట్‌మెంట్‌కు ముందు ఉండాలి.
 సి ప్రోగ్రామ్‌లో, మొదటి ఎక్జిక్యూటబుల్‌లో మనం ఇక్కడ చూస్తున్నది ప్రింట్ ఎఫ్ ఫంక్షన్ కాల్.
 కాబట్టి, అన్ని వేరియబుల్స్ దీనికి ముందు ప్రకటించబడాలి.
 ఈ పరిమితి C ++ లో లేదు.
 కాబట్టి, మేము పేరును ప్రారంభించేటప్పుడు, మనం వేరియబుల్ ను డిక్లేర్ చేయవచ్చు మరియు మనం పేరును ప్రారంభించాల్సిన అవసరం వచ్చినప్పుడు, మనకు A మరియు B వేరియబుల్స్ అవసరం, ఎందుకంటే చదవడం అవసరం, కానీ వాటి మొత్తాన్ని మనం చేయవలసి వచ్చినప్పుడు, మేము కూడా మొత్తాన్ని ప్రకటించగలము .
 వేరియబుల్ ఉపయోగించండి, ఆపై ప్లస్ బి మరియు మొత్తం విలువను ప్రారంభించడానికి మొత్తాన్ని చొప్పించండి.
 వాస్తవానికి, C యొక్క తరువాతి సంస్కరణ C99 అని గమనించాలి, ఇది మీకు వేరియబుల్ అవసరమైనప్పుడు వేరియబుల్స్ యొక్క డిక్లరేషన్‌ను C ++ లోని బిందువుకు తరలించడానికి మిమ్మల్ని అనుమతిస్తుంది.
 అందువల్ల, సారూప్యతలు మరియు తేడాలను బాగా అర్థం చేసుకోవడానికి దయచేసి మీ కంప్యూటర్‌లో ఈ ప్రోగ్రామ్‌ను జాగ్రత్తగా చదవండి మరియు అమలు చేయండి.
 మేము మరొక ప్రోగ్రామ్‌కు వెళ్తాము, ఇది మళ్ళీ గణిత గణనను ఉపయోగించి ఒక సాధారణ ప్రోగ్రామ్, ఇది మీరు సి ప్రోగ్రామ్‌లో ఏదో ఒక సమయంలో చేశారని నేను ఖచ్చితంగా అనుకుంటున్నాను.
 కాబట్టి, సి ప్రామాణిక లైబ్రరీలో భాగంగా సికి math.h హెడర్ ఉందని మాకు తెలుసు, ఇది చాలా ఉపయోగకరమైన విధులను కలిగి ఉంది.
 కాబట్టి, డబుల్ వేరియబుల్ యొక్క వర్గమూలాన్ని కనుగొనడానికి sqrt అని పిలువబడే ఇలాంటి ఫంక్షన్ యొక్క ఉపయోగాన్ని ఇక్కడ చూపిస్తున్నాము.
 ఇది డబుల్ వేరియబుల్ తీసుకుంటుంది మరియు డబుల్ ఫలితాన్ని ఇస్తుంది, ఇది చదరపుకి పంపబడిన పరామితి యొక్క వర్గమూలం.
 అదే ఫంక్షన్ C ++ లో కూడా అమలు చేయవచ్చు.
 కాబట్టి, దీన్ని ఎలా చేయాలో మేము చూపిస్తున్నాము, కాబట్టి దయచేసి C ++ లో మనం ఉపయోగించే హెడర్ పేరు మార్చబడింది.
 సి లో మేము దీనిని math.h అని పిలుస్తున్నాము.
 అదే శీర్షికను C ++ లో cmath అని పిలుస్తారు మరియు ఇది ఏదైనా ప్రామాణిక లైబ్రరీ హెడర్‌ను C ++ లో ఉపయోగించవచ్చని ఒక సాధారణ సమావేశం అని మేము చూస్తాము, కానీ మీరు దానిని ఉపయోగించినప్పుడు, మీరు పేరు ప్రారంభంలో ఒక C ని జోడిస్తారు.
 సి అంటే ప్రామాణిక లైబ్రరీ హెడర్ సి స్టాండర్డ్ లైబ్రరీ నుండి వస్తున్నదని మరియు ఇతర వ్యత్యాసం ఏమిటంటే మీరు సి లోని ఫైల్ పేరు కోసం డాట్ హెచ్ ఎక్స్‌టెన్షన్‌ను వదిలివేస్తారు, మీరు దానిని సమ్మత్ అని పిలుస్తారు.
 వాస్తవానికి, మనం ఇంతకుముందు చెప్పినట్లుగా, కౌట్ మరియు ఎండ్ల్ పేర్ల పరంగా, ఇవి కూడా అదే నేమ్‌స్పేస్‌లో (నేమ్‌స్పేస్) std వలె ఉన్నాయి, అంటే C లోని ఫంక్షన్ (ఫంక్షన్) sqrt నుండి sqrt C ++ ++ లో, ఫంక్షన్ పేరు (sq) sqrt, std తో ఉపసర్గ అవుతుంది, దీని పూర్తి పేరు std :: sqrt.
 ఇప్పుడు, ఇక్కడ మేము ప్రామాణిక లైబ్రరీ చిహ్నాలను వ్యక్తీకరించడానికి మరొక షార్ట్ కట్ లేదా అనుకూలమైన మార్గాన్ని కూడా చూపిస్తాము, C ++ ప్రోగ్రామ్‌లో హాష్ చేర్చబడిన తరువాత, మేము నేమ్‌స్పేస్‌ను కలిగి ఉన్న ఒక పంక్తిని వ్రాసాము. Std ఉపయోగించబడుతుంది.
 దీని అర్థం మనం ఈ పంక్తిని చేర్చుకుంటే, C ++ ప్రోగ్రామ్ (ప్రోగ్రామ్) లోని ఏదైనా ప్రామాణిక లైబ్రరీ చిహ్నం ఉపసర్గగా పరిగణించబడుతుంది, std :: cout, std :: cin., Std :: endl or std: : చ.
 కాబట్టి, దీన్ని చేయడానికి అనుకూలమైన మార్గం ఏమిటంటే, మీరు సి ++ లో నేమ్‌స్పేస్ లక్షణాన్ని ఉపయోగించవచ్చు లేదా మీరు దానిని ఉపయోగించకపోతే, అన్ని ప్రామాణిక లైబ్రరీ చిహ్నాలను std :: ఉపసర్గ చేయండి.
 మిగిలిన ప్రోగ్రామ్ అర్థం చేసుకోవడం చాలా సులభం మరియు మీరు ఎడమ వైపున చూసే ప్రోగ్రామ్ లాగా ఉంటుంది. మార్పులు స్ట్రీమింగ్ ఇన్పుట్ మరియు అవుట్పుట్కు అనుగుణంగా ఉంటాయి, మేము ఇప్పటికే చేసినట్లుగా. చూశాము.
 కాబట్టి, మేము దీనితో ముందుకు వెళ్లి C ++ ప్రామాణిక లైబ్రరీని పరిశీలిస్తాము.
 సంగ్రహంగా చెప్పాలంటే, సి స్టాండర్డ్ లైబ్రరీలోని అన్ని పేర్లు గ్లోబల్ అని నేను ఇప్పటికే పేర్కొన్నది, ఇవన్నీ ప్రామాణిక లైబ్రరీ ఫంక్షన్లు, మాక్రోలు; అవి ఆ పేరుతో ఏదైనా ఫంక్షన్ కోసం అందుబాటులో ఉంటాయి.
 కాబట్టి, అన్ని సి ప్రామాణిక లైబ్రరీ పేర్లు వాస్తవానికి అన్ని ఆచరణాత్మక ప్రయోజనాల కోసం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్ మరియు సి స్టాండర్డ్ లైబ్రరీ (ఫంక్షన్) ను వ్రాయలేని విధంగా రిజర్వు చేయబడ్డాయి ఎందుకంటే మీరు లైబ్రరీలో ఇచ్చిన ప్రింట్ ఎఫ్ ఫంక్షన్‌ను ఉపయోగించడం కొనసాగించవచ్చు) ఎందుకంటే ఈ క్షణం మీరు మీ స్వంత ప్రింట్ ఎఫ్ ఫంక్షన్‌ను వ్రాస్తారు, అది కూడా గ్లోబల్ స్పేస్ లో పేరు.
 మీరు C ++ లో నేమ్‌స్పేస్‌ల గురించి అధికారికంగా అధ్యయనం చేసినప్పుడు, మీరు దీన్ని మరింత అర్థం చేసుకుంటారు, కాని దయచేసి అన్ని పేర్లు ప్రపంచవ్యాప్తంగా అందుబాటులో ఉన్నాయని గమనించండి.
 దీనికి విరుద్ధంగా, C ++ ప్రామాణిక లైబ్రరీలోని అన్ని పేర్లు std నేమ్‌స్పేస్‌లో ఉన్నాయి.
 ఇది ప్రత్యేకంగా నేమ్‌స్పేస్‌లు మరియు అన్ని పేరు ఉపసర్గలతో కూడిన ప్రామాణిక లైబ్రరీ నేమ్‌స్పేస్‌ల కోసం ప్రత్యేకించబడింది :: అంటే ఈ పేరు ఈ స్టేడ్ నేమ్‌స్పేస్‌లోనే సంభవిస్తుంది.
 అందువల్ల, నేమ్‌స్పేస్ అంటే మన స్వంత పేర్లను ఉపయోగించినప్పుడు ఏమి జరుగుతుంది, ఇది మేము ఉపయోగించే కుటుంబ పేరు లేదా చివరి పేరు వంటిది.
 అందువలన, నేను పార్థా ప్రతిమ దాస్.
 కాబట్టి, దాస్ నా చివరి పేరు మరియు నా పేరు పార్థ్.
 అందువల్ల, మరికొన్ని కుటుంబ పేర్లలో మరొక పార్థా ఉండవచ్చు అని పార్థా ప్రతిం చక్రవర్తి పేర్కొంది.
 కాబట్టి, ఇవి ఉన్న వివిధ కుటుంబ పేర్లకు భిన్నంగా ఉంటాయి.
 కాబట్టి, పేరు స్థలం దీనికి సమానంగా ఉంటుంది.
 దీని గురించి మేము తరువాత మాట్లాడుతాము.
 కాబట్టి, మీరు ఇక్కడ std ని ఉపయోగించి పేరు ఖాళీలను చిన్నగా కత్తిరించినట్లయితే, మీరు అన్ని ప్రామాణిక లైబ్రరీ పేర్లను ఆ std :: నేమ్‌స్పేస్‌తో ప్రిఫిక్స్ చేయనవసరం లేదు.
 ఇప్పుడు, ప్రామాణిక లైబ్రరీ యొక్క శీర్షిక గురించి చాలా ప్రత్యేకమైనదాన్ని హైలైట్ చేయాలనుకుంటున్నాను.
 కాబట్టి, సి ++, సి అంటే దాని అర్థం అని మేము గుర్తించాము; అంటే ఏదైనా సి ప్రోగ్రామ్‌ను సి ++ ప్రోగ్రామ్‌గా కూడా అమలు చేయాలి.
 సి యొక్క ప్రామాణిక లైబ్రరీతో మేము ఏమి చేస్తాం అనేదానికి ఇది మరొక ప్రశ్నను తెస్తుంది, సి యొక్క ప్రామాణిక లైబ్రరీని సి ++ ప్రోగ్రామ్‌లో కూడా ఉపయోగించవచ్చని నేను ఇప్పటికే స్పష్టం చేశాను, అయితే ప్రోగ్రామ్‌ను మిళితం చేయడానికి మీకు ఒక చిన్న విషయం C ++ నుండి ప్రోగ్రామ్‌కు ప్రామాణిక లైబ్రరీ హెడర్‌ను మీరు ఎలా పేర్కొంటారు.
 కాబట్టి, మీరు దీన్ని ఎడమ వైపున ఎలా చేయవచ్చో ఈ పట్టిక మీకు చూపుతుంది, మీరు ప్రోగ్రామ్‌ను వ్రాస్తున్న భాషలో మరియు మేము శీర్షికను చూపిస్తున్న కాలమ్‌లో ఏ ప్రామాణిక లైబ్రరీలో మేము శీర్షికను చూపిస్తున్నాము. ఇది సి నుండి లేదా సి ++ నుండి.
 కాబట్టి, మీరు సి ప్రోగ్రామ్ వ్రాస్తుంటే మరియు మీరు సి స్టాండర్డ్ లైబ్రరీ హెడర్ ఉపయోగిస్తుంటే, మీరు stdio.h లాగా చేరతారని మాకు తెలుసు.
 మీరు సి ++ ప్రోగ్రామ్‌ను వ్రాస్తూ, సి స్టాండర్డ్ లైబ్రరీ హెడర్‌ను కలిగి ఉంటే, నేను చెప్పినట్లుగా, మీరు సి స్టాండర్డ్ లైబ్రరీ పేరును సి తో ప్రిఫిక్స్ చేయాలి.
 అందువల్ల, stdio.h ఇప్పుడు C stdio గా మారింది మరియు మీరు ప్రామాణిక లైబ్రరీ నుండి dot h మరియు C నుండి పేరును వదలాలి ఈ చిహ్నాలన్నీ ఇప్పుడు std నేమ్‌స్పేస్ (నేమ్‌స్పేస్) లో పొందుతాయి మరియు మనకు std తో ఉపసర్గ లభిస్తుంది :: కలిగి ఉండాలి చేయండి.
 మీరు C ++ ప్రోగ్రామ్‌ను వ్రాసి, C ++ ప్రామాణిక లైబ్రరీని కలిగి ఉంటే, మీరు దానిని హాష్ IO స్ట్రీమ్‌గా మాత్రమే చేర్చారు.
 C ++ లోని అన్ని ప్రామాణిక లైబ్రరీ హెడర్‌లకు వాటి ఫైల్ ఎక్స్‌టెన్షన్స్‌లో డాట్ హెచ్ లేదు, ఇది ఒక చారిత్రక కారణం, నేను తరువాతి దశలో వివరించడానికి ప్రయత్నిస్తాను, కాని దయచేసి IO స్ట్రీమ్‌లు ఉండకూడదని గమనించండి.
 మరియు చేర్చకూడదు.
 ఈ మాతృకలోని చివరి పెట్టె మీరు సి ప్రోగ్రామ్ వ్రాస్తున్నప్పుడు మరియు మీరు సి ++ హెడర్‌ను ఉపయోగించాలనుకుంటే, అది ఖచ్చితంగా వర్తించదు ఎందుకంటే మీరు సి ++ లో చాలా ఫీచర్లు చేయలేరు. సి మద్దతు ఇవ్వనివి మరియు కాబట్టి, ఉపయోగించబడదు.
 ముఖ్యంగా గమనించండి మరియు నేను ఎరుపు రంగులో హైలైట్ చేసాను, పొరపాటున లేదా సి లో ప్రామాణిక లైబ్రరీ (లైబ్రరీ) శీర్షికల కోసం డాట్ హెచ్ ను ఫైల్ నేమ్ ఎక్స్‌టెన్షన్‌గా ఉపయోగించడం ద్వారా.
 మీరు I ++ స్ట్రీమ్‌ను కలిగి ఉంటే.
 C ++ ప్రోగ్రామ్‌లో, మీ కంపైలర్ నిజంగా మీకు లోపం ఇవ్వదు అంటే మీ కంపైలర్ నిజంగా నాటిది మరియు మీరు ఇటీవల కంపైలర్‌కు వెళ్లాలి మరియు అందువల్ల ఇది చాలా ప్రమాదకరమైన ప్రతిపాదన. ఎందుకంటే మీరు పొరపాటు చేస్తున్నారు IO stream.h లేదా హెడర్ డాట్ h తో ఉన్న పదార్థం పొడిగింపు ఫైళ్ళ కోసం ఏదైనా C ++ ప్రామాణిక లైబ్రరీ, ఇవన్నీ వర్ణించబడ్డాయి.
 అవి పెద్దగా ఉపయోగంలో లేవు, అయితే కొన్ని కంపైలర్లు సి ++ ప్రమాణంలో తయారు చేయబడటానికి ముందే వ్రాయబడినందున వాటిని అనుమతించడం కొనసాగిస్తున్నాయి.
 కాబట్టి, దయచేసి ప్రామాణిక లైబ్రరీ శీర్షికల యొక్క ఈ సమావేశాలను గుర్తుంచుకోండి.
 తరువాత, మీ సి. లూప్‌ల వాడకంపై మేము దృష్టి పెడతాము.
 చాలా పోలి ఉంటాయి.
 అందువల్ల, మేము 0 నుండి ప్రారంభమయ్యే అంకెల క్రమాన్ని మాత్రమే ఇక్కడ జోడిస్తున్నాము.
 n మరియు లూప్ కోసం వాటిని చేర్చండి.
 IO శీర్షికలు మరియు కౌట్ స్ట్రీమింగ్ సమావేశాలలో తేడాలు మినహా ఇలాంటి ప్రోగ్రామ్‌లు C ++ కోసం దాదాపు సమానంగా పనిచేస్తాయి.
 లూప్ లూప్ సూచికల కోసం, కుండలీకరణాల్లో నన్ను 'నిర్మించు' అని ప్రకటించవచ్చు.
 మీరు ఇలా చేస్తే, నేను ఈ డిక్లరేషన్ లూప్‌కు స్థానికంగా ఉంటుంది, మీరు లూప్ కోసం బయటకు వచ్చిన తర్వాత మీరు తరువాత మంచం స్టేట్‌మెంట్‌లో ఉన్నారు లేదా నేను తరువాత ప్రకటించబడను.
 కాబట్టి, ఇది ప్రవేశపెట్టబడింది, తద్వారా మీకు స్థానిక ఇండెక్స్ వేరియబుల్స్ అవసరమైనప్పుడు మీరు వాటిని త్వరగా స్థానికంగా ఉపయోగించుకోవచ్చు మరియు మీరు ఆ వేరియబుల్‌ను ఇంతకు ముందు ప్రకటించారా లేదా అనే దాని గురించి నిజంగా ఆలోచించకండి, అది మరొక సందర్భంలో ఉపయోగించబడుతుందా లేదా అనే దాని గురించి నిజంగా ఆలోచించవద్దు.
 మీరు వాటిని స్థానికంగా మాత్రమే ప్రకటించవచ్చు మరియు వాటిని C ++ లో ఉపయోగించవచ్చు.
 C89 లో ఇది సాధ్యం కాలేదు, కానీ ఇప్పుడు C99 లో కూడా ఇది సాధ్యమే.
 చివరగా, ఈ మాడ్యూల్ యొక్క చివరి భాగంలో, మేము బూలియన్ రకాన్ని ఉపయోగించడాన్ని వివరిస్తాము.
 సి బూలియన్ రకాన్ని ఉపయోగించుకునే అవకాశం ఉందని మనందరికీ తెలుసు, ఇది ఒక రకం, ఇది నిజమైన లేదా తప్పుడు విలువను తీసుకోగలదని మేము చెబుతున్నాము.
 ఇప్పుడు, సి ఇది సి 89, అసలు పాత సి మనకు బూల్ కోసం వేరే రకం లేదు.
 కాబట్టి, అది ఏమిటంటే, అది బూల్‌ను అర్థం చేసుకోవడానికి పూర్ణాంకాన్ని ఉపయోగిస్తోంది, మీరు బూలియన్ స్థానం లేదా బూలియన్ విలువను ఏ ప్రదేశంలో ఉంచాలనుకుంటున్నారో, మీరు తేడా వేరియబుల్‌ను ప్రకటిస్తారు. మరియు 0 అని సెట్ చేయండి, మీరు తప్పుడు అర్థం చేసుకోవాలనుకుంటే మరియు కానిదాన్ని సెట్ చేయండి -జెరో, మనం నిజం అని అనుకుంటే.
 అందువల్ల, ఈ 3 నిలువు వరుసలలో, మీరు ఎడమ వైపు చూస్తే, సి ప్రోగ్రామ్ బూలియన్‌తో పనిచేస్తున్న అత్యంత సాధారణ మార్గం ఏమిటంటే, సౌలభ్యం కోసం మీరు రెండు స్థిరాంకాలను నిర్వచించవచ్చు; 1 మరియు 0 కలిగి ఉండటం మరియు వాటిని మీ ప్రోగ్రామ్‌లో ఉపయోగించడం నిజం మరియు తప్పు, కానీ నేను చూపించినట్లుగా బూలియన్ స్థానానికి ఉపయోగించే వేరియబుల్ x వ్యత్యాస రకంగా ప్రకటించబడింది. పూర్తయింది మరియు ఇది సత్యంతో ప్రారంభమైంది..
 కాబట్టి, మీరు ప్రింట్ చేస్తే దాని విలువ 1 అని చూపిస్తుంది; ఇది C89 లో ఉంది.
 తదనంతరం, C99 లో, బూల్ రకాన్ని ప్రవేశపెట్టడానికి మార్పు చేయబడింది.
 ఇప్పుడు, దీనిని చూడటానికి ముందు, మొదట కుడివైపు కాలమ్ చూద్దాం, ఇది C ++ ప్రోగ్రామ్.
 C ++ లో మీకు అంతర్నిర్మిత రకంగా బూల్ ఉంది, మీకు పూర్ణాంకం, చార్, ఫ్లోట్, డబుల్ ఉన్నాయి.
 అదేవిధంగా, మీకు బూల్ రకం ఉంది, ఈ బూల్ రకం కేవలం రెండు అక్షరాస్యులు; చిన్న కేసులో నిజం మరియు తప్పు రెండూ.
 అందువల్ల, ఆ కీలకపదాలు ఇప్పటికీ రిజర్వు చేయబడ్డాయి.
 కాబట్టి, మీరు బూలియన్ వేరియబుల్‌గా ఉపయోగించడానికి x ను సమానంగా నిర్వచించాలనుకుంటే, మీరు నేరుగా బూల్‌ని ఉపయోగించవచ్చు, ఇది మీరు నిజంగా బూలియన్ అని అర్థం చేసుకోవడం చాలా సులభం. విలువతో పనిచేయడం మరియు మీరు దానిని నిజమైన లేదా తప్పుడుతో ప్రారంభించవచ్చు, కానీ మీరు ఈ వేరియబుల్ యొక్క విలువను ప్రింట్ చేయడానికి ప్రయత్నిస్తే, అది నిజం లేదా తప్పు అని ముద్రించదు, వాస్తవానికి ఇది 1 లేదా 0 ను ప్రింట్ చేస్తుంది) విల్, అది నిజమైతే అది 1 మరియు 0 లేకపోతే.
 సహజంగానే, నిర్మించిన రకాన్ని స్పష్టంగా మరియు స్పష్టంగా ఉపయోగించుకోవడంలో చాలా ప్రయోజనాలు ఉన్నాయి.
 వీటిలో చాలా ముఖ్యమైనది C ++ ప్రోగ్రామ్ నుండి, మీరు మీ బూలియన్ విలువను పేర్కొనడానికి బూల్ ఉపయోగించినట్లయితే, అప్పుడు ప్రోగ్రామ్ చదివే ఎవరైనా దానిని అర్థం చేసుకోవచ్చు.ఈ వేరియబుల్ నిజమైన లేదా తప్పుడు తప్ప వేరే విలువను తీసుకోలేరని అనుమతిస్తుంది.
 దీనికి విరుద్ధంగా, మేము బూలియన్ విలువ కోసం పూర్ణాంకాన్ని ఉపయోగించే సి శైలిని ఉపయోగిస్తే, అది వాస్తవానికి చాలా భిన్నమైన విలువలను నిజం లేదా తప్పు అని అర్ధం చేసుకోవచ్చు. ఆమె వెళుతుంది.
 ఇప్పుడు, మధ్య కాలమ్‌లో, C99 ఎవరితో వచ్చారో C99 ప్రమాణంలో C ప్రోగ్రామింగ్ భాష యొక్క ఆసక్తికరమైన పొడిగింపును చూస్తాము.
 C99 ఒక స్పష్టమైన బూలియన్ రకాన్ని ప్రవేశపెట్టింది మరియు దీనికి అండర్ స్కోర్ బూల్ అని పేరు పెట్టారు, ఇక్కడ B మూలధనంలో వ్రాయబడింది, అయితే ఇది బూల్ ఇస్ రాయడానికి చాలా సాధారణమైన సహజ మార్గం కానందున, ఇది stdbool.h అనే కొత్త ప్రామాణిక లైబ్రరీ హెడర్‌ను కూడా అందించింది. మాక్రోలు అందించబడతాయి.
 మొదటి స్థూల లోయర్ కేసులో బూల్‌ను నిర్వచిస్తుంది మరియు అండర్ స్కోర్ క్యాపిటల్ బూల్‌తో సమానంగా ఉంటుంది.
 కాబట్టి, మేము C99 ప్రోగ్రామ్‌లో దిగువ కేసులో బూల్ ఉపయోగిస్తే, మీరు నిజంగా ఆ కొత్త ముందే నిర్వచించిన రకమైన అండర్ స్కోర్ క్యాపిటల్ బూల్ (బూల్) ను ఉపయోగిస్తున్నారు మరియు ఇది 1 మరియు 0 గా హెడర్‌లో ఉంది నేను సరైనది మరియు తప్పు అని నిర్వచించాను, తద్వారా మీరు దీన్ని స్థిరంగా ఇక్కడ ఉపయోగించండి.
 అందువల్ల, మనం ఉంటే; మీరు సి ఉపయోగిస్తున్నప్పుడల్లా, మీరు ఎల్లప్పుడూ బూల్ అని టైప్ చేయాలి మరియు పూర్ణాంకానికి వాడకండి మరియు దానిని బూల్ రకంగా అర్థం చేసుకోవాలి. సి ++ లో ఇది ఖచ్చితంగా నిర్మించబడింది- ఈ రకాలు రూపంలో వస్తుంది.
 కాబట్టి, దీనికి అనేక ఇతర ప్రయోజనాలు ఉన్నాయని మేము ఎత్తి చూపాము మరియు అదే సమయంలో మేము వివిధ రకాలతో వెళ్తాము.
 కాబట్టి ఈ మాడ్యూల్‌లో, సి మరియు సి ++ మధ్య ప్రాథమిక వ్యత్యాసాన్ని అర్థం చేసుకోవడానికి ప్రయత్నించాము; మీరు ఇన్‌పుట్‌ను ఎలా అవుట్పుట్ చేస్తారు? మీరు వేరియబుల్ ఎలా ప్రకటిస్తారు? C ++ లో C మరియు C ++ యొక్క ప్రామాణిక లైబ్రరీ ఎలా ఉపయోగించబడుతుంది? C ++ మనకు ఎలా ప్రకటించగలదో మరియు ఎలా అవుట్పుట్ చేయగలదో మాకు మరింత సౌలభ్యాన్ని ఇస్తుందని చూడటం ప్రారంభించాము.
 ఇప్పుడు, ఆ సంక్లిష్టమైన printf స్టేట్‌మెంట్‌లు, ఫార్మాట్‌లు వేర్వేరు తీగలలో ఉన్న స్ట్రీమ్ ప్రింట్ ఎఫ్ (ప్రింట్ ఎఫ్) ఫంక్షన్ (ఫంక్షన్) కాల్స్ మాకు అవసరం లేదు, వేరియబుల్స్ విడిగా జాబితా చేయబడతాయి.
 స్కాన్ఫ్‌కు వేరియబుల్స్ మరియు సారూప్య చిరునామాలు అవసరమని మనం గుర్తుంచుకోవాల్సిన అవసరం లేదు మరియు ఈ విధంగా సి ++ లో చాలా నిర్మాణాలు మరియు విధులు సరళీకృతం చేయబడ్డాయి, ఇవి ప్రోగ్రామింగ్‌ను పెంచడానికి సహాయపడతాయి.