தட்டச்சு செய்யப்பட்ட நிரலாக்க மொழி. §1 மொழி பற்றிய பொதுவான தகவல்கள். நிரல் வடிவமைப்பின் நிலைகள். பயன்பாட்டு வாழ்க்கைச் சுழற்சி மாதிரிகள் வகை, அல்லது வடிவமைப்பு விவரக்குறிப்புகள், அல்லது மாற்றும் எழுத்துகள் அல்லது கட்டுப்பாட்டு எழுத்துகள்

C++ (வாசிப்பு c-plus-plus) என்பது தொகுக்கப்பட்ட, நிலையான முறையில் தட்டச்சு செய்யப்பட்ட பொது-நோக்க நிரலாக்க மொழியாகும், இதில் நீங்கள் எந்த அளவிலான சிக்கலான நிரல்களையும் உருவாக்கலாம்.
20 ஆண்டுகளுக்கும் மேலாக, இந்த மொழி மூன்று மிகவும் பிரபலமான மற்றும் தேவைப்படும் நிரலாக்க மொழிகளில் ஒன்றாகும். (TIOBE இணையதளத்தைப் பார்வையிடுவதன் மூலம் இதை நீங்கள் சரிபார்க்கலாம்).
1980 களின் முற்பகுதியில் இந்த மொழி உருவானது, பெல் லேப்ஸ் ஊழியர் Björn Stroustrup தனது சொந்த தேவைகளுக்காக C மொழியில் பல மேம்பாடுகளை கொண்டு வந்தார்.

Bjarne Stroustrup - C++ மொழியை உருவாக்கியவர்

சிமுலா மொழியில் காணப்படும் திறன்களுடன் சி மொழியை நீட்டிக்க ஸ்ட்ரோஸ்ட்ரப் முடிவு செய்தார். சி, பெல் கணினிகள் இயங்கும் யுனிக்ஸ் அமைப்பின் அடிப்படை மொழியாக இருப்பது, வேகமானது, அம்சம் நிறைந்தது மற்றும் எடுத்துச் செல்லக்கூடியது. ஸ்ட்ரோஸ்ட்ரப் வகுப்புகள் மற்றும் பொருள்களுடன் பணிபுரியும் திறனைச் சேர்த்தது. இதன் விளைவாக, நடைமுறை மாடலிங் சிக்கல்கள் வளர்ச்சி நேரத்தின் அடிப்படையில் (சிமுலா போன்ற வகுப்புகளின் பயன்பாட்டிற்கு நன்றி) மற்றும் கணக்கீட்டு நேரத்தின் அடிப்படையில் (C இன் வேகத்திற்கு நன்றி) எளிதாக தீர்க்கப்பட்டன.
மொழி மேம்பாட்டாளர் இதைப் பற்றி எப்படிப் பேசுகிறார் என்பது இங்கே:



1998 இல், C++98 என அறியப்படும் முதல் மொழித் தரநிலை, ஒரு தரநிலைக் குழுவால் வெளியிடப்பட்டது. இன்றைய தேவைகளை பூர்த்தி செய்ய C++ தொடர்ந்து உருவாகி வருகிறது. C++ மொழியை உருவாக்கி அதை மேம்படுத்துவதற்கான முன்மொழிவுகளை C++ தரநிலைக் குழுவிடம் சமர்ப்பிக்கும் குழுக்களில் ஒன்று பூஸ்ட், இது மற்றவற்றுடன், மெட்டாப்ரோகிராமிங் அம்சங்களைச் சேர்ப்பதன் மூலம் மொழியின் திறன்களை மேம்படுத்துவதில் ஈடுபட்டுள்ளது. சமீபத்திய தரநிலை 2017 இல் வெளியிடப்பட்டது மற்றும் அழைக்கப்படுகிறது C++17. அடுத்த தரநிலை வருவதற்கு நீண்ட காலம் இருக்காது மற்றும் 2020 இல் தோன்றும் என்று எதிர்பார்க்கப்படுகிறது.
C++ மொழிக்கான உரிமைகள் யாருக்கும் சொந்தமில்லை; அது இலவசம். மார்ச் 2016 இல், ரஷ்யாவில் ஒரு பணிக்குழு WP21 C++ உருவாக்கப்பட்டது. C++ தரநிலைக்கான முன்மொழிவுகளை சேகரிக்கவும், ஒரு குழுவிற்கு அனுப்பவும், தரநிலைப்படுத்தலுக்கான சர்வதேச அமைப்பின் பொதுக் கூட்டங்களில் அவற்றைப் பாதுகாக்கவும் குழு ஏற்பாடு செய்யப்பட்டது.
C++ என்பது பல முன்னுதாரண மொழியாகும் (முன்மாதிரி என்ற வார்த்தையிலிருந்து - கணினி நிரல்களை எழுதும் ஒரு பாணி), பல்வேறு நிரலாக்க பாணிகள் மற்றும் தொழில்நுட்பங்கள் உட்பட. இது பெரும்பாலும் பொருள் சார்ந்த மொழியாக வகைப்படுத்தப்படுகிறது, ஆனால் கண்டிப்பாகச் சொன்னால், இது அப்படி இல்லை. பணிச் செயல்பாட்டின் போது, ​​கருவிகளைத் தேர்ந்தெடுப்பதில் டெவலப்பர் முழுமையான சுதந்திரத்தைப் பெறுகிறார், இதனால் ஒரு குறிப்பிட்ட அணுகுமுறையைப் பயன்படுத்தி தீர்க்கப்பட்ட சிக்கல் முடிந்தவரை திறமையாக தீர்க்கப்படுகிறது. வேறு வார்த்தைகளில் கூறுவதானால், C++ நிரல் மேம்பாட்டின் ஒரு பாணியை மட்டுமே கடைபிடிக்க புரோகிராமரை கட்டாயப்படுத்தாது (எடுத்துக்காட்டாக, பொருள் சார்ந்த).
C++ ஆனது பொதுவான கண்டெய்னர்கள் மற்றும் அல்காரிதம்கள், I/O, வழக்கமான வெளிப்பாடுகள், மல்டித்ரெடிங் ஆதரவு மற்றும் பிற அம்சங்களை உள்ளடக்கிய உயர்தர நூலகத்தைக் கொண்டுள்ளது. C++ ஆனது ஜாவா, C#, D உள்ளிட்ட பல நிரலாக்க மொழிகளில் தாக்கத்தை ஏற்படுத்தியுள்ளது. C++ ஆனது C மொழியின் தொடரியல் அடிப்படையிலான மொழிகளின் குடும்பத்தைச் சேர்ந்தது என்பதால், இந்தக் குடும்பத்தின் பிற நிரலாக்க மொழிகளில் நீங்கள் எளிதாக தேர்ச்சி பெறலாம்: JavaScript, PHP , Perl, Objective-C மற்றும் பல . முதலியன, தாய் மொழி உட்பட - சி. ()
அதன் இருப்பு காலத்தில், C++ மொழி எளிதில் மறுக்கக்கூடிய தொடர்ச்சியான கட்டுக்கதைகளைப் பெற்றுள்ளது (இங்கே பார்க்கவும்: பகுதி 1 மற்றும் பகுதி 2)

மொழியின் வரலாறு மற்றும் தரநிலைகள் வெளியீடு

1983

இந்த மொழியை உருவாக்கியவர் பிஜோர்ன் ஸ்ட்ரோஸ்ட்ரப், பெல் லேப்ஸ் ஊழியர், C++ மொழியின் ஆரம்ப பதிப்பை அறிமுகப்படுத்தினார் (“C வித் வகுப்புகள்”)

1985

C++ இன் முதல் வணிக வெளியீடு, மொழி அதன் நவீன பெயரைப் பெறுகிறது

1986

தி சி++ புரோகிராமிங் லாங்குவேஜின் முதல் பதிப்பின் வெளியீடு - பிஜோர்ன் ஸ்ட்ரோஸ்ட்ரப் எழுதிய C++ க்கு அர்ப்பணிக்கப்பட்ட புத்தகம்

1998

C++ மொழிக்கான சர்வதேச தரநிலை அங்கீகரிக்கப்பட்டது: ISO/IEC 14882:1998 “C++ நிரலாக்க மொழிக்கான தரநிலை”

2003
2005

நூலக தொழில்நுட்ப அறிக்கை 1 (TR1) வெளியிடப்பட்டது. அதிகாரப்பூர்வமாக தரநிலையின் பகுதியாக இல்லாவிட்டாலும், C++ மொழியின் அடுத்த பதிப்பில் சேர்க்கப்பட வேண்டிய நிலையான நூலகத்திற்கான நீட்டிப்புகளை அறிக்கை விவரித்துள்ளது.

2011

புதிய தரநிலை வெளியீடு - C++11 அல்லது ISO/IEC 14882:2011; புதிய தரநிலையில் மொழி மையத்தில் சேர்த்தல் மற்றும் நிலையான நூலகத்தின் விரிவாக்கம், பெரும்பாலான TR1 உட்பட

2014

C++14 தரநிலையின் வெளியீடு (“சர்வதேச தரநிலை ISO/IEC 14882:2014(E) நிரலாக்க மொழி C++”); C++14 ஆனது C++11 க்கு மேல் ஒரு சிறிய நீட்டிப்பாகக் காணப்படுகிறது, இதில் பெரும்பாலும் பிழை திருத்தங்கள் மற்றும் சிறிய மேம்பாடுகள் உள்ளன

2017

புதிய தரநிலையின் வெளியீடு - C++1z (C++17). இந்த தரநிலை பல மாற்றங்கள் மற்றும் சேர்த்தல்களை அறிமுகப்படுத்தியது. எடுத்துக்காட்டாக, STD ஆனது C11 தரநிலையின் நூலகங்கள், பூஸ்ட் :: கோப்பு முறைமையின் அடிப்படையிலான கோப்பு முறைமை மற்றும் பெரும்பாலான சோதனை TS I நூலகத்தை உள்ளடக்கியது.

2020

C++20 என்பது C++ நிரலாக்க மொழிக்கான ISO/IEC தரநிலையின் அதிகாரப்பூர்வமற்ற பெயர், இது C++17ஐப் பின்பற்றும் என எதிர்பார்க்கப்படுகிறது. வரைவு N4800 தரநிலை.

சி++ தத்துவம்

அவரது புத்தகமான தி டிசைன் அண்ட் எவல்யூஷன் ஆஃப் சி++ (2007) இல், சி++ (சுருக்கமாக) வடிவமைக்கும் போது அவர் பின்பற்றிய கொள்கைகளை பிஜோர்ன் ஸ்ட்ரோஸ்ட்ரப் விவரிக்கிறார்:

  • நிலையான தரவு வகைகள், சி மொழியின் செயல்திறன் மற்றும் பெயர்வுத்திறன் ஆகியவற்றைக் கொண்ட பொது-நோக்க மொழியைப் பெறுங்கள்.
  • பல்வேறு நிரலாக்க பாணிகளை நேரடியாகவும் விரிவாகவும் ஆதரிக்கவும்.
  • ப்ரோக்ராமருக்குத் தேர்வு சுதந்திரம் கொடுங்கள், அது அவருக்குத் தவறாகத் தேர்ந்தெடுக்கும் வாய்ப்பைக் கொடுத்தாலும் கூட.
  • முடிந்தவரை C உடன் இணக்கத்தன்மையை பராமரிக்கவும், அதன் மூலம் C நிரலாக்கத்தில் இருந்து எளிதான மாற்றத்தை சாத்தியமாக்குகிறது.
  • C மற்றும் C++ இடையே உள்ள முரண்பாடுகளைத் தவிர்க்கவும்: இரு மொழிகளிலும் செல்லுபடியாகும் எந்தவொரு கட்டுமானமும் அவை ஒவ்வொன்றிலும் ஒரே பொருளைக் குறிக்க வேண்டும் மற்றும் ஒரே நிரல் நடத்தைக்கு வழிவகுக்கும்.
  • இயங்குதளம் சார்ந்த அல்லது உலகளாவிய அம்சங்களைத் தவிர்க்கவும்.
  • "நீங்கள் பயன்படுத்தாதவற்றுக்கு பணம் செலுத்த வேண்டாம்" - எந்த மொழி அம்சமும் அதைப் பயன்படுத்தாத நிரல்களின் செயல்திறன் குறைவதற்கு வழிவகுக்காது.
  • மிகவும் சிக்கலான நிரலாக்க சூழல் தேவையில்லை.

சி மற்றும் சி++

C++ இன் தொடரியல் C மொழியிலிருந்து பெறப்பட்டது. முறைப்படி, C++ இன் கொள்கைகளில் ஒன்று C மொழியுடன் இணக்கத்தன்மையைப் பேணுகிறது, உண்மையில், இந்த மொழிகளுக்கான தரநிலைப்படுத்தல் குழுக்கள் தொடர்பு கொள்ளாது, மேலும் அவை செய்யும் மாற்றங்கள் இல்லை. ஒன்றோடொன்று தொடர்புடையதாக இல்லை, ஆனால் பெரும்பாலும் கருத்தியல் ரீதியாக ஒன்றுக்கொன்று முரண்படுகிறது. எனவே, புதிய C தரநிலைகள் கர்னலில் சேர்க்கும் கூறுகள் நிலையான நூலகத்தின் C++ நிலையான கூறுகளில் உள்ளன மற்றும் கர்னலில் இல்லை, எடுத்துக்காட்டாக, டைனமிக் வரிசைகள், நிலையான எல்லைகள் கொண்ட வரிசைகள், இணை செயலாக்க வசதிகள். ஸ்ட்ரோஸ்ட்ரப்பின் கூற்றுப்படி, இந்த இரண்டு மொழிகளின் வளர்ச்சியையும் இணைப்பது பெரும் நன்மை பயக்கும், ஆனால் அரசியல் காரணங்களுக்காக அது சாத்தியமில்லை. எனவே C மற்றும் C++ க்கு இடையேயான நடைமுறை இணக்கத்தன்மை படிப்படியாக இழக்கப்படும்.
இந்த எடுத்துக்காட்டில், பயன்படுத்தப்படும் கம்பைலரைப் பொறுத்து, "C++" அல்லது "C" வெளியீடு இருக்கும்:

திட்டம் 9.1

#சேர்க்கிறது int main() ( printf("%s\n", (sizeof("a") == sizeof(char)) ? "C++" : "C"); திரும்ப 0; )

C இல் உள்ள எழுத்து மாறிலிகள் int வகையிலும், C++ இல் அவை char வகையிலும் இருப்பதே இதற்குக் காரணம், ஆனால் இந்த வகைகளின் அளவுகள் வேறுபட்டவை.

பயன்பாட்டு வாழ்க்கைச் சுழற்சி மாதிரிகள்

வாழ்க்கை சுழற்சிமென்பொருள் என்பது ஒரு மென்பொருள் தயாரிப்பை உருவாக்க வேண்டியதன் அவசியத்தில் முடிவு எடுக்கப்பட்ட தருணத்திலிருந்து தொடங்கி அது சேவையிலிருந்து முழுமையாக நீக்கப்பட்ட தருணத்தில் முடிவடையும் ஒரு காலகட்டமாகும். இந்த சுழற்சி மென்பொருளை உருவாக்கி உருவாக்கும் செயல்முறையாகும். பல வாழ்க்கை சுழற்சி மாதிரிகள் உள்ளன.
அடுக்கு மாதிரிவாழ்க்கை சுழற்சி (ஆங்கில நீர்வீழ்ச்சி மாதிரி) 1970 இல் வின்ஸ்டன் ராய்ஸால் முன்மொழியப்பட்டது. திட்டத்தின் அனைத்து நிலைகளையும் கண்டிப்பாக நிலையான வரிசையில் தொடர்ச்சியாக செயல்படுத்துவதற்கு இது வழங்குகிறது. அடுத்த கட்டத்திற்கு மாறுவது என்பது முந்தைய கட்டத்தில் வேலையை முழுமையாக முடிப்பதாகும். தேவைகள் உருவாக்கத்தின் கட்டத்தில் நிர்ணயிக்கப்பட்ட தேவைகள் தொழில்நுட்ப விவரக்குறிப்புகளின் வடிவத்தில் கண்டிப்பாக ஆவணப்படுத்தப்படுகின்றன மற்றும் திட்டத்தின் முழு வளர்ச்சிக்கும் பதிவு செய்யப்படுகின்றன. ஒவ்வொரு கட்டமும் மற்றொரு மேம்பாட்டுக் குழுவால் வளர்ச்சியைத் தொடர அனுமதிக்க போதுமான ஆவணங்களின் முழுமையான தொகுப்பை வெளியிடுவதில் முடிவடைகிறது.
நீர்வீழ்ச்சி மாதிரியின் படி திட்ட நிலைகள்:

  1. தேவைகளை உருவாக்குதல்;
  2. வடிவமைப்பு;
  3. செயல்படுத்தல்;
  4. சோதனை;
  5. செயல்படுத்தல்;
  6. அறுவை சிகிச்சை மற்றும் பராமரிப்பு.

அடுக்கை மாதிரியில், ஒரு திட்ட கட்டத்தில் இருந்து மற்றொரு கட்டத்திற்கு மாறுவது முந்தைய கட்டத்தின் முடிவு முற்றிலும் சரியானது என்று கருதுகிறது. பெரிய திட்டங்களில் இதை அடைவது கிட்டத்தட்ட சாத்தியமற்றது. எனவே, இந்த மாதிரி ஒரு சிறிய திட்டத்தை உருவாக்க மட்டுமே பொருத்தமானது. (W. Royce தானே இந்த மாதிரியை கடைபிடிக்கவில்லை மற்றும் ஒரு மறுசெயல் மாதிரியைப் பயன்படுத்தினார்).
மறுசெயல் மாதிரி
கேஸ்கேட் மாடலுக்கு மாற்றாக, 70களில் டி. கில்பிடமிருந்து திரும்பப் பெறும் மற்றும் அதிகரிக்கும் வளர்ச்சி (IID) மாதிரி உள்ளது. பரிணாம மாதிரியின் பெயர். ஐஐடி மாதிரியானது திட்ட வாழ்க்கைச் சுழற்சியை மறு செய்கைகளின் வரிசையாக உடைப்பதை உள்ளடக்குகிறது, ஒவ்வொன்றும் ஒரு "மினி-திட்டத்தை" ஒத்திருக்கிறது, ஒட்டுமொத்த திட்டத்துடன் ஒப்பிடும்போது சிறிய செயல்பாடுகளை உருவாக்குவதற்குப் பயன்படுத்தப்படும் அனைத்து மேம்பாட்டு செயல்முறைகளும் அடங்கும். ஒவ்வொரு மறு செய்கையின் நோக்கமும் மென்பொருள் அமைப்பின் செயல்பாட்டு பதிப்பைப் பெறுவதாகும், இதில் முந்தைய மற்றும் தற்போதைய மறு செய்கைகளின் ஒருங்கிணைந்த உள்ளடக்கத்தால் வரையறுக்கப்பட்ட செயல்பாடுகள் அடங்கும். இறுதி மறு செய்கையின் விளைவாக உற்பத்தியின் தேவையான அனைத்து செயல்பாடுகளும் உள்ளன. இவ்வாறு, ஒவ்வொரு மறு செய்கையின் முடிவிலும், தயாரிப்பு அதன் திறன்களுக்கு ஒரு அதிகரிப்பு - ஒரு அதிகரிப்பு - எனவே, பரிணாம வளர்ச்சியைப் பெறுகிறது.


பெரும்பாலான நவீன மேம்பாடு முறைகளில் செயல்பாட்டு அணுகுமுறையின் பல்வேறு மாறுபாடுகள் செயல்படுத்தப்படுகின்றன:

வளர்ச்சி செயல்முறை - பகுத்தறிவு ஒருங்கிணைந்த செயல்முறை (RUP)

பகுத்தறிவு ஒருங்கிணைந்த செயல்முறை (RUP)(பகுத்தறிவு ஒருங்கிணைந்த செயல்முறை) என்பது பகுத்தறிவு மென்பொருளால் (IBM) பராமரிக்கப்படும் ஒரு மென்பொருள் மேம்பாட்டு முறை ஆகும். இந்த முறை வளர்ச்சியின் அனைத்து நிலைகளுக்கும் பரிந்துரைகளை வழங்குகிறது: வணிக மாதிரியாக்கம் முதல் முடிக்கப்பட்ட திட்டத்தின் சோதனை மற்றும் ஆணையிடுதல் வரை. யுனிஃபைட் மாடலிங் லாங்குவேஜ் (யுஎம்எல்) மாடலிங் மொழியாகப் பயன்படுத்தப்படுகிறது.
முழுமையான தயாரிப்பு மேம்பாட்டு வாழ்க்கைச் சுழற்சி நான்கு கட்டங்களைக் கொண்டுள்ளது, ஒவ்வொன்றும் ஒன்று அல்லது அதற்கு மேற்பட்ட மறு செய்கைகளை உள்ளடக்கியது.

  • ஆரம்ப நிலை (ஆரம்பம்)
  • திட்டத்தின் நோக்கம் மற்றும் தேவையான ஆதாரங்களின் அளவை தீர்மானித்தல். தயாரிப்பின் அடிப்படைத் தேவைகள், வரம்புகள் மற்றும் முக்கிய செயல்பாடு ஆகியவை தீர்மானிக்கப்படுகின்றன. அபாயங்கள் மதிப்பிடப்படுகின்றன. செயல் திட்டமிடல். ஆரம்ப கட்டத்தின் முடிவில், லைஃப்சைக்கிள் குறிக்கோள் மைல்ஸ்டோனின் சாதனை மதிப்பிடப்படுகிறது, இது திட்டத்தைத் தொடர பங்குதாரர்களிடையே ஒரு ஒப்பந்தத்தை முன்வைக்கிறது.

  • தெளிவுபடுத்துதல்
  • ஆவணப்படுத்தல் தேவைகள். இயங்கக்கூடிய கட்டமைப்பின் வடிவமைப்பு, செயல்படுத்தல் மற்றும் சோதனை. விதிமுறைகள் மற்றும் செலவுகளை தெளிவுபடுத்துதல். முக்கிய அபாயங்களைக் குறைத்தல். வளர்ச்சிக் கட்டத்தை வெற்றிகரமாக முடிப்பது என்பது வாழ்க்கைச் சுழற்சி கட்டிடக்கலை மைல்கல்லை எட்டுவதாகும்.

  • கட்டுமானம்
  • "உருவாக்க" கட்டத்தில், தயாரிப்பின் பெரும்பாலான செயல்பாடு செயல்படுத்தப்படுகிறது: பயன்பாட்டு வடிவமைப்பு முடிந்தது, மூல குறியீடு எழுதப்பட்டது. கணினியின் முதல் வெளிப்புற வெளியீடு மற்றும் ஆரம்ப செயல்பாட்டுத் திறன் மைல்கல் ஆகியவற்றுடன் உருவாக்க கட்டம் முடிவடைகிறது.

  • அறிமுகம்
  • "செயல்படுத்தல்" கட்டத்தில், தயாரிப்பின் இறுதி பதிப்பு உருவாக்கப்பட்டு டெவலப்பரிடமிருந்து வாடிக்கையாளருக்கு மாற்றப்படும். பீட்டா சோதனைத் திட்டம், பயனர் பயிற்சி மற்றும் தயாரிப்பின் தரத்தைத் தீர்மானித்தல் ஆகியவை இதில் அடங்கும். தரமானது பயனர் எதிர்பார்ப்புகள் அல்லது தொடக்க கட்டத்தில் அமைக்கப்பட்டுள்ள அளவுகோல்களை பூர்த்தி செய்யவில்லை என்றால், செயல்படுத்தல் கட்டம் மீண்டும் மீண்டும் செய்யப்படுகிறது. அனைத்து இலக்குகளையும் நிறைவு செய்வது என்பது தயாரிப்பு வெளியீட்டு மைல்கல்லை அடைவது மற்றும் முழு வளர்ச்சி சுழற்சியை நிறைவு செய்வது.



"தகவல் தொழில்நுட்பம். கணினி மற்றும் மென்பொருள் பொறியியல். மென்பொருள் வாழ்க்கை சுழற்சி செயல்முறைகள்". இந்த தரநிலையானது ரஷ்ய கூட்டமைப்பின் தொழில்நுட்ப ஒழுங்குமுறை மற்றும் அளவீட்டுக்கான ஃபெடரல் ஏஜென்சியால் ஏற்றுக்கொள்ளப்பட்டது மற்றும் சர்வதேச தரநிலை ISO/IEC 12207:2008 ஐப் போன்றது. மென்பொருள் துறையில் பின்பற்றக்கூடிய மென்பொருள் வாழ்க்கை சுழற்சி செயல்முறைகளின் பொதுவான கட்டமைப்பை இந்த தரநிலை நிறுவுகிறது. ஒரு குறிப்பிட்ட வாழ்க்கை சுழற்சி மாதிரியை தரநிலை முன்மொழியவில்லை. எந்தவொரு வாழ்க்கை சுழற்சி மாதிரிகள், முறைகள் மற்றும் மென்பொருள் உருவாக்கத்திற்கான தொழில்நுட்பங்களுக்கு அதன் விதிகள் பொதுவானவை. இது வாழ்க்கைச் சுழற்சி செயல்முறைகளின் கட்டமைப்பை விவரிக்கிறது, அந்த செயல்முறைகளில் சேர்க்கப்பட்டுள்ள செயல்பாடுகள் மற்றும் பணிகளை எவ்வாறு செயல்படுத்துவது அல்லது முடிப்பது என்பதைக் குறிப்பிடவில்லை.

பாடத்திற்கான விளக்கக்காட்சி
செய்தி தலைப்புகள்
  • இலவச மென்பொருள் அறக்கட்டளை (FSF)
  • இலவச மென்பொருள் உரிமங்கள்
  • இலவச மென்பொருள் மற்றும் திறந்த மூல
  • நிரலாக்க மொழிகளின் வளர்ச்சியின் வரலாறு
  • சி மொழியின் வரலாறு. சி மற்றும் சி++
  • கதை
  • C++ பற்றிய விமர்சனம்
  • UNIX இன் வரலாறு
  • சுழல் மென்பொருள் வாழ்க்கை சுழற்சி மாதிரி
  • யுஎம்எல் (ஒருங்கிணைந்த மாடலிங் மொழி)
  • மைக்ரோசாஃப்ட் தீர்வுகள் கட்டமைப்பு
  • Windows இல் C/C++ நிரலாக்கத்திற்கான IDE
  • சி/சி++ கம்பைலர்கள்
  • விண்டோஸில் கன்சோல் பயன்பாட்டை உருவாக்குதல்
கேள்விகள்
  1. மென்பொருள் உருவாக்கத்தின் நீர்வீழ்ச்சி மாதிரி ஏன் பெரிய திட்டங்களில் பயன்படுத்தப்படவில்லை?
  2. நீர்வீழ்ச்சிக்கும் மறுசெயல் வளர்ச்சி மாதிரிகளுக்கும் என்ன வித்தியாசம்?
  3. பகுத்தறிவு ஒருங்கிணைக்கப்பட்ட செயல்முறை (RUP) முறையில் மென்பொருள் மேம்பாட்டின் நிலைகளை பட்டியலிடவும்

சி++ நிரலாக்க மொழி

கடைசியாக புதுப்பிக்கப்பட்டது: 08/28/2017

C++ நிரலாக்க மொழி என்பது உயர்நிலை, நிலையான தட்டச்சு செய்யப்பட்ட, தொகுக்கப்பட்ட, பொது நோக்கத்திற்கான நிரலாக்க மொழியாகும், இது பல்வேறு வகையான பயன்பாடுகளை உருவாக்குவதற்கு ஏற்றது. இன்று, C++ மிகவும் பிரபலமான மற்றும் பரவலான மொழிகளில் ஒன்றாகும்.

இது சி மொழியில் வேர்களைக் கொண்டுள்ளது, இது 1969-1973 இல் பெல் லேப்ஸில் புரோகிராமர் டென்னிஸ் ரிட்சியால் உருவாக்கப்பட்டது. 1980 களின் முற்பகுதியில், டேனிஷ் புரோகிராமர் Bjarne Stroustrup, பின்னர் பெல் லேப்ஸில் பணிபுரிந்தார், C மொழிக்கு நீட்டிப்பாக C++ ஐ உருவாக்கினார். உண்மையில், தொடக்கத்தில், C++ ஆனது சில பொருள் சார்ந்த நிரலாக்க திறன்களுடன் C மொழிக்கு துணையாக இருந்தது. அதனால்தான் ஸ்ட்ராஸ்ட்ரப் ஆரம்பத்தில் இதை "C வித் வகுப்புகள்" என்று அழைத்தார்.

பின்னர், புதிய மொழி பிரபலமடையத் தொடங்கியது. புதிய அம்சங்கள் இதில் சேர்க்கப்பட்டன, இது C க்கு கூடுதலாக அல்ல, ஆனால் முற்றிலும் புதிய நிரலாக்க மொழி. இதன் விளைவாக, "C வித் வகுப்புகள்" என்பது C++ என மறுபெயரிடப்பட்டது. அப்போதிருந்து, இரண்டு மொழிகளும் ஒருவருக்கொருவர் சுயாதீனமாக வளரத் தொடங்கின.

C++ என்பது ஒரு சக்திவாய்ந்த மொழி, இது C இலிருந்து பணக்கார நினைவக திறன்களைப் பெறுகிறது. எனவே, சி ++ பெரும்பாலும் கணினி நிரலாக்கத்தில் அதன் பயன்பாட்டைக் காண்கிறது, குறிப்பாக, இயக்க முறைமைகள், இயக்கிகள், பல்வேறு பயன்பாடுகள், வைரஸ் தடுப்புகள் போன்றவற்றை உருவாக்கும் போது. மூலம், விண்டோஸ் OS பெரும்பாலும் C++ இல் எழுதப்பட்டுள்ளது. ஆனால் இந்த மொழியின் பயன்பாடு கணினி நிரலாக்கத்திற்கு மட்டுப்படுத்தப்படவில்லை. வேகம் மற்றும் செயல்திறன் முக்கியமான எந்த நிலையிலும் C++ ஐப் பயன்படுத்தலாம். வரைகலை பயன்பாடுகள் மற்றும் பல்வேறு பயன்பாட்டு நிரல்களை உருவாக்க இது பெரும்பாலும் பயன்படுத்தப்படுகிறது. பணக்கார, பணக்கார காட்சிப்படுத்தலுடன் கேம்களை உருவாக்கவும் இது குறிப்பாகப் பயன்படுத்தப்படுகிறது. கூடுதலாக, சமீபத்தில் மொபைல் திசை வேகத்தை அதிகரித்து வருகிறது, அங்கு C ++ அதன் பயன்பாட்டைக் கண்டறிந்துள்ளது. இணைய மேம்பாட்டில் கூட, இணைய பயன்பாடுகள் அல்லது வலை பயன்பாடுகளுக்கு சேவை செய்யும் சில துணை சேவைகளை உருவாக்க C++ ஐப் பயன்படுத்தலாம். பொதுவாக, C++ என்பது பரவலாகப் பயன்படுத்தப்படும் மொழியாகும், இதில் நீங்கள் எந்த வகையான நிரலையும் உருவாக்கலாம்.

C++ என்பது தொகுக்கப்பட்ட மொழியாகும், அதாவது கம்பைலர் C++ மூலக் குறியீட்டை ஒரு இயங்கக்கூடிய கோப்பாக மாற்றுகிறது, அதில் இயந்திர வழிமுறைகளின் தொகுப்பு உள்ளது. ஆனால் வெவ்வேறு தளங்கள் அவற்றின் சொந்த குணாதிசயங்களைக் கொண்டுள்ளன, எனவே தொகுக்கப்பட்ட நிரல்களை ஒரு தளத்திலிருந்து மற்றொரு தளத்திற்கு மாற்ற முடியாது மற்றும் அங்கு இயக்க முடியாது. இருப்பினும், மூல குறியீடு மட்டத்தில், சில OS-சார்ந்த செயல்பாடுகள் பயன்படுத்தப்படாவிட்டால், C++ நிரல்கள் பெரும்பாலும் கையடக்கமாக இருக்கும். கம்பைலர்கள், லைப்ரரிகள் மற்றும் டெவலப்மென்ட் டூல்களின் கிடைக்கும் எல்லா பொதுவான பிளாட்ஃபார்ம்களும் இந்த தளங்களுக்கான பயன்பாடுகளில் ஒரே C++ மூலக் குறியீட்டை தொகுக்க உங்களை அனுமதிக்கிறது.

C போலல்லாமல், C++ மொழியானது, ஆப்ஜெக்ட்-சார்ந்த பாணியில் பயன்பாடுகளை எழுத உங்களை அனுமதிக்கிறது. இது பெரிய பயன்பாடுகளை உருவாக்குவதை எளிதாக்குகிறது.

வளர்ச்சியின் முக்கிய கட்டங்கள்

1979-80 இல், Bjarne Stroustrup C மொழிக்கான நீட்டிப்பை உருவாக்கினார் - "C with Classes". 1983 இல் மொழி C++ என மறுபெயரிடப்பட்டது.

1985 ஆம் ஆண்டில், சி ++ மொழியின் முதல் வணிகப் பதிப்பு வெளியிடப்பட்டது, அதே போல் "தி சி ++ புரோகிராமிங் லாங்குவேஜ்" புத்தகத்தின் முதல் பதிப்பும் வெளியிடப்பட்டது, இது அதிகாரப்பூர்வ தரநிலை இல்லாத நிலையில் இந்த மொழியின் முதல் விளக்கத்தைக் குறிக்கிறது.

1989 ஆம் ஆண்டில், C++ 2.0 மொழியின் புதிய பதிப்பு வெளியிடப்பட்டது, அதில் பல புதிய அம்சங்களை உள்ளடக்கியது. இதற்குப் பிறகு, மொழி 2011 வரை ஒப்பீட்டளவில் மெதுவாக வளர்ந்தது. ஆனால் அதே நேரத்தில், 1998 இல், ஐஎஸ்ஓ அமைப்பு (தரப்படுத்தலுக்கான சர்வதேச அமைப்பு) மூலம் மொழியைத் தரப்படுத்துவதற்கான முதல் முயற்சி மேற்கொள்ளப்பட்டது. முதல் தரநிலை ISO/IEC 14882:1998 அல்லது சுருக்கமாக C++98 என அழைக்கப்பட்டது. பின்னர், 2003 இல், C++03 தரநிலையின் புதிய பதிப்பு வெளியிடப்பட்டது.

2011 ஆம் ஆண்டில், புதிய C++11 தரநிலை வெளியிடப்பட்டது, இதில் பல சேர்த்தல்கள் மற்றும் C++ மொழியை அதிக எண்ணிக்கையிலான புதிய செயல்பாடுகளுடன் வளப்படுத்தியது. இதைத் தொடர்ந்து, சி++14 எனப்படும் தரத்தில் ஒரு சிறிய கூடுதலாக 2014 இல் வெளியிடப்பட்டது. மொழியின் மற்றொரு முக்கிய வெளியீடு 2017 இல் திட்டமிடப்பட்டுள்ளது.

தொகுப்பாளர்கள் மற்றும் மேம்பாட்டு சூழல்கள்

C++ இல் நிரல்களை உருவாக்க, உங்களுக்கு ஒரு கம்பைலர் தேவை - இது C++ இல் உள்ள மூலக் குறியீட்டை இயங்கக்கூடிய கோப்பாக மொழிபெயர்க்கிறது, அதை நீங்கள் இயக்கலாம். ஆனால் தற்போது பல வேறுபட்ட தொகுப்பிகள் உள்ளன. அவை பல்வேறு அம்சங்களில் வேறுபடலாம், குறிப்பாக தரநிலைகளை செயல்படுத்துவதில். C++ க்கான தொகுப்பிகளின் அடிப்படை பட்டியலை விக்கிபீடியாவில் காணலாம். அனைத்து சமீபத்திய தரநிலைகளையும் உருவாக்கி செயல்படுத்தும் அந்த கம்பைலர்களைத் தேர்வு செய்ய மேம்பாட்டிற்கு பரிந்துரைக்கப்படுகிறது. எனவே, இந்த டுடோரியல் முழுவதும் நாம் முதன்மையாக குனு திட்டத்தால் உருவாக்கப்பட்ட இலவசமாகக் கிடைக்கும் g++ கம்பைலரைப் பயன்படுத்துவோம்.

நிரல்களை உருவாக்க விஷுவல் ஸ்டுடியோ, நெட்பீன்ஸ், எக்லிப்ஸ், க்யூடி போன்ற ஐடிஇகளையும் பயன்படுத்தலாம்.

நீங்கள் நிரலாக்கத்திற்கு புதியவராக இருந்தாலும் அல்லது பிற மொழிகளில் விரிவான நிரலாக்க அனுபவம் பெற்றவராக இருந்தாலும், இந்த பயிற்சிகள் அனைவருக்கும் பொருந்தும்! இந்த பொருள் C/C++ மொழிகளை அதன் அடிப்படைகளிலிருந்து மிகவும் சிக்கலான கட்டமைப்புகள் வரை கற்க விரும்புபவர்களுக்கானது.

C++ என்பது ஒரு நிரலாக்க மொழி, இந்த நிரலாக்க மொழியின் அறிவு உங்கள் கணினியை மிக உயர்ந்த மட்டத்தில் கட்டுப்படுத்த உங்களை அனுமதிக்கும். வெறுமனே, நீங்கள் கணினியை நீங்கள் விரும்பியதைச் செய்ய முடியும். C++ நிரலாக்க மொழியில் தேர்ச்சி பெற எங்கள் தளம் உதவும்.

நிறுவல் /IDE

நீங்கள் C++ கற்கத் தொடங்குவதற்கு முன் நீங்கள் செய்ய வேண்டிய முதல் விஷயம், உங்களிடம் ஒரு IDE - ஒரு ஒருங்கிணைந்த மேம்பாட்டு சூழல் (நீங்கள் நிரல் செய்யும் நிரல்) உள்ளதா என்பதை உறுதிப்படுத்திக் கொள்ள வேண்டும். உங்களிடம் ஐடிஇ இல்லையென்றால், இதோ செல்லுங்கள். IDE இன் தேர்வை நீங்கள் முடிவு செய்தவுடன், அதை நிறுவி எளிய திட்டங்களை உருவாக்க பயிற்சி செய்யுங்கள்.

சி++ அறிமுகம்

C++ மொழி என்பது கணினிக்கு என்ன செய்ய வேண்டும் என்று சொல்லும் கட்டளைகளின் தொகுப்பாகும். இந்த கட்டளைகளின் தொகுப்பு பொதுவாக மூல குறியீடு அல்லது வெறுமனே குறியீடு என்று அழைக்கப்படுகிறது. கட்டளைகள் "செயல்பாடுகள்" அல்லது "முக்கிய வார்த்தைகள்". முக்கிய வார்த்தைகள் (C/C++ ஒதுக்கப்பட்ட சொற்கள்) மொழியின் அடிப்படை கட்டுமான தொகுதிகள். செயல்பாடுகள் சிக்கலான கட்டுமானத் தொகுதிகள், ஏனெனில் அவை எளிமையான செயல்பாடுகளின் அடிப்படையில் எழுதப்பட்டுள்ளன - கீழே காட்டப்பட்டுள்ள எங்கள் முதல் நிரலில் இதைப் பார்க்கலாம். செயல்பாடுகளின் இந்த அமைப்பு ஒரு புத்தகத்தின் உள்ளடக்கங்களை ஒத்திருக்கிறது. உள்ளடக்கம் புத்தகத்தின் அத்தியாயங்களைக் காட்டலாம், புத்தகத்தின் ஒவ்வொரு அத்தியாயமும் பத்திகளைக் கொண்ட அதன் சொந்த உள்ளடக்கத்தைக் கொண்டிருக்கலாம், ஒவ்வொரு பத்தியும் அதன் சொந்த துணைப் பத்திகளைக் கொண்டிருக்கலாம். நீங்கள் பயன்படுத்தக்கூடிய பல பொதுவான செயல்பாடுகள் மற்றும் ஒதுக்கப்பட்ட சொற்களை C++ வழங்கினாலும், உங்கள் சொந்த செயல்பாடுகளை எழுத வேண்டிய அவசியம் இன்னும் உள்ளது.

நிரலின் எந்தப் பகுதியில் இது தொடங்குகிறது? C++ இல் உள்ள ஒவ்வொரு நிரலுக்கும் ஒரு செயல்பாடு உள்ளது, இது முக்கிய அல்லது முக்கிய செயல்பாடு என்று அழைக்கப்படுகிறது, நிரல் செயல்படுத்தல் இந்த செயல்பாட்டுடன் தொடங்குகிறது. முக்கிய செயல்பாட்டிலிருந்து, நீங்கள் வேறு எந்த செயல்பாடுகளையும் அழைக்கலாம், அவை நாங்கள் எழுதியவை அல்லது, முன்பு குறிப்பிட்டது போல், கம்பைலர் வழங்கியது.

இந்த நிலையான அம்சங்களை எவ்வாறு அணுகுவது? கம்பைலருடன் வரும் நிலையான செயல்பாடுகளை அணுக, முன்செயலி கட்டளையைப் பயன்படுத்தி தலைப்புக் கோப்பைச் சேர்க்க வேண்டும் - #include . இது ஏன் பயனுள்ளதாக இருக்கிறது? வேலை செய்யும் திட்டத்தின் உதாரணத்தைப் பார்ப்போம்:

#சேர்க்கிறது << "Моя первая программа на С++\n"; cin.get(); }

நிரலின் கூறுகளை விரிவாகக் கருதுவோம். #include என்பது ஒரு "முன்செயலி" கட்டளையாகும், இது எக்ஸிகியூட்டபிள் உருவாக்கும் முன் iostream ஹெடர் கோப்பில் உள்ள குறியீட்டை எங்கள் நிரலில் வைக்குமாறு கம்பைலரிடம் கூறுகிறது. ஒரு நிரலுடன் தலைப்புக் கோப்பை இணைப்பதன் மூலம், உங்கள் நிரலில் நீங்கள் பயன்படுத்தக்கூடிய பல்வேறு செயல்பாடுகளுக்கான அணுகலைப் பெறுவீர்கள். எடுத்துக்காட்டாக, cout operatorக்கு iostream தேவை. பெயர்வெளி std ஐப் பயன்படுத்தும் வரி; std நிலையான நூலகத்தின் ஒரு பகுதியாக இருக்கும் செயல்பாடுகளின் குழுவைப் பயன்படுத்த கம்பைலரிடம் கூறுகிறது. இந்த வரியானது cout போன்ற ஆபரேட்டர்களைப் பயன்படுத்த நிரலை அனுமதிக்கிறது. அரைப்புள்ளி என்பது C++ தொடரியல் பகுதியாகும். இது கட்டளையின் முடிவு என்று கம்பைலரிடம் கூறுகிறது. C++ இல் உள்ள பெரும்பாலான கட்டளைகளை முடிக்க அரைப்புள்ளிகள் பயன்படுத்தப்படுவதை நீங்கள் சிறிது நேரத்தில் பார்ப்பீர்கள்.

நிரலின் அடுத்த முக்கியமான வரி int main(). இந்த வரி கம்பைலருக்கு பிரதானம் என்று ஒரு செயல்பாடு இருப்பதாகவும், செயல்பாடு ஒரு முழு எண்ணை வழங்குகிறது என்றும் கூறுகிறது. சுருள் பிரேஸ்கள் (மற்றும் ) ஒரு செயல்பாட்டின் தொடக்கத்தை (மற்றும் முடிவை) குறிக்கின்றன. சுருள் பிரேஸ்கள் குறியீட்டின் மற்ற தொகுதிகளிலும் பயன்படுத்தப்படுகின்றன, ஆனால் அவை எப்போதும் ஒரு விஷயத்தைக் குறிக்கின்றன - முறையே தொகுதியின் ஆரம்பம் மற்றும் முடிவு.

C++ இல், உரையைக் காட்ட cout ஆப்ஜெக்ட் பயன்படுத்தப்படுகிறது ("C out" என்று உச்சரிக்கப்படுகிறது). அவர் சின்னங்களைப் பயன்படுத்துகிறார்<< , известные как «оператор сдвига», чтобы указать, что отправляется к выводу на экран. Результатом вызова функции cout << является отображение текста на экране. Последовательность \n фактически рассматривается как единый символ, который обозначает новую строку (мы поговорим об этом позже более подробно). Символ \n перемещает курсор на экране на следующую строку. Опять же, обратите внимание на точку с запятой, её добавляют в конец, после каждого оператора С++.

அடுத்த கட்டளை cin.get() . இது மற்றொரு செயல்பாட்டு அழைப்பாகும், இது உள்ளீட்டு தரவு ஸ்ட்ரீமில் இருந்து தரவைப் படித்து ENTER விசையை அழுத்தும் வரை காத்திருக்கிறது. இந்த கட்டளை ENTER விசையை அழுத்தும் வரை கன்சோல் சாளரத்தை மூடாமல் வைத்திருக்கும். நிரலின் வெளியீட்டைக் காண இது உங்களுக்கு நேரத்தை வழங்குகிறது.

முக்கிய செயல்பாட்டின் (மூடும் சுருள் பிரேஸ்) முடிவை அடைந்ததும், எங்கள் நிரல் 0 மதிப்பை இயக்க முறைமைக்கு வழங்கும். இந்த வருவாய் மதிப்பு முக்கியமானது, ஏனெனில் அதை பகுப்பாய்வு செய்வதன் மூலம், எங்கள் நிரல் வெற்றிகரமாக முடிந்ததா இல்லையா என்பதை OS தீர்மானிக்க முடியும். 0 என்பது வெற்றியைக் குறிக்கிறது மற்றும் தானாகவே திரும்பும் (ஆனால் int தரவு வகைக்கு மட்டுமே; பிற செயல்பாடுகளுக்கு நீங்கள் மதிப்பை கைமுறையாகத் திருப்பித் தர வேண்டும்), ஆனால் 1 போன்ற வேறு ஏதாவது ஒன்றைத் திரும்பப் பெற விரும்பினால், அதைச் செய்ய வேண்டும். கைமுறையாக.

#சேர்க்கிறது பெயர்வெளி std ஐப் பயன்படுத்துதல்; int main() (cout<<"Моя первая программа на С++\n"; cin.get(); return 1; }

பொருளை ஒருங்கிணைக்க, உங்கள் IDE இல் நிரல் குறியீட்டை தட்டச்சு செய்து அதை இயக்கவும். நிரல் இயங்கியதும், வெளியீட்டைப் பார்த்ததும், கூட் ஸ்டேட்மென்ட் மூலம் சிறிது பரிசோதனை செய்யுங்கள். இது மொழியைப் பழக்கப்படுத்த உதவும்.

உங்கள் திட்டங்களில் கருத்து தெரிவிக்க மறக்காதீர்கள்!

உங்கள் குறியீட்டில் கருத்துகளைச் சேர்க்கவும், இது உங்களுக்கு மட்டுமல்ல, மற்றவர்களுக்கும் தெளிவாக இருக்கும். குறியீட்டை இயக்கும் போது கம்பைலர் கருத்துகளைப் புறக்கணிக்கிறது, உண்மையான குறியீட்டை விவரிக்க எத்தனை கருத்துகளையும் பயன்படுத்த உங்களை அனுமதிக்கிறது. ஒரு கருத்தை உருவாக்க, அல்லது // ஐப் பயன்படுத்தவும், இது தொகுப்பாளரிடம் மீதமுள்ள வரி ஒரு கருத்து என்று கூறுகிறது, அல்லது /* பின்னர் */ . நீங்கள் நிரல் செய்யக் கற்றுக் கொள்ளும்போது, ​​நிரலின் வெளியீடு எவ்வாறு மாறுகிறது என்பதைப் பார்க்க, குறியீட்டின் சில பகுதிகளில் கருத்துத் தெரிவிப்பது பயனுள்ளது. கருத்துத் தெரிவிக்கும் நுட்பத்தைப் பற்றி விரிவாகப் படிக்கலாம்.

இந்த வகை மாறிகள் அனைத்தையும் என்ன செய்வது?

சில மாறி வகைகள் தேவையற்றதாகத் தோன்றும்போது சில நேரங்களில் பல மாறி வகைகளைக் கொண்டிருப்பது குழப்பமாக இருக்கும். சில மாறிகளுக்கு மற்றவற்றை விட அதிக நினைவகம் தேவைப்படுவதால், சரியான மாறி வகையைப் பயன்படுத்துவது மிகவும் முக்கியம். கூடுதலாக, அவை நினைவகத்தில் சேமிக்கப்படும் விதம், மிதக்கும் புள்ளி எண்கள், மிதவை மற்றும் இரட்டை தரவு வகைகள் "துல்லியமானவை" மற்றும் துல்லியமான முழு எண் மதிப்பைச் சேமிக்க வேண்டியிருக்கும் போது பயன்படுத்தக்கூடாது.

C++ இல் மாறிகளை அறிவித்தல்

ஒரு மாறியை அறிவிக்க, தொடரியல் வகையைப் பயன்படுத்தவும்<имя>; . மாறி அறிவிப்புகளின் சில எடுத்துக்காட்டுகள் இங்கே:

இன்ட் எண்; கரி பாத்திரம்; மிதவை எண்_ மிதவை;

ஒரே மாதிரியான பல மாறிகளை ஒரு வரியில் அறிவிக்க அனுமதிக்கப்படுகிறது; இதைச் செய்ய, அவை ஒவ்வொன்றும் கமாவால் பிரிக்கப்பட வேண்டும்.

Int x, y, z, d;

நீங்கள் கூர்ந்து கவனித்திருந்தால், ஒரு மாறி அறிவிப்பு எப்பொழுதும் அரைப்புள்ளியால் தொடர்ந்து வருவதை நீங்கள் பார்த்திருக்கலாம். "மாறிகளுக்கு பெயரிடுவதில்" மாநாட்டைப் பற்றி மேலும் அறியலாம்.

C++ இல் மாறிகளை அறிவிக்கும் போது ஏற்படும் பொதுவான தவறுகள்

நீங்கள் அறிவிக்கப்படாத ஒரு மாறியைப் பயன்படுத்த முயற்சித்தால், உங்கள் நிரல் தொகுக்கப்படாது மற்றும் நீங்கள் ஒரு பிழை செய்தியைப் பெறுவீர்கள். C++ இல், அனைத்து மொழி முக்கிய வார்த்தைகளும், அனைத்து செயல்பாடுகளும் மற்றும் அனைத்து மாறிகளும் கேஸ் சென்சிட்டிவ் ஆகும்.

மாறிகளைப் பயன்படுத்துதல்

ஒரு மாறியை எவ்வாறு அறிவிப்பது என்பது இப்போது உங்களுக்குத் தெரியும். ஒரு மாறியின் பயன்பாட்டை நிரூபிக்கும் ஒரு எடுத்துக்காட்டு நிரல் இங்கே:

#சேர்க்கிறது பெயர்வெளி std ஐப் பயன்படுத்துதல்; int main() ( int number; cout<< "Введите число: "; cin >> எண்; cin.ignore(); கூட்<< "Вы ввели: "<< number <<"\n"; cin.get(); }

இந்த திட்டத்தைப் பார்த்து, அதன் குறியீட்டை வரிக்கு வரியாக ஆராய்வோம். எண்ணின் முக்கிய சொல் எண் ஒரு முழு எண் என்பதைக் குறிக்கிறது. cin >> செயல்பாடு மதிப்பை எண்ணாகப் படிக்கிறது , பயனர் உள்ளிட்ட எண்ணுக்குப் பிறகு Enter ஐ அழுத்த வேண்டும். cin.ignore() என்பது ஒரு எழுத்தைப் படித்து அதைப் புறக்கணிக்கும் ஒரு செயல்பாடு. நிரலில் எங்கள் உள்ளீட்டை ஒழுங்கமைத்துள்ளோம்; ஒரு எண்ணை உள்ளிட்ட பிறகு, ENTER விசையை அழுத்துகிறோம், இது உள்ளீட்டு ஸ்ட்ரீமுக்கு அனுப்பப்படும். எங்களுக்கு இது தேவையில்லை, எனவே நாங்கள் அதை நிராகரிக்கிறோம். மாறி ஒரு முழு எண் வகையாக அறிவிக்கப்பட்டது என்பதை நினைவில் கொள்ளுங்கள், பயனர் தசம எண்ணை உள்ளிட முயற்சித்தால், அது துண்டிக்கப்படும் (அதாவது, எண்ணின் தசம பகுதி புறக்கணிக்கப்படும்). ஒரு தசம எண் அல்லது எழுத்துகளின் வரிசையை உள்ளிட முயற்சிக்கவும், நீங்கள் எடுத்துக்காட்டு நிரலை இயக்கும்போது, ​​பதில் உள்ளீட்டு மதிப்பைப் பொறுத்தது.

ஒரு மாறியிலிருந்து அச்சிடும்போது, ​​மேற்கோள்கள் பயன்படுத்தப்படாது என்பதை நினைவில் கொள்க. மேற்கோள்கள் இல்லாதது, ஒரு மாறி உள்ளது என்று கம்பைலரிடம் கூறுகிறது, எனவே நிரல் மாறியின் மதிப்பை சரிபார்க்க வேண்டும், இதனால் மாறி பெயரை அதன் மதிப்புடன் செயல்படுத்துகிறது. ஒரே வரியில் பல ஷிப்ட் ஸ்டேட்மெண்ட்கள் முற்றிலும் ஏற்றுக்கொள்ளக்கூடியவை மற்றும் வெளியீடு அதே வரிசையில் செய்யப்படும். ஒவ்வொரு ஷிப்ட் ஆபரேட்டருக்கும் அதன் சொந்த ஸ்டிரிங் லிட்டரல்கள் (மேற்கோள்களில் இணைக்கப்பட்ட சரங்கள்) மற்றும் மாறிகள் ஆகியவற்றை நீங்கள் பிரிக்க வேண்டும்.<< . Попытка поставить две переменные вместе с одним оператором сдвига << выдаст сообщение об ошибке . Не забудьте поставить точку с запятой. Если вы забыли про точку с запятой, компилятор выдаст вам сообщение об ошибке при попытке скомпилировать программу.

மதிப்புகளை மாற்றுதல் மற்றும் ஒப்பிடுதல்

நிச்சயமாக, நீங்கள் எந்த வகையான தரவைப் பயன்படுத்தினாலும், மாறிகள் அவற்றின் மதிப்பை மாற்றும் திறன் இல்லாமல் மிகவும் சுவாரஸ்யமாக இருக்காது. மாறிகளுடன் இணைந்து பயன்படுத்தப்படும் சில ஆபரேட்டர்களை பின்வருபவை காட்டுகிறது:

  • * பெருக்கல்,
  • - கழித்தல்,
  • + கூடுதலாக,
  • / பிரிவு,
  • = பணி,
  • == சமத்துவம்,
  • > மேலும்
  • < меньше.
  • != சமமற்றது
  • >= இதைவிடப் பெரியது அல்லது சமமானது
  • <= меньше или равно

கணிதச் செயல்பாடுகளைச் செய்யும் ஆபரேட்டர்கள், இடதுபுறத்தில் உள்ள மாறிக்கு முடிவை ஒதுக்க, ஒதுக்கீட்டு அடையாளத்தின் வலதுபுறத்தில் பயன்படுத்தப்பட வேண்டும்.

இங்கே சில உதாரணங்கள்:

A = 4 * 6; // வரி கருத்து மற்றும் அரைப்புள்ளியைப் பயன்படுத்தவும், a என்பது 24 a = a + 5; // அசல் மதிப்பின் கூட்டுத்தொகைக்கு சமம் மற்றும் ஐந்து a == 5 // ஐந்தை ஒதுக்கவில்லை, அது 5 க்கு சமமா இல்லையா என்பதை சரிபார்க்கிறது

நிபந்தனை அறிக்கைகள் மற்றும் சுழல்கள் போன்ற கட்டுமானங்களில் நீங்கள் அடிக்கடி == ஐப் பயன்படுத்துவீர்கள்.

ஏ< 5 // Проверка, a менее пяти? a >5 // சரிபார்க்கவும், ஐந்திற்கு மேல் உள்ளதா? a == 5 // சரிபார்த்தல், ஐந்துக்கு சமமா? a != 5 // சரிபார்க்கவும், இது ஐந்துக்கு சமமாக இல்லையா? a >= 5 // a ஐ விடப் பெரியதா அல்லது சமமா எனச் சரிபார்க்கவும்? அ<= 5 // Проверка, a меньше или равно пяти?

இந்த எடுத்துக்காட்டுகள் ஒப்பீட்டு அறிகுறிகளின் பயன்பாட்டை மிகத் தெளிவாகக் காட்டவில்லை, ஆனால் தேர்வு ஆபரேட்டர்களைப் படிக்கத் தொடங்கும் போது, ​​இது ஏன் அவசியம் என்பதை நீங்கள் புரிந்துகொள்வீர்கள்.

1. அறிமுகம்

நிரலாக்கத்திற்கு புதிய உலகளாவிய வழிமுறை மாதிரிகள் தேவைப்படுகின்றன, மேலும் வன்பொருள் வழிமுறைகளை வேறு வடிவத்தில் மட்டுமல்ல, வேறுபட்ட அல்காரிதம் மாதிரியின் அடிப்படையிலும் செயல்படுத்துகிறது - ஆட்டோமேட்டா. வன்பொருள் மேம்பாட்டிலிருந்து தொழில்நுட்பத்தை கடன் வாங்குவது ஆட்டோமேட்டா நிரலாக்கத்திற்குப் பின்னால் உள்ள முக்கிய யோசனையாகும். இருப்பினும், டிஜிட்டல் சாதன தொகுப்பு நிரலாக்கத்திலிருந்து வேறுபட்டது. ஆனால் ஒரு மாதிரியை கடன் வாங்கும்போது, ​​ஒருபுறம், அதை கணிசமாக மாற்றுவது நல்லது அல்ல, மறுபுறம், ஏற்கனவே இருக்கும் கோட்பாடு மற்றும் நிரலாக்க நடைமுறையை ஒருவர் புறக்கணிக்க முடியாது.

அடுத்து, ஆட்டோமேட்டா நிரல்களை வடிவமைப்பதற்கான SWITCH தொழில்நுட்பத்தைப் பார்ப்போம், அதில் நீங்கள் எல்லா நேரத்திலும் இதேபோன்ற செயல்முறைகளை எதிர்கொள்கிறீர்கள். ஒருபுறம், இது வரையறுக்கப்பட்ட நிலை இயந்திர மாதிரியை மாற்றியது, அது உண்மையில் ஆட்டோமேட்டா கோட்பாட்டின் எல்லைக்கு அப்பாற்பட்டது. மறுபுறம், இது நிரலாக்கத்தில் கருத்துகளை அறிமுகப்படுத்துகிறது, அவை புரோகிராமர்களால் உணர கடினமாக இருக்கும், மேலும் சில நேரங்களில் வெறுமனே மிதமிஞ்சியவை. நிரல் கோட்பாடு மற்றும் நிரலாக்க நடைமுறையில் இருந்து மிகவும் பழக்கமான ஒப்புமைகள் உள்ளன.

தானியங்கி நிரலாக்கத்தின் சிக்கல்களைப் பற்றி விவாதிப்பதற்கான அடிப்படையாக, ஷாலிடோ ஏ.ஏ.யின் சமீபத்திய விரிவுரையை நாங்கள் எடுப்போம். மற்றும் அவரது "நிரலாக்க" கட்டுரைகள் தானியங்கி நிரலாக்க முன்னுதாரணத்தின் வரையறையை நோக்கி.

C/C++ ஸ்டாண்டர்ட் லைப்ரரி கன்சோலில் (விசைப்பலகை மற்றும் மானிட்டர்) வாசிப்பதற்கும் எழுதுவதற்கும் பல செயல்பாடுகளை உள்ளடக்கியது. இந்த செயல்பாடுகள் தரவை எழுத்துகளின் எளிய ஸ்ட்ரீமாக படிக்கவும் எழுதவும் செய்கிறது.

நிரலாக்கத்தில் பயன்படுத்தப்படும் ஸ்ட்ரீம் கருத்து, இந்த வார்த்தையின் சாதாரண, அன்றாட புரிதலுடன் நெருக்கமாக தொடர்புடையது. உள்ளீட்டு நீரோட்டத்தை நீர் (தகவல்) ஒரு குளத்தில் (கணினி நினைவகம்) நுழையும் குழாயுடன் ஒப்பிடலாம், மேலும் வெளியீட்டு ஸ்ட்ரீமை குளத்திலிருந்து தண்ணீர் வெளியேறும் குழாயுடன் ஒப்பிடலாம். இந்த குழாயின் ஒரு முக்கிய அம்சம் என்னவென்றால், தரவு ஒரு நேரத்தில் ஒரு திசையில் மட்டுமே நகர முடியும். உள்ளீடு மற்றும் வெளியீட்டிற்கு ஒரே குழாய் பயன்படுத்தப்பட்டாலும், இது ஒரே நேரத்தில் நடக்காது: ஓட்டம் திசையை மாற்ற, அது நிறுத்தப்பட வேண்டும், சில செயல்களைச் செய்ய வேண்டும், பின்னர் மட்டுமே ஓட்டத்தை எதிர் திசையில் இயக்க முடியும். நீரோடையின் மற்றொரு அம்சம் என்னவென்றால், அது ஒருபோதும் வறண்டு ஓடாது. சில நேரங்களில் அது காய்ந்துவிடும், ஆனால் கணினி சாதாரணமாக செயல்பட்டால் இந்த காலம் நீண்டதாக இருக்க முடியாது.

நிலையான வெளியீடு செயல்பாடு printf()

printf() செயல்பாடு ஒரு நிலையான வெளியீடு செயல்பாடு ஆகும். இந்தச் செயல்பாட்டைப் பயன்படுத்தி, மானிட்டர் திரையில் எழுத்துகளின் சரம், எண், மாறியின் மதிப்பு...

printf() செயல்பாடு stdio.h இல் ஒரு முன்மாதிரி உள்ளது
int printf(char *control string, ...);

வெற்றியடைந்தால், அச்சிடப்பட்ட எழுத்துகளின் எண்ணிக்கையை printf() வழங்கும்.

கட்டுப்பாட்டு வரியில் இரண்டு வகையான தகவல்கள் உள்ளன: திரையில் நேரடியாக அச்சிடப்படும் எழுத்துக்கள் மற்றும் வாதங்கள் எவ்வாறு அச்சிடப்படுகின்றன என்பதைக் குறிப்பிடும் வடிவமைப்பு குறிப்பான்கள்.

printf() செயல்பாடு வடிவமைக்கப்பட்ட வெளியீட்டு செயல்பாடு ஆகும். இதன் பொருள் செயல்பாட்டு அளவுருக்களில் வெளியிடப்படும் தரவின் வடிவமைப்பைக் குறிப்பிடுவது அவசியம். தரவு வடிவம் வடிவமைப்பு குறிப்பான்களால் குறிப்பிடப்படுகிறது. வடிவமைப்புக் குறியீடானது % எழுத்துடன் தொடங்குகிறது, அதைத் தொடர்ந்து வடிவமைப்புக் குறியீடு.

வடிவமைப்பு குறிப்பான்கள்:

% உடன் சின்னம்
%d முழு எண் தசம எண்
%நான் முழு எண் தசம எண்
%e x.xx e+xx வடிவத்தில் தசம எண்
%E x.xx E+xx வடிவத்தில் தசம எண்
%f
%F தசம மிதக்கும் புள்ளி எண் xx.xxxx
% கிராம் %f அல்லது %e, எது சிறியது
% ஜி %F அல்லது %E, எது சிறியது
%o எண்ம எண்
%s எழுத்து சரம்
%u கையொப்பமிடப்படாத தசம எண்
%எக்ஸ் பதின்ம எண்
%எக்ஸ் பதின்ம எண்
%% குறியீடு %
%p சுட்டி
%n சுட்டி

கூடுதலாக, வடிவமைப்பு கட்டளைகளுக்கு l மற்றும் h மாற்றிகளைப் பயன்படுத்தலாம்.

%ld நீண்ட எண்ணாக அச்சிட
%hu கையொப்பமிடப்படாத குறுகிய முத்திரை
%Lf நீண்ட இரட்டை முத்திரை

வடிவக் குறிப்பானில், % சின்னத்திற்குப் பிறகு துல்லியம் (தசமப் புள்ளிக்குப் பிறகு இலக்கங்களின் எண்ணிக்கை) குறிப்பிடப்படலாம். துல்லியம் பின்வருமாறு அமைக்கப்பட்டுள்ளது: %.n<код формата>. n என்பது தசம புள்ளிக்குப் பின் உள்ள இலக்கங்களின் எண்ணிக்கை, மற்றும்<код формата>- மேலே கொடுக்கப்பட்ட குறியீடுகளில் ஒன்று.

எடுத்துக்காட்டாக, எங்களிடம் மிதவை வகையின் x=10.3563 மாறி இருந்தால், அதன் மதிப்பை 3 தசம இடங்களுக்கு துல்லியமாகக் காட்ட விரும்பினால், நாம் எழுத வேண்டும்:

printf("மாறி x = %.3f",x);

விளைவாக:
மாறி x = 10.356

அச்சிடுவதற்கு ஒதுக்கப்பட்ட புலத்தின் குறைந்தபட்ச அகலத்தையும் நீங்கள் குறிப்பிடலாம். கோடு அல்லது எண் குறிப்பிட்ட புல அகலத்தை விட பெரியதாக இருந்தால், கோடு அல்லது எண் முழுமையாக அச்சிடப்படும்.

உதாரணமாக, நீங்கள் எழுதினால்:

printf("%5d",20);

பின்னர் முடிவு பின்வருமாறு இருக்கும்:
20

வரியின் ஆரம்பத்திலிருந்தே எண் 20 அச்சிடப்படவில்லை என்பதை நினைவில் கொள்க. புலத்தின் பயன்படுத்தப்படாத இடங்கள் பூஜ்ஜியங்களால் நிரப்பப்பட வேண்டுமெனில், புலத்தின் அகலத்தின் முன் 0 குறியீட்டை வைக்க வேண்டும்.

உதாரணத்திற்கு:

printf("%05d",20);

விளைவாக:
00020

தரவு வடிவமைப்பு குறிப்பான்களுக்கு கூடுதலாக, கட்டுப்பாட்டு வரியில் கட்டுப்பாட்டு எழுத்துக்கள் இருக்கலாம்:

\b BS, கீழே
\f புதிய பக்கம், பக்கம் மாற்றம்
\n புதிய வரி, வரி ஊட்டம்
\r வண்டி திரும்புதல்
\t கிடைமட்ட அட்டவணை
\v செங்குத்து தாவல்
\" இரட்டை மேற்கோள்
\" அப்போஸ்ட்ரோபி
\\ பின்சாய்வு
\0 பூஜ்ய எழுத்து, பூஜ்ய பைட்
\a சிக்னல்
\N ஆக்டல் மாறிலி
\xN பதின்ம மாறிலி
\? கேள்வி குறி

பெரும்பாலும் \n எழுத்தைப் பயன்படுத்துவீர்கள். இந்த கட்டுப்பாட்டு எழுத்து மூலம் நீங்கள் ஒரு புதிய வரிக்கு செல்லலாம். எடுத்துக்காட்டு நிரல்களைப் பாருங்கள், நீங்கள் எல்லாவற்றையும் புரிந்துகொள்வீர்கள்.

நிரல்களின் எடுத்துக்காட்டுகள்.

/* உதாரணம் 1 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
int a,b,c; // மாறிகளின் அறிவிப்பு a,b,c
a=5;
b=6;
c=9;
printf("a=%d, b=%d, c=%d",a,b,c);
}

திட்டத்தின் முடிவு:
a=5, b=6, c=9

/* உதாரணம் 2 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
மிதவை x,y,z;

X=10.5;
y=130.67;
z=54;

Printf("பொருள் ஒருங்கிணைப்புகள்: x:%.2f, y:%.2f, z:%.2f", x, y, z);
}

திட்டத்தின் முடிவு:
பொருள் ஒருங்கிணைப்புகள்: x:10.50, y:130.67, z:54.00

/* உதாரணம் 3 */
#சேர்க்கிறது

வெற்றிட முதன்மை()
{
முழு எண்ணாக x;

X=5;
printf("x=%d", x*2);
}

திட்டத்தின் முடிவு:
x=10

/* உதாரணம் 4 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
printf("\"மேற்கோள்களில் உரை\"");
printf("\nஆக்சிஜன் உள்ளடக்கம்: 100%%");
}

திட்டத்தின் முடிவு:
"மேற்கோள்களில் உரை"
ஆக்ஸிஜன் உள்ளடக்கம்: 100%

/* உதாரணம் 5 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
int a;

A=11; // தசமத்தில் 11 என்பது ஹெக்ஸாடெசிமலில் b க்கு சமம்
printf("a-dec=%d, a-hex=%X",a,a);
}

திட்டத்தின் முடிவு:
a-dec=11, a-hex=b

/* உதாரணம் 6 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
char ch1,ch2,ch3;

Ch1="A";
ch2="B";
ch3="C";

Printf("%c%c%c",ch1,ch2,ch3);
}

திட்டத்தின் முடிவு:
ஏபிசி

/* உதாரணம் 7 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
சார் *str="என் சரம்.";

Printf("இது %s",str);
}

திட்டத்தின் முடிவு:
இது என்னுடைய வரி.

/* உதாரணம் 8 */
#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
printf("வணக்கம்!\n"); // அச்சிட்ட பிறகு ஒரு புதிய வரிக்கு மாற்றம் இருக்கும் - \n
printf ("என் பெயர் பாவெல்."); // இது ஒரு புதிய வரியில் அச்சிடப்படும்
}

திட்டத்தின் முடிவு:
வணக்கம்!
என் பெயர் பாவெல்.

நிலையான உள்ளீட்டு செயல்பாடு scanf()

ஸ்கேன்எஃப்() செயல்பாடு வடிவமைக்கப்பட்ட உள்ளீட்டு செயல்பாடு ஆகும். அதன் உதவியுடன், நிலையான உள்ளீட்டு சாதனத்திலிருந்து (விசைப்பலகை) தரவை உள்ளிடலாம். உள்ளீட்டுத் தரவு முழு எண்கள், மிதக்கும் புள்ளி எண்கள், எழுத்துகள், சரங்கள் மற்றும் சுட்டிகளாக இருக்கலாம்.

scanf() செயல்பாடு stdio.h இல் பின்வரும் முன்மாதிரியைக் கொண்டுள்ளது:
int scanf(char *control string);

செயல்பாடு ஒரு மதிப்பு ஒதுக்கப்பட்ட மாறிகளின் எண்ணிக்கையை வழங்குகிறது.

கட்டுப்பாட்டு சரத்தில் மூன்று வகையான எழுத்துகள் உள்ளன: வடிவமைப்பு விவரக்குறிப்புகள், இடைவெளிகள் மற்றும் பிற எழுத்துக்கள். வடிவமைப்பு குறிப்பான்கள் % எழுத்தில் தொடங்குகின்றன.

வடிவமைப்பு குறிப்பான்கள்:

ஸ்கேன்ஃப்() செயல்பாட்டைப் பயன்படுத்தி ஒரு சரத்தை உள்ளிடும்போது (%s பார்மட் ஸ்பெசிஃபையர்), முதல் இடத்துக்கு முன் சரம் உள்ளிடப்படும்!! அந்த. நீங்கள் "ஹலோ வேர்ல்ட்!" என்ற சரத்தை உள்ளிட்டால் scanf() செயல்பாட்டைப் பயன்படுத்துகிறது


scanf("%s",str);

இதன் விளைவாக வரும் சரத்தை உள்ளிட்ட பிறகு, இது str வரிசையில் சேமிக்கப்படும், "ஹலோ" என்ற ஒரு வார்த்தையைக் கொண்டிருக்கும். முதல் இடத்திற்கு முன் செயல்பாடு ஒரு STRINGக்குள் நுழைகிறது! இடைவெளிகளுடன் சரங்களை உள்ளிட விரும்பினால், செயல்பாட்டைப் பயன்படுத்தவும்

char *gets(char *buf);

Gets() செயல்பாடு மூலம் நீங்கள் முழு சரங்களையும் உள்ளிடலாம். Gets() செயல்பாடு புதிய வரி எழுத்து (\n) தோன்றும் வரை விசைப்பலகையில் இருந்து எழுத்துக்களைப் படிக்கும். நீங்கள் என்டர் விசையை அழுத்தும்போது புதிய வரி எழுத்து தோன்றும். செயல்பாடு ஒரு சுட்டியை buf க்கு வழங்கும். buf - உள்ளீட்டு சரத்திற்கான இடையக (நினைவகம்).

இந்த கட்டுரையின் தலைப்பு gets() அல்ல என்றாலும், விசைப்பலகையில் இருந்து முழு வரியையும் உள்ளிட்டு திரையில் காண்பிக்க உங்களை அனுமதிக்கும் ஒரு எடுத்துக்காட்டு நிரலை எழுதுவோம்.

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
கரி தாங்கல்; உள்ளீட்டு சரத்திற்கான // வரிசை (இடைநிலை).

பெறுகிறது(இடைநிலை); // ஒரு வரியை உள்ளிட்டு Enter ஐ அழுத்தவும்
printf("%s",buffer); // உள்ளிட்ட சரத்தை திரையில் வெளியிடவும்
}

இன்னும் ஒரு முக்கியமான குறிப்பு! scanf() செயல்பாட்டைப் பயன்படுத்தி தரவை உள்ளிட, அது மாறி முகவரிகளை அளவுருக்களாக அனுப்ப வேண்டும், மாறிகள் அல்ல. ஒரு மாறியின் முகவரியைப் பெற, நீங்கள் மாறியின் பெயருக்கு முன் & (ஆம்பர்சண்ட்) இருக்க வேண்டும். & குறி என்பது முகவரியை எடுத்துக்கொள்வதைக் குறிக்கிறது.

முகவரி என்றால் என்ன? நான் விளக்க முயற்சிக்கிறேன். நிரலில் நமக்கு ஒரு மாறி உள்ளது. ஒரு மாறி அதன் மதிப்பை கணினி நினைவகத்தில் சேமிக்கிறது. எனவே இது நாம் பயன்படுத்தும் முகவரி & என்பது மாறியின் மதிப்பு சேமிக்கப்படும் கணினி நினைவகத்தில் உள்ள முகவரி.

& எப்படி பயன்படுத்துவது என்பதைக் காட்டும் எடுத்துக்காட்டு நிரலைப் பார்ப்போம்.

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
முழு எண்ணாக x;

Printf("மாறி x ஐ உள்ளிடவும்:");
scanf("%d",&x);
printf("மாறி x=%d",x);
}

இப்போது scanf() செயல்பாட்டின் கட்டுப்பாட்டு வரிக்கு வருவோம். மீண்டும்:

int scanf(char *control string);

கட்டுப்பாட்டு சரத்தில் உள்ள ஸ்பேஸ் எழுத்து ஒன்று அல்லது அதற்கு மேற்பட்ட இடைவெளிகளை உள்ளீட்டு ஸ்ட்ரீமில் தவிர்க்கும்படி கட்டளையிடுகிறது. இடத்துடன் கூடுதலாக, ஒரு தாவல் அல்லது புதிய வரி எழுத்துகளை உணர முடியும். பூஜ்யமற்ற எழுத்து என்பது எழுத்து வாசிக்கப்பட்டு நிராகரிக்கப்பட்டது என்பதைக் குறிக்கிறது.

நீங்கள் உள்ளிடும் இரண்டு எண்களுக்கு இடையே உள்ள பிரிப்பான்கள் இடம், தாவல் அல்லது புதிய வரி. % க்குப் பிறகு மற்றும் வடிவமைப்புக் குறியீட்டிற்கு முன் (வடிவக் குறிப்பான்) தரவு வகையைப் படிக்குமாறு கட்டளையிடுகிறது, ஆனால் அந்த மதிப்புக்கு ஒதுக்கப்படவில்லை.

உதாரணத்திற்கு:

scanf("%d%*c%d",&i,&j);

50+20 ஐ உள்ளிடுவது மாறி i ஐ 50 ஆகவும், மாறி j 20 ஆகவும் அமைக்கும், மேலும் + எழுத்து படிக்கப்பட்டு புறக்கணிக்கப்படும்.

வடிவமைப்பு கட்டளையானது படிக்க வேண்டிய மிகப்பெரிய புல அகலத்தைக் குறிப்பிடலாம்.

உதாரணத்திற்கு:

scanf("%5s",str);

உள்ளீட்டு ஸ்ட்ரீமில் இருந்து முதல் 5 எழுத்துக்களைப் படிக்க வேண்டிய அவசியத்தைக் குறிக்கிறது. நீங்கள் 1234567890ABC ஐ உள்ளிட்டால், str அணிவரிசையில் 12345 மட்டுமே இருக்கும், மீதமுள்ள எழுத்துக்கள் புறக்கணிக்கப்படும். பிரிப்பான்கள்: இடம், தாவல் மற்றும் புதிய வரி - ஒரு குறியீட்டை உள்ளிடும்போது, ​​அவை மற்ற எல்லா எழுத்துக்களையும் போலவே கருதப்படுகின்றன.

கட்டுப்பாட்டு சரத்தில் வேறு ஏதேனும் எழுத்துக்கள் ஏற்பட்டால், அவை தொடர்புடைய எழுத்தைக் கண்டறிந்து தவிர்க்கும். கேரக்டர் ஸ்ட்ரீம் 10பிளஸ்20 ஆபரேட்டர்

scanf("%dplus%d",&x,&y);

மதிப்பு 10 ஐ x க்கு ஒதுக்கும், மதிப்பு 20 ஐ மாறி y க்கு ஒதுக்கும், மேலும் அவை கட்டுப்பாட்டு சரத்தில் ஏற்படுவதால் கூட்டல் எழுத்துக்களைத் தவிர்க்கும்.

ஸ்கேன்எஃப்() செயல்பாட்டின் சக்திவாய்ந்த அம்சங்களில் ஒன்று ஸ்கேன்செட்டைக் குறிப்பிடும் திறன் ஆகும். ஸ்கேன்எஃப்() செயல்பாட்டின் மூலம் வாசிக்கப்படும் எழுத்துக்கள் ஒப்பிடப்படும் எழுத்துகளின் தொகுப்பை தேடல் தொகுப்பு வரையறுக்கிறது. ஸ்கேன்ஃப்() செயல்பாடு, தேடல் தொகுப்பில் தோன்றும் வரை எழுத்துக்களைப் படிக்கும். உள்ளிடப்பட்ட எழுத்து தேடல் தொகுப்பில் காணப்படவில்லை எனில், scanf() செயல்பாடு அடுத்த வடிவமைப்பு குறிப்பான்களுக்கு நகரும். தேடல் தொகுப்பு சதுர அடைப்புக்குறிக்குள் இணைக்கப்பட்ட எழுத்துகளின் பட்டியலால் வரையறுக்கப்படுகிறது. % அடையாளம் திறக்கும் அடைப்புக்குறிக்கு முன் வைக்கப்படுகிறது. இதை ஒரு உதாரணத்துடன் பார்க்கலாம்.

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
சார் str1, str2;
scanf("%%s", str1, str2);
printf("\n%s\n%s",str1,str2);
}
எழுத்துக்களின் தொகுப்பை உள்ளிடுவோம்:
12345abcdefg456

நிரல் திரையில் காண்பிக்கப்படும்:
12345
abcdefg456

ஒரு தேடல் தொகுப்பைக் குறிப்பிடும்போது, ​​இடைவெளியைக் குறிப்பிடவும், உள்ளீட்டு புலத்தின் அதிகபட்ச அகலத்தையும் குறிப்பிட ஹைபன் எழுத்தைப் பயன்படுத்தலாம்.

scanf("%10", str1);

தேடல் தொகுப்பில் சேர்க்கப்படாத எழுத்துக்களையும் நீங்கள் வரையறுக்கலாம். இந்த எழுத்துகளில் முதல் எழுத்துக்கு முன்னால் ஒரு ^ உள்ளது. பல எழுத்துக்கள் சிறிய மற்றும் பெரிய எழுத்துக்களை வேறுபடுத்துகின்றன.

scanf() செயல்பாட்டைப் பயன்படுத்தும் போது, ​​நீங்கள் மாறி முகவரிகளை அதற்கு அளவுருக்களாக அனுப்ப வேண்டும் என்பதை உங்களுக்கு நினைவூட்டுகிறேன். மேலே உள்ள குறியீடு எழுதப்பட்டது:

சார் str; // 80 எழுத்துகளின் வரிசை
scanf("%s",str);

str க்கு முன் & இல்லை என்பதை நினைவில் கொள்ளவும். str என்பது ஒரு வரிசை மற்றும் வரிசையின் பெயர் - str என்பது வரிசையின் முதல் உறுப்புக்கான சுட்டி என்பதால் இது செய்யப்படுகிறது. எனவே, & குறி பயன்படுத்தக்கூடாது. நாங்கள் ஏற்கனவே முகவரியை scanf() செயல்பாட்டிற்கு அனுப்பியுள்ளோம். சரி, எளிமையாகச் சொன்னால், str என்பது கணினி நினைவகத்தில் உள்ள முகவரி, அங்கு வரிசையின் முதல் உறுப்பு மதிப்பு சேமிக்கப்படும்.

நிரல்களின் எடுத்துக்காட்டுகள்.

எடுத்துக்காட்டு 1.
இந்த நிரல் "உங்கள் வயது எவ்வளவு?:" என்ற கோரிக்கையைக் காண்பிக்கும் மற்றும் தரவு உள்ளீட்டிற்காக காத்திருக்கிறது. உதாரணமாக, நீங்கள் எண் 20 ஐ உள்ளிட்டால், நிரல் "உங்களுக்கு 20 வயது" என்ற வரியைக் காண்பிக்கும். ஸ்கேன்எஃப்() செயல்பாட்டை அழைக்கும் போது, ​​வயது மாறியின் முன் & கையொப்பத்தை வைக்கிறோம், ஏனெனில் scanf() செயல்பாட்டிற்கு மாறி முகவரிகள் தேவை. scanf() செயல்பாடு குறிப்பிட்ட முகவரிக்கு உள்ளிடப்பட்ட மதிப்பை எழுதும். எங்கள் விஷயத்தில், உள்ளிடப்பட்ட மதிப்பு 20 வயது மாறியின் முகவரிக்கு எழுதப்படும்.

/* உதாரணம் 1 */

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
முழு வயது;

Printf("\nஉங்களுக்கு எவ்வளவு வயது?:");
scanf("%d",&வயது);
printf("உங்களுக்கு %d வயது.", வயது);
}

எடுத்துக்காட்டு 2.
கால்குலேட்டர் திட்டம். இந்தக் கால்குலேட்டரால் எண்களை மட்டுமே சேர்க்க முடியும். நீங்கள் 100+34 ஐ உள்ளிடும்போது, ​​நிரல் முடிவை உருவாக்கும்: 100+34=134.

/* உதாரணம் 2 */

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
int x, y;

Printf("\nகால்குலேட்டர்:");
scanf("%d+%d", &x, &y);
printf("\n%d+%d=%d", x, y, x+y);
}

எடுத்துக்காட்டு 3.
இந்த எடுத்துக்காட்டு வாசிப்பு புலத்தின் அகலத்தை எவ்வாறு அமைப்பது என்பதைக் காட்டுகிறது. எங்கள் எடுத்துக்காட்டில், புலத்தின் அகலம் ஐந்து எழுத்துக்கள். அதிக எண்ணிக்கையிலான எழுத்துகள் கொண்ட சரத்தை நீங்கள் உள்ளிட்டால், 5 வதுக்குப் பிறகு உள்ள அனைத்து எழுத்துகளும் நிராகரிக்கப்படும். scanf() செயல்பாடு அழைப்பைக் கவனியுங்கள். வரிசைப் பெயருக்கு முன் & அடையாளம் இல்லை, ஏனெனில் வரிசைப் பெயர் அணிவரிசையின் முதல் உறுப்பின் முகவரியாகும்.

/* உதாரணம் 3 */

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
கரி பெயர்;

Printf("\nஉங்கள் பயனர்பெயரை உள்ளிடவும் (5 எழுத்துகளுக்கு மேல் இல்லை):");
scanf("%5s", பெயர்);
printf("\nநீங்கள் %s ஐ உள்ளிட்டுள்ளீர்கள்", பெயர்);
}

எடுத்துக்காட்டு 4.
இந்தக் கட்டுரையின் கடைசி உதாரணம், ஒரு தேடல் தொகுப்பை எவ்வாறு பயன்படுத்தலாம் என்பதைக் காட்டுகிறது. நிரலைத் தொடங்கிய பிறகு, 2 முதல் 5 வரையிலான எண்ணை உள்ளிடவும்.

/* உதாரணம் 4 */

#சேர்க்கிறது

வெற்றிட முதன்மை (வெற்றிடம்)
{
கரி பால்;

Printf("உங்கள் மதிப்பீடு 2,3,4,5:");
scanf("%", &bal);
printf("\nரேட்டிங் %c", bal);
}