כמה שאלות שאני לא בטוח שעניתי עליהם נכון במבחן..(שפת C) - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

כמה שאלות שאני לא בטוח שעניתי עליהם נכון במבחן..(שפת C)


B0necrack3R

Recommended Posts

היי

היה לי היום מבחון ב-C ואני לא בטוח על כמה שאלות שעיניתי..

1)אם אנחנו רוצים להשתמש בפונקצייה משלנו אנחנו צריכים להגדיר אותה באזור ה INCLUDE#

תשובה: נכון

2)בSWITCH CASE אני יכול להכניס משתנה מכל סוג.

תשובה: נכון

זהו..בינתיים אילה התשובות שאני לא בטוח שעניתי עליהם נכון ואני אשמח תאשרו את תשובותיי או תתקנו אותי..

תודה.

קישור לתוכן
שתף באתרים אחרים

1)אם אנחנו רוצים להשתמש בפונקצייה משלנו אנחנו צריכים להגדיר אותה באזור ה INCLUDE#

תשובה: נכון

כן, בעיקרון אפשר גם בתוך הקובץ הראשי, אבל זה "יותר נקי" כאשר אתה עושה את זה ב-#include

2)בSWITCH CASE אני יכול להכניס משתנה מכל סוג.

תשובה: נכון

נראה לי שכן, למעט מערכים אבל...

קישור לתוכן
שתף באתרים אחרים

טעיטי בשני השאלות!! :(

אסור להכניס FLOAT לSWITCH CASE

וגם פונקצייה לא חייבת להיות מוגדרת באיזרו הINCLUDE אלה היא יכולה להיות בתוך קובץ

ובתחילת התוכנית אתה יכול לעשות INCLUDE לקובץ הזה שבו נמצאת הפונקצייה שלך... :'(

בעעעסססההה. :-X

קישור לתוכן
שתף באתרים אחרים

  • 2 שבועות מאוחר יותר...

הערה קטנה בקשר לסיבה למה אסור להכניס float ל switch case :

הסיבה לכך היא שבכלל "אסור" להשוות בין שני floatים (או doubleים) משום שזה יכול ליצור שגיאות לוגיות:

נניח למשל אתה רוצה להשוות בין שני floatים ששניהם אמורים להיות שווים ל -10 , אבל אחד מהם עשוי להיות מיוצג כ 10.00000000 והשני כ 9.99999999 ולכן, למרות שהם אמורים להיות שווים, ההשואה תחזיר false..

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...