рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

А) Преобразование из массива char в String и наоборот.

А) Преобразование из массива char в String и наоборот. - раздел Информатика, Структура программы на языке Си. Этапы выполнения программы Как Упоминалось Выше, Для Преобразования Массива Char К Типу String Достаточн...

Как упоминалось выше, для преобразования массива char к типу String достаточно просто присвоить его переменной типа String:

 

char c[]="Привет!";

String s=c;

 

Обратное же преобразование автоматически не делается. Для его осуществления используется метод c_str() типа String. Он создает временный массив char, который создается только на время выполненияоператора, содержащего этот метод:

 

s=Edit1->Text;

WinExec(s.c_str(), SW_SHOW);

// WinExec - запуск программы с заданным именем

// Функция WinExec требует, чтобы имя было массивом char

 

Если же нужно использовать полученный массив char в последующей программе, его надо скопировать в "постоянный" (объявленный) массив char :

 

char a[100];

strcpy(a, s.c_str());

 

Таким образом, для ввода массивов char в оконных приложениях необходимо использовать функцию strcpy и метод c_str() :

 

char a[100];

strcpy(a, Edit1->Text.c_str());

 

 

– Конец работы –

Эта тема принадлежит разделу:

Структура программы на языке Си. Этапы выполнения программы

Лексемы... Из символов алфавита формируются лексемы языка минимальные значимые единицы... идентификаторы...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: А) Преобразование из массива char в String и наоборот.

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Алфавит языка Си
Алфавит языка Си включает: - прописные и строчные буквы латинского алфавита, а также знак подчеркивания (код ASCII 95); - арабские цифры от 0 до 9; - специальные символы:

Идентификаторы и ключевые слова
Идентификатор (в дальнейшем, для краткости - ID) – это имя программного объекта (константы, переменной, метки, типа, функции, модуля, поля в структуре). В иден

Общая структура программы на языке Си.
Программа, написанная на языке Си, состоит из одной или нескольких функций, причем одна функция обязательно имеет идентификатор (имя) main() – основная, гла

Функциональная и модульная декомпозиции
Для большинства задач алгоритмы их решения являются довольно большими и громоздкими. При программировании нужно стараться получить программу удобочитаемую, высокоэффективную и легко модифицируемую.

Этапы обработки программы.
Язык Си относится к языкам высокого уровня, т.е. предназначенным для записи программы в форме, удобной для человека и не "привязанной" к конкретному типу машин. Ис

Роль препроцессора.
Перед компиляцией программа на языке Си обрабатывается специ­альной программой – препроцессором, который работает под управле­нием директив. Препроцессорные директи

Основные типы данных
Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных. Тип данных определяет: •внутреннее представлени

Константы в программах
Константы - объекты, не подлежащие использованию в левой части оператора присваивания, т.к. константа - является неадресуемой величиной и, хотя она хранится в памяти ЭВМ, обычно нет никакого способ

Целочисленные константы
Общий формат: ±n (+ обычно не ставится). Десятичные константы - последовательность цифр 0...9, первая из которых не должна быть 0. Например, 22 и 273 - обычные целые констант

Константы вещественного типа
Данные константы размещаются в памяти по формату double, а во внешнем представлении могут иметь две формы: 1) с фиксированной десятичной точкой, формат записи: ±n.m, где n

Символьные константы
Символьная константа - это символ, заключенный в одинарные кавычки: 'A', 'х' (занимает 1 байт). В языке Си используются и. специальные (управляющие) символы,

Строковые константы
Строковая константа представляет собой последователь­ность символов кода ASCII, заключенная в кавычки (”) . Во внутреннем представлении к строковым константам добавляется нулевой символ '', еще на

Операция присваивания
Формат операции присваивания: Операнд_1 = Операнд_2 Операндом_1 может быть только переменная. Этот (левый) операнд операции присваивания получил

Бинарных операций
При выполнении операций могут встречаться операнды различных типов. Но для выполнения операции оба операнда должны быть преобразованы к общему типу в соответствии с небольшим набором правил.

Преобразование типов при присваивании.
При присваивании значение правой части преобразуется к типу левой. И здесь необходимо быть внимательным, так как при некорректном использовании операций присваивания могут возникнуть неконтролируем

Операция явного приведения типа
В любом выражении преобразование типов может быть осуществлено явно. Для этого достаточно перед любым выражением поставить в скобках идентификатор соответствующего типа. Вид записи операци

Стандартная библиотека языка Си
В любой программе кроме операторов и операций используются средства библиотек, входящих в среду программирования. Часть библиотек стандартизована и поставляется с компилятором. Функции, входящие в

Стандартные математические функции
Математические функции языка Си декларированы в файлах math.h и stdlib.h. В приведенных здесь функциях аргументы и возвращаемый результат имеют

Потоковый ввод-вывод
Поток – это абстрактное понятие, которое относится к любому переносу данных от источника к приемнику. Потоки С++ обеспечивают надежную работу как со стандартными (stdin, stdout), так

Консольные функции вывода данных на экран
Наряду с потоковым вводом-выводом, в консольных приложениях применяются и функции ввода-вывода языка Си. Их декларации приведены в заголовочных файлах stdio.h и c

Консольные функции ввода информации
Функция scanf предназначена для форматированного ввода исходной информации с клавиатуры: scanf (управляющая строка , список адресов объектов ввода

Советы по программированию
1. Выбирайте тип для переменных с учетом диапазона их возможных значений и требуемой точности представления данных. 2. Старайтесь давать переменным ID (имена), отражающие их назначе

Составление циклических алгоритмов
Под циклом понимается организованное повторение некоторой последовательности операторов. Любой цикл состоит из кода цикла, т.е. тех операторов, которые выполняются несколько раз, начальных

Вложенные циклы.
Тело (код) цикла может в свою очередь включать в себя другие циклы. Такие циклы называют вложенными. Вложенные циклы необходимы, если по смыслу задачи для каждой итерации внешнего цикла нужно выпол

Советы по программированию
1. Выражение, стоящее в круглых скобках операторов if, while и do – while вычисляется по правилам стандартных приоритетов операций. 2. Если в какой-либо ветви вычислен

Массивы
Массив представляет собой упорядоченную конечную совокупность элементов одного типа. Число элементов массива называют его размером. Каждый элемент массива определяется и

Одномерные массивы
В программе одномерный массив объявляется следующим образом: типID_массива [размер] = {список начальных значений}; тип – тип эл

Б) Нахождение суммы, произведения, количества
Задача 2. Найти сумму элементов массива.   #include<iostream.h> #include<conio.h> #include<stdio.h> void main() {

Д) Удаление и вставка в массивах
Задача 11. Удалить из массива второй по счету элемент.   Поскольку полное количество элементов в массиве задано в его объявлении, физически "удалить" элемент

Е) Обмен местами
Задача 14. Поменять местами первый и последний элемент массива.   При обмене, чтобы не потерять одно из значений, потребуется дополнительная переменная:  

З) Сортировка массива
Задача 16. Отсортировать массив по возрастанию (т.е. расположить его элементы в порядке возрастания).   Для этой задачи придумано множество различных алгоритмов. Один

И) Поиск совпадений
Задача 17. Найти в массиве элемент, повторяющийся наибольшее количество раз. (Если таких элементов несколько, вывести любой из них).   for(max=i=0; i<n; i++){

Многомерные массивы
Многомерные массивы отличаются от одномерных только тем, что каждый элемент характеризуется не одним, а двумя или более индексами. Они используются, например, для хранения таблиц (каждый элемент та

Б) Диагонали квадратной матрицы
  Квадратной называется матрица, у которой число строк равно числу столбцов. Ее главной диагональю называется диагональный ряд элементов, идущий из верхнего левого угла

В) Работа со строками и столбцами
Строка или столбец матрицы аналогичны одномерному массиву. Поэтому к ним применимы все алгоритмы, рассмотренные для одномерных массивов. В применении же ко всей матрице это обычно требует

Компонента StringGrid
В оконном режиме ввод и вывод массивов обычно организуется с использованием компоненты StringGrid, предназначенной для отображения информации в виде двумерной таблицы, каждая ячейка которой

Общие понятия.
Данные и программы во время работы ПЭВМ размещаются в оперативной памяти (ОЗУ), которая представляет собой последовательность пронумерованных ячеек. По указанному номеру процессор находит нужную яч

Операция sizeof
Данная операция позволяет определить размер объекта по ID или типу, результатом является размер памяти в байтах (тип результата int). Формат записи: sizeof(параметр

Кодирование программы.
Программа в машинных кодах (исполняемый код) – это последовательность команд (инструкций), которые помещаются в памяти и выполняются процессором в указа

Регистры
Заметим, что кроме собственно ОЗУ, в компьютере имеются ячейки памяти, размещенные непосредственно в процессоре. Такие ячейки памяти называются регистрами. В процессоре обыч

Б) Ввод-вывод строк - массивов char.
Для ввода с консоли строк - массивов char обычно используются две стандартные функции: scanf() (см. тему "Функции ввода-вывода"; специфик

В) Поэлементная работа со строками.
В языке С не допускается ни присваивание, ни сравнение массивов. Операции над строками могут быть выполнены либо непосредственно действиями над отдельными символами (как над элементами масси

Д) Перевод строк - массивов char в числа и наоборот.
Функции преобразования строки S в число: - целое: int atoi(char *S); - длинное целое: long atol(char *S); - действительное: doub

Русификация консольных приложений.
При работе в консольном приложении ввод-вывод выполняется в кодировке ASCII (см. тему "Кодирование символов", кодовые таблицы). В тексте же программы символы отображаются в принятой в Win

Б) Действия над типом String.
Основными операциями с типом String являются:   1) Присваивание: S1=S2;   2) Сравнение: S1==S2, S1<=S2, S1!=S2 и т.д. Здесь знак <

Б) Преобразование из String в простую переменную типа char.
При таком присваивании нужно указать номер символа в строке, который будет присвоен:   String s='*'; char c=s[1];   Обратное же присваивание н

Сущность и предназначение функций.
С увеличением объема программы ее код становится все более сложным. Одним из способов борьбы со сложностью любой задачи является ее разбиение на части. В языке Cи, как и в любом языке прог

Тип_результата имя_функции ( список параметров )
{ код функции return выражение; }   Параметры - это переменные, доступные внутри функции, значения которы

Прототип функции.
Функции могут располагаться в исходном файле в любом порядке. А сама исходная программа, как отмечалось вначале, может размещаться в нескольких файлах. При этом, однако, может возникнуть о

Область видимости.
Область видимости (действия) объекта (переменной и др.) – это та часть кода (текста) программы, в которой его можно использовать. В сложных программах ограничение этой области помогает изб

Разбиение программы на модули.
Разбиение программы на модули (отдельные файлы с текстом программы) позволяет использовать готовые модули в разных программах, а также является важнейшим способом разделения труда при работе в колл

Понятие структуры
Структура – это составной объект языка Си, представляющий собой совокупность логически связанных данных различных типов, объединенных в группу под одним идентификатором. Данные, входящие

Декларация структурного типа данных
Структурный тип данных задается в виде шаблона, общий формат описания которого следующий: struct ID структурного типа { описание полей

Объявление структурных переменных
Как уже отмечалось само описание структуры не приводит к выделению под нее места в ОП. Теперь необходимо создать нужное количество переменных с приведенной структурой и сделать это можно двумя спос

Обращение к полям структуры
Обращение к полю структуры производится при помощи составных имен, которые образуются с использованием операции принадлежности (.) в виде: ID_струк

Вложенные структуры
Структуры могут быть вложенными, т.е. поле структуры может cамо быть структурой, описание которой должно предшествовать описанию внешней структуры. Например, в структуре person, содержащей

Массивы структур
Структурный тип "struct ID_структуры", как правило, используют для декларации массивов, элементами которых являются структурные переменные. Это позволяет создавать программы, оперирующие

Размещение структурных переменных в памяти
Элементы структур в общем случае размещаются в памяти последо­ва­тельно с учетом выравнивания начальных адресов полей. Выравнивание (align) означает, что ком

Битовые поля
Наряду с "обычными" типами, допустимыми и для "отдельных" переменных, поля структуры могут иметь особый целочисленный тип, допустимый только для них - битовые поля

Объединения
Объединение - поименованная совокупность данных разных типов, размещаемых в одной и той же области памяти, размер которой достаточен для хранения наибольшего элемента. Объ

Генерация псевдослучайных чисел.
В языке Си есть возможность генерации т.н. псевдослучайных чисел, т.е. чисел, выглядящих для человека как случайные, хотя в действительности вычисляемых по некоторому алгоритму. К числу фу

Типы файлов.
В файле может храниться любая информация. Если там хранится текст в виде последовательности символов (включая символы перевода строк, хранимые по определенным правилам - см. ниже) и не содержится и

Открытие файла
Каждому файлу, с которым работает программа, присваивается внутреннее логическое имя, используемое в дальнейшем при обращении к нему. Логическое имя (идентификатор файла) - это указатель на файл, т

Закрытие файла
После окончания работы с файлом доступ к нему необходимо закрыть. Это выполняет функция fclose(указатель файла). Например, файл из предыдущего примера закрывается так: fclose (f);

Запись - чтение информации
Все действия по чтению-записи данных в файл можно разделить на три группы: - операции посимвольного ввода-вывода; - операции построчного и форматированного ввода-вывода;

А) Посимвольный ввод-вывод
В функциях посимвольного ввода-вывода происходит прием одного символа (байта) из файла или передача одного символа в файл: int fgetc(FILE *f) - считывает и возв

Б) Построчный и форматированный ввод-вывод
Эти функции служат для чтения/записи текста и обычно применяются для текстовых файлов. В функциях построчного ввода-вывода происходит пере­нос из файла, или в файл

В) Блоковый ввод-вывод
Функции блокового ввода-вывода читают из файла или записывают в файл заданное число байт без их преобразования. Другими словами, они способны записать в файл любую переменную или массив в том же дв

Д) Сброс буфера файла
Заметим, что если после записи данных файл не был закрыт, часть «записанных» данных может не сохраниться. Это связано с тем, что данные вначале записываются в буфер файла, и

Текстовые файлы
Для работы с текстовыми файлами удобнее всего пользоваться функциями fprintf(), fscanf(), fgets() и fputs(). Создание текстовых результирующих файлов обычно необходимо для оформления отчет

Перенаправление стандартного ввода-вывода
В консольном режимесуществует понятие стандартных файловых потоков: stdin - ввод (по умолчанию - клавиатура), stdout - выв

Бинарные файлы
При чтении-записи бинарных (двоичных) файлов удобнее всего пользоваться функциями, выполняющи­ми блоковый ввод-вывод: fread() и fwrite().

Дополнительные полезные функции
Рассмотрим некоторые функции, которые могут пригодиться для работы с файлами (они работают с любыми файлами, но чаще применяются к бинарным): int fileno(FILE *f)

Определение указателей
Как говорилось выше, машинная память состоит из байт. Все байты в памяти пронумерованы. Адресом байта называется его номер. (Нумерация при этом идет либо в пределах всей

Связь указателей и массивов.
Идентификатор массива указывает адрес памяти, начиная с которого он расположен, т.е. адрес его первого элемента. Работа с массивами тесно связана с применением указателей. Пусть объявлен м

Указатели на указатели.
В языке Си можно описать и переменную типа «указатель на указатель». Это ячейка оперативной памяти, в которой будет храниться адрес указателя на какую либо переменную. Признак такого типа да

Указатели как параметры функций.
В языке Си аргументы при стандартном вызове функции передаются по значению. Это означает, что в стеке, как и в случае локальных данных, выделяется место для формальных параметров функции. В выделен

Указатели на структуры
Указатели могут указывать и на структурный тип данных:   struct Point{ int x,y; } r, *p; p=&r;   Для обращения к полю ст

Указатели на функции
В языке Си допускаются указатели не только на данные, но и на функции. Они позволяют, например, создать функцию, строящую таблицу значений любой другой функции (с заданным видом списка параметров);

Динамическое выделение и освобождение памяти.
В процессе работы программы автоматически выделяется место в памяти для всех ее объектов. Как будет показано ниже, иногда требуется явно указать момент выделения памяти для некоторых объектов и раз

Создание одномерного динамического массива.
В языке С размерность массива при объявлении должна задаваться константным выражением. При необходимости работы с массивами перемен­ной размерности нужно объявить вместо массива указат

Создание двуxмерного динамического массива.
Операция new способна выделить память лишь под одномерный массив. А как быть, если массив двумерный? Наиболее удобный способ - это представить двумерный массив как массив из массивов

Операция typedef
Любому типу данных, как стандартному, так и определенному пользователем, можно задать новое имя с помощью операции typedef: typedef тип новое_имя ; Вве

Отладка и пошаговое выполнение программы
Как показывает практика, даже профессиональные программисты допускают ошибки в процессе написания программ. Поэтому задача обучающегося программированию - не столько научиться писать программу сраз

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги