Автор: Пользователь скрыл имя, 15 Ноября 2012 в 20:51, шпаргалка
Работа содержит ответы на вопросы по дисциплине "Информации".
#іnclude <stdіo.h>
maіn ()
{
іnt a, b, с;
а = 1;
b = 3;
с = а+b;
prіntf("Сума = %d \n", с);
return 0;
}
Дамо деякі пояснення. Дана програма складається з єдиної функції maіn, саме з її починається виконання програми. У дійсній короткій програмі, на відміну від більшості інших програм, головна функція звертається тільки до однієї (бібліотечної) функції. Функція maіn у цьому випадку не з аргументів, тому список її виглядає так: ( ) . Фігурні дужки { } обрамляють оператори, які реалізують властиво алгоритм. Ці дужки аналогічні BEGІ - END У мові Pascal.
Рядок іnt a, b, з; повідомляє a, b і зі змінними цілого типу. (Всі використовувані в програмі змінні повинні бути оголошені.) Далі йдуть оператори присвоювання: а привласнюється значення 1, b - 3, с - значення їхньої суми. Функція prіntf уиводить на екран наступний рядок: Сума = 4.
Щоб увести числа із клавіатури, можна звернутися до функції scanf, призначеної для форматного уведення даних. Функція scanf як фактичні параметри використає адреси змінних, а не їхні значення. Щоб одержати адресу змінної, перед її ім'ям ставлять знак & - символ узяття адреси. Наприклад, &XL означає "адреса змінної XL", а не її значення.
Рядок форматів функції scanf указує, які дані очікуються на вході. Якщо функція зустрічає у форматному рядку знак % , за яким треба символ перетворення, то вона буде пропускати на вході символи доти , поки не зустріне який-небудь не порожній символ.
Попередня програма обчислення суми годиться тільки для одного конкретного випадку, коли а = 1, b = 3. Поліпшимо неї, замінивши відповідні оператори присвоювання викликом функції scanf:
/* Уведення двох чисел, обчислення суми й печатка результату */
#іnclude <stdіo.h>
maіn ()
{
іnt a, b, c;
scanf(" %d %d", &a, &b);
с = a + b;
prіntf("Сума = %d \n", c);
Форматний рядок пропонує функції scanf увести десяткове число, яке треба помістити в змінну а, потім через пробіл увести друге десяткове число, яке треба привласнити змінної. Зверніть увагу, що програма із класичним коментарем /* .. */, що пояснює призначення програми.
28. Оператори передачи управління в мові C++
Приклад: if (a<0) a=a;
Умовний оператор може включати в себе складовий оператор, взятий в дужки блоку: { }.
Приклад: if (I>a) { a=b+3; d=a/f; }
Більш точно оператор if має наступний формат: if (значення) оператор _ 1; else оператор _ 2;
Де “значення” є будь-яким вираженням, яке приводиться до цілочисельного хначення. Якщо “значення” відмінне від нуля ( “істина”), то виконується оператор _ 1, в іншому випадку виконується оператор _ 2.
Приклад: if ( (х>2 ) & & (х < 10) ) А=0
Else
Умова звичайно задається за допомогою однією з операцій відношення:
< менше
< = менше або дорівнює
= = рівно
! = не дорівнює
Умовний оператор може містити альтернативу:
if (умова) оператор _ 1; else оператор _ 2
Оператор switch призначений для реалізацій умов багатоваріантного вибору.
Формат оператора: switch (цілий _ вираз) { список _ варіантів }
У блоці, укладеному в дужках { }, міститься список варіантів, кожний з яких починається з ключового слова case, за яким слідують значення константи (мітка варіанту), двокрапка і список операторів, створюючих даний варіант. У кінці кожної групи операторів, що відносяться до case необхідно вмістити оператор переривання break, який передає управління на фігурну дужку блоку, що закривається.
Наприклад: switch (i)
{ case 1: a=b; printf («випадок 1/n») break case 2: a=b*3; printf («випадок 2/n»); break
Оператор while, має формат: while (вираження) оператор; і здійснює повторне виконання оператоа (простою або складовою) доти, поки вираження в дужках буде істинним. Як тільки значення вираження стане помилковим, управління буде передане оператору, наступному за оператором циклу.
Перевірка встинності вираження виконується кожний раз перед виконанням оператоа, що складає тіло циклу. Тому, якщо при першому зверненні до оператора while вираження в дужках помилкове, то тіло циклу не буде виконане ні разу. Таким чином, вираження, що перевіряється завжди обчислюється на один раз більше, ніж виконується тіло оператора while.
Приклад: перевірити, чи є ціле число n простоєм
# include<stdio. h > int main (void) { int I=1, n; printf ( «Введить число: »); scanf ( % d, & “ n); while (++I <n) if (n% I= =0) { printf (“ Число не просте/n”); break; } if (I = =n) printf ( “Число просте/n”); return 0; }
Оператор for звичайно виокристовується, коли зазделегідь відомий, скільки разів повинен повторюваться цикл і має наступний формат:
Формат: goto мітка;приклад goto part2; ... part 2: printf (“Утончений аналіз/n);
Оператор goto це операто безумвного переходу і використовується він звичайно з міткою.
Мітка – це індентифікатор з двокрапковою, після якої записаний будь-який оператор мови Сi. Щоб приведений вище оператор був виконаний правильно, в програмі необхідна наявність іншого оператора, що має мітку (для даного прикладу мітка – це part2).
Приклад: вихід (використання goto) з вкладеного набору циклів при виявленні якихсь помилок. While (funct>0)
29. СИМВОЛЬНА ГРАФІКА В МОВІ С++
Дані типу «Символьне» включають дані типу char. Число елементів масиву що складається з символів дорівнює числу символів плюс 1, так як нульовий символ також є елементом масиву.
Для опису змінних у відповідності зі стандартом АNCІ в мову Сі були додані модифікатори: сопst і volative. Вони означають:
сопst - оголошуються ті змінні, які не повинні змінювати своє значення в ході виконання програми, а
чоіаіііе - ті змінні, які можуть змінювати значення, причому змінюють значення не тільки в поточній програмі, але і іншими.
Одним оператором можна оголосити декілька змінних, наприклад: іnt a, b, з;
Крім того, в операторі іnt змінної можна привласнити початкове значення, наприклад:
іnt х = -27;
Дані типу signed int або signed short представляються в пам'яті комп'ютера ІВМ РС 16-розрядними цілими числами зі знаком і можуть змінюватися в діапазоні від -32768 до 32767. Змінні цього типу оголошуються за допомогою оператора signed int, наприклад: signed int num;
Ключове слово signed можна опустити, тоді int num;
Дані типу unsigned int
(або скорочено unsigned)
представляються 16-розрядними
цілими числами без знаку і можуть
мати значення в діапазоні
від 0 до 65535, наприклад
unsigned int t, z, m, n = 53999;
Дані типу signed long (або скорочено long) представляються 32-розрядними цілими числами зі знаком і можуть мати значення від -2**31 до 2**31-1, а в кінці дописується буква L.
Наприклад: long Kod = 110000L;
Дані типу unsigned long представляються в комп'ютері 32-розрядними цілими числами без знаку і лежать в діапазоні від Одо 2**32-1.
Наприклад: unsigned long var = 12000000L;
Дані типу signed char (або скорочено char) це дані цілого типу. Змінні цього типу займають в пам'яті 8 двійкових розрядів і можуть змінюватися від -128 до 127.
Наприклад: signed char w, р, s;
Дані типу unsigned char представляються однобайтними цілими числами без знаку, лежачими в діапазоні від 0 до 255.
Наприклад: unsigned char f, g, h;
Дані нецілого типу:
float - число з плаваючою точкою (одинарної точності);
double - число з плаваючою точкою (подвійної точності);
void - відсутність значення (використовується для нейтралізації значення, що повертається функцією).
Будь-яка змінна, крім формальних параметрів, структури при визначенні може бути ініціалізувати.
Ініціалізація - це установка програмних змінних (адрес, лічильникiв, перемикачів, індикаторів, покажчиків) в нуль або завдання ним інших початкових значень перед виконанням програми. Будь-яка постійна змінна ініціалізувати нулем, якщо явно не задане інше початкове значення.
24.
Тип |
Минимально допустимый диапазон значений | |
char |
8 |
От-127 до 127 |
unsigned char |
8 |
От 0 до 255 |
signed char |
8 |
От-127 до 127 |
int |
16 или32 |
От-32767 до 32767 |
unsigned int |
16 или32 |
От 0 до 65535 |
signed int |
16 или32 |
То же, что int |
short int |
16 |
От-32767 до 32767 |
unsigned short int |
16 |
От 0 до 65535 |
signed short int |
16 |
Тоже, что short int |
long int |
32 |
От-2 147 483 647 до 2 147 483 647 |
long long int |
64 |
От -(263-1) до (263-1), добавлен стандартом С99 |
signed long int |
32 |
То же, что long int |
unsigned long int |
32 |
От 0 до 4 294 967 295 |
unsigned long long int |
64 |
От 0 до (264-1), добавлен в С99 |
float |
32 |
От1Е-37до1Е+37, с точностью не менее 6 значащих десятичных цифр |
double |
64 |
От 1Е-37до 1Е+37, с точностью не менее 10 значащих десятичных цифр |
long double |
80 |
От 1Е-37до 1Е+37, с точностью не менее 10 значащих десятичных цифр |
Тип |
Минимально допустимый диапазон значений | |
char |
8 |
От-127 до 127 |
unsigned char |
8 |
От 0 до 255 |
signed char |
8 |
От-127 до 127 |
int |
16 или32 |
От-32767 до 32767 |
unsigned int |
16 или32 |
От 0 до 65535 |
signed int |
16 или32 |
То же, что int |
short int |
16 |
От-32767 до 32767 |
unsigned short int |
16 |
От 0 до 65535 |
signed short int |
16 |
Тоже, что short int |
long int |
32 |
От-2 147 483 647 до 2 147 483 647 |
long long int |
64 |
От -(263-1) до (263-1), добавлен стандартом С99 |
signed long int |
32 |
То же, что long int |
unsigned long int |
32 |
От 0 до 4 294 967 295 |
unsigned long long int |
64 |
От 0 до (264-1), добавлен в С99 |
float |
32 |
От1Е-37до1Е+37, с точностью не менее 6 значащих десятичных цифр |
double |
64 |
От 1Е-37до 1Е+37, с точностью не менее 10 значащих десятичных цифр |
long double |
80 |
От 1Е-37до 1Е+37, с точностью не менее 10 значащих десятичных цифр |