Основы программирования на языке C, страница 2
Описание файла
Документ из архива "Основы программирования на языке C", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве РУТ (МИИТ). Не смотря на прямую связь этого архива с РУТ (МИИТ), его также можно найти и в других разделах. .
Онлайн просмотр документа "Основы программирования на языке C"
Текст 2 страницы из документа "Основы программирования на языке C"
Исследование поведения типов данных языка С++ на границах области определения
Каждый из видов данных может принадлежать к различным типам данных:
- числовые
- символьные
- некоторые могут принадлежать к смешанным типам.
Числовые данные могут быть целыми и вещественными. В различных языках программирования количество типов различно. Каждая переменная и константа (а также многие другие конструкции) в любой программе на языке С++ должна иметь определенный тип. При этом каждая переменная, константа, и т.д. может принимать только те значения, которые допустимы для типа этой переменной, константы и т.д.
Существуют простые (базовые) типы данных, специальные типы данных, и собственные составные типы данных.
Рассмотрим основные (базовые) типы. Это:
- тип целого числа,
- тип числа с плавающей точкой (дробного числа),
- символьный тип.
К символьному типу относится char .
К целочисленным типам относятся 2 типа: char и int .
К типу с плавающей точкой относятся: float и double .
Эти типы могут использоваться по определенным правилам совместно со специальными модификаторами типов: signed , unsigned , short , long .
Какие значения допустимы для переменных разных типов и какой объем памяти они занимают показано в следующей таблице.
char | ||||||
char | от -128 до +127 (или любой символ) | 1 байт | ||||
signed char | от -128 до +127 (или любой символ) | 1 байт | ||||
unsigned char | от 0 до +255 (или любой символ) | 1 байт | ||||
int | ||||||
для 16-разрядных сист. (DOS , WIN 3.11) | для 32 –разрядных систем | |||||
int | от -32768 до +32767 | 2 б | от -2.147.483.648 до+2.147.483.647 | 4 б | ||
signed int | от -32768 до +32767 | 2 б | от -2.147.483.648 до+2.147.483.647 | 4 б | ||
unsigned int | от 0 до +65535 | 2 б | от 0 до +4.294.967.295 | 4 б | ||
short int | от -32768 до +32767 | 2 б | ||||
signed short int | от -32768 до +32767 | 2 б | ||||
unsigned short int | от 0 до +65535 | 2 б | ||||
long int | от -2.147.483.648 до +2.147.483.647 | 4 б | ||||
signed long int | от -2.147.483.648 до +2.147.483.647 | 4 б | ||||
unsigned long int | от 0 до +4.294.967.295 | 4 б | ||||
float | ||||||
float | от 3.4 * 10 -38 до 3.4 * 10 +38 | 4 б | ||||
double | ||||||
double | от 1.7 * 10 -308 до 1.7 * 10 +308 | 8 б | ||||
long double | от 3.4 * 10 -4932 до 1.1 * 10 +4932 | 10 б |
Задание: Написать пять программ в соответствии с нижеследующими заданиями. Результаты распечатать и объяснить.
1. Объявить переменные целого типа (int) под именами a, b, c . Выполнить следующие операции
a=32766 (для 16-разрядных систем)
a=2147483646 (для 32-разрядных систем)
b=a+1 c=b+1
2. Объявить переменные вещественного типа с одинарной точностью (float) под именами a, b, c, d, e . Выполнить следующие операции
a=1.56 * 1015 b=a * 100 c=a / 100
d= a / 1055 e= a * 10 29
3. Объявить переменные вещественного типа с двойной точностью (double) под именами a, c, d, e, f . Выполнить следующие операции
a=1.56 * 1015 d= a / 1055 с= a * 1029
f= a / 10330 e= a * 10300
4,5. Написать две программы, выполняющие следующие действия
a=1.0 * 1010 b=a + 1 c= b – a
в первой программе объявить все переменные вещественного типа с одинарной точностью (float),
во второй объявить все переменные вещественного типа с двойной точностью (double).
5. Лабораторная работа №3
Ветвящиеся вычислительные процессы.
Оператор if ….. else
Когда требуется не просто выполнять операции последовательно (линейный процесс), а изменять ход вычислительного процесса в зависимости от некоторых условий, используется ветвление по условию
Формат оператора if … else :
БЛОК 1;
if ( условие )
{
БЛОК 2;
}
else
{
БЛОК 3;
}
БЛОК 4;
Блок-схема оператора
нет
Правило выполнения: сначала выполняется БЛОК 1 , затем, если указанное условие истинно, то выполняется БЛОК 2, если ложно, то выполняется БЛОК 3. Затем выполняется БЛОК 4. Т.е. в зависимости от условия выполняется либо БЛОК2, либо БЛОК 3.
Итак, все зависит от выполнения или невыполнения условия. Обычно условия могут состоять из переменных, выражений и функций. Единственное требование состоит в том, что сравнивать можно сравнимое !!!.
Любое выражение, в том числе логическое, всегда имеет значение. Если выражение ложно, то оно равно 0. Истинным является выражение, не равное 0 (положительные, отрицательные, целые, дробные).
Д ля записи условий применяются следующие специальные знаки:
= = | Равно |
< | Меньше |
< = | Меньше или равно |
> | Больше |
>= | Больше или равно |
!= | Не равно |
&& | И |
|| | ИЛИ |
Задания: Вычислить значение функции. Значение x вводить с клавиатуры, используя оператор scanf( ) . Если x не принадлежит вышеприведенным числовым интервалам, то вывести на экран соответствующее сообщение. В противном случае вывести значение y, используя функцию printf( ).
№ | Формула |
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 |
6. Лабораторная работа №4
Ветвящиеся вычислительные процессы.
Оператор - переключатель switch( )
Для тех случаев, когда требуется выбрать действия не из двух вариантов , а из нескольких, предназначен оператор переключатель switch .
Конечно, можно было бы использовать несколько операторов if … else, но оператор switch оказывается намного удобнее. Он позволяет обработать сразу несколько сравнений по условию «выражение равно значению».
Формат:
switch ( параметр-выражение )
{
case 1_значение: { блок 1 }
case 2_ значение: { блок 2 break ; }
case 3_ значение: { блок 3 break ; }
case 4_значение:
case 5_ значение:
case 6 _значение: { блок 4 break ; }
case 7 _значение: { блок 5 }
case 8 _значение: { блок 6 break ; }
и т.д.
default : { блок 7 }
}