| ᴅᴇᴠʟᴏꜱꜱᴏ |
Kanalga Telegram’da o‘tish
DevLosso | دِولوسو دنیای فناوری، برنامهنویسی و ساختن. آموزش، پروژه، تجربه و اخبار فناوری. از ایده تا محصول. همکاری و مشاوره: @DevLossoAA صفحه اینستاگرام: instagram.com/devlosso
Ko'proq ko'rsatish648
Obunachilar
-124 soatlar
+27 kun
+130 kun
Postlar arxiv
648
بریم سراغ جلسه هفتم با زبان C
امروز میخواهیم با یکی از مفاهیم جالب و کاربردی در زبان C آشنا بشیم: پوینترها (Pointers). این مفهوم خیلی مهمه و به ما این امکان رو میده که به آدرسهای حافظه دسترسی داشته باشیم و کارهای جالبی انجام بدیم.▎1. تعریف پوینتر
پوینترها متغیرهایی هستن که به جای ذخیره کردن دادهها، آدرس حافظه یک متغیر دیگه رو نگه میدارن. اینجوری میتونیم به دادهها به صورت مستقیم دسترسی پیدا کنیم.▎2. سینتکس (نحو) تعریف پوینتر برای تعریف یک پوینتر، از علامت * استفاده میکنیم:
data_type *pointer_name;
• data_type: نوع دادهای که پوینتر بهش اشاره میکنه. • pointer_name: نام پوینتر که باید منحصر به فرد باشه.▎3. مثال ساده از پوینتر بیایید یک مثال ساده بزنیم تا بهتر متوجه بشیم:
#include <stdio.h>
int main()
{
int num = 10; // یک متغیر عددی
int *ptr = # // تعریف پوینتر و ذخیره آدرس num
printf("Value of num: %d\n", num); // مقدار num
printf("Address of num: %p\n", (void*)&num); // آدرس num
printf("Value of ptr: %p\n", (void*)ptr); // آدرس ذخیره شده در ptr
printf("Value pointed by ptr: %d\n", *ptr); // مقدار اشاره شده توسط ptr
return 0;
}
در اینجا، ما یک متغیر num داریم و یک پوینتر ptr که آدرس num رو ذخیره میکنه. با استفاده از *ptr میتونیم به مقدار num دسترسی پیدا کنیم.▎4. تغییر مقدار با استفاده از پوینتر یکی از کاربردهای جالب پوینترها اینه که میتونیم مقدار متغیرها رو از طریق آدرسشون تغییر بدیم:
#include <stdio.h>
void changeValue(int *ptr)
{
*ptr = 20; // تغییر مقدار متغیر اصلی
}
int main()
{
int num = 10;
printf("Before: %d\n", num);
changeValue(&num); // ارسال آدرس num به تابع
printf("After: %d\n", num);
return 0;
}
اینجا تابع changeValue یک پوینتر به num دریافت میکنه و مقدارش رو تغییر میده.▎5. نکته مهم 🔍
• پوینترهای NULL: همیشه خوبه که قبل از استفاده از پوینترها بررسی کنیم که آیا به یک آدرس معتبر اشاره میکنن یا نه. میتونیم از مقدار NULL برای نشون دادن اینکه پوینتر به هیچ آدرسی اشاره نمیکنه استفاده کنیم.▎6. نکته مهمتر 🔍
پوینترها یکی از ابزارهای کلیدی در زبان C هستند که به ما کمک میکنن تا برنامههامون رو بهینهتر و کارآمدتر بنویسیم. همچنین توی کار با آرایهها و ساختارها هم خیلی مفیدن.اگر سوالی دارید تو قسمت دیدگاه ها بگید.
648
کویز:
کدام یک از گزینههای زیر نامگذاری متغیرها را به درستی نشان میدهد؟
648
کویز:
کدام یک از گزینههای زیر نامگذاری متغیرها را به درستی نشان میدهد؟
648
کویز:
کدام یک از گزینههای زیر یک تابع بدون پارامتر را به درستی نشان میدهد؟
648
کویز:
کدام یک از گزینههای زیر یک تابع بدون پارامتر را به درستی نشان میدهد؟
648
کویز:
کدام گزینه صحیح است برای فراخوانی تابع add که دو عدد را جمع میکند؟
648
کویز:
اگر یک تابع نیازی به بازگشت هیچ مقداری نداشته باشد، چه نوعی باید داشته باشد؟
648
کویز:
اگر شما بخواهید تابعی را در برنامه خود استفاده کنید که هنوز تعریف نشده، چه باید بکنید؟
648
بریم جلسه ششم با زبان C
• در این قسمت میخواهیم با یکی از مفاهیم بسیار مهم و کلیدی در برنامهنویسی آشنا بشیم: توابع یا همون Functions.
• توابع به ما این امکان رو میدن که کد رو به بخشهای کوچکتر تقسیم کنیم و از تکرار کد جلوگیری کنیم. این موضوع باعث میشه که کد ما بهینهتر و خواناتر بشه.▎ 1. سینتکس (نحو) تعریف تابع سینتکس تعریف یک تابع به شکل زیره:
return_type function_name(parameters)
{
// code
return value; // optional
}
• return_type: نوع دادهای که تابع برمیگردونه (مثل▎ 2. مثال ساده از تابع بیایین یک تابع ساده بنویسیم که دو عدد را جمع کنه:int،float،voidو...). • function_name: نام تابع که باید منحصر به فرد باشه • parameters: ورودیهایی که تابع میگیره (اختیاری).
#include <stdio.h>
// تعریف تابع
int add(int a, int b)
{
return a + b;
}
int main()
{
int result = add(5, 3); // فراخوانی تابع
printf("Sum: %d\n", result);
return 0;
}
• در اینجا، تابع add دو عدد را به عنوان ورودی میگیره و مجموع اونها را برمیگردونه.
▎ 3. توابع بدون بازگشت (Void Functions)
اگر تابعی نیاز به بازگشت هیچ مقداری نداشته باشه، میتونیم از نوع void استفاده کنیم:
void printHello()
{
printf("Hello, World!\n");
}
int main()
{
printHello(); // فراخوانی تابع
return 0;
}
▎ 4. توابع با چندین پارامتر
توابع میتونن چندین پارامتر داشته باشن:
void printSum(int a, int b)
{
printf("Sum: %d\n", a + b);
}
int main()
{
printSum(5, 10); // فراخوانی تابع
return 0;
}
▎ نکته مهم 🔍
• توابع باید قبل از استفاده در کد تعریف شن یا پروتوتایپ اونها باید در بالای کد قرار بگیره.▎نکته ماژولار 🔧
• توابع یکی از ابزارهای کلیدی در برنامهنویسی هستند که به ما کمک میکنن تا برنامه خودمون رو سازماندهی کنیم و اون رو قابل نگهداریتر کنیم.سوالی بود تو قسمت دیدگاهها بگید!
648
جلسه پنجم با زبان C
توی این قسمت میخوایم با یکی از مفاهیم بسیار مهم و پرکاربرد در برنامهنویسی آشنا بشیم: حلقهها یا همون Loops.
حلقهها به ما این امکان رو میدن که یک سری دستورات رو چندین بار اجرا کنیم بدون اینکه نیاز باشه کد رو به صورت تکراری بنویسیم. این موضوع باعث میشه که کد ما بهینهتر و خواناتر بشه. به طور کلی ما سه نوع حلقه اصلی داریم:
1. for 2. while 3. do-while▎ 1. سینتکس (نحو) حلقه for
حلقه for برای تکرار یک بلوک کد به تعداد مشخصی استفاده میشه.سینتکس اون به شکل زیره:
for (initialization; condition; increment/decrement)
{
// code
}
به عنوان مثال:
for (int i = 0; i < 5; i++)
{
printf("Value of i: %d\n", i);
}
در اینجا، حلقه از 0 شروع میشه و تا زمانی که مقدار i کمتر از 5 باشه، کد داخل حلقه اجرا میشه.
▎ 2. سینتکس (نحو) حلقه while
حلقه while برای تکرار یک بلوک کد تا زمانی که یک شرط خاص برقرار باشه، استفاده میشه.سینتکس اون به شکل زیره:
while (condition)
{
// code
}
به عنوان مثال:
int i = 0;
while (i < 5)
{
printf("Value of i: %d\n", i);
i++;
}
در اینجا، حلقه تا زمانی که i کمتر از 5 باشه، اجرا میشه و بعد از هر بار اجرا، مقدار i یک واحد افزایش پیدا میکنه.
▎ 3. سینتکس (نحو) حلقه do-while
حلقه do-while شبیه به حلقه while هست، اما تفاوتش اینه که حداقل یک بار کد داخل حلقه اجرا میشه حتی اگر شرط برقرار نباشه.سینتکس اون به شکل زیره:
do
{
// code
} while (condition);
به عنوان مثال:
int i = 0;
do
{
printf("Value of i: %d\n", i);
i++;
} while (i < 5);
در اینجا، حتی اگر مقدار i در ابتدا بزرگتر از 5 باشه، کد داخل حلقه حداقل یک بار اجرا میشه.
▎ نکته مهم 🔍
• در هر سه نوع حلقه، میتونید از کلمه کلیدی▎ نکته کلاسیک 🏛breakبرای خروج از حلقه استفاده کنید و ازcontinueبرای عبور به تکرار بعدی استفاده کنید.
• حلقهها یکی از ابزارهای قدرتمند در برنامهنویسی هستن و میتونن به ما کمک کنن تا کارهای تکراری رو به راحتی انجام بدیم.سوالی بود تو قسمت دیدگاهها بگید!
648
کدام یک از گزینههای زیر برای اعلام یک متغیر صحیح (integer) در زبان C صحیح است؟
648
#دلی
چند وقت پیش ی کانالی دیدم راجب همین برنامه نویسیو ... و نکته ای که خیلی برام جذاب بود این بود که صاحب این چنل ی نوجوان 13 ساله هست و اموزشم میزاره و... (که کم نداریم از این اشخاص)
ی وقتایی کیفیت محتوا مهم نیست انجامش مهمه که بعضاً خیلیا این جسارت به خودشون نمیدن
حالا گفتم اگر شما هم دوست داشتید حمایت کنید که انگیزه ای شه براش🧡
📶@Zohix_code
648
عزیزان این گروهمونه اگر دوست داشتید میتونید توش فعالیت کنید💖💝
👤@Graphcode1
نفری یدونه پروفایل 🏷هم برای گروه بفرستید؛ بهترینش انتخاب میشه✅
648
کویز:
کدام یک از گزینههای زیر برای مقایسه دو مقدار برابر استفاده میشود؟
648
برنامه نویس روز نمیخواد، حقوق میخواد 😁
روز همه مبارک، حتی اونی که فقط بلده یه Hello world پرینت کنه.
خودمو میگم! 😃
648
روز برنامه نویسو به همه شب زنده داران و سحرخیزان تبریک میگم😎❤️🔥
حالا تو کامنتا نسبت به هم دیگه ابراز محبت کنید که اهمیت این روز حفظ بشه😂
648
خب وقتشه بریم سراغ جلسه چهارم با زبان C
توی این قسمت میخوایم با یه چیز پایه اما خیلی مهم آشنایی پیدا کنیم! اونم دستورات شرطی یا همون Conditional Statements
• مفهوم شرط گذاری که کاملا واضحه ما از دستورات شرطی برای این استفاده میکنیم که برنامه یه سری مسیر های اجرایی ای داشته باشه؛ مثلا اگر فلان اتفاق افتاد این جور پیش بریم، اگر یه اتفاق دیگه افتاد یه جور دیگه! به طور کلی ما دومدل حالت برای ایجاد شرط داریم:
• if • switch1. سینتکس (نحو) دستور if
if (condition)
{
// code
}
کلمه کلیدی else اینجا استفاده داره مثلا:
if (condition)
{
// code
}
else
{
// code
}
2. سینتکس (نحو) دستور switch
این یکم فرق داره و یه متغیر رو میگیره و مقدارش رو بررسی میکنه!
int ch = 10;
switch(ch)
{
case 2:
printf("ch is 2");
break;
default:
printf("ch is not 2");
break;
}
• یعنی یه متغیر رو میگیره و مقدارش رو با case هایی که تعریف شده مقایسه میکنه! • اینجا کلمه کلیدی default معادل else تو if حساب میشه! حواست باشه ‼️
• اگر بعد از هر case از دستور break استفاده نکنی برنامه میزنه تو case های بعدی، البته گاها بعضی برنامه نویسا بسته به موقعیت، عمدا اینکارو میکنن!نکته کلاسیک 🏛
• کلا switch انواع int و char رو ساپورت میکنه!نکته جالب 🎨
پایتون جدیدا تو آپدیتاش همچین چیزی رو خودش اضافه کرده! این قابلیت اسمش match-case عه.
x = 10
match(x)
case 2:
print("x is 2")
case _:
print("x is not 2")
• این نسخه پایتونی مثل switch کلاسیک توی C نیست یعنی بعد از اینکه case ای اجرا شد از بلاک match میزنه بیرون.
