סיכום נקודות חשובות

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

‫סיכום נקודות חשובות – קורס מבוא למחשב‬

‫מצביעים )& ‪:(p* ,‬‬

‫; ‪int* p = &a‬‬ ‫הצבת כתובת כגון‪& :‬ערך‪ ,‬פוינטר )לא *פוינטר(‪ ,‬נאל והמספר ‪=)0‬מיקום ‪ .(0‬ערך רגיל לא יתקמפל! ‪//‬‬
‫;‪int p[20]; *p=76‬‬ ‫רק במערך נוכל להכניס ערך ב *פוינטר והוא יכנס למיקום ‪// .0‬‬
‫ה * הולך רק על האיי‪ .‬ה‪-‬בי הוא אינט רגיל ‪int* a, b; //‬‬
‫יקדם רק את הכתובת ולא יגע בערכים שבכתובות! ‪); //‬קידום פוינטר( ‪*p++,*(p++),p++,++p,p+=5‬‬
‫יוסיף אחד לערך שהפוינטר מצביע אליו! ‪); //‬קידום ערך( ‪(*p)++‬‬
‫הפוינטר הימני יקדם ערך ורק אח"כ יתווסף לשמאלי שלא כמו במספרים רגילים!! ‪*p += (*p)++; //‬‬
‫הפוינטר הימני יתווסף לשמאלי ורק אח"כ השמאלי יקדם מיקום כמו במספרים רגילים!! ‪*(p++) += p; //‬‬
‫הערך יודפס )או הערכים במחרוזת צ'אר( ‪cout << *p ; //‬‬
‫;הכתובת תודפס‪cout << &p ; //‬‬
‫באינט הכתובת תודפס‪ .‬במחרוזת צ'אר המחרוזת תודפס‪cout << p ; // .‬‬
‫;)‪cout <<*(p++‬‬ ‫ידפיס את הערך ואז יקדם את הכתובת )שינוי מיקום ה‪ ++‬ישנה את סדר הפעולות(! ‪//‬‬
‫;)‪const int *(p++‬‬ ‫כשה"קונסט" כתוב לפני ה * )או כמו בדוגמא( הערך קבוע‪ .‬כשהוא אחרי ה * הכתובת קבועה!! ‪//‬‬
‫;הכתובת של האיבר במקום ‪&array[5] // 5‬‬
‫לא מתקפל!! א"א להכניס מיקום למשתנה מסוג אינט ‪B=&a; //‬‬
‫‪ cd‬ידפיס ‪char *p ={“cd”}; cout<<p[0]<<p[1]; //‬‬ ‫החלפה בין מצביע למערך‪ :‬רק בצ'אר ניתן להחליף כך‪// ..‬‬
‫;}”‪{char ar[3]={“ab”}; char *p={“cd‬‬
‫מתקפל )ויצביע לתחילת המערך(;‪p=ar‬‬ ‫} )א"א לשנות ערך של המצביע לתחילת המערך גם ב ‪ (int‬לא מתקפל!;‪ar=p‬‬
‫אם נשים את הערך נאל בתוך המצביע נוכל לדעת אם הוא בשימוש שהרי אסור לשים ערך במיקום ‪// 0‬‬
‫הטריק הוא לצייר את המצביעים‪***p -‬‬
‫][‪Char a‬‬ ‫א"א לשנות כתובת של מערך ולכן א"א לשנות את איי )כגון לעשות לו ‪// (++‬‬
‫‪Int a[5][5];-‬‬ ‫אלו לא יכולים לקבל את כתובת המערך הדו ממדי – ‪*p and **p‬‬
‫יכול לקבל את הכתובת של המערך הדו ממדי ‪Int (*p)[5]-‬‬

‫עוד הערות‪:‬‬

‫;‪char n = a‬‬ ‫לא מתקפל )אא"כ האות איי הוגדרה כבר )אפי' כאינט(( ‪//‬‬
‫; ‪cout<< 9‬‬ ‫ידפיס את הסיפרה ‪// 9‬‬
‫ידפיס את הסיפרה ‪ 8‬מכיוון שברגע שיש השוואה מספרית מסתכלים על '‪ '9‬כערכו בטבלת אסקי ‪cout<<('9' == 9?9:8); //‬‬
‫)‪if(4 || ++x>6‬‬ ‫ישר יכנס ללולאה ולא יעשה את פעולת ה‪) .++‬כך גם בתנאי אנד כשהתנאי הראשון אינו מתקיים( ‪//‬‬
‫; ‪int x ; int x‬‬ ‫לא מתקפל! ‪//‬‬
‫; ‪cout << NULL‬‬ ‫מדפיס ‪// 0‬‬
‫; '‪cout << '\0‬‬ ‫מדפיס רווח ‪//‬‬
‫כל עוד פונקציה מחזירה את מה שהיא הוגדרה להחזיר לא תהיה שגיאה גם אם אין מי שיקלוט את הארגומנט המוחזר ‪//‬‬
‫)‪while(a>b==c‬‬ ‫התנאי הראשון נותן ‪ 1‬או ‪ 0‬ולכן נצטרך‪ :‬א‪ .‬איי גדול מ‪-‬בי‪ ,‬וסי=‪ .1‬ב‪ .‬איי לא גדול מ‪-‬בי‪ ,‬וסי=‪// .0‬‬
‫);‪if(int x=5‬‬ ‫אמת ומתקפל )כנל עם נעשה ‪ ++‬לפני האיקס אך לא יתקפל אם נעשה אחרי( ‪//‬‬
‫);‪if(int x=0‬‬ ‫שקר ‪//‬‬
‫)‪function(int *p‬‬ ‫רק הערך ישתנה ‪//‬‬
‫)‪function(int *&p‬‬ ‫גם הערך וגם המיקום יכולים להשתנות ‪//‬‬
‫קבצים‪:‬‬

‫>‪#include <fstream‬‬
‫;)”‪ifstream inFile(“kelet.txt‬‬ ‫או‬ ‫;‪ifstream inFile‬‬ ‫;)”‪inFile.open("kelet.txt‬‬
‫};‪if(!inFile){ cerr<<”ERROR”; return -1‬‬
‫))(‪while(!inFile.eof‬‬ ‫לא הגיע לסוף הקובץ ‪//‬‬
‫;)”‪ofstream outFile(“pelet.txt‬‬
‫;)(‪inFile.close‬‬
‫מחרוזת‪:‬‬

‫מקבל שני כתובות ומעתיק מהכתובת הראשונה את כל התוים )עד ל '‪ ('\0‬לכתובת השניה )כולל '‪strcpy(dest,src); // ('\0‬‬
‫כנ"ל רק שמקבל מספר המייצג את מקסימום התווים להעתקה ולכן בטוח יותר ‪strncpy(dest,src,n); //‬‬
‫מחבר מחרוזת לסוף מחרוזת אחרת‪ .‬שם את התו החדש על הראשון במקום ה '‪ '\0‬ושם '‪ '\0‬בסוף‪strcat(dest,src); // .‬‬
‫מחזיר את אורך המחרוזת ‪strln(str); //‬‬
‫עורך השוואה‪ :‬אם זהות מחזיר ‪ .0‬אם הראשונה גדולה מחזיר מס' חיובי ואם קטנה שלילי‪strcmp(str1,str2); // .‬‬
‫;)‪strstr(str1, substr‬‬ ‫מחפש מחרוזת בתוך מחרות אחרת ‪//‬‬

‫)(‪:rand‬‬

‫>‪#include <ctime‬‬
‫;) ) ‪srand( (unsigned)time( NULL‬‬
‫;)(‪num = rand‬‬
‫הגדרת הטווח ‪num = rand()% (b-a+1)+5; //‬‬

‫‪:char‬‬
‫אין אפשרות לעשות פעולות על )איי( כגון‪ ++‬משום שאי אפשר לשנות את המצביע למערך ‪Char a[]-‬‬
‫;"‪char *s = "abc‬‬ ‫הוא שם אפס בסוף אך אי אפשר לשנות את התוכן ‪-‬‬
‫;"‪char h[] = "abcde‬‬ ‫שם אפס בסוף ואפשר לשנות את התוכן‪-‬‬
‫;}'‪char h[] = {'a','b‬‬ ‫אפשר לשנות את התוכן אך שם זבל בסוף‪-‬‬
‫;} '‪char a[4] = { 'a', 'b', 'c', 'd‬‬ ‫מותר‪-‬‬
‫אסור צריך שיהיה מערך של ‪char a[4] = "abcd"; // 5‬‬
‫;"‪char letter[6] = "ABCDE‬‬
‫‪cout << letter+2;//=CDE‬‬

You might also like