C guide in Hebrew 4
-
Upload
moran-kupfer -
Category
Documents
-
view
10 -
download
1
description
Transcript of C guide in Hebrew 4
א"תשע/אדר ב/ט"י
1
Cשפת
מבוא לתכנותשיעור שני
מורן קופפר
050-7458212
טיפוסים בסיסיים
שמשתנה תופס בזיכרון ) bytes(מספר הבתים •תלוי בסוג המחשב והקומפיילר, המחשב
Type Size (bytes) Range
unsigned char 8 bits 0 to 255
char 8 bits -128 to 127
int 16 bits -32,768 to 32,767
unsigned int 16 bits 0 to 65,535
short int 16 bits -32,768 to 32,767
long 32 bits -2,147,483,648 to 2,147,483,647
unsigned long 32 bits 0 to 4,294,967,295
float 32 bits -3.4*1038 to 3.4*1038
double 64 bits -1.7*10308 to 1.7*10308
long double 128 bits -3.4*104932 to 3.4*104932
משתנים
תא בזיכרון המשמש לאחסון נתונים•
טיפוס וכתובת בזיכרון, שם: לכל משתנה•
לביצוע חישובים מורכבים , שימושי לקליטת נתונים•ועוד
:Cהגדרת משתנה בשפת •• Type varName;
ניתן להגדיר כמה משתנים בשורה אחת המופרדים •בפסיקים
טיפוס הנתונים נקבע לפי סוג הנתונים שיאוחסנו במשתנה•
int counter;
float k1, k2, k3;
int age, long white;
char letter, digit, space;
דוגמא -משתנים
:נניח שברצוננו לשמור במשתנים מידע על•
)0-20,000(מספר הפריטים במחסן •
)0-35,000(מספר הסטודנטים באזור חיפה •
השנה הנוכחית•
מספר תעודת זהות•
שער הדולר•
)0-120(גיל של אדם •
'Z'עד ' A'התווים •
?מהן ההגדרות המתאימות למשתנים אלו•
א"תשע/אדר ב/ט"י
2
משתנים
:פעולות ההשמה•counter�0: דוגמא � :בתרשים זרימה•
1k=98.32: דוגמא= :Cבתוכנית בשפת •
:ניתן לאתחל משתנים כבר בשורת ההגדרה•
:ניתן לבצע השמה מרובה באופן הבא•
int counter = 0, x;
float k1 = 32.98;
a=3;
a = b = c = 3; b=3;
c=3;
דוגמא -משתנים
:הפלט של התוכנית יהיה
#include <stdio.h>
void main (void)
{
int a=5,b;
b=a+1;
a=19;
printf(“the value of a is:%d\n”, a);
printf(“the value of b is:%d\n”, b);
}
the value of a is:19
the value of b is:6
לא יושמה על ידנו ולכן יש לציין printfהפונקציה
.היכן היא נמצאת
#include - מאפשר שימוש בקטעי קוד שנכתבו
י אחרים ונשמרו בקובץ ששמו נמצא בין "ע
.< >הסוגרים
לתכנית stdio.hהמהדר יעתיק את תוכן הקובץ
.שלנו
stdio.h של פקודות המטפלות " ספריה"הוא קובץ
פלט / בקלט
)standard input/output.(
printf - פונקציה
. C -שהוגדרה ב
רצף התווים בין
.הגרשיים יודפס למסך
סימן המשמש כדי - %
להדפיס ערך של
משתנה
\n - סימן שמשמעותו
.שורה חדשה
תווים
: י רישום התו בין גרשיים לדוגמא"סימון תו יעשה ע•‘*’ , ‘a’ , ‘^’, ‘2’
charהטיפוס הבסיסי לייצוג תווים הינו •תופס בית אחד בזיכרון אשר charמשתנה מטיפוס •
מספיק לייצוג כל התווים שבמקלדתייצוג של תווים במחשב נעשה באמצעות מספרים •
כאשר לכל תו יש מספר שמייצג אותוי "טבלאות לייצוג תווים ע/ קיימות מספר שיטות •
ASCIIמספרים כשהנפוצה ביניהם היא טבלת )American Standard Code for Information Interchange(
ייצוג תווים
:ייצוג חלקי של הטבלה מובא להלן•
?אם תו מיוצג כמספר כיצד נבדיל בין מספר לתו •
א"תשע/אדר ב/ט"י
3
ייצוג תווים
ASCIIהרחבת טבלת •
)constant(קבועים
ערך שאינו משתנה במהלך ריצת התוכנית= קבוע •
:הקבועים נחלקים למספר סוגים•
30000, 20: קבועים מספריים שלמים•
5.0, 34.234: קבועים מספריים עשרוניים•
)טבלת תווים מיוחדים בשקף הבא( ’n’ ,‘\t\‘: קבועים תוויים•
)aלא יגרום לשינוי ערכו של ( ”hello” ,“a=b+c“: קבועים מחרוזתיים•
)constant(קבועים
Character ASCII value
\b backspace 008
\t tab 009
\n newline 010
\v vertical tab 011
\f form feed 012
\r carriage return 013
\” ” 034
\’ ’ 039
\? ? 063
\\ \ 092
\0 Null 000
define#הגדרת סמלים לקבועים באמצעות
define MAX_SIZE 1000# :ההגדרה•
כאילו היא MAX_SIZEתגרום למהדר להתייחס לסדרת התווים •1000סדרת התווים
י שלב הנקרא עיבוד מקדים ובו מוחלפות סדרות "בפועל זה מתבצע ע•התווים בגוף התוכנית
כמלה עצמאית יוחלף MAX_SIZEרק מופע של •
10002 -תוחלף ל לא MAX_SIZE2הסדרה •
יוחלפו לאבתוך גרשיים MAX_SIZEמופעים של •
אינו משתנה ולכן לא מוקצה לו זיכרון MAX_SIZEיש לשים לב כי •
define PI 3.14159265358979323846#: הגדרת קבוע•
תורמת לקריאות של התוכנית וחוסכת בזמן כתיבת התוכנית ובזמן עריכת שינויים
א"תשע/אדר ב/ט"י
4
define#הגדרת סמלים לקבועים באמצעות
י "י ביטוי קבוע ולא ע"לעיתים נרצה להגדיר סמל קבוע ע•מספר
שעתיים וארבעים "נניח שפרק זמן מסוים מוגדר כ :לדוגמא•"וחמש דקות
אבל אז קצת קשה להבין define PERIOD 165#: נוכל להגדיר•
ומאין נלקח 165מה המשמעות של המספר
define PERIOD 2*60+45#: ואולי נעדיף להגדיר•
? אבל מה יקרה אם נרצה לחשב את משך הסמן של שתי תקופות•
twice = PERIOD * 2 � twice = 2*60+45*2
define PERIOD (2*60+45)#: על כן נגדיר•
= twice: ואז נקבל• PERIOD * 2 � twice = (2*60+45)*2