Generic selectors
Exact matches only
Search in title
Search in content

מבוא לשפות תכנות באמצעות שפת C פרק 11 – תווים Characters

תווים בשפת C

תווים הם אותיות פשוטות כמו ….a, b, c, d…., A, B, C, D, רק שבשפות תכנות גם ספרות בודדות כמו …..1, 2, 3, או תווים מיוחדים כמו …..$, %, +, –, נחשבים כתווים בשפת C וניתן להזין אותם למשתנה כאשר הם סגורים בתוך גרש אחד מכל צד, ואז ניתן להזין אותם לתוך משתנה מסוג char כפי שניתן לראות בדוגמה הבאה:


char ch = 'a';

כפי שניתן לראות בדוגמה שמעל, ch הוא משתנה מסוג char אשר יכול להכיל תו, כאשר a נקרא תו ליטרלי או תו קבוע. לא רק אותיות כמו ….a, b, c, d אלא גם מספרים כמו …..1, 2, 3 או תווים מיוחדים כמו …..!, @, #, #, $ אשר סגורים בתוך גרש אחד מכל צד, ניתן להזין לתוך משתנה מסוג char כפי שניתן לראות בדוגמה הבאה:


char ch = '1';

סוג הנתונים char צורך 8 בתים של זיכרון, כלומר אנו יכולים לאכסן מידע בתוך תו שערך ה-ASCII שלו נע בין 127 ל-127- כך שהוא יכול להכיל כל אחד מתוך 256 הערכים האפשריים. סוג הנתונים char יכול להכיל כל אחד מהתווים האפשריים על המקלדת, כולל !, @, #, #, $, %, ^, &, *, (, ), _, +, {, } וכדומה.

שימו לב כי ניתן להזין מספר אחד בודד בלבד או כל סוג אחר של תו אחד בודד בלבד במשתנה בין הגרשיים הבודדים, כך ששורות הקוד הבאות אינן תקינות בשפת C:


char ch1 = 'ab';
char ch2 = '10';

בתכנית הבאה נגדיר משתנים מסוג נתונים char, נזין להם ערכים, ונוציא פלט של כל אחד מהם, כאשר התוכנית כתובה בשפת C:


#include <stdio.h>

int main() {
char ch1;
char ch2;
char ch3;
char ch4;

ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';

printf( "ch1: %c\n", ch1);
printf( "ch2: %c\n", ch2);
printf( "ch3: %c\n", ch3);
printf( "ch4: %c\n", ch4);
}

בתכנית זו השתמשנו בסימן c% על מנת להוציא פלט של סוג נתונים char. כאשר נריץ את התכנית נקבל את התוצאה הבאה:

ch1: a
ch2: 1
$ :ch3
+ :ch4

פעולות יציאה

בשפות תכנות רבות קיים קונספט אשר נקרא פעולות יציאה. כאשר אנו כותבים תו שלפניו מגיע "/" – קו נטוי – זה נקרא פעולת יציאה ויש לזה משמעות מיוחדת עבור המהדר. לדוגמא הסמל n/ יורה לתכנית לסיים את השורה ולהתחיל שורה חדשה. תו זה נקרא תו שורה חדשה:


char ch = '\n';

בדוגמה זו, ניתן לראות תו "n" שלפניו מגיע "/" – קו נטוי, מה שנקרא תו שורה חדשה, שכפי שאנו כבר יודעים, יש זה משמעות מיוחדת עבור המהדר. אך שימו לב כי קיימים צירופים מעטים של תוים עם קו נטוי "/" אשר הם תקניים בשפת C, כך שהדוגמה שלפניכם היא שגויה:


char ch = '\1';

ברשימה שלפניכם תוכלו לראות את סוגי פעולות היציאה הקיימים בשפת C:

בתכנית הבאה תוכלו לראות דוגמאות לפעולות יציאה בשפת C:


#include <stdio.h>

int main() {
char ch1;
char ch2;
char ch3;
char ch4;

ch1 = '\t';
ch2 = '\n';

printf( "Test for tabspace %c and a newline %c will start here", ch1, ch2);
}

וכאשר נריץ תכנית זו נקבל את התוצאה הבאה:

Test for tabspace and a newline
will start here

תווים בשפת Java

למרות שהם עובדות באופן זהה, ב-Java יש תמיכה נרחבת לתווים. זוהי דוגמה של אותה התוכנית, כאשר הפעם היא נכתבה בשפת Java:


public class Main {
public static void main(String []args) {
char ch1;
char ch2;
char ch3;
char ch4;

ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';

System.out.format( "ch1: %c\n", ch1);
System.out.format( "ch2: %c\n", ch2);
System.out.format( "ch3: %c\n", ch3);
System.out.format( "ch4: %c\n", ch4);
}
}

וכאשר נריץ את התכנית נקבל את הפלט הבא:

 

ch1: a
ch2: 1
$ :ch3
+ :ch4

שפת התכנות Java משתמשת בפעולות יציאה בדיוק כמו C.

תווים בשפת Python

שפת התכנות Python איננה תומכת בסוג נתונים char, אך במקום היא מתייחסת אל כל התווים כמחרוזת String, שזה למעשה רצף של תווים, ונלמד על כך בהרחבה בפרק אחר בקורס מבוא לשפות תכנות על ידי שפת C. זוהי דוגמה של אותה התוכנית, כאשר הפעם היא נכתבה בשפת Python:


ch1 = 'a';
ch2 = '1';
ch3 = '$';
ch4 = '+';

print ("ch1: ", ch1)
print ("ch2: ", ch2)
print ("ch3: ", ch3)
print ("ch4: ", ch4)

וכאשר נריץ את התכנית נקבל את הפלט הבא:

 

ch1: a
ch2: 1
$ :ch3
+ :ch4

שפת התכנות Python משתמשת בפעולות יציאה בדיוק כמו C.

רוצים לשתף את המדריך?

שיתוף ב facebook
שיתוף ב twitter
שיתוף ב telegram
שיתוף ב whatsapp
שיתוף ב linkedin
שיתוף ב tumblr
שיתוף ב email
שיתוף ב reddit
שיתוף ב skype
שיתוף ב vk

אהבתכם את המדריך? פתר לכם תקלה?

גולשים יקרים, רוב התכנים המוצגים באתר נכתבים בהתנדבות מלאה מתוך כוונה להנגיש מידע עבורכם. אם נתקלתם במדריך חינמי שפתר לכם תקלה או לימד אתכם משהו חדש שלא ידעתם, וברצונכם לתגמל את כותב המדריך או סתם להזמין אותו לכוס קפה, הינכם יותר ממוזמנים לתרום.

כתיבת תגובה