ប្រភេទបឋម
យោបល់
- ខ្សែអក្សរមិនមែនជាប្រភេទបុព្វកាលទេ;
- សម្រាប់ប្រភេទទិន្នន័យបឋមនីមួយៗមានថ្នាក់ចាវ៉ាដែលត្រូវគ្នា;
- ទាំងមូល (បៃ, ខ្លី, int, វែង) គឺ, តាមលំនាំដើម, int, បន្ទាប់មក "អិល" ឬ "អិល" ត្រូវបានប្រើនៅពេលអ្នកចង់បញ្ជាក់វែង;
- ទៅជាទម្រង់ទសភាគ, used-se “0x” គិតជាគោលដប់ប្រាំមួយ (int ដប់ប្រាំ = 0xF; // 15 ទសភាគ) អ៊ី “0” សម្រាប់គោលប្រាំបី (int x = 0931);
- ចំណុចអណ្តែត (អណ្តែត, ទ្វេ) គឺ, តាមលំនាំដើម, ទ្វេ, ដូច្នេះ "f" ឬ "F" ត្រូវបានប្រើដើម្បីតំណាងឱ្យអណ្តែត;
- char ត្រូវបានតំណាងដោយតួអក្សរយូនីកូដនៃ 16 ប៊ីត (គ្មានសញ្ញា);
- តម្លៃប៊ូលីនមិនអាចត្រូវបានប្រើនៅក្នុងប្រតិបត្តិការខាសទេ;
- ការខាសគឺជាប្រតិបត្ដិការបំលែងប្រភេទធំទៅតូចជាង (ច្បាស់), អតីត: វែង y = 10 អិល; int x = (int) និង;
- ការដេញប្រភេទមិនចាំបាច់ពីតូចបំផុតរហូតដល់ធំបំផុត, ព្រោះវាអាចទទួលយកបាន (ជាក់ច្បាស់), អតីត: int y = 10; វែង x = y;
គំនិតទាំងនេះអាចត្រូវបានចោទប្រកាន់ដូចខាងក្រោម:
សំណួរ 1
COPEVE-UFAL – 2011 – យូហ្វាល់ – អ្នកវិភាគព័ត៌មានវិទ្យា
ប្រភេទទិន្នន័យចាវ៉ាដើមមាន:
មួយ) ប៊ូលីន, char, បៃ, ខ្លី, int, វែង, អណ្តែត, ទ្វេ.
ខ) ប៊ូលីន, ខ្សែអក្សរ, int, អណ្តែត, ទ្វេ.
គ) ប៊ូលីន, ខ្សែអក្សរ, ខ្លី, int, វែង, អណ្តែត, ទ្វេ.
ឃ) ប៊ូលីន, char, int, វែង, អណ្តែត.
អ៊ី) ប៊ូលីន, ខ្សែអក្សរ, បៃ, int, វែង, អណ្តែត.
ចម្លើយ 1
វាច្បាស់ណាស់ថាជម្រើសទាំងអស់ដែលនិយាយដូច្នេះ “ខ្សែអក្សរ” ជាប្រភេទបុព្វកាលគឺខុស. letra ឃ) គឺមិនពេញលេញ, ហេតុនេះហើយបានជា, យើងមានលិខិតមួយ) របៀបដែលត្រឹមត្រូវ.
សំណួរ 2
CESGRANRIO – 2008 – TJ-RO – អ្នកវិភាគច្បាប់ – ការវិភាគប្រព័ន្ធ
ខ្ញុំចាវ៉ា, ការចាត់តាំងសមាសធាតុ x + = y ស្មើនឹង x = (ធី) (x + និង), ដែល T ជាប្រភេទ x. ផ្អែកលើការសន្និដ្ឋាននេះ, ពិចារណាលើបន្ទាត់កម្មវិធីពីរខាងក្រោម.
x + = y;
x = x + និង;
ខ្សែទីមួយនឹងចងក្រង, ហើយខ្សែទីពីរនឹងបង្កើតកំហុសពេលចងក្រង, ប្រសិនបើ x និង y ត្រូវបានប្រកាស, រៀង, របៀប:
មួយ) ខ្លីអ៊ី int
ខ) ខ្លីអ៊ីខ្លី
គ) អឹមអ៊ីឆី
ឃ) ខ្សែអក្សរអ៊ី int
អ៊ី) int អ៊ីខ្សែអក្សរ
ចម្លើយ 2
សំណួរនេះគួរឱ្យចាប់អារម្មណ៍, ពីព្រោះវានិយាយអំពីគោលគំនិតជាច្រើនដែលត្រូវបានលើកឡើងនៅក្នុងសេចក្តីថ្លែងការណ៍របស់ភ្នំពេញប៉ុស្តិ៍. ចងចាំជាមូលដ្ឋានថាអ្នកគ្រាន់តែត្រូវការការសម្ដែង (ការប្រែចិត្តជឿជាក់លាក់) ពីប្រភេទធំទៅតូចជាង. ព័ត៌មានលំអិតមួយទៀតគឺស្ថិតនៅចុងសំណួរ, នៅពេលដែលវានិយាយថា x + = y ស្មើនឹង x = (ធី) (x + និង). ដឹងថានៅក្នុងស្ថានភាពនេះ, អ្នកចងក្រងធ្វើខាស (ធី), ក្រៅពីការប្រកាសគ្រាន់តែ x = x + និង. ជាចុងក្រោយ, ចំណាំថាសំណួរចង់ដឹងពីជម្រើសដែលបន្ទាត់ទីមួយនឹងចងក្រង, ហើយខ្សែទីពីរនឹងបង្កើតកំហុស. ដូច្នេះវាមើលទៅដូចនេះ:
មួយ) ចំណែកឯ x ជាប្រភេទខ្លីនិង y, យើងនឹងត្រូវការខាសដើម្បីមិនបង្កើតកំហុស, ដោយសារតែខ្លី (16 ប៊ីត) គឺតិចជាង int (32 ប៊ីត), នៅក្នុងពាក្យផ្សេងទៀត, ខ្លីមិនអាចទទួលបាន int ទេលុះត្រាតែការបម្លែងត្រូវបានធ្វើឱ្យច្បាស់ (ការចោល). ហេតុនេះហើយបានជា, ដូច x + = y ស្មើនឹង x = (ធី) (x + និង), យើងត្រូវតែ = (ខ្លី) (x + និង). ឃើញថាការខាសត្រូវបានធ្វើត្រឹមត្រូវហើយវានឹងមិនមានបញ្ហាអ្វីជាមួយការប្រែចិត្តជឿនោះទេ. នៅខ្សែទីពីរ (x = x + និង), មិនមានការខាសណាដែល តម្រូវឲ្យ មានអ្នកធំជាងគេឡើយ (int) សម្រាប់តូចបំផុត (ខ្លី), ដែលនឹងបណ្តាលឱ្យមានកំហុសក្នុងការចងក្រង. នេះគឺជាជម្រើសត្រឹមត្រូវ, ពីព្រោះវាច្បាស់ថាខ្សែទីមួយនឹងចងក្រង, ហើយខ្សែទីពីរនឹងបង្កើតកំហុស.
ខ) នៅទីនេះយើងមានទាំងខ្សែទីមួយ, ដូចជាលើកទីពីរនឹងចងក្រងដោយគ្មានបញ្ហា, ដោយសារតែការប្រែចិត្តជឿគឺជាក់ស្តែង (ពីតូចបំផុតរហូតដល់ឯករាជ្យធំបំផុតនៃការខាស), ចាប់តាំងពីវាគឺ int (x) ដែលនឹងទទួលបានខ្លី (និង) នៅក្នុងការប្រកាស x = x + និង. វាមិនអាចជាជំរើសនេះទេ, ពីព្រោះបន្ទាត់ទាំងពីរនឹងចងក្រង.
គ) បន្ទាត់ទាំងពីរនឹងចងក្រងត្រឹមត្រូវ, សម្រាប់ហេតុផលដូចគ្នាដែលបានពិពណ៌នានៅក្នុងលិខិតខ). រួមទាំង char ក៏មានផងដែរ 16 ប៊ីត, ដូចជាខ្លី. ភាពខុសគ្នាតែមួយគឺថានៅពេលប្រតិបត្តិផលបូក int + char នៃការប្រកាស x = x + និង, លេខកូដ ASCII នៃតួអក្សរនឹងត្រូវបានពិចារណា (char) បានប្រើ. ឧទាហរណ៍, 97 ផ្គូផ្គងនឹង“ ក’ នៃតារាង ASCII.
ឃ) បន្ទាត់ទាំងពីរនឹងចងក្រងត្រឹមត្រូវ. ហេតុផលនៅទីនេះគឺថាអ្នកចងក្រងពិចារណា + ជាការបូកសរុប (ប្រសព្វ) ហើយមិនមែនជាផលបូកទេ, ការផ្លាស់ប្តូរ int (និង) em ខ្សែអក្សរ (x), នៅពេលប្រតិបត្តិសេចក្តីថ្លែង x = x + និង.
អ៊ី) បន្ទាត់ទាំងពីរនឹងមិនចងក្រងទេ, ដោយសារតែមិនមានវិធីដើម្បីបម្លែងពីខ្សែអក្សរមួយ (និង) សម្រាប់ int (x) នៅពេលប្រតិបត្តិសេចក្តីថ្លែង x = x + និង.
វាបានជួយខ្ញុំច្រើន,ពេញចិត្ត!
បង្ហាញ!