Консольное приложение C
Автор: Yahia Mediouni • Октябрь 30, 2023 • Лабораторная работа • 2,064 Слов (9 Страниц) • 107 Просмотры
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра ФРТ
ОТЧЕТ
по лабораторной работе №3
по дисциплине «Информатика»
Консольное приложение C, которое преобразует десятичное число, выбранное из переменной типа «String», в 32-битное двоичное число с помощью функций ввода scanf, цикла for, условного оператора if, функции вывода printf и функции atoi.
Студент гр. 3114 |
| Медиуни Яхья |
Преподаватель |
| Ситников.И.Ю |
Содержание
код программы: 4
объяснить исходный код библиотеки : 12
код заголовочного файла "Mlib.h": 13
объяснение заголовочного файла: 14
Вывод 15
Спецификация Задания
Данная программа, написанная на языке C в Microsoft Visual Studio 2022, должна работать в 32-битной системе Windows. В этой программе неотрицательное десятичное число извлекая числа в строку И с помощью указателя будет переводится в двоичный код методом обратной печати битов.
Формализованное описание алгоритма решения задачи
дано по условию одно число в десятичной системе счисления.
Переменная «А» - это число в десятичной системе счисления
Переменная «B» - число 80000000 - Шестнадцатеричное число — самое большое число, которое можно представить в 32-битной системе[a].
Выбор и обоснование типов переменных
SInp- строка типа char[b]
Ai- Unsigned int _ целое число без знака
Ret- int _ целое число
код программы:
// lab1.cpp : Defines the entry point for the console application.
#include "stdafx.h"
#include "Mlib.h"
#include "stdlib.h"
#include <stdio.h>
int main()
{
char sInp[MY_STR_LEN];
unsigned int ai;
scanf_s("%s", sInp, MY_STR_LEN);
int ret = CheckStr(sInp);
if (-1 == ret)
printf("err len\n");
else
{
ai = atoi(sInp);//int from str
PrintBin((int *)&ai);
printf("\n");
PrintBin(ai);
}
return 0;
}
объясните код программы:
Эта программа является кратким примером, который преобразует целое число, записанное в виде символьной строки, в двоичное представление и выводит его на экран.
Библиотека `stdafx.h` является специальной библиотекой для Microsoft Visual Studio и используется для улучшения производительности приложений через предварительные настройки. В этой программе она включена.
`Mlib.h` - это заголовочный файл, предназначенный для библиотеки, используемой в программе. Он содержит определения, типы данных и функции, используемые в программе.
`stdlib.h` - это стандартная библиотека в языке C, которая содержит определения и функции для управления памятью, преобразования строк в другие типы данных и другие общие функции.
Внутри функции `main`:
- Массив `sInp` определяется как массив символов размером `MY_STR_LEN` (который должен быть определен во включенных файлах).
- Переменная `ai` определяется как беззнаковое целое число.
- Функция `scanf_s` используется для чтения символьной строки от пользователя и сохранения ее в массиве `sInp`.
- Вызывается функция `CheckStr` для проверки длины строки. Если длина больше -1, программа выводит сообщение "err len" (неправильная длина) на экран. В противном случае, если длина строки допустима, строка преобразуется в целое число с помощью функции `atoi` и сохраняется в переменной `ai`.
- Функция `PrintBin` вызывается дважды для печати двоичного представления числа. Она вызывается первый раз с приведением типа указателя на `ai`, а второй раз с самим значением `ai`. Это дает одинаковый результат, так как `ai` передается по значению, а не по указателю.
- Функция `main` возвращает значение 0 для указания успешного выполнения программы.
...