Логикалық тип bool
Осы типтегі шамалар true(1) және false(0) мәндерін алады.
Қалқымалы нүкте түрлері float, double, long double
float – 4 байта, double – 8 байт, long double – 10 байт
Константы с плавающей точкой имеют по умолчанию тип double. Можно указать тип константы явно с помощью суффиксов F,f и L,l (1.82f).
Void түрі және void типті көрсеткіш*
Осы типтегі мәндер жиынтығы бос. Мәндерді қайтармайтын функцияларды анықтау үшін қолданылады.
Белгілі бір типтегі көрсеткіштің болуы ол сілтеме жасайтын жадтың белгілі ұйымдастырылуын білдіреді. Бірақ кейбір жағдайларда бағдарламаның үзіндісі "білмеуі керек" немесе осы саладағы мәліметтер құрылымы туралы жеткілікті ақпарат жоқ. Содан кейін меңзерді жадтың мекен-жайы ретінде, белгісіз ұйыммен және көрсетілген айнымалының белгісіз өлшемімен түсіну керек. Мұндай көрсеткішті функция параметрі және нәтижесі ретінде тағайындауға, беруге болады, бірақ жанама өңдеу және онымен адрестік арифметика амалдарына жол берілмейді.
Аударымдар (Листинг) enum
При использовании большого количества логически взаимо связанных констант удобно пользоваться перечислениями. Перечисления имеют вид:
enum Name { iteml [= def ], item 2[= def ], itemN [= def ]};
где
enum - ключевое слово (от enumerate - перечислять)
Name - имя списка констант
iteml, itemN - перечень целочисленных констант
[= def ] - необязательный параметр инициализации
Предположим, нам необходимо в программе описать работу светофора. Известно, что его цвет может принимать .тишь 3 значения: красный ( RED ), желтый ( YELLOW ) н зеленый ( GREEN ) Для обработки полученных от светофора сигналов заведем три константы с такими же именами - RED , yellow и GREEN , про инициализировав их любыми неповторяющимися значениями с тем. чтобы в дальнейшем проверять, какой из этих трех цветов горит.
Например, мы могли бы записать:
const int RED = 0; const int YELLOW = 1; const int GREEN = 2;
Используя перечисления, то же самое можно сделать в одну строку:
enum COLOR {RED, YELLOW, GREEN};
Константы перечисления обладают следующей важной осо бенностью: если значение константы не указано, оно на единицу больше значения предыдущей константы. По умолчанию первая константа имеет значение 0.
То же перечисление можно было проинициализировать дру гими значениями:
enum COLOR {RED=13, YELLOW=1, GREEN};
При этом константа GREEN по-прежнему имеет значение 2
Если в программе все операторы выполняются последовательно, один за другим, такая программа называется линейной. Рассмотрим в качестве примера программу, вычисляющую результат по заданной формуле.
Задача 1.1 Расчет по формуле
Написать программу, которая переводит температуру в градусах по Фаренгейту в градусы Цельсия по заданной формуле:
C=5/9(F-32)
Текст программы:
#include
int main(){
float fahr, cels;
cout << endl << "Введите температуру по Фаренгйту" << endl;
cin >> fahr;
cels = 5*(fahr-32)/9;
cout << "По Фаренгейту: "<< fahr <<", в градусах Цельсия: " << cels << endl;
return 0;
}
В директиве препроцессора подключается заголовочный файл , который содержит функции ввода–вывода стандартных объектов – потоков (cin и cout).
Напишем второй вариант программы:
#include
int main(){
float fahr, cels;
printf("\n Введите температуру по Фаренгйту\n");
scanf("%f",&fahr);
cels= 5*(fahr-32)/9;
printf("По Фаренгейту: % 6.2f, в градусах Цельсия: %6.2f\n", fahr, cels);
return 0;
}
В данной программе используются функции ввода-вывода библиотеки С++, унаследованных из языка С. Вы можете выбирать для каждой программы наиболее подходящий способ ввода-вывода.
В рассмотренных выше программах переменные являются локальными. Вариант с глобальными переменными выглядит так:
#include
float fahr, cels;
int main(){
cout << endl << "Введите температуру по Фаренгйту" << endl;
cin >> fahr;
cels = 5*(fahr-32)/9;
cout << "По Фаренгейту: "<< fahr <<", в градусах Цельсия:" << cels << endl;
return 0;
}
Бұл қарапайым бағдарлама үшін айнымалыларды жариялау тәсілдерінде ешқандай айырмашылық жоқ, бірақ жалпы жағдайда ғаламдық айнымалыларды мүмкіндігінше аз қолдануға тырысу керек.
Бағдарламаны жазу бойынша ұсыныстар:
Деректерді ұсынудың ауқымы мен қажетті дәлдігін ескере отырып, айнымалылардың түрін таңдаңыз.
Олардың мақсатын көрсететін айнымалы атауларды беріңіз.
Пернетақтадан теру шақыру алдында. Кіргеннен кейін дереу бақылау үшін дисплейге бастапқы деректерді шығарыңыз (кем дегенде жөндеу кезінде).
Бағдарламаны бастамас бұрын, бастапқы деректер мен күтілетін нәтижелері бар тест мысалдарын дайындаңыз. Бағдарламаның қате бастапқы деректерге реакциясын бөлек тексеріңіз.
Өрнектерді жазу кезінде операциялардың басымдығына назар аударыңыз.
Әр айнымалы үшін Printf және Scanf функцияларында оның түріне сәйкес келетін форматтың сипаттамасын көрсетіңіз. Scanf мекен-жайы оның мәні емес, өзгеруі арқылы берілетінін ұмытпаңыз.
Стандартты функцияларды немесе сыныптарды пайдалану кезінде #include директивасы арқылы бағдарламаға тиісті тақырып файлдарын қосу қажет. Анықтамалық жүйенің көмегімен қандай файл қажет екенін анықтауға болады.
Бір бағдарламада (c++ стилінде) және кітапхана функцияларын (c стилінде) қолдана отырып, енгізу/шығару бағдарламасын араластырмаңыз.
Жергілікті айнымалыларға Ғаламдық айнымалыларға артықшылық беріңіз. Айнымалы мүмкін болатын ең аз аймаққа ие болуы керек.
Енгізу кезінде деректерді бос орындармен, жолды аудару таңбаларымен немесе кестелермен бөліңіз.
Достарыңызбен бөлісу: |