- •Содержание работы
- •1 Элементы языка с
- •1.1 Символы
- •2 Простые типы данных
- •3 Операции над числовыми данными
- •4 Объявление переменных
- •5 Структура программы на с
- •7 Директива #define
- •9 Библиотека математических функций
- •Содержание работы
- •1 Условный оператор if
- •Пример 1 Поиск наибольшего значения
- •Пример 2 Определение принадлежности точки фигуре
- •2 Составной оператор
- •Пример 3 Проверка условия существования треугольника
- •3 Вложенный оператор
- •Пример 4 Вложенное ветвление
- •4 Оператор выбора switch
- •Содержание работы
- •1 Определение цикла
- •Пример 1 Виды циклов
- •Задание 1
- •2 Оператор цикла for
- •3 Оператор цикла while
- •4 Оператор цикла do while
- •5 Табулирование функций
- •Пример 2 Табулирование непрерывной функции
- •Пример 3 Табулирование сложной функции
- •6 Вычисление конечных сумм и произведений
- •Пример 4 Вычисление суммы
- •Пример 5 Вычисление произведения
- •7 Управляющие конструкции break, continue, return, goto
- •Содержание работы
- •1 Понятие и описание массивов
- •Пример 1 Объявление одномерного массива
- •Пример 2 Объявление двумерного массива
- •2 Одномерные массивы Пример 3 Ввод элементов одномерного массива
- •Пример 4 Нахождение суммы и среднего значения элементов массива
- •Пример 5 Нахождение наибольшего элемента массива и его номера
- •3 Двумерные массивы (матрицы)
- •Пример 6 Суммирование матриц
- •4 Символьные массивы
- •Пример 7 Описание символьного массива
- •Пример 8 Сравнение строк
- •5 Указатели и операции над указателями
- •Пример 9 Описание указателей
- •Пример 10 Операции над указателями
- •Пример 11 Сравнение указателей
- •6 Связь между массивом и указателем
- •Содержание работы
- •1 Модульное программирование
- •2 Объявление функции
- •Пример 1 Объявление функции
- •Задание 1
- •Это важно
- •2 Формальные и фактические параметры функции
- •Задание 3
- •Содержание работы
- •1 Создание класса
- •Пример 1 Объявление класса
- •Задание 1
- •Пример 2 Доступ к членам класса
- •Задание 2
- •2 Полиморфизм
- •Пример 3 Перегрузка функций
- •Задание 3
- •Содержание работы
- •1 Понятие формы. Конструктор форм Windows Forms
- •2 Элементы управления
- •3 Создание приложений с помощью Windows Forms Application Пример 1 Создание простейшего оконного приложения
- •Пример 2 Создание идентификационной формы
- •Пример 3 Изменение параметров MessageBox.Show
- •5 Анализ кода
- •6 Расчетные формы Пример 4 Создание расчетной формы
- •Пример 5 Создание простейшего меню
- •7 Создание оконных приложений на базе mfc
4 Символьные массивы
Массив символов представляет собой строку. Это означает, что символы в строке можно представить себе расположенными в соседних ячейках памяти – по одному символу в ячейке. Для отметки конца строки используется нуль-символ. Нуль-символ не цифра; он не выводится на печать и в таблице ASCII имеет номер 0. Наличие нуль-символа означает, что количество ячеек массива должно быть по крайней мере на одну больше, чем число символов, которые необходимо размещать в памяти.
Это важно
Для работы с символьными массивами необходимо подключить библиотеку <string.h>.
Описание символьного массива из 10 ячеек памяти, в каждую из которых можно поместить один элемент типа char:
char str[10];
При определении массива необходимо сообщить компилятору требуемый размер памяти. Один из способов сделать это – инициализировать массив при помощи строковой константы. Так как автоматические массивы инициализировать нельзя, необходимо для этого использовать статические или внешние массивы.
Пример 7 Описание символьного массива
#include "stdafx.h"
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace System;
int main(array<System::String ^> ^args)
{
char name[50];
printf("Введите имя\n");
scanf("%s",name);
printf("Красивое имя, %s!\n",name);
getch();
return 0;
}
Тестирование:
В примере 7 задан массив из 50 ячеек памяти, в каждую из которых можно поместить один элемент типа char. Это нами осуществлено с помощью оператора описания:
char name[50];
Можно воспользоваться более сложным оператором описания:
static char name[50];
Для ввода строки в примере 7 используется функция scanf() со спецификатором формата %s.
Задание 7
Выполните программу примера 7.
Над строками определены следующие функции (табл. 1)
Таблица 1 – Функции над строками
Функция |
Назначение |
gets() |
Данная функция получает строку от устройства ввода – клавиатуры. Поскольку строка не имеет заранее заданной длины, функция gets() должна знать, когда ей прекратить работу. Функция читает символы до тех пор, пока не встретится ей символ новой строки, который можно создать, нажав клавишу ENTER. Функция берет все символы до символа новой строки, присоединяет к ним нуль-символ и передает строку управляющей программе |
puts() |
Любая строка, выводимая этой функцией, начинается с новой строки. Если функция puts() находит завершающий нуль-символ, она заменяет его символом новой строки и затем выводит строку |
strcat() |
Использует в качестве аргументов две строки. Ее функция заключается в том, чтобы копию второй строки присоединить к концу первой. Это объединений становится новой первой строкой, а вторая строка остается без изменения |
strcmp() |
Использует в качестве аргументов либо две строковые константы, либо два указателя строк в качестве аргументов и возвращает значение 0, если строки одинаковы. Все остальные результаты объяснимы так: функция возвращает разницу между двумя символами в коде ASCII. Она продвигается вдоль строк до тех пор, пока не находят первую пару несовпадающих символов; затем она возвращает разницу в кодах. |
strcopy() |
Данная функция предназначена для копирования строки или адреса строки. |
strlen() |
Данная функция получает длину строки |
strstr() |
Функция сравнения строк |