چرا تصمیم گرفتم دوره زبان C را تولید کنم؟
در این بخش میخوام بگم چی باعث شد تصمیم بگیرم دوره آموزش برنامه نویسی C را برای شما عزیزان تهیه کنم. زبون این قسمت محاوره هست چون واقعا داستان خودمه.
سال ۸۸ شروع آموزش برنامه نویسی C برای من بود. بعد از اینکه کلاسهای برنامه نویسی C در دانشگاه تموم شد این حس را داشتم که برنامه نویسی یاد گرفتم و اعتماد به نفس بالایی به دست آوردم. کم کم به سراغ به میکروکنترلر AVR رفتم و شروع کردم به برنام نویسی کردن. اوایل که کارهای خیلی پیچیده انجام نمیدادم مشکل زیادی نداشتم و در حد همون برنامه نویسی که بلد بودم نتیجه می گرفتم. اما وقتی تصمیم گرفتم از سطح خودم بالاتر برم و مثلا با LCD رنگی کار کنم چون خیلی سخت بود دیگه خودم نمیتونستم کد بنویسم و باید از کتابخانه های آماده استفاده می کردم. بگذریم از اینکه اون سال ها چقد سخت میشد کتابخانه پیدا کرد.
وقتی سراغ کتابخانه ها میرفتم انقد حرفه ای نوشته شده بودن که واقعا درکشون برام سخت بود و انقدر مفاهیم پیچیده در اون ها میدیدم که نا امید میشدم. بعد از کلی تحقیق فهمیدم که من زبان C را خیلی سطحی بلدم و دونستن چنتا تابع و حقله و شرط معنیش یادگرفتن زبان C نیست. پس شروع کردم به ارتقاء سطح خودم و شب ها تا دیر وقت کتاب میخوندم و توی نت سرچ می کردم تا یواش یواش متوجه شدم توی اون کتابخونه ها چرا این مدلی کد می نویسن.
به همین خاطر بود که تصمیم گرفتم این دوره را براتون آماده کنم، تا اول زبان C را یک بار اصولی و خوب همراه با کلی تمرین و تحقیق یاد بگیرید و بعد از اون به یادگیری میکروکنترلر مورد نظرتون اقدام کنید. امیدوارم کمک کوچکی باشه برای شما که میخواید به علاقتون برسید.
چرا آموزش برنامه نویسی C اهمیت دارد؟
زبان C به عنوان یک زبان قدیمی و البته بسیار قدرتمند، همیشه روند پایدار و رو به رشد خودش را حفظ کرده است. اغلب زبان های پیشرفته امروزی بر پایه همین زبان ساخته شده اند. امروزه زبان C در حوزه های تخصصی خودش هم چنان استفاده می شود و افراد علاقه مند می توانند با یادگیری آن مشغول به فعالیت شوند. یکی از مهم ترین بخش هایی که زبان C در آن فعال است، حوزه برنامه نویسی سخت افزار و میکروکنترلرها می باشد. بنابراین می توانید با یادگیری این زبان، مهارت های خودتان را افزایش داده اقدام به نوشتن برنامه برای میکروکنترلرها نمایید.
آموزش برنامه نویسی سی برای چه کسانی مناسب است؟
دوره زبان C در درجه اول برای کسانی طراحی شده که میخواهند پس از آن اقدام به کدنویسی برای میکروکنترلرها کنند. دقت کنید که نوع میکروکنترلر و محیطی که در آینده میخواهید در آن کدنویسی کنید اهمیتی ندارد، چرا که شما در این آموزش زبان C استاندارد را فرا خواهید گرفت و میتوانید در هر محیطی کدنویسی کنید.
همچنین برای کسانی که میخواهند از زبان C برای دانشگاه یا هر حوزه تخصصی دیگری هم استفاده کنند مانعی وجود ندارد. در ادامه سرفصل های این دوره را مشاهده می کنید. برخی از موارد به صورت پیش نمایش بوده و می توانید کیفیت دوره را با آن ها ارزیابی کنید. در صورتی که مایل بود کل دوره را تهیه کنید از بخش شروع سرمایه گذاری اقدام فرمایید.
مسیر صحیح این آموزش را چگونه طی کنم؟
در دوره برنامه نویسی C زبان C استاندارد به شما آموزش داده می شود که از این آموزش می توانید در حوزه تخصصی مورد نیاز خودتان استفاده کنید. قبل از مشخص کردن مسیر آموزش به یک سوال پاسخ میدهیم.
آیا میدانید چرا تا کنون هر دوره زبان C که گذراندهاید نتیجه نداده است؟
علت آن است که در اغلب دورهها تنها به مرور نکات زبان C، بدون انجام تمرین و پروژه پرداختهاید. در این آنقدر با پروژه و تمرینهای مختلف دست و پنجه نرم میکنید تا به زبان C کاملا مسلط شوید.
برای تهیه این دوره ماهها وقت صرف شده و حاصل تجربه چند ساله است. توجه داشته باشید که برای افزایش تاثیر گذاری این آموزش، حتما باید به این ترتیب عمل کنید، در غیر این صورت از مسیر اصلی دور خواهید شد:
- مشاهده دوره الگوریتم و تفکر صحیح برنامه نویسی
- فرا گرفتن C استاندارد و اصول برنامه نویسی
- در نهایت اقدام به کدنویسی
مدت زمان لازم برای دوره زبان C
اگر به اطلاعات دوره دقت کنید، مشاهده می کنید که زمان دوره را ۸ + ۲۴ ساعت نوشته است. یعنی شما باید ۸ ساعت دوره را آموزش ببینید و ۳ برابر زمان دوره را به مرور، حل مثالها به روش خودتان و تکمیل تمرینها و پروژههای دوره اختصاص دهید. این موضوع اگر به درستی انجام شود، زمانی در حد یک ماه تا یک ماه و نیم را لازم دارد. سعی نکنید در مدت زمان کوتاه (مثلا یک هفته) ویدیوها را دیده و فقط از آنها عبور کنید؛ چرا که نتیجه مثبتی به دست نخواهید آورد. بنابراین طی مدت زمان استاندارد این آموزش را دنبال کنید و حتما تمرینها و پروژههای دوره را انجام دهید تا توانایی شما در زبان C به سطح قابل قبولی برسد.
اگر به این ترتیب آموزش زبان C را دنبال کنید، به شما قول میدهم که عاشق برنامه نویسی میشوید و تسلط بالایی در زبان C به دست میآورید.
بعد از دوره برنامه نویسی C چه کار کنم؟
این که بعداز تکمیل آموزش برنامه نویسی C چه مسیری را طی کنید به شما بستگی دارد. اصلا برای چه کاری زبان C را یاد گرفتید؟ آیا برای انجام پروژههای دانشگاه بوده است؟ یا برای کدنویسیهای نرم افزاری یا شاید هم برای کدنویسی میکروکنترلر؟ اگر سراغ زبان C آمده اید که بعد از آن برای میکروکنترلر کدنویسی اصولی و خوب انجام دهید؛ حالا باید سراغ یک میکروکنترلر بروید و شروع کنید. اگر در آغاز مسیر هستید سراغ میکروهای پیچیده مثل ARM نروید. ابتدا با یک میکروی 8 بیتی مثل AVR مسیر را یاد بگیرید و بعد به تدریج سطح خود را بالاتر ببرید.
کسب اطمینان از کیفیت دوره زبان C
قطعا برای تهیه یک آموزش از هر نوع که باشد، شما باید ابتدا بخشی از آن را به عنوان نمونه مشاهده کنید. در ادامه شما میتوانید ویدیوهای پیش نمایش دوره آموزش زبان C را مشاهده کنید. در صورتی که از کیفیت تدریس راضی بودید می توانید نسبت به تهیه دوره اقدام فرمایید.
1.1 چرا باید زبان C یاد بگیریم؟ ویدئو
23:21
1.2 چگونه باید در زبان C از متغیرها استفاده کنیم؟ ویدئو
31:37
1.3 چگونه در زبان C با اپراتورها کار کنیم؟ ویدئو
34:42
2.1 مفاهیم اولیه و درک تابع ویدئو
24:42
2.2 توابع ارسال اطلاعات به خروجی های استاندارد ویدئو
26:24
2.3 توابع دریافت اطلاعات از ورودی های استاندارد ویدئو
15:46
2.4 نحوه نوشتن توابع بازگشتی و مزیت های این روش ویدئو
05:16
3.1 انواع ساختار شرطی با if ویدئو
31:37
3.2 ساختار شرطی switch ویدئو
11:46
4. آشنایی با حلقه ها در زبان C ویدئو
36:07
5. معرفی انواع آرایهها در زبان C ویدئو
34:37
6. رشتهها و توابع اختصاصی آنها در زبان C ویدئو
38:14
7.1 مفاهیم اصلی اشارهگر ویدئو
22:07
7.2 کاربرد اشارهگر در آرایهها ویدئو
14:03
7.3 کاربرد اشارهگر در توابع ویدئو
07:28
8.1 مفاهیم اصلی ساختارها ویدئو
15:04
8.2 کاربردهای ترکیبی ساختار و اشاره گر ویدئو
33:12
8.3 تعریف دادههای بیتی به وسیله ساختارها ویدئو
07:49
9. معرفی جامع دستورات پیش پردازش در زبان C ویدئو
13:36
10. آشنایی با یونیونها در زبان C ویدئو
05:19
11. آشنایی با دادههای شمارشی در زبان C ویدئو
13:07
12. پروژه پایانی برنامه نویسی C ویدئو
دوره های مرتبط
آموزش پایتون
دوره آموزشی پایتون به شما کمک میکند تا تمام اطلاعات پایهای این زبان را فرا بگیرید. بعد از سپری کردن این دوره آماده خواهید بود تا برای زمینه هایی مثل هوش مصنوعی، یادگیری ماشینی(machine learning)، آنالیز داده، طراحی بک اند وب سایت و … که زمینه تخصصی مورد نظر شماست اقدام کنید. توجه کنید که بدون یادگیری اطلاعات پایهای پایتون نمیتوانید برای زمینهی تخصصی اقدام کنید.
امتیاز دانشجویان دوره
نظرات
550.000 تومان 410.000 تومان
ثبت نام دوره متوقف شده است
کسب دانش بزرگترین سرمایه گذاریه
احسان عبداللهی
موسس و مدیر میکرولرنبا تغییر نوع نگاه، خیلی از نشدنی ها شدنی میشه.
ثبت نام دوره متوقف شده است
نوید محمدی
دوره زبان سی بسیار کاربردی و تمرین محور تهیه شده و مثل خیلی از دوره ها فقط تئوری گفته نمیشه. از تهیه این دوره راضی هستم.
احسان عبداللهی(مدیریت)
هدف من بیان نکات کاربردی در دوره های میکرولرن هست. موفق باشی نوید جان
mohsen.norelahkhani( دانشجوی دوره )
سلام استاد ، بنده ابتدای مطالعه تدریستون هستم ، بخش عملگر های حسابی و بی تی … اصطلاحاتی که بکار میبرید متوجه نمیشم آیا پیش نیازی لازم هست که مطالعه کنیم بفرمایید !!
احسان عبداللهی(مدیریت)
سلام
لطفا اصطلاحاتی را که متوجه نمیشید بفرمایید تا خدمتتون توضیح بدم.
البته به طور کلی شما برای درک صحیح این دوره نیاز به دوره تفکر برنامه نویسی دارید که در لینک زیر موجود هست:
https://microlearn.ir/product/think-like-programmer
golnazz80.gz( دانشجوی دوره )
سلام وقتتون بخیر
میشه لطفا توضیحی درباره تمرین تقسیم سکه 500 تومانی به سکه های 25و10و5 تومانی بدهید؟
من متوجه خواسته سوال نشدم
احسان عبداللهی(مدیریت)
سوال میگه با چنتا سکه 25، 10 و 5 تومنی میشه به 500 تومن رسید. مثلا 19 تا 25، 2 تا 10 و یک 5 تومنی. خب این فقط یک حالت بود. شما برنامه ای بنویسید که تمام حالت ها را پیدا کنه.
golnazz80.gz( دانشجوی دوره )
سلام آیا این کد که با for برای تکلیف اول نوشتم درست هست؟ کار میکنه فقط میخوام بدونم بدون for هم میتونیم بنویسیمش؟
int checprime(int a);
int main(){
int n, result;
printf("enter your number:");
scanf("%d", &n);
result= checprime(n);
if (result==1)
printf("%d is prime\n", n);
else
printf("%d is not prime\n", n);
return 0;
}
int checprime(int a){
int c;
for(c=2; c<=a-1; c++){
if(a%c==0)
return 0;
}
return 1;
}
احسان عبداللهی(مدیریت)
سلام
اگر شما یک کد را بنویسید و جواب بده کدتون درسته. اما بحث دیگه اینه که کد را به فرم های گوناگون میشه نوشت. حالا اینجا باید توجه کنید که کدام یکی از فرم هایی که نوشتیدبهینه تر هست. با این توضیح شما سراغ نوشتن این کد به شیوه دیگه هم برید و بعد نتیجه را اینجا گزارش کنید تا دیگر دوستان هم استفاده کنند.
golnazz80.gz( دانشجوی دوره )
سلام
من این کد رو برای تکلیف اول تابع نوشتم اما متوجه نمیشم چرا ارور میده
ممنون میشم راهنمایی کنید.
unsigned int prime(unsigned int i){
unsigned int tag;
if(i<=1){
printf("error");
return 1;
}
tag = i%(i-1);
return tag;
}
int main(){
int i;
scanf("%d", &i);
if(tag=0){
printf("num isn't prime");
}
printf("num is prime");
return 0;
}
احسان عبداللهی(مدیریت)
سلام.
همیشه متن خطا را به همراه برنامه بفرستید تا بتونم دقیق تر راهنمایی کنم.
برنامه را اجرا کنید و هرگونه خطا شامل سینتکس یا خطای عملکرد دیدید بنویسید.
golnazz80.gz( دانشجوی دوره )
سلام آیا این دوره تکلیف تحویلی هم داره؟
احسان عبداللهی(مدیریت)
سلام
نیاز به تحویل تکلیف ندارید. شما باید طبق صورت سوال به جوابی که گفته شده برسید. پس اگر برنامتون جواب میده درسته. اما اگر سوالی دارید میتونید همینجا بپرسید تا پاسخ داده بشه.
sia.72jim( دانشجوی دوره )
سلام
برای متغیرهای محلی فرمودید مقدار اولیه ندارند.
اگر مقدار دهی اولیه نکنیم چی میشه؟
تکلیف استفاده از متغیر و محاسبات اگر مقداردهی اولیه نکنیم چی میشه؟
اگر چیزی داخلش نیست یعنی null?
احسان عبداللهی(مدیریت)
سلام
وقتی شما مقدار اولیه ندید مشخص نیست که برای محاسبات چه چیزی استفاده میشه و ممکنه هر نتیجه غیر قابل پیش بینی اتفاق بیوفته.
بنابراین برای متغیر محلی حتما مقدار دهی اولیه باید انجام بدید.
یونس پارسایی فر( دانشجوی دوره )
استاد سلام وقتتون بخیر باشه.
استاد خواستم بپرسم که وقتی ویدئوها به سری اول تمرین ها رسید من نتونستم تمرینی حل کنم!و احساس می کنم یه جای کارم میلنگه؟؟ بنظر شما چکار باید بکنم؟ سپاسگزارم.
احسان عبداللهی(مدیریت)
سلام
هر موقع دیدید بعد از مطالعه یه مبحث نمیتونید تمرین حل کنید باید برگردید عقب و اون مبحث را کاربردی و با دقت مطالعه کنید. یعنی اگر در مبحث مورد نظر مثال حل شده، شما فقط به دیدن حلش اکتفا نکنید بلکه خودتون شروع کنید به حل با چالش های اون دست و پنجه نرم کنید. این طور عمل کردن شما رو برای تمرین آماده می کنه.
علی اعتمادی فر( دانشجوی دوره )
سلام استاد وقتتون بخیر
در قسمت کتابخانه نویسی فقط یک قسمت برام مبهمه:
ما در فایل هدر از گارد تعریف استفاده می کنیم. مثلا در کتابخانه lcd.h از گارد تعریف #LCD_H استفاده کردیم یا در مثال هاتون برای کتابخونه lib.h از #Lib_h استفاده شده، حالا سوالم اینه که این نام بر چه اساس انتخاب میشه بر اساس نام کتابخانه؟ آیا حروف بزرگ و کوچک مهمه؟ اگه اختیاریه برنامه از کجا میدونه در چه مورد باید برنامه رو تعریف کنه.
احسان عبداللهی(مدیریت)
درود
نامی که انتخاب می کنیم کاملا اختیاری هست. اما نوشتنش به این صورت شبیه به یک استاندارد پذیرفته شده هست که در تمام کتابخانه ها رعایت میشه. بنابراین شما هم بهتره رعایت کنید.
ما این نام را بر اساس نام کتابخانه انتخاب می کنیم بنابراین یک بار که برنامه این نام را دید میشناسه و در کل برنامه از اضافه شدن مجدد کتابخانه و ایجاد سربار نرم افزاری جلوگیری می کنه.
یونس پارسایی فر( دانشجوی دوره )
با سلام خدمت استاد گرامی.
بنده چند وقتی میشه که دوره زبان C رو شروع کردم. با اینکه هیچ علم قبلیی نسبت به برنامه نویسی نداشتم اما امروز وقتی که دارم این پیاممو مینویسم واقعا دیگه صفر نیستم و رشد کردم و این رشد رو مدیون استاد عبداللهی هستم و دوست دارم واقعا پیشرفت کنم توی این حوزه.
دوستان این دوره نیاز به تمرین و ممارست داره و اگه در قدم اول از پس حل تمرین برنیومدید ناامید نشید و سرچ و تحقیق کنید. درسته زمان میگیره ازتون اما اینطوری هم مباحث تدریس شده براتون جا می افته و هم سرچ با گوگل رو به خوبی یاد میگیرید و هم وقتی بتونید یه تمرین از دوره رو حل کنید،کلی ذوق می کنید و باعث میشه که انرژی بگیرید برای حل تمرین های بعدی.(کسی اینو میگه که یه روزی از برنامه نویسی متنفر بوده.)
استاد عبدللهی خیلی روان و با زبان ساده مباحث رو توضیح میدن و جالب اینه که من هیچ وقت احساس خستگی نمیکنم از دیدن ویدئوها. قطعا از هزینه ای که می کنید، وقتی که برای مطالعه و تمرین میذارید بهتون کلی علم اضافه می کنه.و از این بابت از استاد عبداللهی متشکرم. خدا خیرتون بده.
استاد عبدالهی عزیز روز برنامه نویس رو بهتون تبریک میگم، امیدوارم که بتونم شاگرد خوبی باشم.
ببخشید طولانی شد.سپاسگزارم.
احسان عبداللهی(مدیریت)
درود جناب پارسایی فر عزیز
چند ماه هست که آموزش هاتون را شروع کردید. هرچند کمی بینش وقفه ایجاد شد ولی همین که به نتیجه داره میرسه و در برنامه نویسی دارید رشد می کنید بنده را عمیقا خوشحال میکنه. به امید اینکه یک روز هم در میکروکنترلر عمیقا رشد کنید و به اهدافی که در موردش صحبت کردید برسید.
موفق و پیروز باشید
LILY
سلام.دوره ها سایت خلاصه شده هستن؟ این تایمی که برای آموزش این دوره اختصاص دادید کافی هست؟ اینو میپرسم به خاطر پیش فرض ذهنیم تو دانشگاه هستش
-تمرین هایی که برای دوره های این سایت تعریف شده خودتون تصحیحش میکنید؟ در کل جواب درست بعد از ارسال پروژه و تمرین ها در اختیارمون قرار میگیره؟ (این خیلی مهمه برام).چون نوشتید دوره بدون انجام تمرین ها بی فایده هست چون اگر بعد از ارسال تمرین جواب در اختیارمون نباشه اینطوری بازم اثر نداره و قطعا جای سوال باقی هست
-بعد اینکه نیاز هست برای حل تمرین ها به مرجع دیگه مراجعه کنیم؟
احسان عبداللهی(مدیریت)
سلام و درود
دوره های میکرولرن دقیقا اون چیزی را که لازم دارید توضیح میده. بنابراین وقت شما با مطالب حاشیه ای و غیر کاربردی هدر نمیره.
کلا ذهنیت دانشگاه را بگذارید کنار. اونجا بحث نمره و … هست اینجا شما آموزش میبینید که مستقیما در صنعت استفاده کنید.
اما در مورد تمرین ها چند نکته مهم وجود داره که باید توجه کنید:
تمرین ها در دو گروه همراه با حل و بدون حل قرار داده شدند.
گروهی که حل داره با جزئیات کافی و علاوه بر درسنامه هر بخش توضیح داده میشه تا شما را کاملا قوی کنه. شما باید این تمرینات را خودتون مجدد کدنویسی و حل کنید تا به مباحث مسلط بشید.
اما گروهی که بدون حل هستند برای اینه که شما دانشتون را محک بزنید. برای این تمرین ها شما باید درس را بخوب یاد گرفته باشید و تمرین کرده باشید. حالا کمی هم گوگل کنید یا مقاله های میکرولرن را بخونید تا در جاهایی که به ابهام برخوردید مشکلتون حل بشه.
اگر بازم مشکلتون حل نشد میتونید در بخش نظرات هر دوره سوالتون را بپرسید تا پاسخ داده بشه.
در کنارتون هستیم تا نتیجه بگیرید. البته شما هم باید طبق این متد تلاش کنید و با جدیت مطالعه کنید. 🙂
صادق رنجبران( دانشجوی دوره )
سلام
مطالعه و کار کردن رو کتاب دیگه ای برای برنامه نویسی به زبان cهمراه با یادگیری دوره مفید هست یا همین مقدار کافیه ؟
احسان عبداللهی(مدیریت)
سلام جناب رنجبران
قطعا شما هر چی منابع بیشتری بخونید سطح دانش بالاتری به دست میارید. اما معمولا کتاب ها به خاطر مرجع بودن حجم مطالب بالایی ارئه میدن که در نهایت باعث خسته شدن و سردرگمی شما میشه.
توصیه میکنم اول دوره را به همراه تمرین ها به طول کامل کار کنید تا به تسلط کافی برسید. بعد از تکمیل دوره اگه خودتون علاقه داشتید به کتاب ها هم سر بزنید. البته دوره چیزی کم نداره و تمام مطالبی که شما لازم دارید را کاملا پوشش میده.
میلاد سلیمی( دانشجوی دوره )
سلام استاد ، وقتتون بخیر
با تشکر از تدریس و مثالهای عالیتون
یک سوال دارم ازتون استاد
;unsigned int s=10
;char str[s]
تفاوت کد بالا و زیر در چیه؟
;unsigned int s
;puts("Toole reshteye morede niyaz :")
;scanf("%d",&s)
;char str[s]
احسان عبداللهی(مدیریت)
سلام جناب سلیمی
سوالتون کمی مبهم نوشته شده بود و مقدار زیادی کد اضافی بود. برای خلوت تر شدن و استفاده دوستان بخش های اضافی را حذف کردم.
در کد اول طول آرایه ثابت و از قبل معلوم شده. اما در حالت دوم طول آرایه توسط کاربر از بیرون تعیین میشه. در واقع حالت دوم باعث انعطاف پذیرتر بودن برنامه و انطباق بیشتر با شرایط میشه. پس میتونیم طبق نیاز طول آرایه را تعریف کنیم و از مصرف حافظه بیشتر جلوگیری میشه.
میلاد سلیمی( دانشجوی دوره )
ممنونم استاد از لطفتون ،
دقیق تر بخوام بپرسم سوالمو ، باید اینطور بگم خدمتتون که:
وقتی طول رشته ، توسط تابع scanf از کاربر گرفته میشه ، (و مثلا ۱۰ وارد میشه)، باید بتونیم ۹تا کاراکتر داخلش ذخیره کنیم ، از سلول ۰ اُم ، تا سلول ۸ اُم ، به جز سلول ۹ اُم که پایان رشته است ، ولی با اون کدی که فرستادم براتون فقط ۸تا کاراکتر میشد ذخیره کرد، از سلول ۱ اُم تا سلول ۸ اُم ، که با چک کردن تک تک سلولها، متوجه شدم سلول ۰ اُم ، هیچ مقداری نمیگیره! دلیل این موضوع رو متوجه نمیشم استاد ، در صورتیکه وقتی طول رشته(مانند کد اول) از بیرون وارد نمیشود و داخل خود برنامه هست ، از سلول ۰ اُم تا سلول ۹ اُم قابل مقداردهی هستش استاد .
احسان عبداللهی(مدیریت)
سوال بسیار به جا و خوبی پرسیدید.
در واقع خانه صفر ام خالی نیست و مقدار میگیره اما مقدارش برابر هست با عدد دسیمال ۱۰ که معادل با کاراکتر ‘n\’ یا به ساده اینتر هست.
حالا یعنی چی و اصلا اینتر از کجا میاد. خب شما وقتی مقدار آرایه را از کاربر میگیرید باید اینتر بزنید تا وارد بشه. اول عدد رو میگرید ولی اینتر هم چنان توی حافظه می مونه و وقتی داخل حلقه for میشید اول در خانه صفر اونو قرار میده و سپس داده هایی که کاربر وارد میکنه را میگیره. به همین دلیل شما فکر می کنید این خونه خالی مونده.
حالا نکته را گرفتید ولی راه کارشو نمیگم تا بهش فکر کنید که چطور اجازه ندیم این کاراکتر خط جدید یا اینتر در خانه صفر وارد بشه.
موفق باشید.
میلاد سلیمی( دانشجوی دوره )
خیلییییی ممنونم استاد ، خیلی نکته دقیق و دور از ذهنی بود برام ، ممنونم از توضیحاتتون…سعی میکنم راهکارشو پیدا کنم
احسان عبداللهی(مدیریت)
حتما میتونید. فقط زود نا امید نشید.
حتی اگه زمان زیادی ازتون گرفت حتما خودتون حلش کنید چون باعث میشه در آینده قدرت برنامه نویسی شما زیاد بشه.
مرشدی
سلام آقای مهندس عبدالهی بسیار مطالبتون عالی است .
احسان عبداللهی(مدیریت)
سلام
متشکرم 🙂
alinavidi1368( دانشجوی دوره )
سلام استاد
من یه سوال در مورد ” آموزش زبان سی – ساختار شرطی – بخش دو” دارم.
تمرین ۴ شما دو متغییر ۴ بایتی گفتید تعریف کنیم با یه متغییر ۸ بایتی!!
۸x۸=۶۴ بیت
من تو متغییرهای ۶۴ بیتی ندیدم !!
بیشترین مقدار متغییرها float و double بود که اون هم ۳۲ بیت هست.
میشه راهنمایی کنید کجا دارم اشتباه میکنم.
ممنون🌹
احسان عبداللهی(مدیریت)
سلام و درود
خیلی طبیعیه که شما تعجب کنید. اما ما توصیف کننده ها را معرفی کردیم. اگر long را یادتون بیاد میتونه به شما کمک کنه تا طول متغیر را ۲ برابر کنید.
اما همونطور که داخل ویدیو هم گفتم لازمه برای این تمرین کمی گوگل کنید. یعنی استفاده از long و همینطور type casting و ضرب دو متغیر ۴ بایتی در هم دیگه. البته دقت کنید که ما اینجا با عدد اعشار کاری نداریم و شما باید با int کار کنید.
سر نخ را به شما دادم تا حلش کنید. اما انتظار نداشته باشید سریع جواب را پیدا کنید. حتی اگر شده یک یا دو روز روی سوال کار کنید تا حل بشه. نتیجه ای که به دست میارید بعدا خیلی کمکتون میکنه.
alinavidi1368( دانشجوی دوره )
ممنون
محمد( دانشجوی دوره )
سلام
خوبین
من قبلا برنامه نویسی سی روتوی دانشگاه پاس کردم اما الان یادم نمونده و بلد نیستم…
دارم اتوماسیون کار میکنم و میخوام میکروها رو هم یاد بگیرم
اگه سوالی داشته باشیم میتونید کمکمون کنید؟ممنونم
احسان عبداللهی(مدیریت)
سلام محمد عزیز
امیدوارم که حالت خوب باشه.
مطالبی که توی دانشگاه خوندی خوبه و باعث میشه یک مقدار زمینه داشته باشی ولی قطعا کافی نیست.
من روی دوره هایی که ضبط می کنم خیلی حساسم و همیشه در نظر می گیریم که دانشجو باید کاملا مطالب رو درک کنه و ابهام براش باقی نمونه. مطمئن باش که دوره های میکرولرن اکثر ابهام هایی را که داری رفع می کنه اما اگه در هر دوره به سوالی برخوردی میتونی داخل صفحه دوره سوال کنی تا پاسخ داده بشه و ابهامت رفع بشه.
مریم فکری
من قبلا آموزش های زیادی تهیه کرده بودم ولی به چیزی که میخواستم نرسیدم چون اغلب اون ها تمرین و پروژه کار نمی کردن و مطالب اضافی داشتن که برای میکروکنترلر فایده نداشت. اما دوره شما فرق داره.
فقط در یک کلام میتونم بگم که با اختلاف یکی از بهترین آموزش های برنامه نویسی C در زبان فارسی هست که دیدم.
به کسانی که قصد آموزش زبان سی دارند دوره مهندس عبداللهی را توصیه می کنم.
با تشکر
احسان عبداللهی(مدیریت)
سلام به شما
خیلی خوشحالم که دوره براتون مفید بوده و نسبت به آموزش های قبلی تونستید ازش نتیجه خوبی بگیرید.
موفق باشید
hamedmohamadi6490( دانشجوی دوره )
با سلام و خسته نباشید خدمت مهندس عبدالهی،میخواستم بگم که واقعا تدریس عالی و قابل فهم و همچنین آموزش پله به پله،،که به همه پیشنهاد میکنم که حتما برای برنامه نویسی این دوره هارو مطالعه کنن،،واقعا خیلی عالی تشکر میکنم از تیم خیلی خوب مهندس
احسان عبداللهی(مدیریت)
سلام و درود
ممنون از نظر ارزشمندتون جناب محمدی.
امیدورام که تمام دوره ها براتون مفید باشه.
ابراهیم ژاله رو( دانشجوی دوره )
جناب مهندس عبداللهی عزیز
عرض خسته نباشید
در قسمت ششم ویدیو آموزش زبان سی برای نمایش قسمت اسپیس
در تابع scanf با دستور
Scanf(“%[^\n]s”,string)؛
مشکل برطرف میشه
اما این دستور چکار انجام میده؟!
منظور قسمت[n\^]
و دقیقا ^
و[ ]
احسان عبداللهی(مدیریت)
سلام
به نکته ی قشنگی در آموزش اشاره کردید. عبارت [n\^] داره میگه که تا زمانی که در ورودی کاراکتر خط جدید (new line) مشاهده نشده هرچیزی هست را دریافت کن.
بنابراین به این ترتیب scanf میتونه space را هم بخونه.
مهسا جمیلی( دانشجوی دوره )
سلام وقتتون بخیر بحث کتابخانه نویسی رو امکانش هست اعلام کنید در کدوم ویدیو وجود داره؟
احسان عبداللهی(مدیریت)
سلام
کتابخانه نویسی به صورت اختصاصی در ویدیوی سوم بخش ورودی خروجی در دوره آموزش میکروکنترلر AVR گفته شده.
هم چنین در این مقاله هم آموزش کتابخانه نویسی ارائه شده:
https://microlearn.ir/5347/library.html
کیارش حبیبی( دانشجوی دوره )
درود
جناب مهندس اول خسته نباشید وخدا قوت عرض میکنم خدمت شما وتیم میکرو لرن
به جرات میگم با کیفیت ترین آموزشی که حداقل بنده تجربه کردم دوره های شما بوده
قدرت انتقال بسیار عالی پشتیبانی قدرتمند وکیفیت خوب ویدیو های شما ستودنی هست
موفق باشید
احسان عبداللهی(مدیریت)
سلام جناب حبیبی
خیلی ممنونم. حضور شما در جمع دانشجویان ما باعث افتخار هست.
تمام تلاشمون بر اینه که هر روز بهتر از دیروز باشیم و آموزش های با کیفیت به شما ارائه کنیم.
موفق باشید
معصومه محمدی( دانشجوی دوره )
سلام.
ابتدا تشکر میکنم از تیم قوی میکرولرن که علاوه بر کیفیت خیلی خوب ویدیوها، پشتیبانی خیلی قوی دارن.
از نظر من نقطه قوت ویدیوها، تمرین های هدفمندی هستن که انتهای هر مبحث قرار دارن.
فکر میکنم فرقی نداره سطحتون صفر هست و یا آشنایی نسبی با زبان سی دارید، اگر ویدیوها رو با دقت دنبال کنید و حتما حتما مثال ها و تمرین ها رو انجام بدید ( حتما کد ها رو خودتون بنویسید) در انتهای دوره به سطح خوبی که لازم هست. می رسید.
من از دوره ام راضی بودم و امیدوارم دوره های بیشتری رو ببینم از این تیم.
احسان عبداللهی(مدیریت)
سلام خانم محمدی
خیلی متشکرم که نظر ارزشمندتون را بیان کردید. سعی می کنیم هر روز کیفیتمون را بیشتر کنیم.
شما از دانشجویان خوب ما هستید و خوشحالیم که تونستید از آموزش های میکرولرن استفاده لازم را ببرید.
موفق و پیروز باشید
میلاد صادقی
سوال من این هست که اگه بخوام زبان avr کد نویسی کنم ابتدا نیاز هست که این دوره رو بیام؟ یا همون دوره avr رو خریداری کنم؟
احسان عبداللهی(مدیریت)
سلام جناب صادقی
برای کار کردن با avr باید به زبان c کاملا مسلط باشید. اگر در حد آشنایی اولیه یا حتی متوسط هستید ریسک نکنید. ابتدا زبان C را به خوبی یاد بگیرید و بعد در دوره avr شرکت کنید.
توجه کنید که اگر حتی با سطح متوسط در زبان c، دوره avr را شروع کنید. بارها مجبور میشید دوره avr را متوقف کنید و به رفع اشکلات در زبان c بپردازید که بسیار شما را خسته می کنه.
حمیدرضا حکیم الهی( دانشجوی دوره )
دوره زبان c را هنوز تمام نکردم ولی تا همین جا خیلی به من در رابطه با برنامه نویسی xmega کمک کرده.
در ضمن مهندس عبداللهی خیلی خوب رفع اشکال می کنند.
با سپاس از ایشان
احسان عبداللهی(مدیریت)
ممنونم جناب حکیم الهی. شما از دانشجویان خوب دوره هستید. حتما تمام مباحث را با دقت و تا انتها دنبال کنید.
آرش پور احمدی
من میخواستم با میکروکنترلرهای stm32 کار کنم. با اینکه به زبان c آشنایی نسبی داشتم، اما لازم دیدم که یک دوره کامل زبان C را کار کنم. چون برای stm32 واقعا به تسلط بالای برنامه نویسی C نیاز هست. این دوره خیلی برای من خوب بود و خواستم از مهندس عبداللهی عزیز تشکر کنم.
احسان عبداللهی(مدیریت)
حرفتون کاملا درسته. برای میکروی stm32 قدرت برنامه نویسی بالایی لازمه. امیدوارم که در تمام مراحل زندگی خوب پیش برید.
امیر
سلام من میخواستم با زبان سی سایت طراحی کنم این دوره برای من کاربرد دارد؟
احسان عبداللهی(مدیریت)
سلام
معمولا زبان C جزء زبان هایی که با اون سایت طراحی کنند نیست. چرا که زبان های خیلی قدرتمندی برای این کار وجود داره.
اما اگه بخواهید در سمت سرور با زبان C کدی بنویسید که کاربرد خاصی داشته باشه این دوره مقدمات لازم برای شروع کار با زبان C استاندارد را به شما یاد میده.
بعد از گذراندن این دوره میتونید در تخصص مورد نظر خودتون از این دوره استفاده کنید.
ریحانه عسکری
استاد دوره عالی بود
من قبلا دوره های دیگه هم شرکت کرده بودم ولی دوره شما انقدر کاربردی و با توضیحات کافی بود که تمام مشکلاتم در زبان C برطرف شد. اغلب دوره هایی که من شرکت کرده بودم تئوری های خشک داشتن. اما دوره شما کاربردی بود و باعث شد من دست به کد بشم.
احسان عبداللهی(مدیریت)
خیلی خوبه که میگید دست بد کد شدید. این یعنی آموزش را درست انجام دادید. موفق باشید.
محمدرضا( دانشجوی دوره )
سلام وخسته نباشید این اموزش واقعا برای من مفید بود. به دوستان این دوره اموزش را پیشنهاد میکنم .
احسان عبداللهی(مدیریت)
متشکرم دوست عزیز. خوشحالم که براتون مفید بوده.
mrhabibpour( دانشجوی دوره )
سلام وقت بخیر
کدبلاکس بدون مشکل رو تو سایت قرار بدین مهندس
من نصب کردم خطای کامپایلر میده ممنون میشم رسیدگی کنید
احسان عبداللهی(مدیریت)
سلام
داخل ویدیوها روش صحیح دانلود کدبلاکس توضیح داده شده که اگه طبق اون عمل کنید بدون هیج خطایی کار میکنه. شما نسخه فاقد کامپایلر را نصب کردید. به همین علت خطا داده.
با این حال براتون لینک دانلود بدون مشکل در لیست مطالب دوره اضافه شد. میتونید دانلود کنید.
mrhabibpour( دانشجوی دوره )
سپاس از توجه شما مهندس جان
احسان عبداللهی(مدیریت)
خواهش میکنم
حمید سعیدی
سلام
من زبان سی را تا حدودی بلدم و برای میکرو برنامه می نویسم. اما برنامه هام با کیفیت نیست و زمانی که کدهای دیگران را میخونم همیشه سردرگم میشم. لازمه دوره شرکت کنم یا کار دیگه ای باید کنم؟
احسان عبداللهی(مدیریت)
سلام
اگر با مفاهیم زبان سی و اصول کدنویسی استاندارد مشکل دارید پیشنهاد میکنم که حتما در دوره زبان سی شرکت کنید و ابتدا دانش تخصصی خودتون را تقویت کنید. اما اگر به این موارد تسلط کافی دارید نیازی به شرکت در دوره نیست و باید کدهای نوشته شده توسط سایر برنامه نویسان را در طولانی مدت مطالعه کنید تا مهارت شما زیاد شود.
مسعود احمدی
این دوره ای که شما دارید برای کدویژن هم کاربرد داره؟
احسان عبداللهی(مدیریت)
سلام
این دوره زبان سی استاندارد را آموزش میده و در محیط کدویژن، اتمل استدیو یا هر محیطی که بخواهید با زبان سی کد بنویسید کاربرد داره.
محمد( دانشجوی دوره )
آموزش من خریداری کردم و خیلی عالی بود مفاهیم به صورت کامل آموزش داده شد بود
پیشنهاد میکنم حتما استفاده کنید
atazb1996( دانشجوی دوره )
سلام ببخشید لینک دانلود ایمیل هاتون هم منقضی شده ؟ من قسمت ۱٫۳ رو دانلود نکرده بودم . فکر میکردم لینکهای ایمیل منقضی نخواهند شد.
احسان عبداللهی(مدیریت)
سلام.
لینک های تولید شده در زمان ثبت نام دارای تاریخ انقضا هستند.