Лабораторная работа: Операторы языка Си
B;
Эквивалентным оператором цикла for.
Лабораторные задания
Линейное уравнение
Операторы if-else if, switch . Написать программу, которая решает линейное уравнение a ∙ x + b = 0. Использовать операторы if-elseif. Логические выражения в условиях этих операторов не должны содержать логических операций && и ||. Предусмотреть четыре возможных исхода при решении уравнения:
- нет решения,
- найдено единственное решение,
- любое число является решением,
- решение единственное, но не входит в диапазон типа переменной x.
В операторе if-elseif определить некоторую переменную flag, которая принимает четыре значения, соответствующих возможному исходу решения. Вывод текстовой информации с результатами решения организовать с использованием оператора switch, условие которого содержит flag. Выход из программы должен быть единственным.
Организовать проверку корректности данных при вводе коэффициентов a и b.
Ввод русской буквы
Операторы while , switch . С клавиатуры вводятся символы. После анализа символа программа выводит на экран одно из следующих сообщений:
- русская гласная буква такая-то,
- русская согласная буква такая-то,
- английская буква такая-то ,
- символ псевдографики такой-то ,
- другой символ.
В программе вместо числовых констант вида 128 использовать символьные константы вида ‘А’. Обработать символы с расширенным кодом. Выход из программы происходит по нажатию клавиши Escape.
Таблица умножения
Использование двойного цикла for . В программе вводятся шестнадцатеричные числа m и n, после чего на экран выводится таблица умножения в шестнадцатеричной системе счисления следующего вида
Таблица 1.
1 | 2 | … | n |
1 | |||
2 | |||
… | |||
m |
Из таблицы должно быть видно, что например, 112 = 121, 122 = 144, 132 = 169.
При больших размерах таблицу целесообразно выводить в файл. Это можно сделать из командной строки DOSс помощью команды
tabl.exe >> tabl.txt
ASCII -таблица
Использование двойного цикла for . Вывести на экран ascii-таблицу без управляющих символов в следующем виде
Таблица 2.
2 | 3 | E | F |
0 | |||
1 | |||
2 | |||
F |
Символ с шестнадцатеричным кодом 0xST находится на пересечении столбца S и строки T.
Для вывода на экран графических представлений управляющих символов необходимо записывать их коды напрямую в видеопамять, без использования стандартных функций типа printf (см. [1]).
Машинный ноль и машинный эпсилон
Операторы while . Найти машинный ноль и машинный эпсилон для вещественных типов данных: float, double, longdouble.
Сравнить с теоретическими результатами и со справочной информацией в Help оболочки.
Учесть, что в арифметических выражениях вида 1+x>1 компилятор использует повышенную точность во внутренних вычислениях. Поэтому значение 1+x необходимо запомнить во вспомогательной переменной того же типа, который имеет переменная x.
Дополнительные задания
1. Найдите сумму цифр целого числа типа unsignedlong. Число вводится с клавиатуры.