לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 28-11-2012, 20:24
  michaelg michaelg אינו מחובר  
 
חבר מתאריך: 12.12.06
הודעות: 72
עזרה בתרגיל - מתחיל ב-C

שלום,

1. יש לי את קטע הקוד הבא:
קוד PHP:
 int x=3,y=15;
y;
printf("%d"z); 

אני לא מבין למה שאני מדפיס בPRINTF את התא Z הוא מדפיס לי 3, הרי הוא היה צריך להדפיס 1, מכיוון שמשמאל לימין: התוצאה של X=3 שונה מ-0 ואז זה 1 וגם Y=15 ושונה מ-0 ואז זה גם 1 (TRUE).
1 ו-1 זה 1, לא??

2. יש לי את הקוד הבא:
קוד PHP:
 x 1
0;
 
&& !|| !&& y
z;
 
&& !&& !&& y;
 
printf("%d",z); 


אני לא מבין למה התוצאה בPRINTF יוצא במחשב 0, הרי צריך להיות 1? בגלל ש:
משמאל לימין: 0&&1! && 0!&&1 =z
אז מסיקים ש: 0!&&1 = 1 (TRUE)
0&&1! = 1 (TRUE)
ואז TRUE) Z=1)

3. יש לי את הקוד:
קוד PHP:
 int a 9;
 
char c='a';
 
= (char 
*= 60 ;
 
printf ("a: %d\n"a); 


א. אני לא מבין איך בשורה האחת לפני אחרונה בתא a מחשב את הערך הASCII של התו c ואז מחסר ב-60? הרי a הוא תו ומתי שפת C יודעת לחסר מתווים, נגיד C-B=A ומתי יודעת להתייחס לזה כאל ערך ASCII ואז לעשות חיסור במספרים?

ב. השורה c = (char ) a אומרת שמקבלת מספר שלם a וממירה בASCII לתו, ומה קורה אם הa הוא תו, אז זה יוצא שגיאה?

תודה.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 28-11-2012, 20:54
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 1 שנכתבה על ידי michaelg שמתחילה ב "עזרה בתרגיל - מתחיל ב-C"

1. הוא מדפיס 3 ולא 1 כי עשית AND לוגי על הביטים, במקום השוואה בין משתנים (& במקום &&).

2.
בביטוי הראשון x הוא אמת ו y הוא שקר, לכן ההפך מ y הוא אמת, לכן אמת ואמת הם אמת. כאן מגיע "או", אבל כיוון שלפני ה"או" הביטוי הוא כבר אמת, התנאי הזה בכלל לא נבדק כי הוא לא משנה (ברגע שהגעת למצב של "אמת" לפני תנאי של "או", הביטוי כולו הופך לאמת)

בביטוי השני x נשאר אמת, וההפך מ y זה גם אמת, וההפך מ x זה שקר - הגענו לתנאי של שקר (ואנחנו בהשוואת "וגם") - ולכן כל הביטוי שקר מנקודה זו. שקר = 0, המחשב מראה תוצאה נכונה.

3.
א. תו הוא בעצם משתנה שמכיל ערך ASCII מסויים בין 0 ל 255. ראה טבלת המרה ב asciitable.com. בהתאם, ניתן לעשות אלגברה על הערך הזה. למשל אם תוסיף ל 'a' את הערך 1, הוא יהפוך ל 'b'.

ב. מה זאת אומרת אם a הוא תו? a הוא int... אתה מתכוון אם סוג המשתנה היה char? אם כן, אז כשאתה עושה cast מסוג משתנה מסויים לאותו הסוג, פשוט לא קורה כלום...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 11:16

הדף נוצר ב 0.04 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר