- •Т.Э. Шульга основы программирования на языке с
- •1. Структура программы на языке с
- •Задание 1. Вывод строки на экран с использованием esp-последовательности
- •2. Переменные. Основные типы данных
- •Задание 2. Описание переменных и преобразование типов
- •3. Ввод – вывод значений переменных
- •Задание 3. Форматирование вывода
- •4. Основные операции языка с
- •Заданиe 4. Простейшие вычисления
- •5. Конструкции выбора
- •Задание 5. Обработка введенного символа
- •Задание 6. Вычисление значения функции
- •Задание 7. Применение разветвляющихся алгоритмов при решении простейших задач
- •Задание 8. Mультиветвление
Задание 3. Форматирование вывода
Каждому студенту рекомендуется выполнить хотя бы одно из упражнений 1–12.
Описать переменную вещественного типа. Ввести ее значение с клавиатуры. Очистить экран. Вывести значение переменной на экран в формате 2 знака после запятой в следующем виде:
i = 4,33000000000000000000000000000000000000000000000000000
Описать переменную вещественного типа. Ввести ее значение с клавиатуры. Очистить экран. Вывести значение переменной на экран в формате 2 знака после запятой в следующем виде:
i = 00000000000000000000000000004,33
Описать четыре переменных целого типа, ввести их значение с клавиатуры. Очистить экран. Вывести значения переменных на экран следующим образом (как таблицу с невидимыми границами):
1065 231
11 8
Описать четыре переменных целого типа, ввести их значение с клавиатуры. Очистить экран. Вывести значения переменных на экран следующим образом:
| 12| 231|
| 124| 78|
Описать строку “number” (как массив символов) и переменную вещественного типа. Ввести значение переменной с клавиатуры. Очистить экран и вывести на экран значение переменной в формате 2 знака после запятой следующим образом:
number=4,33
Описать строку “number” (как массив символов) и переменную вещественного типа. Ввести значение переменной с клавиатуры. Очистить экран и вывести на экран значение переменной в формате 2 знака после запятой следующим образом
number=4,33
Ввести с клавиатуры любое слово, очистить экран и вывести введенное слово примерно в центре экрана.
Ввести с клавиатуры любое слово, очистить экран и вывести введенное слово в верхнем правом углу экрана.
Описать переменную целого типа, ввести с клавиатуры ее значение. Очистить экран и вывести на экран значение переменной в десятичном и восьмеричном виде примерно в центре экрана. Например,
i =9, i =011
Описать переменную целого типа, ввести с клавиатуры ее значение. Очистить экран и вывести на экран значение переменной в десятичном и шестнадцатеричном виде следующим образом.
i=11, i=0xb
Обеспечить ввод с клавиатуры двух слов. Очистить экран. Вывести слова на экран следующим образом:
Слово1 000000000000000000000000000000000000000000000000000 Слово2
Обеспечить ввод с клавиатуры двух слов. Очистить экран. Вывести слова на экран следующим образом:
Слово1 Слово2
4. Основные операции языка с
Знаки операций в языках программирования обеспечивают формирование и последующие вычисление выражений. Все операции делят на унарные и бинарные. Следует учитывать, что один и тот же символ может обозначать как унарную, так и бинарную операцию в зависимости от контекста. Например, символ “–” может быть унарным или бинарным минусом. Кратко опишем основные операции:
+ |
плюс, унарный и бинарный (+x; x+y); |
|
|
– |
минус, унарный и бинарный (–x; x–y); |
|
|
++ |
увеличение на единицу (инкремент): (x++ – увеличение значения переменной x после ее использования, ++x – увеличение значения переменной x до ее использования); |
|
|
–– |
уменьшение на единицу (декремент): (x–– – уменьшение значения переменной x после ее использования, ––x – уменьшение значения переменной x до ее использования); |
|
|
& |
унарная операция получения адреса операнда (&x) ,бинарная поразрядная конъюнкция (И) битовых представлений значений целочисленных операндов, например, 6&5 равно 4, действительно 1102&1012 равно 1002; |
|
|
~ |
унарная операция поразрядного инвертирования внутреннего двоичного кода целочисленного аргумента (~x);
|
|
|
| |
бинарная поразрядная дизъюнкция (ИЛИ) битовых представлений значений целочисленных операндов, например, 6|5 равно 7, действительно, 1102|1012 равно 1112; |
|
|
^ |
бинарная операция поразрядного исключающего ИЛИ (сложение по модулю 2) битовых представлений целочисленных операндов, например, 6^5 равно 3, действительно, 1102|1012 равно 0112; |
|
|
<< (>>) |
сдвиг влево (вправо) битового представления значения левого операнда на количество разрядов, равное значению правого операнда, например, 5>>1 равно 2, действительно, 1012 при сдвиге вправо на 1 разряд дает 0102; |
|
|
* |
унарная операция обращения по адресу (операция разыменования), бинарная операция умножения; |
|
|
/ |
бинарная операция деления; при целочисленных операндах абсолютное значение результата округляется до целого, например, 20/3 равно 6; |
|
|
% |
получение остатка от деления целочисленных операндов, например, 20%3 равно 2; |
|
|
<(<=) |
меньше (меньше или равно) Результат операций сравнений целочисленный: 0 (ложь) или 1(истина); |
|
|
>(>=) |
больше (больше или равно) |
||
== |
равно |
|
|
!= |
не равно |
|
|
&& |
конъюнкция (И) арифметических операндов или отношений; целочисленный результат: 0 (ложь) или 1(истина); |
|
|
|| |
дизъюнкция (ИЛИ) арифметических операндов или отношений; целочисленный результат: 0 (ложь) или 1(истина); |
|
|
= |
присвоение (присвоить значение выражения операнда из правой части операнду из левой части: x=20–2*y); |
|
|
= |
где – одни из знаков операций *, /, %, +, – ,&,|,^,<<,>>. Операция x=у эквивалентна x=xy, например, x*=2; эквивалентно x=x*2; |
|
|
, |
несколько выражений, разделенных запятой вычисляются слева направо, в качестве результата сохраняется тип и значение самого правого выражения, например, d=4,d*2 равно 8; |
|
|
Кроме того, в языке С определена условная операция, которая используется с тремя операндами и имеет формат:
выражение1 ? выражение2 : выражение3
Если выражение1 истинно, то есть не равно 0, то результатом становится значение выражения2, иначе результатом становится значение выражения3.
Несколько операций языка С, не рассмотренные здесь, будут введены в соответствующих главах.
Теперь, когда введены основные типы данных и операции, можно перейти к решению простейших задач.
Пример. По двум заданным сторонам прямоугольника найти его площадь и длину диагонали.
#include <stdio.h>
#include <math.h>
void main ()
{
float a,b,S,d;
printf("%s","\nEnter a,b ");
scanf("%f%f",&a,&b);
S=a*b;
d=sqrt(a*a+b*b);
printf("\nSquare = %.2f",S);
printf("\nDiagonal = %.2f",d);
}
