
Programming is not a zero-sum game. Teaching something to a fellow programmer doesn't take it away from you. I'm happy to share what I can, because I'm in it for the love of programming. The Ferraris are just gravy, honest..!
John Carmack
प्रोग्रॅमिंग लॅंग्वेज शिकायची असली तर कंप्युटरचे बेसीक नॉलेज असणे महत्वाचे. आपण कंप्युटर वापरतो म्हणजे आपल्याला ते आहे अशी तुमची समजूत असेल तरी सुद्धा १०-१२ मिनीटे द्यायला काय हरकत आहे असा विचार करूनच या पहील्या सेक्शन मधील २-३ टॉपीक पहा व ऐका. कदाचीत तुम्हाला माहीत नसलेले कंसेप्ट्स तुम्हाला कळतील अथवा अधिक चांगल्या पद्धतीने कळतील.
C language हि फक्त C मध्ये कसा प्रोग्रॅम लिहायचा इतकेच कळण्यासाठी शिकायची नसते. तुम्ही जावा, पीएचपी अथवा अन्य कोणत्याही लॅंग्वेज मध्ये प्रोग्रॅमिंग करणार असला तरी सॉफ्टवेअर म्हणजे नेमके काय, C language चा संबंध आत काही आहे का असे अनेक प्रश्न नंतर पडतात. त्यासाठीच सॉफ्टवेअर व थोडीफार माहीती दिली आहे. सोपी वाटली तरी काळजीपुर्वक ऐका व समजावून घ्या. नक्की तुम्हाला त्याचा उपयोग
फेसबुक असो वा व्हॉट्स-अप, तुम्हाला आवडते कारण तुम्ही संवाद साधु शकता. व संवाद साधण्यासाठी कोणत्यातरी भाषेची जरूरी असते. प्रोग्रॅमिंग लॅंग्वेज म्हणजे काय तर आपल्याला कंप्युटरशी संवाद साधता येतो. हेच तर या टॉपीक मध्ये समजावून सांगीतले आहे. शिवाय या C लॅंग्वेजचे इतर कंप्युटर लॅंग्वेजशी कसे नाते आहे हे सुद्धा समजावून सांगीतले आहे. ऑपरेटींग सिस्टीम व कंप्युटर लॅंग्वेजचा जवळचा संबंध आहे. म्हणून ऑपरेटींग सिस्टीमचे प्राथमिक ज्ञान सुद्धा येथे देण्याचा प्रयत्न केला आहे. पहा व ऐका. आवडले तर आम्हाला सांगायला मात्र विसरून नका...!
C language शिकायला सुरवात करण्यापुर्वी या सम्राज्ञीचा थोडाफार इतिहास या टॉपीक मध्ये रंजक पद्धतीने. हा पाहीला तर तुम्हाला कळेल C का शिकायची ते...!
इतिहास पाहील्या नंतर आता वेळ आली आहे ज्या करीता इतका वेळ मी तुम्हाला वाट पहायला लावली. हाच टॉपीक शक्यतो C language च्या पहील्याच दिवशी घेतात. पण नक्की काय चालले आहे तेच कळत नाही. म्हणून मी जाणीवपुर्वक उशीरा घेतला आहे. य टॉपीक मध्ये C programming लॅंग्वेजचे general structure, डेटा टाइप्स, कॉनंस्टंट, व्हेअरेबल्स, किवर्ड्स इत्यादी कोणते आहेत व कसे काम करतात ये शिकवले
तुम्ही आत्ता पर्यंत पाहीलेल्या ५ टॉपीक मधील सर्व कंसेप्ट्स वापरून या मध्ये C चा एक प्रोग्रॅम स्टेप-बाय-स्टेप शिकवला आहे. तुम्ही आता प्रोग्रॅमिंग करायला सुरवात करणार आहात. त्यामुळे हा प्रोग्रॅम तुम्ही ऐकला व पाहीला की तुम्ही स्वत: प्रोग्रॅम लिहू शकता.
हे करू कि ते करू असा संभ्रम अनेकवेळा पडतो पण निर्णय घ्यायलाच लागतो. हे निर्णय मात्र त्यावेळच्या प्राप्त परिस्थितीवर अवलंबून असतात. सी programming मध्ये मात्र या साठी Decision Control Structure दिले आहे. पहिल्या chapter मध्ये आपण चार प्रकारची Control Structures आहेत असे सांगितले. त्यामधील हे दुसरे Control Structure. या ठिकाणी ओळख
जर-तर वर जर हे आयुष्य असेल तर C Language कशी अपवाद असेल. If कंट्रोल स्ट्रक्चर हे त्या मधील पहिले.
if decision control मध्येच किरकोळ फेरफार केलेले पण mutually exclusive conditions ज्यावेळी असतात त्यावेळी उपयुक्त असणारे हे control structure आहे.
निर्णय घेताना एकाच condition वर न घेता अनेक conditions वर घ्यावी लागत असेल तर conditions चे nesting करावे लागते. हेच तरं या टॉपिक मध्ये घेतले आह. छान गोष्ट सांगितली आहे ती सुद्धा ऐका तुमच्या साठी महत्वाची आहे
डेनीस रिची नी बहूतेक आळशी programmers साठी अशा प्रकारच्या operators ची व्यवस्था करून ठेवली असावी. गमतीचा भाग सोडुन द्या पण परीस्थिती प्रमाणे नेस्टींग ज्यावेळी हाताबाहेर जाते त्यावेळी मात्र हे operators मात्र मदतीला धावून येतात…!
फक्त C नाही तर C++ आणी Java language ने कॉपी केलेल्या अनेक कन्सेप्ट पैकी हा एक उपयोगी कन्सेप्ट. सरळ, साधा, छोटा कोड Decision Control Structure मध्ये अनेक वेळा असतो. त्यावेळी हा कामाला येतो
एखादी वस्तु अथवा घटना पुन्हा-पुन्हा होण्याऱ्या प्रक्रीयेमध्ये अडकली की आपण लुप मध्ये अडकली असे म्हणतो. प्रोग्रॅमिंग मध्ये सुद्धा हाच शब्द वापरतात. कदाचीत प्रोग्रॅमिंग लॅंग्वेजमधून सुद्धा तो जगाने नेहमीच्या वापरासाठी घेतला असण्याची शक्यता नाकारता येत नाही...! कोड लिहीतांना आपल्याला कोडचा एखादा भाग पुन्हा-पुन्हा रन करायचा असेल तर दोन मार्ग C language मध्ये डेनीस ने दिले आहेत. यातील एक मार्ग म्हणजे लुप कंट्रोल स्ट्रक्चर. या पुर्वी आपण Sequential Control Structure व Decision Control Structure पाहीली आहेत. Loop Control Structure हे तिसरे Control Structure. या ठिकाणी फक्त ओळख...!
३ वेगवेगळ्या प्रकारचे लुप जरी डेनीस ने दिले असले तरी सर्व लुप मध्ये काही कॉमन पार्ट आहेतच. हेच कॉमन पार्ट या टॉपीक मध्ये आहेत. हा टॉपीक समजला तर पुढील तीन लुप समजायला सोपे जाइल. ऐका व पहा मात्र काळजीपुर्वक कारण दिसायला व समजायला सोपा पण प्रोग्रॅमिंग करतांना तुम्हीच लुप मध्ये अडकू शकता...!
३ लुप पैकी हा पहीला. While loop मध्ये while हा किवर्ड आहे. कसा लिहायचा व कसा वापरता येइल ते syntax व sample program द्वारे समजावून सांगीतले आहेच...!
प्रोग्रॅमर्स community मध्ये popular असलेला हा लुप. सिंटॅक्स व प्रोग्रॅमच्या सहाय्याने समजावून सांगीतला आहे. पण हे सर्व ऐकतांना व समजावून घेतांना तुम्ही व्हीडीओ पॉझ करून simultaneously एखादा C चा कंपायलर वापरून प्रोग्रॅम लिहू शकता...
C शिकतांना जरा दुर्लक्षीत होणारा, while लुप मध्येच थोडेफार फेरफार केलेला हा लुप...! खरं तर C शिकतांना हा दुर्लक्षीत राहीला तरी Data Structure शिकतांना या लुपची आठवण का होते हे मला सुद्धा न उलगडलेले कोडेच आहे...!
लुप शिकुन झाले. पण अनेक वेळा परीस्थीती अशी येते की एका लुप च्या आत दुसरा लुप किंवा त्याच्या आत अजून एक लुप लिहावा लागतो. या प्रकारालच nesting of loop म्हणतात. छान गोष्ट सांगीतली आहे जाता जाता... तात्पर्य महत्वाचे आहे ते लक्षात
break आणी continue हि दोन महत्वाची स्टेटमेंट्स सी मध्ये आहेत. त्यांचा उपयोग कसा करायचा हे मी या ठिकाणी शिकवले आहे. कधी करायचा हे मात्र तुम्हाला अनुभवावरून शिकावे लागेल...!
तुम्हाला झालेल्या लुपचाच वापर करून पण थोडाचा फेरफार करून एक स्पेशल पद्धतीने कसा लुप लिहीता येतो हे या ठिकाणी प्रोग्रॅमद्वारे शिकवले आहे. लॉजीक समजावून घ्या. नंतर तुमच्या requirement प्रमाणे तुम्ही वापरू शकता. Data Structure मध्ये तुम्हाला याचा उपयोग नक्की
डेनीस ने लॅंग्वेज design करतांना प्रोग्रॅमरला कमीतकमी कोणत्य-कोणत्या सुविधा द्याव्या लागतील याचा काळजीपुर्वक विचार केला होता. Switch case control structure हे त्याचे एक उत्तम उदाहरण...! खरयं की नाही ते तुम्हीच ठरवा व्हिडीओ पाहू
सोपं वाटत असल्यामुळे दुर्लक्षीत जाणारं असल तरी या control structure शिवाय Data Structure मधील अनेक प्रोग्रॅम सोडवता येत नाहीत. पण पहा कसा सिंटॅक्स गमतीशीर आहे ते...!
switch case चा वापर करून एक सोपा प्रोग्रॅम घेतला आहे या ठिकाणी
switch case चा वापर कसा सुद्धा करता येतो. पहा हा प्रोग्रॅम. तुम्ही सुद्धा चकीत होणार नक्की.
काही कामं आपण स्वत: करतो. पण ती वाढायला लागली की दुसऱ्या कडून करून घेतो. त्यासाठी मात्र दुसरा ते काम व्यवस्थीत करेल याची खात्री बाळगूनच ते ठरवतो. C मध्ये सुद्धा एकच भला मोठ्ठा प्रोग्रॅम लिहीण्याच्या ऐवजी प्रोग्रॅम वेगवेगळ्या modules मध्ये divide करण्याची कल्पना डेनीस ने मांडली ती function च्या माध्यमातून. त्याचीच ही ओळ
आत्तापर्यंत आपण printf, scanf सारखी फंक्शंन्स कॉल केली. पण त्याच प्रमाणे आपण सुद्धा स्वत:ची फंक्शन्स लिहु शकतो. तुम्ही ज्या कंपनीत काम कराल त्या ठिकाणी तर तुम्हाला हेच काम करावे लागणार आहे.
स्वत:च फंक्शन लिहायचं पण कसं लिहायचं हे या ठिकाणी समजावून सांगीतल आहे.
C शिकायला सुरवात होते आणी वर्गात प्रोग्रॅम लिहीतांना void main किंवा int main लिहायला सांगतात. ते नक्की काय असतं...? त्याचा अर्थ काय असतो...? नाही लिहीला तर काय होतं...? कशासाठी हे सगळ उद्योग करायचे...? सगळ्या प्रश्नांची उत्तर या टॉपीक मध्ये... अर्थातच छोटीशी गोष्ट आहेच नेहमी प्रमाण
तुम्ही C चा प्रोग्रॅम लिहीतांना एखादी एरर आली किंवा वॉर्नींग आली तर तुमचे लॅब असिस्टंट खुप वेळा फंक्शनचा प्रोटोटाइप लिहा असे सांगुन निघुन जातात. एकतर नक्की काय लिहायच ते माहीत नसतं आणी माहीत असेल तर का लिहायच माहीत नसतं... या व तत्सम शंकाची उत्तरे तुम्हाला या व्हिडीओ मध्ये मिळतील. अर्थात या ठिकाणी सुद्धा अजून एक गोष्ट आहेच...
Inside every well-written large program is a well-written small program. -- Charles Antony Richard Hoare, computer scientist
Here are assignments to write ranging from simple to difficult programs on functions in C. Try to write programs on your own using function. Some of the assignmets might be repeated from last few topics but don't forget that you are learning how to write and call user defined function. So whether it is simple or difficult write the program and execute it. Input different values and properly test your code to learn more and more from the program. After all practice makes man (and women too...!) perfect
A good programmer is someone who looks both ways before crossing a one-way street. -- Doug Linder, systems administrator
Besides a mathematical inclination, an exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. -- Edsger Dijkstra
The video covers world's favorite program to understand pointer.
When C program is written, the next stage is compilation and execution. Many times students are aware only about compile time errors. Here is an interesting post to examine what different types of error in C program could occur.
The video covers what has been covered so far in the course in previous chapters viz. data types, control structures , functions and pointers.
The video explains the need of a primary data structure in C
This video explains the working of an array in C.
You have learned declaration of primitive data types, its assignment and initialization. This video explains how an array elements can be assigned and initialized.
An array can not be completed without taking into consideration role of a pointers. The same is explained here in this video.
The video explains basic mathematical operations that are valid and invalid on array elements.
The video explains how a pointer plays a pivotal role while accessing array elements.
Measuring programming progress by lines of code is like measuring aircraft building progress by weight. -- Bill Gates, co-founder of Microsoft Corporation
The video explains the importance of bound checking, one of the serious limitation of array in C.
The video explains internal mechanism of an array in C.
The video explains other dimension of C i.e. an array can be multi-dimensional as well.
The video explains how pointers work in 2-D array.
The topic takes overview of the chapter Arrays in C programming language
You might not think that programmers are artist, but programming is an extremely creative profession. It's logic based activity...
John Romero
The video explains string as a data type in C. However it is not a built in data type but a derived data type and special version of an array in C.
The video explains how string can be taken from the keyboard and printed on the console window.
The video explains pivotal role of pointers in connection with strings in C.
Here is the second part of string input and output using library function.
The video explains possible operations on Strings in C
Here is a video which explains how to find number characters in a given string using library function.
Here is one more library function to compare two strings to determine whether they are same or different.
The video explains a library function to copy contents of one string to another string.
The video explains how the library function can be used to reverse contents of a string.
The video explains how two strings can be concatenated.
Here is sample program to write our own function to copy contents of one string to another string.
Here is sample program to write our own function to change case of each alphabet in a given string.
Here is sample program to write our own function to find length of given string.
Here is sample program to write our own function to compare two strings.
Like normal array, array of strings can be made as explained in this video.
Assignments though seems to be bit difficult, don't look out for source code on the internet. Attempt to write your own code even though you take enough time for writing each program.
Developing your own logic, and trying to write on your own would only help strengthening your concepts of C language
Best Wishes
The video takes a review of control structures and then emphasize importance of C preprocessor
As a C programmer, he is usually concerned with compilation and execution of a program. However We are encouraging our learner to peep into internal stages through which your program goes each time viz. Pre-processing, Compiling, Linking and Execution... Enjoy the inner beauty of C
This video gives you introduction to C preprocessor
#include stdio.h आणी #include conio.h हि स्टेटमेंट्स तुम्ही C language शिकायला सुरवात केल्या नंतर पहील्याच दिवशी ऐकता पण त्याचा अर्थ न कळाल्यामुळे तशीच वापरत जाता. याच preprocessor directive चे detail concepts या व्हिडीओ मध्ये
Code never lies, comments sometimes do...!
Anonymous
Here is explanation of syntax of macro in C language... Listen and view carefully... to understand programs in next two lectures...
The video takes a review of what you have seen so far in the course.
This video takes an overview of structure in C.
Here is the syntax of Structure in C. The rules to be followed.
This video takes a brief overview of a kind of user defined data type in C.
The video explains how to access individual elements of a structure in C.
The video explains concepts of structure learnt so far in the chapter with the help of a simple program.
If an array can of primitive data types, here is a video to explain an array of structures in C
The video takes a simple program to exhibit the way to pass entire structure to a function.
The video explains importance and need of a pointer in connection with structure in C.
Like loops and decision control structure in C, Structure can be nested in C. The video explains the same.
This course lets you master all concepts of C programming language because:
The course contents are not knowledge assumption oriented but we assume that
The Course contains
The complete syllabus consists of 18+ hours video lectures. The number of hours taken may vary from programmer to programmer. If you don't skip any contents in the complete course and try to write sufficient programs at the end of each chapter then you will become master in C programming language. Support material will be uploaded continuously.
You will not need assistance of anybody if you follow the learning and homework seriously.
The addition of notes, glossary, e-contents will be continuous process.