كيفية إجراء الإدخال / الإخراج باستخدام printf و scanf في لغة C.
C لغة صغيرة ، و "جوهر"جلا يتضمن أي وظائف إدخال / إخراج (I / O).
هذا ليس شيئًا فريدًا بالنسبة لـ C ، بالطبع. من الشائع أن يكون جوهر اللغة محايدًا في I / O.
في حالة C ، يتم توفير المدخلات / المخرجات لنا من خلال مكتبة C القياسية عبر مجموعة من الوظائف المحددة فيstdio.h
الملف الاساسي.
يمكنك استيراد هذه المكتبة باستخدام:
#include <stdio.h>
أعلى ملف C.
توفر لنا هذه المكتبة ، من بين العديد من الوظائف الأخرى:
printf()
scanf()
sscanf()
fgets()
fprintf()
قبل أن أصف ما تفعله هذه الوظائف ، أود أن أستغرق دقيقة للحديث عنهاI / O تيارات.
لدينا 3 أنواع من تدفقات الإدخال / الإخراج في C:
stdin
(إدخال قياسي)stdout
(الإخراج القياسي)stderr
(خطأ تقليدي)
مع وظائف الإدخال / الإخراج ، نعمل دائمًا مع التدفقات. الدفق هو واجهة عالية المستوى يمكن أن تمثل جهازًا أو ملفًا. من وجهة نظر C ، ليس لدينا أي اختلاف في القراءة من ملف أو القراءة من سطر الأوامر: إنه دفق I / O في أي حال.
هذا شيء واحد يجب مراعاته.
تم تصميم بعض الوظائف للعمل مع دفق معين ، مثلprintf()
، والتي نستخدمها لطباعة الأحرف إلىstdout
. باستخدام نظيره الأكثر عموميةfprintf()
، يمكننا تحديد الدفق المراد الكتابة إليه.
منذ أن بدأت أتحدث عنهprintf()
، دعنا نقدمه الآن.
printf()
printf()
هي إحدى الوظائف الأولى التي ستستخدمها عند تعلم برمجة لغة سي.
في أبسط أشكال الاستخدام ، يمكنك تمرير سلسلة حرفية لها:
printf("hey!");
وسيقوم البرنامج بطباعة محتوى السلسلة على الشاشة.
يمكنك طباعة قيمة متغير ، وهو أمر صعب بعض الشيء لأنك تحتاج إلى إضافة حرف خاص ، عنصر نائب ، والذي يتغير اعتمادًا على نوع المتغير. على سبيل المثال نستخدم ملفات%d
لرقم صحيح عشري بعلامة:
int age = 37;
printf(“My age is %d”, age);
يمكننا طباعة أكثر من متغير باستخدام الفواصل:
int age_yesterday = 36;
int age_today = 37;
printf(“Yesterday my age was %d and today is %d”, age_yesterday, age_today);
هناك محددات تنسيق أخرى مثل%d
:
%c
لفحم%s
لسلسلة%f
لأرقام الفاصلة العائمة%p
للمؤشرات
و أكثر من ذلك بكثير.
يمكننا استخدام أحرف الهروب فيprintf()
، مثل\n
والتي يمكننا استخدامها لجعل الإخراج ينشئ سطرًا جديدًا.
scanf()
printf()
يستخدم كدالة الإخراج. أريد أن أقدم وظيفة الإدخال الآن ، لذا يمكننا القول أنه يمكننا القيام بكل شيء الإدخال / الإخراج:scanf()
.
تُستخدم هذه الوظيفة للحصول على قيمة من المستخدم الذي يقوم بتشغيل البرنامج ، من سطر الأوامر.
يجب علينا أولاً تحديد متغير يحمل القيمة التي نحصل عليها من الإدخال:
int age;
ثم نتصلscanf()
مع وسيطتين: تنسيق (نوع) المتغير وعنوان المتغير:
scanf("%d", &age);
إذا أردنا الحصول على سلسلة كمدخلات ، فتذكر أن اسم السلسلة هو مؤشر للحرف الأول ، لذلك لا تحتاج إلى&
قبلها:
char name[20];
scanf("%s", name);
إليك برنامج صغير يستخدم كليهماprintf()
وscanf()
:
#include <stdio.h>
int main(void) {
char name[20];
printf("Enter your name: ");
scanf("%s", name);
printf("you entered %s", name);
}
تحميل مجانيكتيب C
المزيد من دروس clang:
- مقدمة في لغة البرمجة سي
- ج ـ المتغيرات والأنواع
- ثوابت C
- عوامل C
- C الشرطية
- كيفية التعامل مع الحلقات في لغة سي
- مقدمة إلى C Arrays
- كيفية تحديد طول المصفوفة في لغة سي
- مقدمة إلى سلاسل سي
- كيفية إيجاد طول سلسلة في C
- مقدمة لمؤشرات سي
- التكرار خلال مصفوفة باستخدام C
- القيم المنطقية في لغة C.
- مقدمة في وظائف سي
- كيفية استخدام NULL في لغة C.
- مفاهيم I / O الأساسية في C
- علامات الاقتباس المزدوجة مقابل الاقتباسات الفردية في لغة C.
- كيفية إرجاع سلسلة من دالة C.
- كيفية حل تحذير وظيفة المكتبة المعلنة ضمنيًا في لغة سي
- كيفية التحقق من قيمة الحرف في C.
- كيفية طباعة النسبة المئوية باستخدام `printf ()` في لغة سي
- محددات التحويل ومعدلاته
- كيفية الوصول إلى معلمات سطر الأوامر في C
- نطاق المتغيرات في C
- هل يمكنك عمل وظائف متداخلة في لغة C؟
- المتغيرات الثابتة في C
- المتغيرات العامة ج
- الكلمة الأساسية typedef في C
- ج الأنواع المعدودة
- هياكل ج
- ملفات رأس C
- المعالج سي