ഹാൻഡ്uസ് ഓൺ സി പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ്


AT&T ബെൽ ലാബിൽ ഡെന്നിസ് റിച്ചി വികസിപ്പിച്ചെടുത്ത ഒരു പൊതു ഉദ്ദേശ്യ പ്രോഗ്രാമിംഗ് ഭാഷയാണ് C’. സ്ട്രക്ചർഡ് പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ് ആയിട്ടാണ് ഇത് രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത്. ബി പ്രോഗ്രാമിംഗ് ഭാഷയിൽ നിന്നാണ് 'സി' പ്രോഗ്രാമിംഗ് ഭാഷ വികസിപ്പിച്ചെടുത്തത്, ഇത് തുടക്കത്തിൽ ബിസിപിഎൽ (ബേസിക് സിപിഎൽ അല്ലെങ്കിൽ അടിസ്ഥാന സംയോജിത പ്രോഗ്രാമിംഗ് ലാംഗ്വേജ്) ൽ നിന്നാണ് വികസിപ്പിച്ചത്. 'C' പ്രോഗ്രാമിംഗ് ഭാഷ പ്രത്യേക ഉദ്ദേശ്യങ്ങൾക്കായി രൂപകൽപ്പന ചെയ്uതിരിക്കുന്നു - UNIX ഓപ്പറേറ്റിംഗ് സിസ്റ്റം രൂപകൽപ്പന ചെയ്യുന്നതിനും തിരക്കുള്ള പ്രോഗ്രാമർമാർക്ക് കാര്യങ്ങൾ ചെയ്തുതീർക്കുന്നതിന് ഉപയോഗപ്രദമാകുന്നതിനും. 'C' വളരെ പ്രചാരത്തിലായി, അത് ബെൽ ലാബുകളിൽ നിന്ന് വ്യാപകമായി വ്യാപിക്കുകയും ലോകമെമ്പാടുമുള്ള പ്രോഗ്രാമർമാർ എല്ലാത്തരം പ്രോഗ്രാമുകളും എഴുതാൻ ഈ ഭാഷ ഉപയോഗിക്കാൻ തുടങ്ങുകയും ചെയ്തു. 'C' എന്നത് താഴ്ന്ന നിലയിലുള്ള ഭാഷയോ ഉയർന്ന തലത്തിലുള്ള ഭാഷയോ അല്ല, അത് അതിനിടയിൽ എവിടെയോ സ്ഥിതിചെയ്യുന്നു, ശരിയാണെങ്കിൽ - \C ഒരു മിഡിൽ ലെവൽ ഭാഷയാണ്.

Perl, PHP, Java മുതലായവയിൽ നിന്ന് തിരഞ്ഞെടുക്കാൻ നിരവധി ഹൈ-ലെവൽ പ്രോഗ്രാമിംഗ് ഭാഷയുള്ള ഇന്നത്തെ ലോകത്ത് ഒരാൾ എന്തുകൊണ്ട് 'C' തിരഞ്ഞെടുക്കണം? ശരി, മറ്റ് പ്രോഗ്രാമിംഗ് ഭാഷകളേക്കാൾ 'സി' പ്രോഗ്രാമിംഗ് ഭാഷ തിരഞ്ഞെടുക്കാനുള്ള കാരണം ഇതാണ് -

  1. ശക്തമായത്.
  2. ബിൽറ്റ്-ഇൻ ഫംഗ്uഷനുകളുടെ റിച്ച് സെറ്റ്.
  3. 'ഹൈ-ലെവൽ ലാംഗ്വേജ്' ഫീച്ചറുകളുള്ള 'ലോ ലെവൽ പ്രോഗ്രാമിംഗിന്' അടിസ്ഥാനം നൽകുന്നു.
  4. സിസ്റ്റം സോഫ്uറ്റ്uവെയർ, ആപ്ലിക്കേഷൻ സോഫ്റ്റ്uവെയർ, ബിസിനസ്സ് അല്ലെങ്കിൽ മറ്റേതെങ്കിലും തരത്തിലുള്ള സോഫ്uറ്റ്uവെയർ എഴുതാൻ അനുയോജ്യം.
  5. വിവിധ ഡാറ്റാ തരങ്ങളുടെയും ശക്തമായ ഓപ്പറേറ്റർമാരുടെയും ലഭ്യതയ്uക്കൊപ്പം 'C'-ൽ എഴുതിയ പ്രോഗ്രാമുകൾ കാര്യക്ഷമവും വേഗതയുള്ളതുമാണ്.
  6. എല്ലാ ആർക്കിടെക്ചറിനും പ്ലാറ്റ്uഫോമുകൾക്കുമായി നിരവധി കമ്പൈലറുകളുടെ ലഭ്യതയുള്ള പ്രൊഫഷണൽ പ്രോഗ്രാമർമാർക്കിടയിൽ ജനപ്രിയമാണ്.
  7. പോർട്ടബിലിറ്റി.
  8. 'C'-ൽ എഴുതിയിരിക്കുന്ന പ്രോഗ്രാം മനസ്സിലാക്കാൻ എളുപ്പമുള്ളതും 'C' ലൈബ്രറി പിന്തുണയ്ക്കുന്ന വിവിധ ഫംഗ്uഷനുകളുടെ ലഭ്യതയ്uക്കൊപ്പം വിപുലീകരിക്കാവുന്നതുമാണ്.
  9. C#, Java, JavaScript, Perl, PHP, Python മുതലായവ ഉൾപ്പെടെ നിരവധി കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗ് ഭാഷകളെ 'C' സ്വാധീനിച്ചിട്ടുണ്ട്.

ഏത് പ്രോഗ്രാമിംഗ് ഭാഷയാണ് നിങ്ങൾ പഠിക്കാൻ തിരഞ്ഞെടുത്തത് എന്നത് പരിഗണിക്കാതെ തന്നെ പ്രോഗ്രാമിംഗ് കോഴ്uസുകൾ 'സി' ഭാഷയിൽ ആരംഭിക്കുന്നത് എന്തുകൊണ്ടാണെന്ന് ഇപ്പോൾ നിങ്ങൾ മനസ്സിലാക്കിയിരിക്കാം.

ലോകത്തിലെ 90% സൂപ്പർ കമ്പ്യൂട്ടറുകളും ലിനക്സിൽ പ്രവർത്തിക്കുന്നുവെന്ന് നിങ്ങൾക്കറിയാം. നിങ്ങളുടെ ഫോണിലും റിസ്റ്റ് വാച്ചിലും ഡെസ്uക്uടോപ്പിലും അറിയപ്പെടുന്ന എല്ലാ മെഷീനുകളിലും ലിനക്സ് ബഹിരാകാശത്ത് പ്രവർത്തിക്കുന്നു. UNIX/Linux കേർണലിൽ ഭൂരിഭാഗവും C പ്രോഗ്രാമിംഗ് ഭാഷയിൽ എഴുതിയ കോഡുകൾ ഉൾക്കൊള്ളുന്നു. ലിനക്സ് 3.2 പതിപ്പിന് 15 ദശലക്ഷത്തിലധികം കോഡുകൾ ഉണ്ടായിരുന്നു. 'സി' യഥാർത്ഥത്തിൽ എത്ര ശക്തമാണെന്ന് നിങ്ങൾക്ക് ഊഹിക്കാനാകുമോ?

ഒരു ഔൺസ് പ്രായോഗികത, ടൺ കണക്കിന് സിദ്ധാന്തത്തേക്കാൾ ഭാരം, കോഡ് പഠിക്കാനുള്ള ഏറ്റവും നല്ല മാർഗം സ്വയം പ്രോഗ്രാമിംഗ് ആരംഭിക്കുക എന്നതാണ്. (കോഡുകൾ പകർത്തി ഒട്ടിക്കരുത്, അത് സ്വയം എഴുതുക, തെറ്റുകൾക്ക് പഠിക്കുക...)

#ഉൾപ്പെടുന്നു: പ്രോഗ്രാമിൽ ഇല്ലാത്ത മറ്റ് കോഡുകൾ എവിടെയാണ് തിരയേണ്ടതെന്ന് ഇത് കംപൈലറോട് പറയുന്നു. അവ സാധാരണയായി \.h” അല്ലെങ്കിൽ ഫംഗ്uഷൻ പ്രോട്ടോടൈപ്പുകൾ അടങ്ങിയ ഹെഡർ ഫയലുകളാണ്. അക്ഷരാർത്ഥത്തിൽ #include എന്നതിന്റെ ഉള്ളടക്കം സമാഹരിക്കുന്നതിന് മുമ്പ് പ്രോഗ്രാം ഫയലിലേക്ക് പകർത്തുന്നു.

#include <file> (System Defined)
#include "file" (User Defined)

പ്രധാന പ്രവർത്തനം അക്ഷരാർത്ഥത്തിൽ കോഡിന്റെ പ്രധാന ഭാഗമാണ്. അന്തിമമായി സമാഹരിച്ച പ്രോഗ്രാമിൽ ഒരു പ്രധാന പ്രവർത്തനം മാത്രമേ ഉണ്ടാകൂ. പ്രധാന ഫംഗ്uഷനുള്ളിലെ കോഡ് ഒരു സമയത്ത് ഒരു വരി തുടർച്ചയായി നടപ്പിലാക്കുന്നു.

 int main(void) 
        {..your code here..}

നന്നായി! ഇപ്പോൾ ഞങ്ങൾ 3 അക്കങ്ങൾ ചേർക്കുന്നതിനുള്ള ഒരു ലളിതമായ പ്രോഗ്രാം എഴുതും.

#include <stdio.h>

int main()

{

int a,b,c,add;

printf("Enter the first Number");

scanf("%d",&a);

printf("Enter the second Number");

scanf("%d",&b);

printf("Enter the third number");

scanf("%d",&c);

add=a+b+c;

printf("%d + %d + %d = %d",a,b,c,add);

return 0;

}

ഇത് first_prog .c ആയി സേവ് ചെയ്ത് ലിനക്സിൽ കംപൈൽ ചെയ്യുക.

# gcc -o first_prog first_prog.c

ഇതുപോലെ പ്രവർത്തിപ്പിക്കുക.

# ./first_prog

ശ്രദ്ധിക്കുക: C എന്നത് കേസ് സെൻസിറ്റീവ് അല്ല, പ്രോഗ്രാമിംഗ് ഭാഷ. ഒരു സി പ്രോഗ്രാം എങ്ങനെ കംപൈൽ ചെയ്യാം എന്നതിനെക്കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾക്ക് റഫർ ചെയ്യുക:

  1. ഒരു സി പ്രോഗ്രാം എങ്ങനെ കംപൈൽ ചെയ്യാം - (കമാൻഡ് :38 കാണുക)

മുകളിൽ പറഞ്ഞ പ്രോഗ്രാമിൽ

  1. int a,b,c,add – എന്നിവയാണ് വേരിയബിളുകൾ.
  2. Printf - ഉദ്ധരണികൾക്കുള്ളിൽ എന്തും എല്ലാം പ്രിന്റ് ചെയ്യുന്നു.
  3. Scanf - ഉപയോക്താവിൽ നിന്നുള്ള ഇൻപുട്ട് സ്വീകരിക്കുകയും മെമ്മറി ലൊക്കേഷനിലേക്ക് മൂല്യം സംഭരിക്കുകയും ചെയ്യുന്നു.
  4. %d - പൂർണ്ണസംഖ്യ ഡാറ്റ തരത്തെ സൂചിപ്പിക്കുന്നു.

ഇപ്പോൾ നിങ്ങൾക്ക് ഏത് സംഖ്യയ്ക്കും സങ്കലനം, കുറയ്ക്കൽ, ഗുണനം, ഹരിക്കൽ എന്നിവ ചെയ്യാൻ കഴിയുന്ന പ്രോഗ്രാമുകൾ എഴുതാം. അതെ നിങ്ങൾ ഫ്ലോട്ട് മൂല്യത്തിന് %f ഉപയോഗിക്കണം, %d അല്ല.

പൂർണ്ണസംഖ്യയും ഫ്ലോട്ട് മൂല്യങ്ങളും നടപ്പിലാക്കുന്നതിൽ നിങ്ങൾ വിജയിച്ചാൽ നിങ്ങൾക്ക് സങ്കീർണ്ണമായ ഗണിതശാസ്ത്ര പ്രശ്നങ്ങൾ പ്രോഗ്രാം ചെയ്യാം.

മുകളിൽ വിവരിച്ചതുപോലെ കംപൈൽ ചെയ്ത് പ്രവർത്തിപ്പിക്കുക.

#include <stdio.h>

#define N 16

#define N 16

int main(void) {

int n; /* The current exponent */

int val = 1; /* The current power of 2 */

printf("\t n \t 2^n\n");

printf("\t================\n");

for (n=0; n<=N; n++) {

printf("\t%3d \t %6d\n", n, val);

val = 2*val;

}

return 0;

}
#include <stdio.h>

int main(void) {

int n,

lcv,

flag; /* flag initially is 1 and becomes 0 if we determine that n

is not a prime */

printf("Enter value of N > ");

scanf("%d", &n);

for (lcv=2, flag=1; lcv <= (n / 2); lcv++) {

if ((n % lcv) == 0) {

if (flag)

printf("The non-trivial factors of %d are: \n", n);

flag = 0;

printf("\t%d\n", lcv);

}

}

if (flag)

printf("%d is prime\n", n);

}
#include <stdio.h>

int main(void) {

int n;

int i;

int current;

int next;

int twoaway;

printf("How many Fibonacci numbers do you want to compute? ");

scanf("%d", &n);

if (n<=0)

printf("The number should be positive.\n");

else {

printf("\n\n\tI \t Fibonacci(I) \n\t=====================\n");

next = current = 1;

for (i=1; i<=n; i++) {

printf("\t%d \t %d\n", i, current);

twoaway = current+next;

current = next;

next = twoaway;

}

}

}

രംഗം ഒന്നു ചിന്തിച്ചു നോക്കൂ. ‘സി’ ഇല്ലായിരുന്നെങ്കിൽ, ഒരുപക്ഷേ ലിനക്സോ മാക്കോ വിൻഡോസോ, ഐഫോണുകളോ, റിമോട്ടുകളോ, ആൻഡ്രോയിഡോ, മൈക്രോപ്രൊസസറോ, കംപ്യൂട്ടറോ ഉണ്ടാകില്ലായിരുന്നു, ഓഹോ, നിങ്ങൾക്ക് ഇമേജ് ചെയ്യാൻ കഴിയില്ല...

ഇത് അവസാനമല്ല. പ്രോഗ്രാമിംഗ് പഠിക്കാൻ നിങ്ങൾ എല്ലാത്തരം കോഡുകളും എഴുതണം. ഒരു ആശയം വിഭാവനം ചെയ്uത് അത് കോഡ് ചെയ്യുക, നിങ്ങൾ എന്തെങ്കിലും പ്രശ്uനത്തിൽ അകപ്പെടുകയും എന്റെ സഹായം ആവശ്യമുണ്ടെങ്കിൽ നിങ്ങൾക്ക് എപ്പോഴും എന്നെ അലട്ടാം. ഞങ്ങൾ (Tecmint) നിങ്ങൾക്ക് ഏറ്റവും പുതിയതും കൃത്യവുമായ വിവരങ്ങൾ നൽകാൻ എപ്പോഴും ശ്രമിക്കുന്നു. ഞങ്ങളെ പ്രചരിപ്പിക്കാൻ സഹായിക്കുന്നതിന് ഞങ്ങളെ ലൈക്ക് ചെയ്യുകയും പങ്കിടുകയും ചെയ്യുക.